Differenz aus 2 Enitys bilden als Basis für Automation mit ChatGPT Vorschlag

Hallo zusammen,

mein Ziel ist eine Automation, bei der der Trigger die Differenz aus IST und Solltemperatur ist.

Die Isttemperatur auszuslesen ist einfach, nur wie finde ich die Solltemperatur?

Es handelt sich um ein Homematic Thermostat HM-TC-IT-WM-W-EU

Die Solltemperatur ist hier drin versteckt: climate.<geräte_name> Aber da sind noch andere Sachen drin.

Chat GPT hat mir climate.<geräte_name>_target_temperature vorgeschlagen, aber das nimmt HA nicht.

Hier ist übrigens der Vorschlag von ChatGPT, der funktioniert, wenn ich 2 ordentliche Enity's habe.:

sensor:
  - platform: template
    sensors:
      diff_sensor:
        friendly_name: "Sensor Differenz"
        unit_of_measurement: "Einheit"
        value_template: "{{ states('sensor.erster_sensor') | float states('sensor.zweiter_sensor') | float }}"



@rs4net

Schau Dir doch mal das Video von @Simon42 vom Sonntag auf YT an ( KLICK ), evtl. hilft Dir das ja weiter.

Moin,

das hört sich eigentlich ganz einfach an. Du machst dir einen neuen normalen Sensor der den einen Wert vom anderen Wert abzieht. Oder auch diesen Diff Sensor. Völlig egal. Diesen Sensor nimmst du dann für deine Automatisierung.

Natürlich brauchst du auch die Integration von deinem Homematic Thermostat. Zeig doch mal was das Device alles anbietet! Dann brauchst du normalerweise nur die richtige Entity auswählen.

Hallo,
ich habe mal eingefügt, was das Device alles anbietet. In meinem Fall bräuchte ich die 21,5 Grad in dem Bild. Diesen Wert kann ich aber nirgends auslesen, zumindest weiß ich nicht wie.
Die aktuelle Temperartur und die Luftfeuchte ist kein Problem.
Nur aus der "climate.wz_thermostat" kann ich nichts rauslesen. Chat GPT hat climate.wz_thermostat_target_temperatur vorgeschlagen. Auch das funktioniert nicht.

image.png

Müsstest Du aus den Attributen der Entität auslesen können.

Ich hatte ein ähnliches Problem HIER, über debuggen bekommst Du die Attribute (ich mache das immer in Node-Red).

Puuh,
danke, hört sich schlüssig an. Ich bin nur bis dato keinerlei Erfahrung mit NodeRed und es natürlich auch noch nicht installiert. Hat noch jemand einen anderen Vorschlag oder soll ich mich schon mal mit NodeRed auseinandersetzen?

Du bekommst die Attribute auch über die Entwicklerwerkzeuge:

image.png

versuch es mal so rum (wobei Node-Red super für Automationen ist).

Hi,
Du meinst das hier:

image.png


dann müsste doch die Enity für die Bildung der Differenz lauten:

climate.wz_thermostat_temperature

Das nimmt er aber nicht.

Habe ich einen Denkfehler?

Ja, das ist er vermutlich, aber der Name passt wohl noch nicht.

Da ich sowas immer in Node-Red mache, stehe ich auf dem Schlauch, aber evtl. kann Dir ein anderer User helfen, sorry!

@rs4net

Nachtrag (leider geht das editieren nicht so lange):

Hier mal mein yaml-code für das Heizkörperthermostat aus dem og. Beitrag, evtl. hilft dir das ja:

## Handtuchwärmer Badezimmer
template:
  - sensor:
      - name: "Zieltemperatur Handtuchwärmer"
        unique_id: "ZielTempTRV"
        unit_of_measurement: "°C"
        state_class: "measurement"
        state: >
            {{ state_attr('climate.heizkorper_bad' , 'temperature' )}}

Du kannst nicht einfach "climate.wz_thermostat_temperature" übernehmen sonder musst Dir über Template eine verwendbare Entität "basteln" (tausche in meinem Code einfach mal 'cilmat.heizkorper_bad' gegen 'climate.wz_thermostat_temperature' aus, dann sollte es funktionieren).

Super genial, hat funktioniert, danke.

Ein kleines Anliegen habe ich noch, gibt es die Möglichkeit, das Ergebnis zu runden. Bei mir kommt ein Wert mit ungefähr 10 Stellen hinter dem Komma raus. Ist aber nicht wichtig. Geht auch so.

Nochmal danke

Ja, gibt es (Du hast das Video von @Simon42 nicht angeschaut, oder? Darin wird das mit dem Runden nämlich beschrieben 😉 )

So sollte es gehen:

 {{ state_attr('climate.heizkorper_bad' , 'temperature' | round (2)) }}

es wird dann auf 2 Nachkommastellen gerundet.