Elektroheizung steuern mit MT2649 / DRS21 Danfoss / RaumThermostat

Vorab ich bin HA neuling. Ich habe jetzt mein Danfoss Raumthermostat per Z-Wave eingebunden

Ich versuche gerade möglichst einfach meine Elektro Heizung (Shelly ein/aus) zu regeln mit Abwesenheit und Solltemperatur zu bestimmten Zeiten. Jetzt wäre die erste Frage wie ich die Solltemperatur am Thermostat setzen kann eben mit Zeitsteueerung.

Was meinst du damit: Soll die Automation einfach sein im Sinne davon, dass sie nicht mehr macht als die Heizung ein- und auszuschalten? Oder möchtest du es einfach haben? Für letzteres kannst du bspw. AHC verwenden: 🔥 Advanced Heating Control - Blueprints Exchange - Home Assistant Community

Oder du machst dir unter Helfer einen Zeitplan und definierst über eine Automation die entsprechende Temperatur. Also wenn Zeitplanhelfer.X an ist, setze die Temperatur auf X °C.

Akzuell habe ich das ganze im Homee. Da werden Solltemperaturen je nach Zeit eingestellt und eine Automation vergleicht wenn Ist Temperatur unter Sollwert Thermostat dann schalte Gerät ein und anders rum. Wie kann ich jatzt bei dem Thermostat den Sollwert setzen? Thermostat Sollwert ist um die Unrzeit 23 grad…
Ich hab Better Thermostat getestet aber da nimmt er nur die Ist Temperatur von dem Thermostat und soll Temperatur kann ich nicht als Bedingung auswählen. Auswählbar sind nur die zwei sachen:

action: climate.set_temperature
metadata: {}
data:
  temperature: 23
  hvac_mode: heat
target:
  entity_id: climate.kuche

Diese Aktion würde jetzt as Thermostat in den Heiz-Modus (HLK) setzen und eine Temperatur von 23 °C. Nehmen wir an, du hast 2 verschiedene Soll-Temperaturen, die zu unterschiedlichen Zeiten aktiv sein sollen. Dann könnte es so aussehen:

alias: Heizung WC
description: ""
mode: single
triggers:
  - trigger: time
    at: "08:00:00"
conditions: []
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      temperature: 23
      hvac_mode: heat
    target:
      entity_id: climate.kuche
alias: Heizung WC
description: ""
mode: single
triggers:
  - trigger: time
    at: "22:00:00"
conditions: []
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      temperature: 15
      hvac_mode: heat
    target:
      entity_id: climate.kuche

Um 08:00 Uhr wird auf 23 Uhr gesetzt, um 22 Uhr auf 15. Oder du machst dir einen Zeitplanhelfer und fragst den als Trigger ab:

trigger: state
entity_id:
  - schedule.NAME
to: "on"

Das ist etwas flexibler und einfacher aus meiner Sicht, wenn man etwas am Zeitplan ändern möchte.

oje, es jammelt… Wo muss ich das eintragen bzw. erstellen? Bin anfänger und hab es unter Aktionen, neue Aktion erstellen. Dann auf Yaml und hab folgendes erstellt:
action: climate.set_temperature
metadata: {}
data:
temperature: 23
hvac_mode: heat
target:
entity_id: climate.thermostat_wc

wenn ich das ausführen lasse macht es nichts.

Da kommt man selten dran vorbei, da es eine gute Möglichkeit ist sich über Automationen auszutauschen:

  • sie sind durchsuchbar
  • copy & paste funktioniert
  • sie sind unabhängig von der Displaygröße stets lesbar

Daher sollte man den Code auch als vorformatierten Text einfügen. Das erreicht man über die Leiste mit </>.

Wenn du die Automation bereits ausgeführt hast, was steht dann unter Traces? Erreichst du über das Menü (die drei Punkte) der entsprechenden Automation.

Macht ja sinn aber einfach ist etwas anderes…. Bei Homee gabs ein Homeegramm wo man wenn Temperatur Sollwert unter Temperatur istwert fällt eine Aktion ausführen kann… Hier schaff ich nicht mal das mit einer Automation.
Der Trace nach dem Ausführen ist leer.

Hi, ich bin zwar nicht der große Freak für Automatisierung, aber ich hab eine Elektroheizung mit Shelly gerade mal programmiert. Das ganze geht relativ einfach. In den Einstellung → Geräte und Dienste → dort unter Helfer einen Helfer erstellen Generisches Thermostat. Da kannst Du dann schon jede Menge einstellen. Anschliessend kannst Du ganz normal Better Thermostat oder ein anderes nehmen und das auf die Oberfläche bringen. Vielleicht wäre noch von Vorteil das ganze unter Z2m laufen lassen dann kannst in Z2M schon die Zeiten für Heizen und sonstiges einstellen. Hoffe es hilft Dir ein wenig weiter.

Ich baruch doch keinen Thermostat helfer wenn ich ein Thermostat habe?
In homee sieht das so aus:


Da gibt es soll und Isttemperatur.

dann kann ich hier meine Heizung einschalten mit der Automation:

was hier so einfach geht, geht bei Home Assistent garnicht oder ich hab einen knoten im Kopf

Habs jetzt mit auslöser Entitäten versucht und soll testweise Licht einschalten wenn geheizt wird und aus wenn nicht… nichts geht🤬


:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

Von den Farben mal abgesehen, ist die Ähnlichkeit doch, zumindest für mich, ersichtlich. Sowohl bei Homee wie auch bei Home Assistant definierst du einen oder mehrere Auslöser, eine oder mehrere Bedingungen (in HA sind Bedingungen optional) und mindestens eine Aktion. Zumindest hierbei scheint es doch schon einmal Ähnlichkeiten zu geben.

Dann ist die Automation nicht durchgelaufen. So ähnlich müsste es bei dir aussehen:

Sollte es einen Fehler gegeben haben, ist dies an einem Ausrufezeichen zu erkennen:
error_automation

In der Trace-Zeitleiste ist dann auch eine genauere Meldung zu sehen:
trace_zeitleiste

Wenn also bei dir nichts steht, ist die Automatisierung nicht durchgelaufen. Nur zu Sicherheit: Die Automation kannst du, wenn du die Automation im Bearbeitungsmodus geöffnet hast, über das Hamburger-Menü starten:

Ein Trigger wird nur bei Änderung ausgelöst. In Kurzform:

  • Trigger: Ist-Wert (bspw. 20) soll größer als Soll-Wert sein (bspw. 23).
  • Ist-Wert erreicht den Wert 24. 24 ist größer als 23. Die Automation wird gestartet
  • Ist aber der Ist-Wert bereits größer als 23, wird die Automatisierung nicht ausgelöst

Wenn man die Automation über das oben genannte Menü startet, werden die Auslöser und die Bedingungen übersprungen und die Aktionen direkt ausgeführt.

So ähnlich, nur mit deinen Entitäten, könnte dann deine Automatisierung aussehen:

Gehe mal bitte auf die Entwicklerwerkzeuge über die Seitenleiste.

Und dort auf den Reiter Zustände. Gebe in dem Feld, auf dass die 1 zeigt, den Namen deiner Entität ein. Also deines Thermostates. Dies sollte dann auftauchen. Klicke dann (2) darauf. Kopiere entweder den Inhalt aus dem grünen Kasten (3) hier hinein oder mache einen Screenshot von der Spalte Attribute, siehe blaues Feld (4) (leider ist der Kasten zu kurz geraten).

Was passiert, wenn du in den Entwicklerwerkzeugen unter dem Reiter Aktionen die gewünschte Aktion ausführst?

action: climate.set_temperature
target:
  entity_id: climate.kuche
data:
  temperature: 23
  hvac_mode: heat

Lass auch mal Testweise dan HLK-Modus bzw. hvac_mode weg.

so, deine Automation nachgebaur, nix passiert wenn och auf ausführen gehe




Nachtrag:
Mit Zeittrigger hat es jetzt funktioniert mit Solltemperatur auf 23 grad setzen. Jetzt bräuchte ich nur noch die Automation um den Shelly dann einzuschalten

:crayon:by HarryP: Zusammenführung Doppelpost

Wenn der Shelly ebenso dann eingeschaltet werden soll, wenn die Heizung auf die gewünschte Temperatur gestellt wird, kannst du dies auch in der selben Automation tun. Dein Shelly hat eine Switch-Entität, die du zugleich einschalten kannst. Denn unter Aktionen können mehrere Aktionen ausgeführt werden.

aktiuon_hinzufuegen

Hiermit kannst du einfach eine weitere Aktion, die ausgeführt werden soll, hinzufügen. Das könnte dann so aussehen:

Über diese vielen Punkte, die ein Viereck bilden, kannst du die Reihenfolge ändern. In der App sind es glaube ich Pfeile. In diesem Fall wird also die Temperatur gesetzt und der Shelly eingeschaltet.

Verbirgt sich unter dem Punkt temperature: 26 die Soll-Temperatur?

Ich würde auch wie von @manfred52 angemerkt das Generic Thermostat verwenden. Findest Du im Bereich Helfer.

Als Temperatur Sensor gibst Du den Temperatur Sensor des Wandthermostats an, oder auch jeden beliebigen Temperatursensor.

Als Stellschalter, gibst Du Deinen Shelly an.

Kannst auch noch unterschiedliche Temperatur Voreinstellungen vornehmen.

Schon wird wie von Zauberhand der Shelly in Abhängigkeit der eingestellten Soll-Temperatur und der Ist-Temperatur ein bzw. ausgeschaltet.

Damit die am Wandthermostat eingestellte Soll-Temperatur an das Generic Thermostat übertragen wird, reicht eine einfache Automatisierung.

Wandthermostat → climate.wandthermostat
Generic Thermostat → climate.elektroheizung

alias: Thermostat Synchronisierung
description: ""
triggers:
  - trigger: state
    entity_id:
      - climate.wandthermostat
    attribute: temperature
    for:
      hours: 0
      minutes: 0
      seconds: 1
conditions: []
actions:
  - action: climate.set_temperature
    metadata: {}
    data:
      temperature: |
        {{ state_attr('climate.wandthermostat', 'temperature') }}
    target:
      entity_id: climate.elektroheizung
mode: single

Die Soll-Temperatur Vorgabe nimmst Du nur über das Wandthermostat vor.
Das Generic Thermostat ist nur das Bindeglied zwischen Dem Wandthermostat und dem Shelly.

Oder Du lässt das Wandthermostat ganz weg und Steuerst die Heizung ausschließlich über das Generic Thermostat.

Gruß
Osorkon

Aber wann schaltet der shelly schalter wieder ab wenn die Temperatur erreicht ist?

ja, 26 grad waren da die Solltemperatur

und für was richte ich dann die komfort/eco temperaturen im generic Thermostat ein.

Weil Du es kannst! :wink:

Wenn Du zu Soll-Temperatur Vorgabe nach wie vor das Wandthermostat nutzen möchtest, dann nur aus Spaß an der Freude.

Wenn Du dagegen das Generic Thermostat verwenden willst.
Kannst Du somit recht einfach zwischen den Voreinstellungen hin und her schalten.

Gruß
Osorkon

Ein Weg wäre eine zweite Automation, die beim Erreichen der Sollwerttemperatur den Shelly wieder ausschaltet.

Ich kann da mirgen früh mehr zu schreiben. Jetzt habe ich keine Zeit, da ich morgen sehr früh raus muss.

1 „Gefällt mir“

Der Generic Thermostat übernimmt doch das ein und ausschalten des Shellys automatisch.
Auch mit dem Vorteil, das eine Temperatur Toleranzgrenze eingestellt werden kann.
Dafür würde ich keine Automatisierungen verwenden, wenn es eine Out of the Box Lösung gibt. :wink:

Gruß
Osorkon

Cool, das mit dem Generic Thermostat geht :smiling_face_with_three_hearts:
Wie kann ich jetzt noch sagen nimm um die Zeit die Temperatur und wenn abwesend die andere?

Einfaches Bsp. mit 2 Temperatur Profilen:
Eco : 17°C
und Comfort: 23°C

Einen Zeitplan erstellen, findest Du auch bei den Helfern.
Die Zeiten eintragen, wo die Komfort Temperatur erwünscht ist.

Wenn der Zeitplan eingeschaltet wird und jemand zuhause ist, wird die Komfort Temperatur eingestellt. Wenn der Zeitplan ausgeschaltet wird, wird die Eco Temperatur eingestellt.
Wenn alle das Haus verlassen, wird die Eco Temperatur eingestellt. Wenn der erste das Haus Betritt und der Zeitplan an ist, Komfort Temperatur, sonst ECO.

Das ganze aber nur wenn das Fenster geschloßen ist, weil da die Heizung ausgeschaltet ist. Und die Heizsaison aktiv ist.

alias: Bad - Heizplan
description: ""
triggers:
  - entity_id:
      - schedule.heizung_bad
    from: "off"
    to: "on"
    id: komfort
    trigger: state
  - entity_id:
      - schedule.heizung_bad
    from: "on"
    to: "off"
    id: eco
    trigger: state
  - trigger: numeric_state
    entity_id:
      - zone.home
    below: 1
    id: eco
  - trigger: numeric_state
    entity_id:
      - zone.home
    above: 0
    id: ankommen
conditions:
  - condition: state
    entity_id: binary_sensor.fenster_bad
    state: "off"
  - condition: state
    entity_id: input_boolean.heizsaison
    state: "on"
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - komfort
          - condition: numeric_state
            entity_id: zone.home
            above: 0
        sequence:
          - metadata: {}
            data:
              temperature: 23
            target:
              entity_id: climate.heizung_bad
            action: climate.set_temperature
      - conditions:
          - condition: trigger
            id:
              - eco
        sequence:
          - metadata: {}
            data:
              temperature: 17
            target:
              entity_id: climate.heizung_bad
            action: climate.set_temperature
      - conditions:
          - condition: trigger
            id:
              - ankommen
          - condition: state
            entity_id: schedule.heizung_bad
            state: "on"
        sequence:
          - metadata: {}
            data:
              temperature: 23
            target:
              entity_id: climate.heizung_bad
            action: climate.set_temperature
      - conditions:
          - condition: trigger
            id:
              - ankommen
          - condition: state
            entity_id: schedule.heizung_bad
            state: "off"
        sequence:
          - metadata: {}
            data:
              temperature: 17
            target:
              entity_id: climate.heizung_bad
            action: climate.set_temperature
mode: restart

Die Fenstererkennung sieht dann so aus.

Wenn Fenster Status sich ändert.
Wenn Fenster geöffnet und die Heizung nicht bereits ausgeschaltet ist, dann Heizung ausschaltet.
Wenn das fenster geschlossen ist in den Modus Heizen wechseln und 10s warten.
Wenn Heizplan an ist, dann Komfort Temperatur. Und wenn Heizplan aus ist, dann die ECO Temperatur.

alias: Bad - Heizung - Fenstererkennung
description: ""
triggers:
  - entity_id:
      - binary_sensor.fenster_bad
    for:
      hours: 0
      minutes: 0
      seconds: 30
    trigger: state
conditions:
  - condition: state
    entity_id: input_boolean.heizsaison
    state: "on"
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: binary_sensor.fenster_bad
            state: "on"
          - condition: not
            conditions:
              - condition: state
                entity_id: climate.heizung_bad
                attribute: hvac_modes
                state: "off"
        sequence:
          - target:
              entity_id:
                - climate.heizung_bad
            data:
              hvac_mode: "off"
            action: climate.set_hvac_mode
      - conditions:
          - condition: state
            entity_id: binary_sensor.fenster_bad
            state: "off"
        sequence:
          - target:
              entity_id:
                - climate.heizung_bad
            data:
              hvac_mode: heat
            action: climate.set_hvac_mode
          - delay:
              hours: 0
              minutes: 0
              seconds: 10
              milliseconds: 0
          - if:
              - condition: state
                entity_id: schedule.heizung_bad
                state: "on"
            then:
              - action: climate.set_temperature
                metadata: {}
                data:
                  temperature: 23
                target:
                  entity_id: climate.heizung_bad
            else:
              - action: climate.set_temperature
                metadata: {}
                data:
                  temperature: 17
                target:
                  entity_id: climate.heizung_bad
    default: []
mode: restart

Edit: Kann Dir auch bei Interesse einen Blueprint zur Verfügung stellen, welche die 2 Automatisierung beinhaltet.

Gruß
Osorkon