Falha na automação sonoff com Home Assistant

Boa noite pessoal. Preciso aqui de ajuda para uma automação. Instalei o HA numa maquina virtual. Claro, comecei esta semana na aventura do HA e já tenho pouco cabelo e agora acho que vai o resto :smile: :smile: Tenho um sensor de porta da xiaomi, para quando abrir a porta, ligar um interruptor (switch) Sonoff, durante 30 segundos e depois desligar. Já fiz automação no Blueprints, que é o mais fácil, acho eu, e não funciona. Tentei também com Node-Red e seguindo alguns tutoriais, verifico que no final nunca consigo que funcione. Deixo um print do Node-Red. A zona assinalada a vermelho, devia aparecer qualquer coisa escrito e não aparece. Em qualquer dos casos, nunca me apareceu qualquer erro no final. Obrigado

Pelo que vi está a chamar um serviço de switch.tunr_on para uma entidade “light”. Portanto sugiro que faça a correção. Troque o domain: switch, por light e deverá resolver o problema.
Eu tenho um caso desses, mas não o programei no node red, mas sim no HA- Tenho duas automações, uma para ligar e outra para desligar. Em baixo segue a cópia:

alias: Luz da Varanda com abertura de porta
description: ''
trigger:
  - entity_id: binary_sensor.mag_porta_varanda_contact
    from: 'off'
    platform: state
    to: 'on'
action:
  - data:
      brightness: 2
    entity_id: light.varanda
    service: light.turn_on
mode: single

Para desligar:


alias: Desliga Luz varanda por sensor
description: ''
trigger:
  - entity_id: binary_sensor.mag_porta_varanda_contact
    for: '30'
    from: 'on'
    platform: state
    to: 'off'
action:
  - data: {}
    entity_id: light.varanda
    service: light.turn_off
mode: single

Pode adaptar para o seu caso.
Sugiro que para copiar o código o faça da seguinte forma. Cria uma nova automação em configuração → Automação → Carregar botão + no fundo do ecrão do lado direito. De seguida carrega nos três pontos que aparacem no canto superior direito, quando está na janela de preenchimento dos dados da automação, e escolhe a opção editar como yaml. De seguida cola o código que copiou daqui e faz as alterações para o seu caso. De seguida faz o mesmo para a automação de desligar.

@Alberto_Santos , obrigado pela dica. Para já ainda não consegui. Vou tentar amanhã a o que dá. Fiz alteração da sua automação mas não surgiu nada. Alterei também no Node red e ai ouve alteração ao trocar o domain mas a automação também não funcionou, aliás a luz até ficou indisponível. Amanhã vejo outra vez com mais calma. Obrigado

Boas, @Alberto_Santos, copiei o seu código e fiz as alterações para a minha automação mas encontro este erro: “Message malformed: expected dict for dictionary value @ data[‘action’][0][‘data’]”
Outra duvida, eu utilizo dispositivos da Xiaomi e para funcionarem no HA, é preciso desligar da app mi home ou não tem interferência?
Obrigado

Coloca o teu código aqui, talvez seja mais fácil para tentar perceber o erro

alias: Ligar Luz do Hallr/c
description: ''
trigger:
  - entity_id: binary_sensor.door_window_sensor_158d000171eb00
    from: 'off'
    platform: state
    to: 'on'
action:
  - data:      
    entity_id: light.xiaomi_philips_smart_led_ball
    service: light.turn_on
mode: single

alias: Desliga Luz Hall r/c
description: ''
trigger:
  - entity_id: binary_sensor.door_window_sensor_158d000171eb00
    for: '30'
    from: 'on'
    platform: state
    to: 'off'
action:
  - data: {}
    entity_id: light.xiaomi_philips_smart_led_ball
    service: light.turn_off
mode: single

Coloque umas chavetas á frente do parametro “data” na primeira automação, tal como tem na ultima. Deve resolver.

Continua com erro:

Message malformed: extra keys not allowed @ data[’[object Object]’]

Pelo que percebo, na action tens a opção “chamar serviço”, correto?

Porque não alteras para “dispositivo”?

alias: Acender luz garagem
description: ''
trigger:
  - entity_id: cover.portaogaragem
    from: closed
    platform: state
    to: open
condition: []
action:
  - type: turn_on
    device_id: 8209a1a8ecdea1b8152dadc07a5e81e5
    entity_id: switch.luzgaragem
    domain: switch
mode: single

Faça uma coisa, antes de gravar mude do modo yaml para o modo UI e veja se consegue salvar, antes verifique se as coisas estão como pretende. Além disso não especificou em qual automação é que isso acontece, é só numa ou é nas duas.
Eu copiei o código para o meu HA e também deu erro, mas pode ter sido por ter feito upgrade, uma vez que agora há mais opções ao chamar o serviço. Contudo depois de mudar para o modo UI, consegui salvar e o código ficou assim:

alias: Ligar Luz do Hallr/c
description: ''
trigger:
  - entity_id: binary_sensor.door_window_sensor_158d000171eb00
    from: 'off'
    platform: state
    to: 'on'
action:
  - data: {}
    service: light.turn_on
    target:
      entity_id: light.xiaomi_philips_smart_led_ball
mode: single

Para a segunda automação:

alias: Desliga Luz Hall r/c
description: ''
trigger:
  - entity_id: binary_sensor.door_window_sensor_158d000171eb00
    for: '30'
    from: 'on'
    platform: state
    to: 'off'
action:
  - data: {}
    entity_id: light.xiaomi_philips_smart_led_ball
    service: light.turn_off
mode: single

Assim também já não me dá erro. Agora só amanhã posso testar se funciona. depois digo qualquer coisa

Testei a automação de ligar a luz, e nada. Tenho exatamente como aqui está mas a luz não liga. Está complicado :smiley:

Os estados do teu sensor, são ON e OFF?

Confirmaste isso?

door

É isto?

Experimente assim:
Você retirou o brigthness da minha automação e deixou o parametro data vazio. era por isso que dava o primeiro erro. Depois acrescentou, o target?! E deve ser a razão pela qual não deviar estar a funcionaor.

Fiz exatamente como você tem aqui e continua a não ligar a luz. Já começo a desconfiar que há qualquer coisa ou com a instalação do HA ou da internet cá de casa. (router da Vodafone)

Faça uma coisa abra a porta ou janela onde está o sensor, logo de seguida vá ao log, em: Configraçõa->Logs, carregue em refrescar, se seguida copie e cole aqui o resultado.

door_

Logger: homeassistant.components.xiaomi_miio.vacuum
Source: components/xiaomi_miio/vacuum.py:506
Integration: Xiaomi Miio (documentation, issues)
First occurred: 16:18:57 (14 occurrences)
Last logged: 17:41:08

Got exception while fetching the state: No response from the device
Got exception while fetching the state: Unable to discover the device 192.168.1.70

Esse erro tem a ver com o aspirador. Portanto não serve
Verifique se consegue ligar e desligar a luz a partir do homeassistant.
Depois verifique se o sensor de porta/janela que está a colocar é mesmo aquele em que depois está a atuar.
Por fim verifique no log de erros, erros que referenciem a automação. Pois quando há erros na automação estes costumam estar referenciados no log.
Veja também o histórico da automação. Quando abre as automações está lá escrito quando foi a última vez que foi executada. Verifique que quando abre a janela ou a porta essa automação é executada.


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


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