Hallo!
Hier mal ein kleines Beispiel, wie man sich über Fehlschaltungen von Schaltaktoren der Außenbeleuchtung informieren lassen kann. Mit Fehlschaltungen meine ich, dass z. B. ein Homematic Schaltaktor nicht erreichbar war und nicht ein- bzw. abgeschaltet wurde. Das kann schon mal passieren, wer kennt das nicht!
Vorab, über 2 Timer schalte ich die Variable „Außenbeleuchtung“ für morgens und abends, die u. a. 4 Aktoren für die Außenbeleuchtung ansteuert.
Zum Flow:
Meine Funktion prüft nun nach einer einem kurzen Delay, ob alle Aktoren ein- bzw. abgeschaltet wurden.
Ist das nicht der Fall, so erhalte ich eine Push-Nachricht sowie eine E-Mail mit den entsprechenden Namen der Aktoren. So kann ich über die Smartha-App manuell schalten. Das Delay deshalb, weil ich auch Hue-Beleuchtung mit Rampen einsetze. Dazwischen habe ich noch einen Schalter gesetzt, damit ich den Erhalt von Störungsmeldungen auch unterbinden kann.
Funktions Node:
$Aussenlicht ="";
$check ="False";
//Prüft, ob alle Aktoren ausgeschaltet sind.
if($hg->getValue(0, -1,"Aussenlicht") == False)
{
$Aussenlicht ="Nicht aus: ";
if($hg->getValue(20,1,"STATE") == True){$Aussenlicht=$Aussenlicht."Licht Erker, ";$check="true";}
if($hg->getValue(79,4,"STATE") == True){$Aussenlicht=$Aussenlicht."Licht Haustür, ";$check="true";}
if($hg->getValue(83,1,"STATE") == True){$Aussenlicht=$Aussenlicht."Licht Giebel Nord, ";$check="true";}
if($hg->getValue(30,1,"STATE") == True){$Aussenlicht=$Aussenlicht."Aussenlicht diverse";$check="true";}
if($check=="true"){
$message['payload']=$Aussenlicht;output(0, $message);
$message['payload']="Nicht alle Aktoren aus!";output(1, $message);}
}
//Prüft, ob alle Aktoren eingeschaltet sind
if($hg->getValue(0, -1,"Aussenlicht") == True)
{
$Aussenlicht ="Nicht an: ";
if($hg->getValue(20,1,"STATE") == False){$Aussenlicht=$Aussenlicht."Licht Erker, ";$check="true";}
if($hg->getValue(79,4,"STATE") == False){$Aussenlicht=$Aussenlicht."Licht Haustür, ";$check="true";}
if($hg->getValue(83,1,"STATE") == False){$Aussenlicht=$Aussenlicht."Licht Giebel Nord, ";$check="true";}
if($hg->getValue(30,1,"STATE") == False){$Aussenlicht=$Aussenlicht."Aussenlicht diverse";$check="true";}
if($check=="true"){
$message['payload']=$Aussenlicht;output(0, $message);
$message['payload']="Nicht alle Aktoren an!";output(1, $message);}
}
Vielleicht hat jemand Verwendung dafür. Natürlich kann man auch andere Schaltvorgänge damit überwachen. VG Stephan
Aussenlicht_Störungsmeldung.json (4,5 KB)