NEWS
Finde Baustein in Blockly nicht
-
hat sich bis jetzt nicht viel getan. `
Doch: Die Wandlung erzeugt NaN (not a number). Ich vermute mal (aus https://forum.iobroker.net/viewtopic.php?f=21&t=18319&p=193020#p192799), dass vor dem Messwert noch ein "T: " steht ? Dann muss man das entfernen.
temperatur ist eine Variable.
-
Hallo,
Danke für Deine Nachricht.
Mit dem T: hast Du ins schwarze getroffen.
Ich versuche jetzt schon einige Zeit das Blockly zu ändern.
Leider finde ich aus dem Text Block "bis letzter" nicht.
Kannst Du mir bitte einen Tipp geben.
Gruß Michael
-
bis in dem Block ist ein Auswahl-Menü, das auch bis letzter enthält.
-
Danke!
Bis jetzt tut sich noch nichts.
Oh jetzt:
Log 18:30:08.827 [info] javascript.1 Stop script script.js.Gewächshaus.Heizung_schalten 18:30:08.833 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 18:30:08.844 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 18:30:08.844 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 18:30:11.882 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 18:30:13.226 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 18:30:13.226 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 18:36:29.604 [error] javascript.0 at Object. (script.js.Gewächshaus.Heizung_schalten:7:33)
Aber die Heizung hat sich nicht verändert.
Gruß Michael
-
18:36:29.604 [error] javascript.0 at Object. (script.js.Gewächshaus.Heizung_schalten:7:33) ```` `
Es ist noch ein Fehler im Skript. Poste mal den Javascript-Code ohne die letzte Zeile.
-
ar temperatur, Wert; on({id: "fhem.0.Gewaechshaus_TemperaturInside.state"/*Gewaechshaus_TemperaturInside state*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; temperatur = parseFloat((Wert.slice(3, Wert.length))); if (temperatur < 11) { // Heizung ein falls aus if (!getState("fhem.0.GewaechshausHeizung.state").val) { setState("fhem.0.GewaechshausHeizung.state"/*GewaechshausHeizung state*/, true); } } if (temperatur > 12) { // Heizung aus falls ein if (getState("fhem.0.GewaechshausHeizung.state").val) { setState("fhem.0.GewaechshausHeizung.state"/*GewaechshausHeizung state*/, false); } } });
Kannst Du hier das Problem erkennen?
-
Du hast eine Variable Wert genommen. Es muss aber die Triggerdatenpunkt-Eigenschaft Wert verwendet werden.
-
Log 20:07:40.238 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 20:07:40.242 [info] javascript.1 Stop script script.js.Gewächshaus.Heizung_schalten 20:07:40.250 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 20:07:40.250 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 20:07:42.633 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 20:07:44.192 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 20:07:44.193 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 20:25:00.918 [warn] javascript.0 at Object. (script.js.Gewächshaus.Heizung_schalten:17:7)
Jetzt hat es geklappt.
Werde jetzt mal die Temperaturen runter setzen und warten was mörgen geschieht.
Hier noch mal das Skript:
var temperatur; function subsequenceFromStartLast(sequence, at1) { var start = at1; var end = sequence.length - 1 + 1; return sequence.slice(start, end); } on({id: "fhem.0.Gewaechshaus_TemperaturInside.state"/*Gewaechshaus_TemperaturInside state*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; temperatur = parseFloat((subsequenceFromStartLast((obj.state ? obj.state.val : ""), 3))); if (temperatur < 11) { // Heizung ein falls aus if (!getState("fhem.0.GewaechshausHeizung.state").val) { setState("fhem.0.GewaechshausHeizung.state"/*GewaechshausHeizung state*/, true); } } if (temperatur > 12) { // Heizung aus falls ein if (getState("fhem.0.GewaechshausHeizung.state").val) { setState("fhem.0.GewaechshausHeizung.state"/*GewaechshausHeizung state*/, false); } } });
Danke
Gruß Michael
-
Werde jetzt mal die Temperaturen runter setzen und warten was mörgen geschieht. `
Hat es funktioniert oder war es heute früh nicht kalt genug ?Falls es funktioniert, markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
-
Hallo paul53,
Ich habe nicht vergessen einen Abschlusbericht zu geben.
Heute Vormittag ist die Heizung ausgegangen.
Ich warte nun, das sie wider startet.
Im Moment ist die T noch über 8°
Gruß Michael
-
Hallo,
So das Blockly funktioniert wie geplant.
Die Heizung wird nach den vorgegebenen Temperaturen ein bzw. ausgeschaltet
Ich möchte mich bei allen, die mir versucht haben zu helfen, bedanken.
Besonders bei paul53.
Damit ist der Betreff geklärt.
Danke
Gruß Michael