Automatisation Steckdose über Shelly Plus 1PM - Überschuss Laden

Hallo,

ich habe den HA installiert um einige Geräte in unserem Haushalt besser automatisieren zu können wie z.B. die Ladesteckdose des e-Autos meiner Frau. Vorher hatte ich die Aktivierung/Deaktivierung direkt über die Shelly App gemacht. Dies hatte einigermaßen funktioniert. Verwendet wurden dazu der Shelly Pus 1PM in Verbindung mit einem Shelly 3EM Pro.

Mit HA habe ich zusätzlich Zugriff auf die Live Daten meiner Solaranlage, dem aktuellen Hausverbrauch und dem Batterieladestand. Mit dieser Kombination habe ich eine Automatisation erstellt um tagsüber die Ladesteckdose zu aktivieren und bei zu wenig Solarstrom wieder zu deaktivieren.

Der Start der Steckdose funktioniert meistens, auch das Deaktivieren bei Unterschreitung von 90% Ladestand der Batterie klappt immer.

Aber, komischerweise wird die Steckdose machmal auch bei zu wenig Leistung aktiviert. Letztes mal z.B. heute um 09:23 Uhr wurde die Steckdose aktiviert.

Der entsprechende Leistungssensor hat zu dem Zeitpunkt nicht über einen Zeitraum von 25 Minuten mehr als 1.200 Watt ins Netz eingespeist.

Aber er hatte ca. 25 Minunten vorher einen einmaligen kurzen Ausschlag. Auch wenn ich nicht nachvollziehen kann, woher dieser Ausschlag kommt, da es grade regnet und nur ca. 300 Watt vom Dach kommen und direkt verbraucht werden.

Habt ihr eine Idee, was an meiner Automatisation falsch ist bzw. angepasst werden sollte, damit die Steckdose erst nach 25 Minuten dauerhafter Einspeisung eingeschaltet wird?

Vielen Dank und viele Grüße

Florian

Hast Du Dir mal EVCC angeschaut? Damit steure ich den an einem Shelly Plug hängenden Ladeziegel für unser E-Auto. Läuft als add on in HA und funktioniert super!

Kannst du deinen Ladeziegel über EVCC auch variabel ansteuern?

Aktuell habe ich für den Shelly ja nur eine “an/aus” Steuerung, bei welcher immer mit 2,4kW geladen wird. Ich habe keine Ahnung ob mein Shelly 1PM, mein BMW Ladeziegel und der I3s eine variable Ladeleistung von 1,4kW bis 3,7kW abkönnen.

Die Steckdose ist zumindest von einer 16A Starkstromsteckdose abgegriffen und entsprechend abgesichert.

EVCC klingt nach einer sehr coolen Lösung für die Überschussladung.

Bei mir geht das mit der variablen Steuerung nicht, da meine Ladeziegel das nicht kann; der kann nur an / aus. EVCC kann das aber bei entsprechender Hardware sehr gut. Habe noch eine openWB Pro und da läuft das perfekt.

ok, danke für den Hinweis. Das alte BMW Ladegerät ist tatsächlich auch auf 10A begrenzt und kann nicht variable laden.

Sehr schade ;-(

Dann bleibt noch die Hoffnung, dass mir jemand mit meiner Automation helfen kann.

Dafür müsstest du deine Automation aber überhaupt erstmal zeigen. Das gepostete Bild von dir zeigt nichtmal die ganze Automation, oder deine Beschreibung passt nicht zum Bild… Zumindest kommt da mMn kein Ausschalten bei 90% in deinem Bild vor…

Kopier den YAML Code mal in Code tags hier rein.

Warum genau die Automation ausgelöst wurde kannst du im Trace nachsehen.

Warum kannst du da keine Wallbox drann hängen?

Diese:

kann mit EVCC und kann auch automatisch 1 Phasig und 3 Phasig umschalten. Es gibt auch einen Adapter für deine CEE Dose.

Preislich finde ich die auch okay… Ich habe 3 Jahre lang einen Corsa mit 2,4KW geladen. geht auch, macht aber keinen Spass.

In Home Assistant brauche ich die dank EVCC nicht. Einbindung in EVCC war kinderleicht.

Die Automation des Ausschaltens, sobald der Speicher weniger als 90% Ladezustand hat, ist aktuell noch separat. Ich taste mich gerade erst an HA ran, weshalb ich mich zuerst dem Thema “Wallbox aktivieren” einzeln annehmen wollte.

Hier mal meine aktuelle Konfiguration zum starten der Wallbox:

id: ‘1777578460765’
alias: Wallbox an - Überschuss
description: ‘’
triggers:

* trigger: numeric_state
  entity_id:
  * sensor.lg_ess_de1807bkrd027037_netz_aktive_leistung
    for:
    hours: 0
    minutes: 25
    seconds: 0
    above: -1200
    conditions:
* condition: device
  type: is_off
  device_id: 5947e7bb220607a5b6c64afc12b772c5
  entity_id: e17bc9a47408b53ffbe71843b62377fe
  domain: switch
* condition: time
  before: ‘18:00:00’
  weekday:
  * mon
  * tue
  * wed
  * thu
  * fri
  * sat
  * sun
    actions:
* type: turn_on
  device_id: 5947e7bb220607a5b6c64afc12b772c5
  entity_id: e17bc9a47408b53ffbe71843b62377fe
  domain: switch
* action: notify.mobile_app_iphone_von_florian
  metadata: {}
  data:
  message: Wallbox an
  continue_on_error: true
  mode: single

Die Wallbox wurde am gleichen Tag nochmal ausgelöst. Auch hier war die Bedingung nur kurz erreicht und nicht durchgehend für die von mir angegebenen 25 Minuten.

Auch hier war der definierte Wert von 1.200 Watt Einspeisung nur kurz erreicht. Die Aktivierung war allerdings genau 25 Minuten später. Heißt das, dass es sich hierbei nur um eine Zeitverzögerung handelt, und nicht um einen definierten Zeitraum in welchem der Wert erreicht sein muss?

* for:
  hours: 0
  minutes: 25
  seconds: 0
  above: -1200

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: ( Neues Update & Features - Hier in der Community 🫶 )

Mir fällt grade noch auf, meine Einspeisung wird vom Sensor ja negativ dargestellt. Dann müsste doch “below” -1200 passen, oder?

Wallbox macht aus meiner Sicht keinen Sinn. Meine Frau fährt ca. 5.000km im Jahr, da reicht die Ladung alle paar Tage über eine abgesicherte Steckdose vollkommen aus.

Zudem meine Solaranlage nur 6kWp hat. Mit Hausverbrauch, Wärmepumpe, … würde eine maximale Ladeleistung von 4-5 kwh reichen. Also eher passend für einen Ladeziegel mit variabler Leistung, welcher preislich auch günstiger ist.

von wo hast du denn den Code kopiert? Das siehtr entweder nach automations.yaml aus, oder nach dem Code aus dem Trace Menü.

Beides ist ein schlechter Weg, da für yaml wichtige Einrückungen nicht mitkopiert werden. Die ID oben weißt auf die automations.yaml hin, wo ich nicht empfehlen würde dort direkt zu schreiben. Die ID ist sonst im yaml Bereich gar nicht vorhanden.

Du kannst einfach in der geöffneten Automation auf die drei Punkte oben rechts klicken und dann “In YAML bearbeiten” wählen. Dabei bleiben normalerweise dann beim Kopieren auch die Einrückungen erhalten.

Ich denke mal so soll eigentlich aussehen:

alias: Wallbox an - Überschuss
description: ""
triggers:
  - trigger: numeric_state
    entity_id: sensor.lg_ess_de1807bkrd027037_netz_aktive_leistung
    for:
      hours: 0
      minutes: 25
      seconds: 0
    above: -1200
conditions:
  - condition: device
    type: is_off
    device_id: 5947e7bb220607a5b6c64afc12b772c5
    entity_id: e17bc9a47408b53ffbe71843b62377fe
    domain: switch
  - condition: time
    before: "18:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
actions:
  - type: turn_on
    device_id: 5947e7bb220607a5b6c64afc12b772c5
    entity_id: e17bc9a47408b53ffbe71843b62377fe
    domain: switch
  - action: notify.mobile_app_iphone_von_florian
    metadata: {}
    data:
      message: Wallbox an
    continue_on_error: true
mode: single

Also ich würde sagen hier ist ein Logikfehler enthalten. Du verwendest ja numeric_state. Das bedeutet aber nicht das der Status über einen gewissen Bereich so sein soll wie eingestellt. Das bedeutet, dass ausgelöst wird, wenn der Wert den eingestellt Wert unterschreitet oder überschreitet. Wird der Wert von -1200 also (hier:)überschritten above -1200 → (Richtugn 0 ist überschreiten), dann beginnt der Timer an zu laufen… im Prinzip für nichts. Du willst doch (so hab ich es verstanden) das der Wert für 25 Minuten bei weniger als dem eingestellten Wert sein muss um getriggert zu werden…

Dann der Einbruch auf -300 (es regnet), aber -300 ist immernoch größer (above) als -1200 also bleibt es dabei… → Bedingung nicht erfüllt… Es wird nicht abgebrochen.

Bei Einspeisung (Netz-Bezug ist positiv, Einspeisung ist negativ) ist -300 W (wenig Einspeisung) mathematisch größer als -1200W (viel Einspeisung). Der Trigger löst also aus, wenn weniger eingespeist wird oder sogar Strom bezogen wird! Wenn er einschalten soll, wenn mehr als 1200W eingespeist werden, müsste der Trigger below: -1200 lauten.

Vorschlag:

Erstell dir einen Helfer, der dir über 25 Minuten einen Mittelwert aus der Einspeisung bildet:
Einstellungen / Geräte und Dienste / Helfer. Dort wählst du Filter… bei Filter nimmst du dann den gleitenden Durschnitt. Bei Fenstergröße wählst du dann deine 25 Minuten aus.

Was soll der Bereich Weekday bewirken? Da steht ohnhin jeder Tag. Dann kann der auch weg…

Die 18 Uhr kannst du natürlich so lassen… 18 Uhr ist aber gerade für solche Automationen extrem hart statisch… Die Sonnenscheindauer verschiebt sich doch stark im Sommer und Winterwechsel… Da würde ich eher sunset setzen… und bspw da nen offset von 2 Stunden oder so rein nehmen… also immer 2 Stunden vor Sonnenuntergang

So könnte die Automation dann aussehen:

alias:  Wallbox an - Überschuss
description: ""
triggers:
  - trigger: numeric_state
    entity_id: sensor.durchschnitt
    below: -1200
conditions:
  - condition: device
    type: is_off
    device_id: 5947e7bb220607a5b6c64afc12b772c5
    entity_id: e17bc9a47408b53ffbe71843b62377fe
    domain: switch
  - condition: sun
    before: sunset
    before_offset:
      hours: -1
      minutes: 0
      seconds: 0
actions:
  - type: turn_on
    device_id: 5947e7bb220607a5b6c64afc12b772c5
    entity_id: e17bc9a47408b53ffbe71843b62377fe
    domain: switch
  - action: notify.mobile_app_iphone_von_florian
    metadata: {}
    data:
      message: "Wallbox an"
    continue_on_error: true
mode: single

Als Tipp:

Ich würde keine Geräte verwenden, sondern immer Entiäten. Die sind wesentlich wartungsfreundlicher. Lesbare Namen. Geht ein Gerät kaputt kannst du dem neuen Gerät dieselbe ID geben und es läuft wieder, inkl Statistikwerte. Geräte IDs sind kryptisch.