Neue Automation, oder Szene oder Script?

jwiha

New member
Hallo,

bin relativ neu mt HA unterwegs und habe bisher ein paar einfache Auomationen erstellt. Aber für das nächste Vorhaben habe ich absolut kein Plan.
Was ich habe ist eine Heizung mit einem Heizstab und eine PV-Anlage von Senec. Das ist alles in HA drin.
Ich würde jetzt gerne (weil die Sonne sich immer öfters zeigt), wenn die PV-Produktion minus Hausverbrauch größer als 3000Watt ist, den Heizstab einschalten und wenn die differenz PV-Produktion minus Hausververbrauch kleiner als 2500Watt ist, den Heizstab wieder auschalten.

Ich bedanke mich recht Herzlich für Eure Hilfe,

Gruß jwiha
 
So vielleicht?
YAML:
description: ""
mode: single
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.stromzahler_og_aktueller_verbrauch
    below: -3000
    id: An
  - trigger: numeric_state
    entity_id:
      - sensor.stromzahler_og_aktueller_verbrauch
    id: Aus
    above: -2500
conditions: []
actions:
  - if:
      - condition: trigger
        id:
          - An
    then:
      - action: switch.turn_on
        metadata: {}
        data: {}
        target:
          entity_id: switch.heizung
  - if:
      - condition: trigger
        id:
          - Aus
    then:
      - action: switch.turn_off
        metadata: {}
        data: {}
        target:
          entity_id: switch.heizung

Gruß
Jan
 
Vielen Dank für das Script, das ich nur halb verstehe. Also die Syntax ist mir fremd. Ich weiß jetzt dass das yaml ist. Wo kopier ich das rein. Ich habe nur eine config.yaml gesehen. Wird das eventuell dort angehängt oder wird ein neues script erstellt erstellt.

Natürlich muss ich die Namen meiner Sensoren hier einfügen. Ich vermisse aber den senssor für pv-produktion (sensor.senec_webapi_powergenerated_now). Der für den aktuellen Hausverbrauch heißt sensor.senec_webapi_consumption_now. Daraus muss ja die Differenz gemacht werden.

Dann würde mich interresieren in welchen Abständen das script läuft.
Wie Du siehst jede Menge Fragen, aber wie gesagt bin halt noch Laie auf dem Gebiet.

Vielen Dank

Gruß jwiha
 
Das ist eine Automatisierung, nur halt in Text-Form.
Um das einzufügen tu folgendes:
1. Erstelle eine neue Automatisierung
2. drücke in der Automatisierung oben rechts auf die drei Punkte
3. Drück auf "in yaml bearbeiten"
4. füge den Code aus meinem anderen Post ein
5. Drei Punkte oben rechts
6. "im visuellen Editor bearbeiten"
7. Deine Entitäten einfügen (wenn du die Entitätenbezeichnungen kennst geht das auch schon im Anschluss an 4)
8. Speichern
 
Achso, und das läuft immer wenn über deinen Stromzähler mehr als 3000W Überschuss ins Netz gehen und wenn dieser Wert auf unter 2500 sinkt.
Durch die Auslöse-IDs steuern wir dann welches der beiden IFs wahr und somit ausgeführt wird.

Gruß
Jan
 
Ich würde jetzt gerne (weil die Sonne sich immer öfters zeigt), wenn die PV-Produktion minus Hausverbrauch größer als 3000Watt ist, den Heizstab einschalten und wenn die differenz PV-Produktion minus Hausververbrauch kleiner als 2500Watt ist, den Heizstab wieder auschalten.
Das wird so nicht funktionieren !
Beispiel:
PV ProduktionHausverbrauchDifferenz
50001000+4000 (Heizstab schaltet ein)
50004000+1000 (Heizstab schaltet aus, weil Hausverbrauch durch den ja gestiegen ist.)
50001000+4000 (Hiezstab schaltet wieder ein, da ja jetzt wieder genug
Würde bedeuten, dein Heizstab schaltet so im 2, 3 Sekunden Takt an und aus, was ganz sicher nicht in deinem Sinne ist.
Heißt, beim Abschalten muß ein Wert PV Produktion - Hausverbrauch + 3000 berechnet werden. Also Heizstab ausschalten erst, wenn PV - Hausverbrauch > 0
Problem hier dran ist dann aber, wenn die Berechnung so gerade eben 0 ergibt und jemand schaltet das Licht ein, geht der Heizstab aus.

Jetzt könnte man natürlich auf die Idee kommen und sagen "baue ich eine Verzögerung mit ein".
Ja, vom Ansatz her gut, ABER....
Die PV liefert gerade genug, der Heizstab schaltet ein, die Verzögerung läuft. Jetzt kommt ne Wolke. PV liefert nicht mehr genug, aber der Heizstab läuft trotzdem weiter.

Ich persönlich halte solche Steuerungen für völlig falsch, da sie eben nie zum gewünschten Ergebnis führen.
Stell Dir eine Waschmaschine vor, die wir einschalten, wenn genug Sonne da ist.
Die können wir aber nun nicht einfach abschalten, nur weil gerade mal ne Wolke kommt. Die muß weiter laufen.
Dann hätte ich sie aber so oder so starten können und den Strom vom Versorger beziehen. Hier würde das schalten bei einem dynamischen Stromtarif wesentlich mehr Sinn ergeben.
Wenn Strombreis kleiner 25 Cent je kWh, dann schalte Waschmaschine ein.
Dieser Strompreis bleibt auch eine Stunde so. Hier macht es Sinn.
 
Danke @RudiP ,
diese Befürchtung hatte ich auch. Bis letztes Jahr hatte ich diese automation in eine Fibaro HC3 (Zwave) und einem LUA Script benutzt. Da habe ich auch die Differenz benutzt um Ein und Auszuschalten mit einem gehörigen Puffer. Die Daten wurden nach jeweil 3 Minuten aktualisiert. Außerdem hatte das E-Auto eine höhere Priorität. Klar das an Tagen mit vielen Wolken der Heizstab öfters Aus- und Angeschaltet wurde, aber es hielt sich in grenzen. Der Heistab lief bis das eingebaute Thermostat abschaltete.

Da ich meine Heizung nicht in Fibaro einbinden konnte, fehlte mir die Wassertemperatur und die hätte ich jetzt in HA. Darum wolltw ich wechseln da ich mit der zusätzlichen Wassertemperatur die Steuerung filigraner machen wollte. Z.B. Ein bei 35° und Aus bei 60°.
Aber das ist wie es ausssieht mit HA nicht so einfach, zumindest nicht für mich als Neuling. Fibaro nutze ich jetzt schon seit über 10 Jahren, da kenn ich mich aus.

Bis der Sommer so richtig Fahrt aufnimmt habe ich ja noch Zeit zum basteln und wenn nicht migriere ich wieder zurück.
Die Anfangsschwierigkeit für mich ist schon mal wie man in HA eine Differnz in einer Variable speichern kann. Ich stelle mir eine zweite Automation mit einer globalen Variable vor, die ich dann in anderen Automationen benutzen kann?

Auf jeden Fall Danke an allen die versuchen mir zu helfen(y)


Gruß jwiha
 
Zuletzt bearbeitet:
globale Variable = Helfer (Template-, Kombinations-, Gruppenhelfer?)
Wenn du ne funkdionierenda Logik hast, sollte die doch umzusetzen sein.
 
Da ich meine Heizung nicht in Fibaro einbinden konnte, fehlte mir die Wassertemperatur und die hätte ich jetzt in HA. Darum wolltw ich wechseln da ich mit der zusätzlichen Wassertemperatur die Steuerung filigraner machen wollte. Z.B. Ein bei 35° und Aus bei 60°.
Aber das ist wie es ausssieht mit HA nicht so einfach, zumindest nicht für mich als Neuling. Fibaro nutze ich jetzt schon seit über 10 Jahren, da kenn ich mich aus.
Also mal ganz grob. Gehen tut das sicher Problemlos.
Bei einer Automatisierung muß man einfach nur alles als Trigger (Auslöser) setzen, was irgendwas mit deiner Schaltung bewirken soll.
Also z.B.
1. Trigger PV Output - Hausverbrauch < 3000
2. Trigger PV Output - Hausverbrauch > 0
3. Trigger Wassertemperatur < 35 Grad
4. Trigger Wassertemperatur > 60 Grad.
Man kann das noch vereinfachen, in dem man sagt "Triggere immer, wenn sich PV Output ändert oder wenn sich Wassertemperatur ändert.
Im DANN Zweig kann man dann jede Menge WENN DANN Abfragen machen und auch verschachteln.
Damit lege ich dann genau fest, wann was passieren soll.
Also als Beispiel:
WENN PV Output - Hausverbrauch < 3000 UND Wassertemperatur < 35 Grad, DANN Heizstab einschalten.
Der Vorteil ist, ich kann die aktuellen IST Werte abfragen und nicht wie beim Trigger nur, wenn einer der Werte unterschritten oder überschritten wird.
 
@RudiP,
ich hab nicht locker gelassen und weiß jetzt 200% mehr als gestern. Dank Euch und ChatGPT ;)
Schade dass die nächsten Tage hier keine Sonne ist, so das ich es nicht testen kann.
Habe jetzt 2 Automationen gebastelt eine zum Einschalten und eine zum Ausschalten.
Sobald die Sonne wieder scheint werde ich das mal testen und hier Bescheid. gaben.

YAML:
alias: Heizstab bei PV-Überschuss einschalten
description: >-
  Schaltet den Heizstab ein, wenn die PV-Erzeugung minus Hausverbrauch größer
  als 2500 W ist.
triggers:
  - value_template:
      "{{ (states('sensor.senec_webapi_powergenerated_now') | float -
      states('sensor.senec_webapi_consumption_now') | float) > 2500 }}"
    trigger: template
conditions:
  - condition: numeric_state
    entity_id: sensor.wolf_cgb2_0x3_180006_warmwassertemperatur
    below: 35
actions:
  - target:
      entity_id: switch.heizpatrone_switch
    action: switch.turn_on
    data: {}
mode: single

YAML:
alias: Heizstab ohne PV-Überschuss ausschalten
description: Schaltet den Heizstab aus, wenn die Differenz unter 2500 W fällt.
triggers:
  - value_template:
      "{{ (states('sensor.senec_webapi_powergenerated_now') | float -
      states('sensor.senec_webapi_consumption_now') | float) < 2500 }}"
    for: "00:05:00"
    trigger: template
conditions:
  - condition: numeric_state
    entity_id: sensor.wolf_cgb2_0x3_180006_warmwassertemperatur
    above: 55
actions:
  - target:
      entity_id: switch.heizpatrone_switch
    action: switch.turn_off
    data: {}
mode: single

Vorschläge sind weiterhin herzlich willkommen.

Gruß jwiha
 

Letzte Anleitungen

Statistik des Forums

Themen
6.387
Beiträge
61.558
Mitglieder
6.560
Neuestes Mitglied
Dave94
Zurück
Oben