NEWS
CCU2 übernimmt keine Variable von IOBroker
-
Das füllen einer Zeichenkettevariable funktioniert ohne Probleme.
-
on({id: 'hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE', change: "any"}, function (obj) { TempC = getState("hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE").val; ```` `
Ändere mal in change: "ne" und vereinfache die Wertübergabe an die Variable.
on({id: 'hm-rpc.2.000ED709AED1FD.1.ACTUAL_TEMPERATURE', change: 'ne'}, function (obj) { TempC = obj.state.val;
if (Hitzeindex >= 27 && Hitzeindex <= 32) {
setState("hm-rega.0.8748"/Warnung Hitzeindex/, 'Text Text Text');
}
}); `
Schreib mal einen anderen Text in den Datenpunkt, wenn die Bedingung nicht erfüllt ist, z.B.if (Hitzeindex >= 27 && Hitzeindex <= 32) setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, 'Warnung !'); else setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, 'keine Warnung'); });
-
-
Mach mal eine vollständige Auswertung des Hitzeindex für die Warnungs-SV.
var warn = 'keine Hitze'; if(Hitzeindex > 27) warn = 'Vorsicht'; if(Hitzeindex > 32) warn = 'Erhöhte Vorsicht'; if(Hitzeindex > 41) warn = 'Gefahr !'; if(Hitzeindex > 54) warn = 'Hohe Gefahr !'; setState("hm-rega.0.8748"/*Warnung Hitzeindex*/, warn); });
-
-
Bei der vollständigen Auswertung geht es teilweise. Soll heißen, der erste IF Wert Text wird eingetragen und übergeben. Habe jetzt die Werte etwas angepasst, da es ja gerade nicht so heiß ist. Auch den Trigger habe ich wieder auf "any", da es sich bei uns eingeregnet hat und kaum Temperaturänderung ist.
Also erster Wert >19, zweiter Wert >20 (hier ist gerade 20,6). Der Text vom zweiten Wert wird kurz in die Variable geschrieben, aber nicht übernommen. Nach wenigen Sekunden springt er wieder auf den alten Wert zurück.
-
Nach wenigen Sekunden springt er wieder auf den alten Wert zurück. `
Läuft noch ein zweites Skript, das auf den Datenpunkt zugreift oder ein Programm in der CCU, das den Wert ändert ?Deaktiviere mal zum Testen das Polling in der Konfiguration von hm-rega.0.
-
Habe extra eine neue Variable erstellt, weil ich auch den Gedanken hatte.
-
Wird der wert in den objekten jemals schwarz, oder nur grün -> rot -> alter Wert?
-
Nehme ich Deine erste Variante mit if, else funktioniert es und der Wert wird auch schwarz.
Bei der kompletten Auswertung wird nur der alte Wert schwarz, der Rest wird nach grün gleich rot, danach wieder grün mit dem alten Wert und dann schwarz mit dem alten Wert.
-
Habe jetzt mal if, else if und else genommen, gleiches Problem.
-
der alte Wert schwarz, der Rest wird nach grün gleich rot, danach wieder grün mit dem alten Wert und dann schwarz mit dem alten Wert. `
Das liegt nicht am Skript. Irgendwas spuckt Dir in die Suppe. Hast Du es mal mit deaktiviertem Polling versucht ? -
Hast du auf der ccu ein Programm dass die virtuelle Taste 50 mit press short nutzt
-
Habe die CCU gerade neu gestartet. Ich schau dann gleich nach. Programme laufen keine, hab nochmal nach geguckt.
-
Noch ein Versuch: Deaktiviere die Instanz hm-rega.0. Wenn das fehlerhafte Verhalten aus der CCU kommt, muss jetzt der neue Wert vom Skript gesetzt werden und rot bleiben. Andernfalls ist die Ursache in ioBroker zu suchen.
-
Nein, habe ich nicht.
-
OK. Ich deaktiviere.
-
Bleibt rot stehen.
-
Bleibt rot stehen. `
Der neue Wert aus dem Skript ?Dann ist die Ursache in der CCU zu suchen.
Vorschlag: Erzeuge in der CCU eine neue SV "Warnung_Hitzeindex" (Unterstrich statt Leerzeichen) vom Typ "Zeichenkette", synchronisiere die Rega-Instanz und weise im Skript die neue SV zu.
-
Ja, der neue Wert aus dem Script. Ich erzeuge mal die neue SV.