NEWS
Probleme bei Temperaturwert über 100°C
-
@happyuser20 Falls die Temperatur als String vorliegt, muss eine Umwandlung nach Zahl erfolgen, und dann verglichen werden.
Bei Stringvergleichen wird nach der alphabetischen Sortierung verglichen, und "100" ist kleiner, als "85" -
@happyuser20 sagte: Ist die Zieltemperatur dreistellig (größer 100°C) funktioniert es nicht.
Zahlen vergleichen!
Es funktioniert auch ohne Wandlung "nach Zahl", da Javascript eine implizite Typwandlung macht, wenn der Vergleichswert eine Zahl ist und der Datenpunkt einen reinen Zahlenstring enthält:
-
Hallo
Danke euch für die schnelle Lösung.
Gruß
HappyUser20 -
@happyuser20 sagte in Probleme bei Temperaturwert über 100°C:
Hallo
Danke euch für die schnelle Lösung.
Gruß
HappyUser20Die Frage ist aber, ob
@martinp sagte in Probleme bei Temperaturwert über 100°C:
die Temperatur als String vorliegt
wenn icht, hast du nur die falschen Blöcke für den Vergleich genommen.
Erst in String sxhreiben um dann wieder in Zahl zu wandeln ist nicht gerade sinnvoll
-
@homoran sagte: ob die Temperatur als String vorliegt
Ja, denn andernfalls würde die implizite Typwandlung nach Zahl für den Vergleichswert erfolgen.
-
Guten Morgen
Der Temperaturwert liegt als String vor.
So
funktioniert es wie gewünscht.Gruß
HappyUser20 -
@happyuser20 indem Du mit einer Zahl vergleichst, wird der Messwert wohl automatisch nach Zahl gewandelt.
Ich weiß nicht, ob Blockly in der Tiefe durchspezifiert ist, dass man sich auf dieses Verhalten in zukünftigen Versionen verlassen kann. Gehe aber davon aus.
-
@martinp sagte: dass man sich auf dieses Verhalten in zukünftigen Versionen verlassen kann.
Die implizite Typwandlung ist eine Eigenschaft von Javascript.
-
@paul53 Da ist eben die Frage, ob der aus dem Blockly generierte JS Code das auch in zukünftigen Versionen gewährleistet...
Denke aber nicht, dass das realistisch ist.
-
@happyuser20 sagte in Probleme bei Temperaturwert über 100°C:
Hallo zusammen
Ich möchte für meinen 3D Drucker X1C über IOBroker eine Bauraumheizung automatisch schalten, wenn ich Technische Filamente drucke.
Ich Frage hierzu die Zieltemperatur vom Druckbett ab (die Instanz läuft auf Home Assistant mit Bambulab Integration und wird mit HASS Adapter in IOB übergeben)
Mein Problem besteht nun darin, wenn ich den Wert mit dem Blockly wie folgt abfrage
schaltet die Bauraumheizung, wenn die Zieltemperatur zwischen 85 - 99°C liegt, automatisch ein. Ist die Zieltemperatur dreistellig (größer 100°C) funktioniert es nicht.frage ich die Zieltemperatur so ab
schaltet die Bauraumheizung immer ein, auch bei Werten unter 85°C.Habt Ihr evtl. Ideen wie ich das lösen kann?
Gruß
HappyUser20Warum über 2 Schnittstellen? Bambulab Adapter Direct in ioBroker und da kannst du das auch alles mit steuern
-
@dutchman said in Probleme bei Temperaturwert über 100°C:
Warum über 2 Schnittstellen? Bambulab Adapter Direct in ioBroker und da kannst du das auch alles mit steuern
Ich habe den Bambulab Adapter vor längerer Zeit mal getestet. Wenn der aktiv war, stieg die Systemlast meiner Synology (dort läuft IOB im Container) dauerhaft auf 100% an.
Dann habe ich den Umweg über HASS gemacht.Eine aktuelle Bambulab Adapter Version habe ich noch nicht getestet.
Gruß
HappyUser20