Verificar e iniciar um addon (Cloudflare) via NodeRed

Compartilhar uma dica.

Aqui utilizo o Cloudflare Tunnel. Porém, algumas vezes ficou sem energia e quando voltou energia, o HA iniciou, porém não tinha internet ainda. Então o Cloudflare Tunnel tentou iniciar e não conseguiu. Com isso fiquei sem o acesso externo. Só consegui através do IP local iniciar o Cloudflare Tunnel manualmente.

Então fiz essa automação para validar o Cloudflare Tunnel a cada 5min.

1 - Habilitar o sensor “running” desse addon.

2 - Criar fluxo no NodeRed:

[{"id":"80f0219b86d78ad4","type":"api-current-state","z":"b80fdef43043e729","name":"Cloudflare off? ","server":"b25518b4.b6c7c8","version":3,"outputs":2,"halt_if":"off","halt_if_type":"str","halt_if_compare":"is","entity_id":"binary_sensor.cloudflare_tunnel_running","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":404,"y":286,"wires":[["cd69052dda142ed6"],[]]},{"id":"f895b64fbbe5cc26","type":"inject","z":"b80fdef43043e729","name":"a cada 5min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"300","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":180,"y":286,"wires":[["80f0219b86d78ad4"]]},{"id":"cd69052dda142ed6","type":"api-call-service","z":"b80fdef43043e729","name":"start cloudflare ","server":"b25518b4.b6c7c8","version":5,"debugenabled":false,"domain":"hassio","service":"addon_start","areaId":[],"deviceId":[],"entityId":[],"data":"{\"addon\":\"c50d1fa4_cloudflare_tunnel\"}","dataType":"jsonata","mergeContext":"","mustacheAltTags":true,"outputProperties":[],"queue":"none","x":624,"y":286,"wires":[[]]},{"id":"b25518b4.b6c7c8","type":"server","name":"Home AssistantLocal","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]
6 curtidas