Em quase todas as linguagens de programação adeus
, Adeus
, ADEUS
, AdEuS
são sempre coisas diferentes.
Estou a tentar integrar o meu 1º Shelly 1, mas ao clicar no botão no HA, não faz nada:
Tenho configurado o Shelly para MQTT e o código é o seguinte (não deu erro):
- platform: mqtt
name: Portao Exterior
state_topic: "shellies/shelly1-BCDDC2772252/relay/0"
command_topic: "shellies/shelly1-BCDDC2772252/relay/0/command"
payload_open: "open"
payload_close: "close"
payload_stop: "stop"
payload_available: "true"
payload_not_available: "false"
optimistic: false
qos: 0
retain: false
Olá malta, desculpem a insistência, mas alguém tem alguma dica para este meu problema?
Obrigado
Boas, sem mais informações sobre o que colocas-te nas configurações do shelly não dá para ajudar muito, mas se tens bem configurada parte do mqtt tanto no shelly como no HA, e a não ser que tenhas modificado o “tópico” mqtt na app do shelly, parece-me que o código que tens à frente de “shelly1-”, tem muitos caracteres, por defeito não normalmente só 6 caracteres.
caro @finipini, quanto ao “topic”, não sei o que isso é…
Quanto ao nº de cartecteres na designação do Shelly, de facto já tinha reparado noutros sites que eram menos do que no meu caso. O que é verdade é que é esta a designação que aparece no meu router:
Ok. Nunca vi isso no router. Na app/webpage da shelly tem lá essa informação, em info sobre o dispositivo ou algo do género (agora não consigo confirmar). Também dá para ver na página onde se configura o mqtt do dispositivo tem lá a opção de mudar o nome do tópico (ou algo parecido) e ao escolheres isso aparece a designação do tópico por defeito. (depois volta a colocar como estava)
E é essa a designação que tens de colocar, não a que tens. De todos os shellys que tenho é sempre só com 6 dígitos.
@finipini obrigado pelas dicas.
No “device info” aparece a mesma designação:
Tenho um Shelly 2.5 e por acaso tem assim um comboio de dígitos e sempre funcionou bem:
cover:
- platform: mqtt
name: Estore Quarto Gs
state_topic: "shellies/shellyswitch25-8CAAB505897A/roller/0"
command_topic: "shellies/shellyswitch25-8CAAB505897A/roller/0/command"
position_topic: "shellies/shellyswitch25-8CAAB505897A/roller/0/pos"
set_position_topic: "shellies/shellyswitch25-8CAAB505897A/roller/0/command/pos"
payload_available: "true"
payload_not_available: "false"
qos: 1
retain: false
optimistic: false
payload_open: "open"
payload_close: "close"
payload_stop: "stop"
position_open: 100
position_closed: 0
Já está resolvido o teu problema?
E se deixares o MQTT e usares o ShellyForHass? É uma solução simples com integração directa no Home Assistant.
Não conhecia…vou explorar
Penso que para tentares resolver o teu assunto deves tentar ver desde o básico ao complicado:
1º Verificar se o shelly tem o MQTT ativo (aceder à pagina do shelly via browser através do IP dele: exemplo: http://192.168.1.XXX).
Aceder a " Internet & Security" - opção " ADVANCED - DEVELOPER SETTINGS" e verificar se tens a opção seleccionada. Verificar se o endereço de servidor MQTT está correto, bem como user e psw.
Como verificação adicional a isto podes ir à opção " CLOUD". Tem que estar inativa. O Shelly não permite MQTT e Cloud ao mesmo tempo.
2º Verificar se o shelly está a emitir em MQTT. Eu utilizo o MQTT.fx para windows. Tens que preencher igualmente os dados da tua base de dados MQTT e user/password. Depois vais a “Subscribe” e pressionas onde diz “Scan”.
Após isto no MQTT.fx vão aparecer todos os tópicos que estão a ser enviados.
No caso dos shelly apenas tens que copiar o tópico que pretendes para o ficheiro yaml.
Espero ter ajudado em alguma coisa.
Tens esse shelly configurado como switch, certo?
Penso que não podes usar esse código. Isso é para estores…
Para switch tenho por exemplo o seguinte:
switch:
- platform: mqtt
name: "controlo_acumulador"
state_topic: "shellies/shelly1pm-XXXXX/relay/0"
command_topic: "shellies/shelly1pm-XXXXX/relay/0/command"
payload_on: "on"
payload_off: "off"
retain: false
No meu caso é o tópico do Shelly 1PM. Vê qual é o teu tópico para o Shelly 1.
Caro @lopitos obrigado pela ajuda e pelo tempo!!
1 - Desculpa a minha ignorância mas não sei o que é um “tópico”. Já pesquisei sobre o assunto, mas continuo a navegar
2 - Inicialmente experimentei o “payload_on” mas dá-me erro.
3 - No shelly tenho activado o MQTT. Quanto ao endereço do MQTT, referes-te ao IP? Realmente aparece em “Server” um IP, mas não o estou a utilizar para nada.
4 - Na utilização do mqtt.fx, nem sei o que colocar no “broker server”…
Tens aqui um vídeo do @francisco que ajuda a entender o MQTT.
Se quiseres ir pelo ShellyForHass tens de instalar o HACS. E para isso tens aqui um tutorial.
Isto são os tópicos.
Tenta substituir o que tens:
- platform: mqtt
name: Portao Exterior
state_topic: "shellies/shelly1-BCDDC2772252/relay/0"
command_topic: "shellies/shelly1-BCDDC2772252/relay/0/command"
payload_open: "open"
payload_close: "close"
payload_stop: "stop"
payload_available: "true"
payload_not_available: "false"
optimistic: false
qos: 0
retain: false
Por isto sff e vê se dá:
switch:
- platform: mqtt
name: "Portao Exterior"
state_topic: "shellies/shelly1-BCDDC2772252/relay/0"
command_topic: "shellies/shelly1-BCDDC2772252/relay/0/command"
payload_on: "on"
payload_off: "off"
retain: false
Obrigado mais uma vez.
Coloquei em “switch” em vez de “cover” como indicaste e corrigi o código.
Agora não deu erro, mas o botão que criei no lovelace, não faz nada…
Só para dar o feedback após ter identificado o problema: o IP indicado no server das configurações do shelly não era o correcto.
Olá…instalei outro Shelly um e testei na app e está a funcionar.
Na integração no HA via MQTT já configurei tudo no shelly (escolhida a opção MQTT, inserido user e pass e inserido o IP do HA).
O meu código está assim, mas o botão não faz nada:
switch:
- platform: mqtt
name: Portao Exterior
state_topic: "shellies/shelly1-BCDDC2772252/relay/0"
command_topic: "shellies/shelly1-BCDDC2772252/relay/0/command"
payload_on: "on"
payload_off: "off"
retain: false
- platform: mqtt
name: Portao Garagem
state_topic: "shellies/shelly1-500291F04A37/relay/0"
command_topic: "shellies/shelly1-500291F04A37/relay/0/command"
payload_on: "on"
payload_off: "off"
retain: false
O de baixo é o novo
Já experimentaste ver se as configurações do Shelly estão bem?
Utiliza o MQTT.fx ou MQTT explorer para veres se o shelly está a emitir.
Como já tens um bem configurado por MQTT esse tem que aparecer.