Execução de script

Bom dia, estou a fazer uns testes com scripts e sugiu um problema. Criei dois scripts ambos estão a funcionar.

### Portão externo ###
external_gate:
  alias: portao_externo
  description: Portão Externo
  sequence:
  - alias: portão_externo_command
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw AAB021030801CC039945D60101010101010101001011001010110101001100110011010255
      qos: 1
  - alias: rfraw_off
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw 0
      qos: 1

### Portão Interno ###
internal_gate:
  alias: portao_interno
  description: Portão Interno
  sequence:
  - alias: portão_interno_command
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw AAB021030801D604924DB0101010101010101001011001010110100110100110011010255
      qos: 1
  - alias: rfraw_off
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw 0
      qos: 1

Com na maioria das vezes abro os dois portões, para facilitar tentei criar um script com os dois comandos.

### Garagem ###
garagem:
  alias: garagem
  description: Ambos os potões
  sequence:
  - alias: portão_externo_command
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw AAB021030801CC039945D60101010101010101001011001010110101001100110011010255
      qos: 1
  - alias: rfraw_off
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw 0
      qos: 1
      delay: '00:00:02'
  - alias: portão_interno_command
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw AAB021030801D604924DB0101010101010101001011001010110100110100110011010255
      qos: 1
  - alias: rfraw_off
    service: mqtt.publish
    data:
      topic: BridgeRF/cmnd/Backlog
      payload: RfRaw 0
      qos: 1

Nesse apenas o portão externo abre. Na consola do Tasmota vejo apenas reação até o segundo alias na sequencia.

image

O Delay já coloquei em uma segunda opção, no inicial ele não estava lá.

Estou a perder algo ai?

Exprimenta a alinhar o delay com o data.

Oi @RodolfoVieira, afinal descobri o problema. O Reload Script não esta a aplicar as mudanças que fazia via CLI no arquivo. Ele até funciona normalmente, mas acho que depois de tanto tentar ele travou e só com o restart do Home assinstante o script funcionou.

Mas quanto ao delay voce estava certo, da forma que estava ele mandava isso como data na publicação do MQTT que não fazia absolutamente nada, a fomra correcta é a seguinte.

 - alias: rfraw_off
   service: mqtt.publish
   data:
     topic: BridgeRF/cmnd/Backlog
     payload: RfRaw 0
     qos: 1
 - delay: '00:00:02'

Assim ele faz o delay para o proximo comando.

Obrigado pela resposta :wink:

1 Curtiu

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


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