Es gibt eine starke Verzögerung bei Verwendung von Systemvariablen innerhalb von node-Blue. Ich benutze die Systemvariablen um eine Abstraktionsschicht für MQTT aufzubauen, da ich Systemvariablen von openHAB und von Node-Blue verwenden kann und ich mich mit den Besonderheiten der MQTT Nachrichten nur einmal herumschlagen muss, und nicht bei jeder Verwendung
Leider funktioniert das aktuell nicht mehr zufriedenstellend, da eine starke Verzögerung von mehreren Minuten auftritt. Testweise habe ich das mal wieder auf direkt angebundene MQTT-Nodes umgestellt und sofort ist alles wieder direkt.
Dieser Flow erzeugt und schreibt die Systemvariablen:
In der php-Node funktioniert Folgendes:
$path = explode("/", $message['topic']);
$var=$path[1] . "_OCCUPANCY";
switch(strtoupper($message['payload']))
{
case "TRUE": $val=true; break;
case "FALSE": $val=false; break;
default: $val=null; break;
}
if (!is_null($val))
{
$hg->setSystemVariable($var, $val);
}
return NULL;
Verwendet wird das nun folgendermassen:
Wird die MQTT-Node verwendet, wird direkt geschaltet, wird die Systemvariable verwendet, passiert erst Minuten später etwas.
Was läuft hier schief?