NEWS
js mqtt String Objekt setState 'true' oder true
-
@hanss sagte:
Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
ausführe, bleibt das Objekt unverändert.Wird denn mit
setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
eingeschaltet und mit
setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'false')
ausgeschaltet ?
-
Im ioBroker gar nichts.
Die Info 'true' oder 'false' wird nur per mqtt an die Clients übertragen.
Die Clients schalten dann entsprechend. -
@hanss sagte:
Die Info 'true' oder 'false' wird nur per mqtt an die Clients übertragen. Die Clients schalten dann entsprechend.
Dann ändere den Vergleich im Script.
// Schaltet Gartenwasser Timer ein wenn GW aus war, schaltet Gartenwasser aus wenn GW ein war // GW TIMER var update; on({id: "mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", change: "ne"}, function (obj) { if ( obj.state.val == 'true') { update = setTimeout(function () { // Ausschalt Timer setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", 'false'); // Gartenwasser ausschalten },30 * 60 * 1000); // Ausschaltzeit in ms 30 * 60 * 1000 } });
-
Das Problem ist nicht obj.state.val == 'true',
sondern
Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
ausführe, bleibt das Objekt unverändert.Wenn ich setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",true)
ausführe, steht im Objekt auch true, ich erhalte aber die Warnung. -
-
Wenn das Objekt vorher 'false' war, dann ist es auch nach
setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
immer noch 'false'Könntest Du das einmal nachbilden, sind ja nur ein paar Zeilen.
Würde mich interessieren, ob das auch bei Dir sich so verhält. -
@hanss sagte:
Könntest Du das einmal nachbilden, sind ja nur ein paar Zeilen.
Nein, ich habe kein MQTT. Wenn ich einen Datenpunkt mit setState() auf 'true' setze, dann wird auch true (rot) angezeigt. Bleibt es bei Dir false (schwarz) ? Dann macht das der Adapter.
-
Die Farbe beim Objekt ändert sich nicht, weil es ein string ist und kein bool.
-
-
Ich habe es gerade ausprobiert:
wenn ich ein Objekt unter javascript.0.test anlege (typ string), dann kann ich es mit 'true' verändern.wenn ich ein Objekt unter mqtt.0.test anlege (typ string), dann kann ich es mit 'true' NICHT verändern.