Ich habe mal etwas mit der Event-Node rumgespielt, um eine Batterie-Überwachung ohne grossen Aufwand zu erzeugen. Jedes Event der Device-Variable LOWBAT
wird weitergeleitet. Falls es true
ist, wird eine Nachricht erzeugt. Man spart sich so die die zigfachen Variable-Nodes.
Die Logik steckt in dem function-node
, der das Event-Array prüft. Es kann ganz einfach auf andere Device-Variablen angepasst werden.
$var = "LOWBAT";
$o=$message['payload'];
if ($o['type'] == 'deviceVariableEvent')
{
$hasVAR = false;
foreach($o['data']['3'] as $key=>$value)
{
if($value == $var)
{
$hasVAR = true;
$varval = $o['data']['4'][$key];
}
}
if ($hasVAR)
{
$message['peerId'] = $o['data']['1'];
$message['peerName'] = $hg->getName($o['data']['1']);
$message['variable'] = $var;
$message['payload'] = $varval;
return $message;
}
}
return null;
Hier ist der gesamt Flow. Die Nachricht könnt ihr dann auf eurem gewünschten Weg ausgeben, ob Telegram, Pushover oder sonstwas ist egal.
LOWBAT.txt (1,5 KB)
Ich denke mal, das kann so ziemlich jeder gebrauchen, der Geräte mit Batterien verwendet.