ich habe neulich Teile der Heizanlage (bestehend u.a. aus wasserführendem Kamin und einer Wärmepumpe) mittels ESP32 mit Temperaturfühlern und Relaisausgängen versehen. Die ESP32 dienen dabei als universelle Webschnittstelle zu den Sensoren/Aktoren und stellen diese als http-Endpunkte im LAN zur Verfügung.
Mittels eines CUxD-Timergeräts werden die Temperaturfühler periodisch z.B. alle 20 Sekunden ausgelesen, ein Fühler pro Kanal, mit einer Konfiguration wie:
- SYSTEM|TIMER_PRESET: 020
- SYSTEM|REPEAT: Check
- SYSTEM|CMD_EXEC: curl -sSf http://192.168.x.x/temperature02
- SYSTEM|EXEC_FUNC: popen()
- SYSTEM|EXEC_TIMEOUT: 1
Die Frage ist nun, was passiert, wenn der http-Endpunkt nicht erreichbar ist? Leider nichts - bei einem System/Exec-Gerät (so für die Relais genutzt) kann man "UNREACH" etwa auf -1 einstellen und erhält eine Servicemeldung, wenn der Endpunkt offline ist (bzw. der curl-Aufruf einen Fehler zurückmeldet). Allerdings auch nur bei KEY|CMD_SHORT, nicht bei KEY|CMD_TIMER (letzteres könnte ja eigentlich auch die Funktion des System/Timer-Geräts übernehmen..?).
In meinen Tests habe ich dafür keine Lösung gefunden, in der CUxD-Doku auch nicht, aber das würde das Setup noch schön abrunden.
Danke für Tipps und Tricks dazu vorab
