Wetterabhängig steuern, Wärmepumpen Sperrung und Ladung oder Klimaanlage

Ich habe über Homeassistant eine Automation durch die KI machen lassen (ChatGPT), die um 5 Uhr die stündlichen Wetter-Prognosen abruft, und um 05:01 Uhr aus diesen Daten bestimmt, um welche volle Stunde (13 = zwischen 13 und 14 Uhr) die wärmsten Temperaturen zu erwarten sind. Daraus wird 1h abgezogen, damit z.B. eine Wärmepumpe eine Stunde vor erreichen der Tages-Höchsttemperatur beginnt, den Speicher aufzuladen. Dies aus dem Grund, weil die Wärmepumpe dann am effizientesten arbeitet, wenn die Tageshöchsttemperatur ist.
Achtung: Nicht alle Wärmepumpen haben einen Speicher. Alternativ könnte man z.B. während der kältesten Stunden die WP sperren für eine bestimmte Zeit. Dafür müsste dann die Formel in der configuration.yaml geändert werden, welche die Temperaturdaten auswertet. Anstatt wärmste Stunde müsste man dann die kälteste Stunde suchen.

Was ich ebenfalls in Betrieb habe, ist eine Automation, die schaut, ob es am Tag Bewölkung hat, und je nach Ergebnis lasse ich die Batterie (EcoFlow) in der Nacht entladen oder eben nicht. Damit spare ich Zyklen, denn wenn am Tag keine Sonne ist, dann ist der Ladestand halt einfach einen Tag länger minim, was ich nicht möchte. Der Beitrag ist hier:
EcoFlow Delta 3 Plus als Batterie in HA

Die Wetterdaten kommen von diesem Dienst:
Meteorologisk institutt (Met.no) Sie wird verwendet von Homeassistant.
Wichtig: Home muss in HA definiert sein.
(Einstellungen/System/Allgemein
Nicht vergessen: Die Zone “Home” platzieren:
Einstellungen/Bereiche, Labels & Zonen, dann oben auf Zonen klicken, + Zone erstellen klicken (unten rechts)

Hier ist ein einzelner der 24 Wetter-Blocks der abgerufenen Daten (Sie bfeinden sich im Sensor Stündliche Wettervorhersage Rohdaten und ann muss man auf attribute klicken. Alle diese Zeilen/Wetterphänomene können verwendet werden, um zu steuern:

> forecasts:
>
> condition: snowy
> datetime: “2026-01-02T21:00:00+00:00”
> wind_bearing: 266.1
> cloud_coverage: 100
> uv_index: 0temperature: 0
> wind_speed: 21.2
> precipitation: 0.9
> humidity: 88

Somit kann man diese folgenden Themen als Trigger benutzen, wenn der Sensor in der configuration.yaml entsprechend programmiert wird: (KI müsste mir hier wiederum helfen)

  • Wetter-Art
  • Windrichtung
  • Wolkendichte
  • UV-Index
  • Temperatur
  • Windgeschwindigkeit
  • Niederschlag
  • Luftfeuchtigkeit

Mir ist klar, dass die Wetterdaten nicht unbedingt sehr genau sind von diesem Wetterdienst. Aber einen lokalen konnte ich nicht einbinden. Das geht schon, aber wenn man dann auf Stündlich klickt, dann sind dann die Wetterdaten wiederum aus Norwegen und nicht mehr lokaler Wetterdienst.
Eine lokale Wetterstation wäre für einige dieser Wetterthemen deutlich geeigneter. Nur kann sie halt nicht in die Zukunft schauen.

Im Beispiel unten in der Automation wird als Aktion die Steckdose im Elternzimmer eingeschaltet. (Wir haben keine Wärmepumpe, aber der Gedanke war mir wichtig, weil es irgendwann eine geben wird.)
Ich rechne einmal, dass eine WP nach 3h den Speicher fertig aufgeheizt hat. So ist bei der Automation beispielhaft eine Verzögerung von 3h gewählt, dann schaltet die Steckdose aus.

Das ganze hat ChatGPT programmiert aufgrund meiner Bedürfnisse. (Das macht aber kein Spass, da die KI ziemlich vergesslich ist was Vorgaben und bestehende Automationen, welche sie bereits geschrieben hat, angeht. Sie bringt es auch fertig, bestehende Entitäten umzubenennen, sodass am Schluss die Formel nicht mehr geht.)
Es hat einen ganzen Tag gedauert, bis das dann lief… Jemand, der programmieren kann, der hätte das ein vielfaches schneller fertig gehabt. Aber ohne KI hätte ich halt gar nichts auf die Reihe gekriegt.

Die gesamte Automation wird an zwei Orten gemacht:
1: configuration.yaml (Wetter abrufen und Sensor mit dem Wert der wärmsten Stunde)
2: Automationen (Was dann mit diesem Wert im Sensor geschehen soll)

1: Folgendes musste ich in der configuration.yaml eintragen:

template:
  # =========================================================
  # Stündliche Wettervorhersage – Rohdaten speichern
  # =========================================================
  - trigger:
      - platform: time
        at: "03:00:00"
      - platform: time
        at: "04:00:00"
      - platform: time
        at: "08:30:00"
      - platform: time
        at: "12:45:00"
      - platform: homeassistant
        event: start

    action:
      - service: weather.get_forecasts
        target:
          entity_id: weather.forecast_home
        data:
          type: hourly
        response_variable: stundenvorhersage

    sensor:
      # -----------------------------------------------------
      # Rohdaten-Sensor
      # -----------------------------------------------------
      - name: Stündliche Wettervorhersage Rohdaten
        unique_id: hourly_forecast_raw
        state: "{{ now().isoformat() }}"
        attributes:
          forecasts: "{{ stundenvorhersage['weather.forecast_home'].forecast }}"

  # =========================================================
  # Wärmste Stunde des Tages berechnen
  # =========================================================
  - trigger:
      - platform: time
        at: "03:01:00"
      - platform: time
        at: "04:01:00"
      - platform: time
        at: "08:31:00"
      - platform: time
        at: "12:46:00"
      - platform: homeassistant
        event: start

    sensor:
      - name: Wärmste Stunde heute
        unique_id: warmest_hour_today
        state: >
          {% set forecasts = state_attr('sensor.stundliche_vorhersage_rohdaten', 'forecasts') %}
          {% if forecasts is not iterable %}
            unknown
          {% else %}
            {% set today = now().strftime('%Y-%m-%d') %}
            {% set today_fc = forecasts | selectattr('datetime','match','^' ~ today) | list %}
            {% if today_fc | count > 0 %}
              {% set warmest = today_fc | sort(attribute='temperature') | last %}
              {{ warmest.datetime[11:13] }}
            {% else %}
              unknown
            {% endif %}
          {% endif %}
        icon: mdi:thermometer
        unit_of_measurement: "h"

2: Hier ist die zugehörige Automation, welche die KI gemacht hat. Ich habe eine neue Automation erstellt, dann oben rechts im Menü auf “In YAML bearbeiten” geklickt und dann die Formel der KI hineinkopiert und dann gespeichert:

alias: Betrieb zu wärmster Zeit
description: Schaltet einen Switch 1h vor der wärmsten Stunde des Tages für 3h lang ein
triggers:
  - at: "03:02:00"
    trigger: time
  - trigger: homeassistant
    event: start
conditions:
  - condition: state
    entity_id: input_boolean.betrieb_zu_warmster_zeit
    state: "on"
actions:
  - variables:
      warm_hour: "{{ states('sensor.warmste_stunde_heute') | int }}"
      now_hour: "{{ now().hour }}"
      delay_hours: >-
        {% set h = warm_hour - 1 - now_hour %} {% if h < 0 %}0{% else %}{{ h
        }}{% endif %}
  - delay:
      hours: "{{ delay_hours }}"
      minutes: 0
  - target:
      entity_id: switch.03_tretakt_eltern
    action: switch.turn_on
  - delay:
      hours: 3
      minutes: 0
      seconds: 0
      milliseconds: 0
  - action: switch.turn_off
    target:
      entity_id: switch.03_tretakt_eltern
    data: {}
mode: single

Super Idee! Ich bin mit Dir, was Deine Meinung über die Mustererkennungsmaschine ist.

Welchen Speicher meinst Du? Den Puffer- oder den Trinkwasserspeicher? Was man vielleicht auch bedenken sollte, sind die Starts der Wärmepumpe.

Wie regelst Du die Temperaturen im Haus? Über den Vorlauf oder Einzelraumregelung? Welche Heizkurve hast Du eingestellt?

Hast Du eine lokale Wetterstation?

Du wirst sich auch möglichst lange Laufzeiten mit niedrigen Temperaturen wollen?

Seit etwas über einer Woche ist meine WP installiert; recht ungünstig getimt bei diesen Wetterverhältnissen.

Mit Speicher denke ich an beide, Puffer wie auch Trinkwasser.

Da aber nicht alle WP einen Pufferspeicher haben, nützt es nichts halt nichts, ausser man sperrt in Serie zum Elektrizitätswerk die Pumpe, wenn es am kältesten ist. Es kühlt halt dann ab, solange gesperrt ist.
Und ob man die WP steuern kann, dass sie situativ Warmwasserspeicher lädt, ist fraglich.

Temperatur imHaus regel ich nicht mit dem Smart Home. Geregelt wird über den Vorlauf, Wandradiatoren. Diese haben einen Smart Thermostat, der ist aber nicht in HA eingebunden.

Heizkurve: Das kommt aufs Gebäude an. Ich fahre zurzeit mit 1.0. Aber das ist wirklich nur für mich jetzt. Kann niemand kopieren, sonst heizt die Bude allenfalls nicht mehr richtig auf.

Ich habe keine Lokale Wetterstation, aber da die Heiznug im HA eingebunden ist, habe ich die Aussentemperaturwerte.

Und eben, wir haben zurzeit noch keine WP.
Aber je niedriger der Vorlauf, desto effizienter ist die WP.

1 „Gefällt mir“