Mit node-red die Zieltemperatur einer climate entity auslesen

Hallo zusammen,

ich habe mit einen Heizungsthermostat einige Versuche gemacht. Soweit läuft alles recht gut.

image
“type: entity
entity: climate.heizungsthermostat_set_temp
attribute: temperature”

Nun würde ich gerne in node-red die eingestellte Zieltemperatur abfragen und stelle bekomme es nicht hin. Hat jemand eine Tipp für mich, stehe gerade tierisch auf dem Schlauch.

Viele Grüße, Hain

Bekommst du mit “current state” node.


Danke für die schnelle Antwort :grinning:

So hatte ich es auch versucht, doch erhalte ich nur den Wert des ersten Attribut aus der Auswahlliste:


Ich müsste das entsprechende Attribut ansprechen können und das ist dann mein Problem.

Wie hast Du die schönen Listen rechts eingeblendet bekommen?

Gruß, Hain

Die Liste ist eine normale Debug-Node.

Was willst du machen? Abfragen? In der Ausgabe der Debug-Node kannst du auf “Pfad kopieren” klicken dann hast du den Namen der entsrepchenden Variable. Der erste Teil wird nicht kopiert, da musst du msg. vorne dran setzen. Bei der Solltemperatur wäre das dann msg.data.attributes.temperature



Screenshot 2024-11-03 210024

Wow, danke. Habe jetzt schon mal viel dazugelernt. Sehe im Debug alle Attribute uns den Pfad.

Kannst Du mir bitte noch sagen wie ich den Pfad einbaue :innocent:

Ich habe es jetzt so gelöst, dass ich eine Funktion nachgeschaltet habe.

Falls es eine geschicktere Lösung gibt, so wäre ich an der Interessiert.

Definiere eleganter. Kommt halt drauf an was du überhaupt machts. Function ist universal und damit kannst du alles machen was mit vorgefertigten nodes auch geht.

Wenn du deinen Flow kurz posten könntest, dann könnte man eventuell sagen, ob es eine geschicktere Lösung gibt.

So viel ist da noch nicht, irgendwann muss man ja leider auch in die Heia :slightly_smiling_face:

Du hast die Temperatur in allen nachfolgenden Nodes weiterhin zur Verfügung und musst sie nicht zwingend nach msg.payload kopieren. Das Kopieren ist nur nötig wenn ein nachfolgendes Node zwingend msg.payload fordert.

Das Kopieren selbst könntest du mit dem “change” Node machen. Einfach im change mode “msg.payload = msg.data.attributes.temperature” setzen. Function ist aber auch nicht “unelegant”.

Bevor man beurteilt ob es eleganter geht müsste man wissen was du später mit der Temperatur selbst machen willst.

Danke auch für den Hinweis. Ich werde es mir gerne ansehen.
Danke auch noch mal für die Unterstützung.

Ich versuche einen function-Node nur einzusetzen, wenn es keinen normalen Node zur Lösung der Aufgaben gibt. Wenn du in deinem Fall nur die Temperatur im Payload benötigst, dann könntest du es, wie @mostie es erwähnt hat, mit einen change-Node lösen. Du hättest aber auch die Möglichkeit es direkt in dem current_state-Node zu erledigen, dann benötigst du keinen function oder change-Node .

prima, auch eine klasse Lösung. Danke