Das gelingt folgendermaßen mit einem kleinen Skript. Es wird immer eine Latenzdauer zwischen Stromausfall und den Abschalten des Plus 1 liegen, bspw. 30s - konfigurierbar.
A) Ohne Nutzung von MQTT - eine Latenzdauer von 30s sei vorausgesetzt.
- Der Plus 1 fragt den EM periodisch alle 20s nach dessen Status - mit einem Timeout von bspw. 10s. Wenn das Timeout wirkt, ist der EM mit hoher Wahrscheinlichkeit nicht in Betrieb. Nun ließe sich optional noch einmal der EM Status abfragen.
- Sobald die Nichterreichbarkeit des EM festgestellt ist, schaltet der Plus 1 aus.
- Sobald der Plus 1 Antwort vom EM erhält, schaltet Ersterer wieder ein.
B) Mit Nutzung von MQTT - hier wirkt eine Latenzdauer von ca. 90s. Dafür ist eine dauerhafte Verbindung zwischen dem Plus 1 und dem MQTT Broker erforderlich. Dazu passt ein sehr einfaches Skript aus etwa 5 Zeilen.
- Wenn der MQTT Broker kein MQTT Ping vom EM erhält, sendet der Broker die LWT (Last Will and Testament) Nachricht mit dem Topic
<Pre Topic EM>/online und der Payload false an alle Abonnenten, hier den Plus 1. Dieser schaltet daraufhin ab. - Fährt der EM mit Versorgung wieder hoch, veröffentlicht er automatisch eine retained MQTT Nachricht mit dem Topic
<Pre Topic EM>/online und der Payload true. Daraufhin schaltet der Plus 1 per Skript wieder ein.
Mit einem EM ab der zweiten Generation lassen sich Schedule Jobs (Zeitpläne) mit kürzeren Abständen von bspw. 5s nutzen, um kürzere Latenzen zu erreichen.