NEWS
*gelöst* Blockly Raumtemperatur aus Heizungsthermostat auslesen
-
Hallo zusammen,
nächstes Programm, welches ich von meiner CCU in den IO Broker bringen möchte. Ich habe auf meiner CCU zu jedem Heizungsthermostat ein Programm laufen, welches die aktuelle Raumtemperatur ausliest und in die jeweilige Variable schreibt.
Ich habe mal angefangen im Blockly zu bauen, weiß aber nicht, ob das so korrekt ist. Der Trigger sollte eigentlich passen (alle 10 Minuten).
Screenshots vom Homematic Programm und dem Skript, was dort ausgeführt wird, habe ich mit angehangen.
Vielleicht gibt es auch eine elegantere Lösung hierfür?
Gruß surfer ;)
4867_homematic_heizung.jpg
4867_skript.jpg
4867_blockly_heizung.jpg -
Was machst du den da ?
-
warum alle 10 Minuten, triggerende dich einfach auf Änderung !
-
du hast da nen hometoc Script Code drin das wird nicht gehen
Wen du eine variable schreiben willst nimmst du den Block Update objecten ID mit wert
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
-
Bitte einmal um Kontrolle 8-) Ist es so richtig?
4867_temperatur_skript.jpg -
Jup, das sieht schon viel besser aus lernst ja schnell :)
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hilfe, Hilfe, er zeigt irgendwie noch eine Warnung am im LOG. Die Änderung wird nicht in die Variable geschrieben.
4867_log.jpg -
Hilfe, Hilfe, er zeigt irgendwie noch eine Warnung am im LOG. Die Änderung wird nicht in die Variable geschrieben. `
Hmm… Schreib den Wert erstmal in eine variable und und Dan die Variable ins objecten.
Eventuell noch convertieren nach Zahl oder Text.
Wen das nicht geht muss ich selber auch erst Mal probieren
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hallo Paul,
das habe ich gerade gemacht. Der Wert überträgt sich aber trotzdem nicht in die Homematic.
4867_homematic_temperatur.jpg
4867_temperatur.jpg -
Der Wert überträgt sich aber trotzdem nicht in die Homematic. `
Anstelle des Blockes "aktualisiere" muss der Block "steuere" verwendet werden, damit an die CCU gesendet wird.Du hattest nicht erwähnt, dass es sich bei dem Datenpunkt "Temp_Bad" um eine SV der CCU handelt (man hätte es lediglich anhand des Homematic-Scripts vermuten können).
-
In Deinem HM Script sehe ich, dass Du den Wert in einen String mit einer Nachkommastelle und der Maßeinheit konvertierst. Also ist die SV vom Typ "Zeichenkette" ? Dann muss auch der zugehörige Datenpunkt mit dem Namen "Temp_Bad" vom Typ "Zeichenkette" sein und man muss konvertieren. In Blockly habe ich allerdings keine Möglichkeit gefunden, feste Nachkommastellen vorzugeben. In Javascript geht es:
const idSrc = getIdByName('Heizung-Badezimmer:4.ACTUAL_TEMPERATURE'); const idDst = getIdByName('Temp_Bad'); on(idSrc, function(dp) { // Triggern bei Wertänderung setState(idDst, dp.state.val.toFixed(1) + ' °C'); // String mit 1 Nachkommastelle und Masseinheit }); -
Ich habe das Element von "aktualisiere" auf "steuere" umgestellt. Jetzt wird der Wert übertragen, allerdings mit mehreren Stellen nach dem Komma. Kann man das noch irgendwie kürzen? 1 Stelle würde ja reichen…
Aktuell ist der Variablenwert auf "Zeichenkette" eingestellt.
4867_temp_bad.jpg
4867_skript.jpg -
mit mehreren Stellen nach dem Komma. Kann man das noch irgendwie kürzen? 1 Stelle würde ja reichen… `
Das ist der Wert als Zahl. Nach der Umwandlung in einen String sind die Nullen nach dem Komma nicht vorhanden. Allerdings wirst Du dann eine oder keine Nachkommastelle haben (z.B. 22 °C). -
Ich hab´s hinbekommen. Die Maßeinheit lässt sich in der Homematic hinterlegen, sodass der Wert als Zahl geschrieben werden kann.
Ich habe die Screenshots angehangen, so wie es jetzt funktioniert.
Danke!
4867_temperatur_bad_funktioniert.jpg
4867_skript_funktioniert.jpg
4867_variabe_wert.jpg
4867_variable_homematic.jpg
