Hallo an den Gemeinde!
Ich habe ein Programm geschrieben das Bewegung erkennt und dann
das Flurlicht schaltet.
Signale werden per Mqtt an Iobroker übertragen und dort verarbeitet.
Jetzt zu meinem eigentlichen Problem:
Ich möchte das der Sensor das Relais schaltet auch wenn das Wlan ausgefallen ist.
Sozusagen als Sicherheitsschaltung.
Dieses Programm ist die While(1) Schleife im loop teil.
Nur das dieser Abschnitt nicht funktioniert bei Ausführung des Codes.
ändere deine Vorgangsweise.
Lass den Loop laufen.
a) Ist das WIFI ausgefallen, machst einen Reconnect
b) Ist es Dunkel, schaltest ein und wenn du Wifi hast schickst du deinen MQTT
c) Ist es Hell, schaltest aus und wenn du Wifi hast schickst du deinen MQTT
als Fleißaufgabe könntest du in a) nach einem erfolgreichen Wifi-reconnect sogar noch den aktuellen Helligkeitsstatus über MQTT schicken. Damit holst du Offline-Phasen nach.
drei "Aufgaben" die du quasi-parallel (eins nach dem anderen) abarbeitest.
Keine delays im Ablauf, keine while(1) ... nichts blockierendes.