Automatisierung: WW-Speicher beim Aufheizen umschichten?

a-wing

Member
Hallo, sitze gerade an der Automatisierung, die meinen WW-Speicher beim Aufheizen des Wassers mittels der Zirkulationspumpe umschichten soll.
(Experimenteller Hintergrund ist, dass das Erreichen der Solltemperatur verzögert wird, um mehr Wasser im Speicher zu erwärmen und nicht nur den obersten Bereich)

  • Eingangsbedingung ist 3-Wege-Ventil hat Status 'tank' und die WW-Speichertemperatur ist größer 46° C.
  • dann soll die Zirkulationspumpe (über Shelly) für 5 Minuten den Inhalt im Speicher verwirbeln.
  • Dann Zirkulationspumpe (über Shelly) wieder aus und eine Wiedereinschaltsperre für 2 Stunden
Probleme bereiten mir, die Eingangsbedingungen richtig zu definieren. Mein Code dazu sieht so aus:
YAML:
alias: WW-Timer_2
description: Warmwasserumschichtung im Speicher bei 46°
trigger:
  - platform: state
    entity_id:
      - sensor.waermepumpe_main_threeway_valve_state
    for:
      hours: 0
      minutes: 0
      seconds: 0
    attribute: tank
condition:
  - condition: numeric_state
    entity_id: sensor.waermepumpe_main_dhw_temp
    above: 46
action:
  - type: turn_on
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 2
      minutes: 0
      seconds: 0
      milliseconds: 0
mode: single

leider hat die Automation noch nicht ausgelöst, es steckt also noch ein Fehler darin.:confused:
Bin für jede Hilfe dankbar.

Gruß
Andreas
 
Du triggerst darauf, das sie das Attribut TANK von deinem sensor.waermepumpe_main_threeway_valve_state ändert.
Was besagt den dieser Wert ? Ändert der sich ? Was sagt Traces ?
 
Du triggerst darauf, das sie das Attribut TANK von deinem sensor.waermepumpe_main_threeway_valve_state ändert.
Was besagt den dieser Wert ? Ändert der sich ? Was sagt Traces ?
Hatte es inzwischen auf diesen Code abgeändert, weil ich mit Attribut auch nix anfangen kann:
YAML:
alias: WW-Timer_2 Speicherumschichtung
description: Warmwasserumschichtung im Speicher bei 46°
trigger:
  - platform: state
    entity_id:
      - sensor.waermepumpe_main_threeway_valve_state
    for:
      hours: 0
      minutes: 0
      seconds: 0
    to: Tank
condition:
  - condition: numeric_state
    entity_id: sensor.waermepumpe_main_dhw_temp
    above: 45
action:
  - type: turn_on
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 2
      minutes: 0
      seconds: 0
      milliseconds: 0
mode: single

Was Traces sagt, keine Ahnung, weiß noch nicht wofür das gut ist. 🤷‍♂️
Der Status vom 3-Wege Ventil ändert sich immer von 'Room' auf 'Tank' und zurück.

Gruß
Andreas
 
Traces sagt Dir genau, was deine Automatisierung macht.
Ob sie ausgelöst wurde und wann, was die Bedingungen gemacht haben und welche Aktionen durchgeführt wurden oder auch nicht und warum nicht.
Einzig der Auslöser kann da nicht gesehen werden. Also ob dein Sensor jetzt von Room auf Tank gewechselt hat, steht da nur, wenn der Auslöser auch die Automatisierung getriggert hat.
Ob der Sensor gewechselt hat, kannst Du im Logbuch sehen.
 
Einzig der Auslöser kann da nicht gesehen werden.
Das ist ja gerade der spannende Teil, ob die beiden Bedingungen so zusammenspielen, wie ich mir das vorstelle. ;)
Habe aber jeden Tag zwei Zeitfenster zum Lifetesten.
Das die Pumpe angeht und die Verzögerungszeiten laufen hatte ich in der Simulation (mit Traces) gesehen.

Hat sich eigentlich bei den Automatisierungen dieses Jahr durch Updates von HA was geändert? Habe da aus einem anderen Forum noch eine Menge Automatisierungen für meine Panasonic Wärmepumpe und der Heishamon-HA-Integration entdeckt. Kann diese aber irgendwie nicht umsetzen, weil es geringfügig anders aussieht? Vielleicht mache ich dazu mal einen gesonderten Thread auf.

Gruß
Andreas
 
Gerade ist wieder ein Fenster (zw. 18 und 20 Uhr) zum Testen abgelaufen.
Die Automatisierung startete, weil das 3-Wege Ventil zu ´Tank´ wechselte.
Jedoch schaute diese auch gleichzeitig auf die zweite Bedingung >45 Grad.
Das die Temperatur jedoch noch nicht erreicht war wurde die Automatisierung abgebrochen.

Also mit Wenn und aber nur Wenn scheint es nicht ganz zu klappen.
Vielleicht muss es andersrum heißen. Wenn Temperatur >45 Grad ist aber nur wenn Ventil den Status Tank hat, starte die Automatisierung.
Damit gehe ich morgen in den Test.

Gruß
Andreas
 
Das ist ja gerade der spannende Teil, ob die beiden Bedingungen so zusammenspielen, wie ich mir das vorstelle. ;)
Die Bedingungen werden ja auch angezeigt und auch, welcher Trigger ausgelöst hat, wenn er den auslöst.
Du siehst halt nur nicht, wenn die Automatisierung NICHT auslöst, warum sie es nicht getan hat.
Gerade ist wieder ein Fenster (zw. 18 und 20 Uhr) zum Testen abgelaufen.
Die Automatisierung startete, weil das 3-Wege Ventil zu ´Tank´ wechselte.
Jedoch schaute diese auch gleichzeitig auf die zweite Bedingung >45 Grad.
Das die Temperatur jedoch noch nicht erreicht war wurde die Automatisierung abgebrochen.
Was dann ja auch mal so richtig ist, weil Du es so programmiert hast.

Wenn ich dein Vorhaben richtig Verstanden habe, gehst Du tatsächlich vollkommen falsch an die Sache ran.
Die Pumpe soll ja nicht nur Anspringen, wenn der Zustand auf TANK geht und die Temperatur >45 Grad ist, sondern immer, wenn die Temperatur über 45 Grad geht UND der Zustand TANK ist. Richtig ?
Vielleicht solltest Du mal hier lesen, dann könnte manches klarer werden.
Aber auch das hier könnte zu deinem Problem passen. Bei jeder Temperaturänderung die Automatisierung starten und mit WENN DANN Abfragen alles weitere steuern.
 
Wenn ich dein Vorhaben richtig Verstanden habe, gehst Du tatsächlich vollkommen falsch an die Sache ran.
Die Pumpe soll ja nicht nur Anspringen, wenn der Zustand auf TANK geht und die Temperatur >45 Grad ist, sondern immer, wenn die Temperatur über 45 Grad geht UND der Zustand TANK ist. Richtig ?
Richtig, es ist eine Und-Verknüpfung von 2 Bedingungen. Weiß aber trotzdem noch nicht, wie ich das umsetze.
Stecke ich beides in den WENN-Bereich ist es ein Oder.
Wie mache ich eine Und-Verknüpfung? Dein Beispiel zum Lesen war zwar einleuchtend von der Problematik her, da ich aber nicht mit Uhrzeiten triggere, hab ich noch so meine Probleme, das um zu setzen.

Gruß
Andreas
 
Richtig, es ist eine Und-Verknüpfung von 2 Bedingungen. Weiß aber trotzdem noch nicht, wie ich das umsetze.
Am besten schaut man sich in der Automatisierung unter "Dann mache" mal alles an, was man da so auswählen kann, gerade bei "Bausteine" und "Andere Aktionen"
Stecke ich beides in den WENN-Bereich ist es ein Oder.
Wie kommst Du da drauf ?
WENN a = 1
DANN WENN b = 1
DANN MACHE Schalte Licht ein.
Einfache Logik. Wenn a 1 ist, wird auch noch gebrüft, ob b auch 1 ist. Wenn nicht, wird nichts gemacht, wenn ja, wird das Licht eingeschaltet.

ODER

Eine WENN DANN Aktion.
Bei WENN klickt man auf "Bedingung hinzufügen", dann auf "Bausteine" und wählt "ODER" bzw. "UND" aus, je nachdem, was man will.
Und schon erscheint der Text "Testen, ob mehrere Bedingungen erfüllt sind". Also genau das, was DU möchtest.
Wie mache ich eine Und-Verknüpfung? Dein Beispiel zum Lesen war zwar einleuchtend von der Problematik her, da ich aber nicht mit Uhrzeiten triggere, hab ich noch so meine Probleme, das um zu setzen.
Naja, nach irgendwas muß ich ja in dem Beispiel triggern.
Aber ein Trigger ist halt auch nur ein Auslöser :D
Du mußt dich Fragen, was soll deine Automatisierung auslösen.
Der Wechsel des Ventilstatus auf TANK, das Überschreiten der Temperatur auf größer 46 Grad oder BEIDES ?
Mein Vorschlag wäre tatsächlich beides.
Im WENN DANN fragst Du dann beide Bedingungen mittels UND ab und führst dann eine Aktion aus.
 
Du mußt dich Fragen, was soll deine Automatisierung auslösen.
Danke dir erstmal, ich komme der Verwirrung immer näher :D
Als ersten Auslöser brauche ich die Temperatur, die aber erst nach einer gewissen Aufheizphase erreicht wird (>45°).
Und dann frage ich den Status des Ventils ab.
Nur wenn dieses auf "Tank" steht, soll die Zirkulationspumpe eingeschaltet werden.
Also so:
YAML:
alias: WW-Timer_2 Speicherumschichtung
description: Warmwasserumschichtung im Speicher bei 46°
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.waermepumpe_main_dhw_temp
    above: 45
condition:
  - condition: and
    conditions:
      - condition: state
        entity_id: sensor.waermepumpe_main_threeway_valve_state
        state: Tank
action:
  - type: turn_on
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 0
      minutes: 5
      seconds: 0
      milliseconds: 0
  - type: turn_off
    device_id: 62e96d7cf6c931752d3c59b277e62de8
    entity_id: 9fffee4232d6fc96778a36f3d8ac4bd7
    domain: switch
  - delay:
      hours: 2
      minutes: 0
      seconds: 0
      milliseconds: 0
mode: single
Mal sehen, wie es morgen abläuft.

Gruß
Andreas
 
Nein, das ist falsch.
Deine Automatisierung wird jetzt immer ausgelöst, wenn die Temperatur über 45 Grad geht ODER das Ventil auf TANK wechselt.
Du MUSST "WENN DANN" einbauen, ohne geht es nicht.
 
Du MUSST "WENN DANN" einbauen, ohne geht es nicht.
Hab ich doch, die zweite Bedingung steht unter Wenn Dann.
WW.jpg
Bei diesem ganzen Satzbau steckt für mich keine Logik dahinter.
Hat natürlich nicht ausgelöst.
Schritte.jpg
Werde es mit weiteren Möglichkeiten versuchen. Gib ja noch ein paar. :sick:

Gruß
Andreas
 
Hab ich doch, die zweite Bedingung steht unter Wenn Dann.
Nein, hast Du nicht. Unter WENN DANN steht nur das er was ein bzw. ausschalten soll. Nichts zu sehen von "WENN DANN"
Man muß hier schon auf die Schreibweise achten. Du hast eine und nur eine Bedingung unter "Aber nur wenn" gemacht, aber keinen Eintrag "WENN DANN" unter "Dann mache"
Bei diesem ganzen Satzbau steckt für mich keine Logik dahinter.
Klar, wenn man Sachen an den falschen Stellen einträgt. :D
Werde es mit weiteren Möglichkeiten versuchen. Gib ja noch ein paar. :sick:
Nochmal.
2 Auslöser (Trigger) unter "Wenn"
KEINE Bedingung unter "Aber nur wenn"
Dann mache kommt nun deine Logik, die Du suchst.

Aktion hinzufügen -> Bausteine -> Wenn-dann
Und hier darfst Du dann, wie oben beschrieben, deine Bedingungen und deine Aktionen setzen.
 
Nochmal.
2 Auslöser (Trigger) unter "Wenn"
KEINE Bedingung unter "Aber nur wenn"
Dann mache kommt nun deine Logik, die Du suchst.

Aktion hinzufügen -> Bausteine -> Wenn-dann
Und hier darfst Du dann, wie oben beschrieben, deine Bedingungen und deine Aktionen setzen.
Mal anders formuliert:
WENN: "Temperatur >45°" ABER NUR WENN: "Uhrzeit zw. 13 und 15 Uhr ist", DANN: "Licht an"
Geht das Licht zwischen 13 und 15 Uhr an, wenn die Temperatur >45° ist ❓

Mein Verständnis nach brauche ich für nur einen Trigger = Temperatur >45°
dann gebe ich dem Trigger eine Condition (Bedingung) mit, die erfüllt sein soll = Ventil hat Zustand 'Tank'
ist dies erfüllt, wird die Action ausgeführt = starte Pumpe

Der Trigger und die Action funktionieren, nur mit der Condition habe ich noch Probleme.
 
Zuletzt bearbeitet:
Mal anders formuliert:
WENN: "Temperatur >45°" ABER NUR WENN: "Uhrzeit zw. 13 und 15 Uhr ist", DANN: "Licht an"
Geht das Licht zwischen 13 und 15 Uhr an, wenn die Temperatur >45° ist ❓
Nein !
Deswegen hatte ich meinen Beitrag zum Thema Automatisierung geschrieben.
Das Licht geht an, wenn die Temperatur über 45 Grad geht und es dann auch zwischen 13 und 15 Uhr ist.
Ist es 12:59, passiert nichts.
Und es passiert auch um 13:01 nichts, weil die Temperatur schon über 45 Grad ist.
 

Letzte Anleitungen

Statistik des Forums

Themen
5.378
Beiträge
53.294
Mitglieder
5.165
Neuestes Mitglied
Maltball
Zurück
Oben