HA + MQTT + Shelly

Já está resolvido o teu problema?

@lopitos nope…

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.

1 Curtiu

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

@lopitos

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…
image

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.

1 Curtiu

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.

Bom…mais uma vez um engano no IP :woozy_face:
Em vez de terminar com “:1883” tinha colocado a mesma terminação do HA “:8123”…


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade