Automatisierung Zusatzheizung

Hallo zusammen,

ich “spiele” mich jetzt schon einige Zeit mit HA, manches funktioniert, manches nicht und etwas habe ich noch nicht angepackt, weil ich keine Idee habe, wie ich es am besten/einfachsten umsetzen kann.

Auch wenn jetzt Sommer ist, habe ich immer noch im Kopf meine elektrischen Zusatzheizungen für den nächsten Winter zu optimieren.

Ich habe 6 Tuya Thermostate, die auch schon in HA angezeigt werden und manuell gesteuert werden können. Dazu kommen 3 Tapo WLAN Steckdosen für drei weitere Heizungen.

Nun möchte ich die Heizungen entsprechend steuern, dass diese bei Strom aus der PV Anlage so viel Eigenverbrauch wie möglich erzeugen, wenn ich aber alle auf einmal anschalte, wird es zu viel. Dann soll natürlich noch eine Mindesttemperatur gehalten werden für Nachts/Anwesenheit/Abwesenheit.

Aktuell habe ich eine Automatisierung für die Heizung im Bad, die schaut, ob ich über 1400 Watt einspeise für min. 5 Minuten einspeise und dann die Steckdose anschalte. Sollte die Einspeisung unter 200 Watt für 5 Minuten sein, schalte ich die Heizung wieder aus. Dazu habe ich noch eine Automatisierung, die nach Temperatur die Heizung an und ausschält.

alias: PV-Überschuss Bad aus
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.pv_einspeisung
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 200
condition: []
action:
  - type: turn_off
    device_id: 03f09021814b39b7bc1e398ae7ffd567
    entity_id: switch.steckdose_bad
    domain: switch
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.heizung_bad_ein
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.pv_uberschuss_bad_aus
mode: single
alias: PV-Überschuss Bad aus
description: ""
trigger:
  - platform: numeric_state
    entity_id: sensor.pv_einspeisung
    for:
      hours: 0
      minutes: 5
      seconds: 0
    below: 200
condition: []
action:
  - type: turn_off
    device_id: 03f09021814b39b7bc1e398ae7ffd567
    entity_id: switch.steckdose_bad
    domain: switch
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.heizung_bad_ein
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.pv_uberschuss_bad_aus
mode: single
alias: Heizung Bad
sequence:
  - choose:
      - conditions:
          - condition: time
            after: "07:30:00"
            before: "08:30:00"
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            below: 18.5
        sequence:
          - type: turn_on
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
      - conditions:
          - condition: time
            after: "22:00:00"
            before: "23:30:00"
            weekday:
              - tue
              - thu
              - sun
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            below: 20
        sequence:
          - type: turn_on
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
      - conditions:
          - condition: or
            conditions:
              - condition: time
                after: "08:30:00"
                before: "22:00:00"
              - condition: time
                after: "23:30:00"
                before: "07:30:00"
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            below: 17.5
        sequence:
          - type: turn_on
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
      - conditions:
          - condition: time
            after: "07:30:00"
            before: "08:30:00"
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            above: 19.5
        sequence:
          - type: turn_off
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
      - conditions:
          - condition: time
            after: "22:00:00"
            before: "23:30:00"
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            above: 21
        sequence:
          - type: turn_off
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
      - conditions:
          - condition: or
            conditions:
              - condition: time
                after: "08:30:00"
                before: "22:00:00"
              - condition: time
                after: "23:30:00"
                before: "07:30:00"
          - condition: numeric_state
            entity_id: sensor.lumi_lumi_weather_temperature
            above: 18.5
        sequence:
          - type: turn_off
            device_id: 03f09021814b39b7bc1e398ae7ffd567
            entity_id: switch.steckdose_bad
            domain: switch
mode: single
icon: mdi:heat-wave
alias: Heizung Bad
description: ""
trigger:
  - platform: time_pattern
    minutes: /5
condition: []
action:
  - service: script.heizung_bad
    data: {}
mode: single

Bin gespannt auf eure Vorschläge, wie ich das Thema am besten lösen könnte.

Hallo - uns erst mal Herzlich Willkommen hier.

Für so Dinge wäre meine persönliche Präferenz das in Node Red zu machen. Das erhöht meiner Meinung nach die Übersicht da dort alle Einzelteile verknüpft werden können.

Ich würde mich meinem Vorredner anschließen und auch Node-Red für die Übersichtlichkeit hierfür empfehlen.

Für einen grundlegenden Ablauf würde ich die Heizungen nach persönlicher Vorliebe priorisieren und jeden einen spezifischen Leistungsbereich zuordnen.

Als Beispiel nehme ich Prio1 Badezimmer, Prio2 Wohnzimmer und Prio3 Küche. In der Annahme jede Heizung verbraucht 1000W würde ich wie folgt vorgehen.

Script Badezimmer:
Temperatur <22C oder PV-Ertrag-aktuell >1000W & Badezimmer ist aus, dann schalte Badezimmer an.
Ist Temperatur >26
C oder PV-Ertrag-aktuell <1000W & Badezimmer ist an, dann schalte Badezimmer aus.

Script Wohnzimmer:
Temperatur <22C oder PV-Ertrag-aktuell >2000W & Badezimmer ist an & Wohnzimmer ist aus, dann schalte Wohnzimmer an.
Ist Temperatur >26
C oder PV-Ertrag-aktuell <2000W & Wohnzimmer ist an, dann schalte Wohzimmer aus.

Script Küche:
Temperatur <22C oder PV-Ertrag-aktuell >3000W & Badezimmer ist an & Wohnzimmer ist an & Küche ist aus, dann schalte Küche an.
Ist Temperatur >26
C oder PV-Ertrag-aktuell <3000W & Küche ist an, dann schalte Küche aus.

Ich hoffe, ich konnte mein Aufbau der Logikschicht verständlich rüber bringen :innocent: