NEWS
*gelöst* Blockly Raumtemperatur aus Heizungsthermostat auslesen
-
Danke, aber irgenwann muss man ja mal so ein bisschen kapieren von dem Ganzen. Man muss sich nur damit auseinandersetzen und jemanden haben der einen in die richtige Richtung lenkt
Danke!
-
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
-
Ohjeee. Das bekomme ich ja im Leben noch nicht hin. Kannst du das bitte mal als Beispiel erstellen? Muss auch nicht mehr heute sein..
-
er zeigt irgendwie noch eine Warnung am im LOG. ` Dar Datenpunkt "Temp_Bad" ist nicht vom Typ "Zahl"(number). Das solltest Du im Reiter "Objekte" ändern.
-
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 });
-
Also den Wert auf "Zahl" umstellen finde ich nicht so gut. Hier werden dann keine Nachkommastellen ausgegeben…
Wie konvertiere ich den Wert über Blockly in eine Zeichenfolge?
-
Wie konvertiere ich den Wert über Blockly in eine Zeichenfolge? `
Etwa so, allerdings ohne feste Zahl der Nachkommastellen -
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