Einführung in Flow "Programmierung"

Hallo zusammen,

a) muss ich testen, kann ich aus’m Stand grad nix zu sagen (evtl. ein Bug).
Zu b) gibt es sogar einen einfacheren Weg: man packt sich alle TFKs in eine eigene Gruppe. Dann kann man per Function-Node alle Devices innerhalb der Gruppe ganz einfach abfragen und muss nicht alle manuell einfuegen. So mache ich es z.B. fuer meinen LOWBAT-Check:

$category = 2;
$devices = $hg->getDevicesInCategory($category);
foreach ($devices as $key => $device) {
    $paramset = $hg->getParamset($device,0,"VALUES");
    // get paramset to check if it's HM or HmIP
    if (array_key_exists("LOWBAT",$paramset)) {
        if ($hg->getValue($device,0,"LOWBAT")) {
            $lowbat[] = $hg->getName($device);
        }
    } elseif (array_key_exists("LOW_BAT",$paramset)){
        if ($hg->getValue($device,0,"LOW_BAT")) {
            $lowbat[] = $hg->getName($device);
        }
    }
}
$message['date'] = $date = date('d.m.Y', time());
$message['payload'] = ($lowbat ? implode(', ',$lowbat) : false);
return $message;

Sollte ohne Probleme fuer STATE uebertragbar sein :wink: Aber Achtung wenn man einen Mix aus HM/HmIP-TFKs hat … die HM senden ein Bool, die HmIP IIRC ein Integer.

c) sollte sich auch ueber eine Gruppe analog realisieren lassen.

– Micha