Hallo liebes Forum, bin Neuling, daher bitte Verständnis für eine Frage:
Ich benutze eine HA-Automation, um mit dem Überschuss aus der PV-Anlage Warmwasser zu erhitzen. Das funktioniert auch wunderbar. Wird der Schwellwert (Netzeinspeisung -167 Watt) erreicht, wird der Heizstab über einen Shelly eingeschaltet bzw, auch wieder abgeschaltet.
Ich habe gelernt, dass HA nur auf Änderungen des Sensorwertes reagiert, also nicht erneut, auch wenn die Bedingung erfüllt ist. Dies führt zu folgendem Effekt: wenn ich manuell den Heizstab einschalte und die Bedingung ist nicht erfüllt z.B. Einspeisung ist nur -100 Watt, erfolgt keine Abschaltung des Heizstabes.
Wie kann ich programmieren, dass quasi permanent die Bedingung geprüft wird?
Anders formuliert: nicht das Durchschreiten eines Schwellwertes soll geprüft werden, sondern der absolute Wert.
Tatsächlich würde ich dabei auch direkt an einen zyklischen Trigger denken.
Aber was kann so ein Heizstab denn ab?
Also, wenn man z.B. alle 5 min den Wert checkt, dann könnte im schlimmsten Fall der Heizstab alle 5 min. ein- bzw. ausgeschaltet werden.
Kann so ein Heizstab damit umgehen?
Ich bin gerade an einem ähnlichen Projekt. Ich möchte mir einen Wasserboiler zulegen, in dem drei Heizstäbe verbaut sind. Damit könnte ich, je nach PV-Überschuss 2 kW, 4 kW oder 6 kW zuschalten.
Den Boiler werde ich dann mit meinem 300L Wasserspeicher verbinden und zirkulieren lassen.
Also @Karloblack Wenn deine Automatisierung steht und etwas komplexer wird, würde ich mich darüber freuen wenn du es mit uns teilst :-)
@Karloblack Ein wirklich sehr spannendes Thema. Danke an den Themenersteller. Auch die Erkenntnis das nur auf die Änderungen geschaut wird, ist wichtig! Da habe ich auch gebraucht.
Ich habe einen AC Heizstab. Ich mache es auch genau so mit einer Shelly. Meine gesamte Heizstab Automatisierung umfasst viele einzelne Automations in HA.
Bedenke bitte das die Shelly's sehr heiß werden, insbesondere wenn 3kW durchgehen. Meine hat sich öfter mal selbst abgeschalten, weil die sich gegen überhitzung selbst schützen.
So nun zu deinem Problem. Mach einen einzelne Automation, die den Heizstab nach x-Minuten wieder ausschaltet. Bei mir nach 8 Minuten. Wenn danach dein Schwellenwert wieder 3 sek unter -167 Watt ist (du also Einspeisung hast), geht er ja wieder an.
Damit nicht endlos getaktet wird, habe ich mir noch paar andere schöne Sachen ausgedacht. Hier arbeite ich mit Conditions in den Automatisierungen. Zum Bsp. Messe ich mit der Shelly den Stromverbrauch pro Tag. Ich starte den Heizstab nur dann wenn der Stromverbrauch unterhalb 4 kwh pro Tag ist. D.h. also wenn er 1,25h gelaufen ist, startet er nicht mehr. Dann ist das Wasser aber auch heiß.
Die Möglichkeiten des Finetunings sind riesig. Man kann auch abhängig von der Wassertemperatur oder der Shelly Temperatur schalten usw.
Hallo Zusammen und vielen Dank für das super Thema!
Nächste Woche wird bei mir auch erst die PV-Anlage mit Speicher installiert. Vom Heizungsbauer kommt dann noch ein Heizstab fürs Brauchwasser.
Der Heizstab hat 3 Phasen: 0,5kW - 1kW - 2kW und kann damit in 0,5er Stufen bis 3,5kW geschaltet werden. Er läuft auf 400V und wird über ein Schütz geschaltet. Ich hatte überlegt, da ein ESP mit drei Relais dran zu hängen, die mir dann das Schütz abhängig vom Überschuss schalten.
Allerdings habe ich mir auch schon überlegt, wie oft das Schütz so hin- und herschauten kann/soll.
Meine Idee war folgende:
- wenn PV-Überschuss mind 0,8kW & Batterie SOC>90%: schalte Phase 1 (0,5 kW) ein
- für die anderen dann sukzessive bei größerem Überschuss
- abschalten in umgekehrter Reihenfolge oder wenn Temperatur im Wasserspeicher erreicht (Heizstab hat einen Temperaturregler für Zieltemperatur (kann ich wohl nicht in HA auslesen).
- um zu verhindern, dass das Schütz ständig hin und herschaltet wenn eine Wolke mal den Ertrag drosselt hatte ich überlegt, den Speicher temporär (10-20 Minuten) als Puffer zu verwenden und ggf. Solar Forecast zu verwenden. Zu diesem Punkt habe ich aber noch keine konkrete Idee.
Ziel muss ja sein so wenig wie möglich einzuspeisen, also so viel wie möglich im Haus zu verbrauchen.
Mein Haupttrigger für das Starten des Heizstabs ist eigentlich der Batteriestand SOC. An der momentanen Einspeisung mache ich es nicht fest. Ich puffere auch mit der Batterie zwischen. Mein Heizstab zieht 3kW (nur an oder aus) und geht auch an wenn zum Bsp. nur 2 kW vom Dach kommen. Wenn der SOC unter einen bestimmten Punkt fällt, schalte ich den Heizstab wieder aus.
Über den Tag schalte ich so natürlich ein paar Mal an und aus, aber ich hoffe das kann das Gerät ab. Kostete ja zum Glück nur 100 Euro und hat sich sicher nach 1-2 Jahren rentiert bei den aktuellen Gaspreisen. Alles in allem ist das natürlich schon ziemlich individuell. Muss jeder schauen wie es für ihn in seiner Umgebung passt.
Ach und wegen der Wassertemperatur, da schau mal an deinem Pufferspeicher hinten wo der Temperaturfühler der Heizung reingeht. Das ist ein kleines Rohr, da kann man einen zweiten Fühler dazustecken. Mit einen simplen Shelly mit Temperaturfühler Add-on kann man das so auch smart machen.
@oderturm Danke dir für die Tipps - v.a. mit dem Temperaturfühler. (Mein Heizstab ist irgendwie deutlich teuerer inkl. Montage…)
Klar, so wenig einspeisen wie möglich ist das Ziel. Mir ging es beim Überschuss primär darum, dass eben 0,8kW da sein sollten um 0,5kW einzuschalten (plus kleiner Puffer). Ein Puffer von 0,3kW vielleicht etwas üppig gewählt. Aber sonst bin ich ja gleich im Netzbezug oder ziehe aus der Batterie.
Meine Priorität wäre
1. Hausverbrauch
2. Batterie, wenn die >90% und Überschuss vorhanden, dann
3. Warmwasser erhitzen
ggf. später noch E-Auto, aber das ist Zukunftsmusik.
Nutzt du oder jemand anderes vllt. auch Prognosen über Ertrag in nächster Stunde für die Automation? Mit dem Puffern über die Batterie erhöht man natürlich letztlich die Zyklen…
@oderturm: Nein - PV Anlage kam am Mo/Di aber jetzt heißt es warten auf den Netzbetreiber...Ich hoffe ja sehr, dass dies nicht bis zum Sommer dauert :)
Ein ähnliches Vorhaben ist bei mir auch in der Spur. Nur komme ich nicht so Recht voran.
Ich betreibe dazu gerade einen Versuch, da ich in Abhängigkeit der PV Leistung und des SOC keinen Heizstab, sondern meine Klimaanlage schalten will.
Die sollte auf keinen Fall ständig an- und ausgeschaltet werden.
Zusätzlich werde ich als Bedingung später noch die derzeitige PV Produktion einfügen. Die soll über 1 kW liegen.
Im Bereich Automation gibt es für mich noch einigen Erklärungsbedarf.
Für den Test habe ich eine Automation angelegt, die mir über ESPHome erst mal die berühmte Ampel schalten soll.
Dazu habe ich drei Wertebereiche für den SOC festgelegt:
größer 70% Grün
zwischen 20 und 70% Gelb
unter 20% Rot.
Die Switches habe ich dementsprechend benannt und ich kann sie im HA schalten.
Nur leider funktioniert die Automation nicht entsprechend. Beim Wertübergang erfolgt keine Umschaltung.
Erst wenn das funktioniert, möchte ich an dieser Stelle weiter machen und in ESPHome eine IR Fernbedienung für die Klimaanlage konstruieren. (Leider gibt es für meine Anlage trotz WLAN Schnittstelle keine Integration).
Wäre es möglich, das Einfügen eines Triggers näher zu erklären (vielleicht in einem netten Simon42 - Video?)?
Ich habe einen Screenshot für die Automation SOC unter 20% beispielhaft angehängt. (nur mit dem Handy - deshalb rechts abgeschnitten)
Hallo ihr Lieben, ich habe es so zusammengebastelt und das klappt ganz gut, bin aber keine Expertin
alias: "Schaltung Heizstab"
trigger:
- platform: template
# Prüft, ob der Schalter aus ist und alle 10 Minuten überprüft werden soll
# Oder ob der Schalter an ist und alle 2 Minuten überprüft werden soll
value_template: >
{{ is_state('switch.switch_3', 'off') and (now().minute % 10 == 0) or
is_state('switch.switch_3', 'on') and (now().minute % 2 == 0) }}
condition: []
action:
- choose:
# Erster Block: Bedingungen für das Einschalten des Heizstabs
- conditions:
- condition: state
entity_id: switch.switch_3
state: 'off'
- condition: time
after: "10:00:00"
before: "15:00:00"
- condition: numeric_state
entity_id: sensor.envoy_122306057077_aktuelle_stromproduktion
above: 2.5
- condition: numeric_state
entity_id: sensor.luft_wasser_warmepumpe_hot_water_temperature
below: 70
# Prüft, ob der Stromverbrauch unter 2 kW liegt (einschließlich negativer Werte)
- condition: template
value_template: >
{% set verbrauch = states('sensor.envoy_122306057077_aktueller_stromverbrauch') | float %}
{{ verbrauch < 2 }}
- condition: numeric_state
entity_id: sensor.encharge_492330000277_batterie
above: 90
sequence:
# Loggen des aktuellen Stromverbrauchs für Debugging-Zwecke
- service: logbook.log
data:
name: "Heizstab Automation"
message: "Aktueller Stromverbrauch: {{ states('sensor.envoy_122306057077_aktueller_stromverbrauch') | float }} kW"
# Schaltet den Heizstab ein, wenn alle obigen Bedingungen erfüllt sind
- service: switch.turn_on
target:
entity_id: switch.switch_3
# Sendet eine Benachrichtigung an das mobile Gerät, dass der Heizstab eingeschaltet wurde
- service: notify.mobile_app_m2102k1g
data:
message: "Heizstab wurde eingeschaltet."
# Zweiter Block: Bedingungen für das Ausschalten des Heizstabs
- conditions:
- condition: state
entity_id: switch.switch_3
state: 'on'
- condition: or
conditions:
# Prüft, ob die aktuelle Stromproduktion unter 2 kW liegt
- condition: numeric_state
entity_id: sensor.envoy_122306057077_aktuelle_stromproduktion
below: 2
# Prüft, ob der aktuelle Stromverbrauch über 4 kW liegt
- condition: numeric_state
entity_id: sensor.envoy_122306057077_aktueller_stromverbrauch
above: 4
# Prüft, ob die Warmwassertemperatur über 79 °C liegt
- condition: numeric_state
entity_id: sensor.luft_wasser_warmepumpe_hot_water_temperature
above: 79
# Prüft, ob die Batterieladung unter 70 % liegt
- condition: numeric_state
entity_id: sensor.encharge_492330000277_batterie
below: 70
# Prüft, ob die aktuelle Uhrzeit nach 15:00 Uhr liegt
- condition: time
after: "15:00:00"
# Prüft, ob die aktuelle Uhrzeit vor 10:00 Uhr liegt
- condition: time
before: "10:00:00"
sequence:
# Loggen des aktuellen Stromverbrauchs für Debugging-Zwecke
- service: logbook.log
data:
name: "Heizstab Automation"
message: "Aktueller Stromverbrauch: {{ states('sensor.envoy_122306057077_aktueller_stromverbrauch') | float }} kW"
# Schaltet den Heizstab aus, wenn eine der obigen Bedingungen erfüllt ist
- service: switch.turn_off
target:
entity_id: switch.switch_3
# Sendet eine Benachrichtigung an das mobile Gerät, dass der Heizstab ausgeschaltet wurde
- service: notify.mobile_app_m2102k1g
data:
message: "Heizstab wurde ausgeschaltet."
default:
- service: logbook.log
data:
name: "Heizstab Automation"
message: "Heizstab gecheckt, keine Aktion notwendig"
Vielleicht möchte es jemand als Vorlage nutzen. Alternativ habe ich noch eine Schaltung gebastelt, die sich am errechneten Nettostromverbrauch orientiert, falls Interesse besteht.