NEWS
Finde Baustein in Blockly nicht
-
Danke für den nächsten Versuch.
Das ist eine HM Schaltsteckdose mit Energiemessung und der Temperatursensor
ist auch von HM. Das es so problematisch ist kann ich nicht verstehen.
>
> Ändere mal das Log auf:debug output Typ von Wert
Habe ich gemacht.Gruß Michael
-
Es tut sich nichts:
Log 20:58:08.050 [info] javascript.1 Stop script script.js.Gewächshaus.Heizung_schalten 20:58:08.057 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 20:58:08.075 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 20:58:08.076 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 20:58:11.313 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 20:58:13.816 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 20:58:13.816 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules
Gruß Michael
-
Erzeugt der Trigger bei Temperaturänderung keine Log-Ausgabe ? Ich hätte erwartet, dass im Log entweder string oder number ausgegeben wird.
Welches Log erzeugt das folgende Blockly (außerhab des Triggers) bei Skriptstart ?
-
Log 23:36:34.692 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 23:36:34.699 [info] javascript.1 Stop script script.js.Gewächshaus.Heizung_schalten 23:36:34.716 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 23:36:34.716 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: string 23:36:34.717 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 23:36:39.356 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 23:36:41.365 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 23:36:41.365 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: string 23:36:41.365 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules
Soll ich das laufen lassen?
-
Es ist also ein String, der von FHEM kommt. Dann muss gewandelt werden, damit die Vergleiche funktionieren.
-
hallo paul53,
Log 23:58:43.167 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 23:58:43.170 [info] javascript.1 Stop script script.js.Gewächshaus.Heizung_schalten 23:58:43.190 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 23:58:43.190 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: NaN 23:58:43.191 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 23:58:47.135 [info] javascript.0 Stop script script.js.Gewächshaus.Heizung_schalten 23:58:48.953 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 23:58:48.953 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: NaN 23:58:48.953 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 schedules 04:03:04.867 [info] javascript.0 Start javascript script.js.Gewächshaus.Heizung_schalten 04:03:04.867 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: NaN 04:03:04.867 [info] javascript.0 script.js.Gewächshaus.Heizung_schalten: registered 1 subscription and 0 s
Wie Du siehst hat sich bis jetzt nicht viel getan.
Ja die Temperatur und der Schalter kommt über Fhem rein.
Der Temperatursensor mit dem es funktioniert hat war ein Aquara Sensore aus China und dieser ist direkt über Zigbee im iobroker eingebunden.
Gruß Michael
-
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