Shelly 3EM in Home Assistant einbinden und dabei diverse Fehlerquellen entdecken und vermeiden

Ich habe seit einiger Zeit mit einem meiner 3EM ein ganz anders Problem:
Ich nutze das Relais zu Umschalten meiner Wallbox zwischen 1- und 3-phasigem Betrieb ( nur lastfreie Umschaltung). Um den Vollbetrieb auch ohne HA sicherzustellen, habe ich den SHelly so eingestellt, dass das Relais nach Stromausfall auf “ON” geht (=3-phasig).
Seit einiger Zeit habe ich allerdings den EIndruck, dass auch der Verbindungsverlust zum SHelly das Relais auf “ON” schaltet, was eigentlch früher nicht so war…

PS: Hat sich nach einem Firmware-Update gelöst

Ich würde Dir da empfehlen einen eigenen neuen Thread auf zu machen.

1 „Gefällt mir“

Danke - wahrscheinlich eher im Shelly Forum, da anscheinend kein HA Thema

1 „Gefällt mir“

Wenn Du das alles über Automationen in HA steuern willst, ist es hier sicher auch nicht falsch, aber als komplett eigenes Thema, dann hast Du größere Chancen, dass es mehr lesen als nur hier.
Viel Erfolg
Claudius

Hallo zusammen,

wir haben bei uns einen größeren Elektroumbau hinter uns (Zählerschränke raus aus dem Treppenhaus und Umbau in den Heizraum).
Hierbei habe ich mir einen Shelly 3EM in Zählerschrank einbauen lassen.
Theoretisch hätten es 2 werden sollen, da ich vor hatte den zweiten an die PV Leitungen anzuklemmen - leider war im Schaltschrank hierzu kein Platz mehr.
Generell ist es so, dass wir insgesamt 3 PV Anlagen auf dem Dach haben.
PV Süd: Eigenverbrauch und Überschusseinspeisung
PV Nord1: Eigenverbrauch, Batteriespeicher und Überschusseinspeisung
PV Nord2: Eigenverbrauch und Überschusseinspeisung

Der Shelly 3EM sitzt nun im Zählerschrank direkt nach meinem Zähler auf allen 3 Phasen.
Direkt angeschlossen an meinen Schaltkreis sind die 3 PV Anlagen.
Sprich der Shelly sollte sehen ob und wieviel aktuell verbraucht wird, bzw. was ins Netz eingespeist wird.

Nun habe ich vom “Bug” vom 3EM hier gelesen und dies erklärt auch die Ungereimtheiten meiner Konfig.

Wie im Eingangspost beschrieben saldiert der 3EM ja nicht korrekt.

Ist es möglich, dass ich mir trotzdem die richtigen Werte (saldiert) in HA anzeigen lassen kann, obwohl ich keine direkte Auslesemöglichkeit der PV Anlage habe?
Sprich einfaches Beispiel:
Phase A zeigt einen Überschuss von 1000 W an; wobei ich ja nicht weiß wieviel W aktuell verbraucht werden.
Könnte ja sein die PV produziert insgesamt 1500 W, wobei 500 W verbraucht und die überschüssigen 1000 W ins Netz gehen…

Du musst mit irgendwas den Gesamtverbrauch/-einspeisung messen. Dann macht das HA automatisch, sobald du diese Messwerte ins Energie-Dashbord integrierst. Kannst du einen Hauptzähler auslesen?

Nur mit den Werten deiner PV Anlage alleine ist das nicht möglich.

1 „Gefällt mir“

Wenn Du den Urpost von mir liest, dann solltest du eine Lösung auch für Dein „Problem“ finden. Der Code sollte mit kleinen Anpassungen von jedem verwendet werden können.
Deine PV-Anlage kann Dir nur sagen wie groß Deine Erzeugung ist, der Shelly kann dir dann sagen wieviel du verbraucht, bezogen und eingespeist hast.

1 „Gefällt mir“

Wenn ich meinen Elektriker richtig verstanden habe, sollte die Verkabelung ungefähr so aussehen:

Somit zeigt der Shelly den Gesamtverbrauch sowie die Rückeinspeisung ins Netz an.
Kann ich dann trotzdem mit der Integration - Riemann Summenintegralsensor arbeiten?

Ja klar…
wieso nicht?
ich habe zwar nur ein BKW, das an einer Phase hängt, aber die Auswertungen sind davon vollkommen unbedeutend.
Du kannst halt mit dem Shelly nur nicht messen wie hoch die PV-Produktion ist. Das muss so anders her kommen.

okay, dann habe ich da wohl was missverstanden.
Könntest du mal die Konfig der beiden Helfer hier posten?

Welche Helfer meinst du?

diese beiden meinte ich eigentlich
ich setz mich heut Abend mal ran und schau ob ichs hinbekomme

Da kann ich Dir leider keinen „Code“ liefern, da HA bei diesen Helfern nach der Anlage nicht mehr alles anzeigt. Ich habe das ganz streng nach der Vorgaben von Simon42 aus einem seiner YouTube Filme gemacht.
Viel Erfolg heute Abend
Claudius

1 „Gefällt mir“

@Timsche22 Wenn du keine Möglichkeit hast den aktuellen Verbrauch der PV Anlagen in W oder kwh zu messen, kannst du keine korrekten Werte für den Verbrauch erhalten.
Du brauchst die Werte einfach dazu.

1 „Gefällt mir“

Dafür war ja der zweite Shelly vorgesehen.

Dieser hätte noch an die (in orange dargestellt) Phasen der Photovoltaik kommen sollen.

Aber am Ende vom Tag interessiert mich erst mal vorrangig zu welchen Stunden wir vom Netz Strom bezogen oder eingespeist haben.

Sprich ich möchte wissen, ob ich zum Zeitpunkt X vom Netz Y kWh bezogen oder eingespeist habe.

Das müsste ja trotzdem möglich sein, so wie bei mir die Verdrahtung ist.

Wenn ich es richtig verstanden habe, macht ja Shelly nur die Aufsummierung der Werte falsch.

Zwischen Solarmodulen und Stromphasen muss es doch Wechselrichter geben. Diese sollten auslesbar sein.

Würde mich wundern, wenn die kein WebPortal etc. haben und dann kommt man auch immer irgendwie per MQTT oder vergleichbarem an die Werte. Les mal in der Doku der Wechselrichter nach.

2 „Gefällt mir“

Schön wärs…
Die Südseite hat mit 30 Modulen satte 5 kWp und ist 22 Jahre alt - wir hatten damals im Landkreis die größte bzw. stärkste.
Verbaut ist hier ein Ur-Kaco Wechselrichter.

Die PV-Nord1 (mit Batteriespeicher) hat einen nedap WR den man umbauen könnte um die Daten auszulesen.

Die PV-Nord2 hat einen Fronius WR, da müsste ich mal nachschauen, dieser hat aber soweit ich weiß auch keinen Zugang.

Die beiden Nordanlagen sind mittlerweile auch schon deutlich über 10 Jahre alt - deren Peak liegt bei je ca. 5 kWh.

Aber um zum Ursprung zurück zu kommen.
Ich müsste doch trotzdem sehen können was ich vom Netz beziehe bzw. was ich dem Netz zuführe?
Ich stehe gerade nur etwas auf Kriegsfuß, wie ich das sinnhaft dargestellt bekomme.

Eigentlich sieht das ja in meinem Screenshot ja nicht mal so schlecht aus, nur das Einspeisung und Verbrauch irgendwie vertauscht sind?
Und der Gesamtbetrag aufgrund Falschrechnung vom Shelly ja wohl dann nicht stimmt?

Oha…
das sind natürlich Voraussetzungen die nun alles ganz anders darstellen.
Dann kommst du wohl eher nicht an die tatsächliche Produktion ran.

Wobei du natürlich Bezug und Einspeisung aus dem Shelly 3EM bekommst. Solltest Du jedoch nachts negative Werte, also Einspeisung, haben und tagsüber Bezug, also positive Werte, dann sind wohl die Shelly-Klemmen in der falschen Richtung eingebaut worden.
Und wie bereits gesagt, du musst die Enzelwerte der Phasen in HA zu einem Wert zusammen rechnen und dann wird Bezug und Einspeisung richtig angegeben. In HA muss aber auch die Einspeisung als positiver Wert angegeben werden. Somit musst du die Einspeisung und den Netzbezug berechnen und dann die neuen Helfer im Energiedashboard hinterlegen.

ACHTUNG: mein Code muss angepasst werden. Bitte die Kommentarzeilen lesen

Bei mir steht der Code in

#folgender Code steht in configuration.yaml
template:
  sensor: !include_dir_merge_list template/sensor/

Zuerst alle Phasenwerte zu einem zusammenfasse:

#folgender Code steht in template/sensor/shelly.yaml

#Shelly EM3 Power fuer alle 3 Phasen addiert
- name: "Total Power"
  unique_id: "total_power"
  device_class: power
  state_class: measurement
  unit_of_measurement: "W"
  state: >
    {{
    states('sensor.shellyem3_XXXX_channel_a_power')| float(0) +
    states('sensor.shellyem3_XXXX_channel_b_power')| float(0) +
    states('sensor.shellyem3_XXXX_channel_c_power')| float(0)
    }}

Dann diesen Sensor normieren und aufteilen.

- name: "Total Power Nur Verbrauch" #Das ist der reine Verbrauch ohne Einspeisungen ins Netz
  unique_id: "total_power_nur_verbrauch"
  device_class: power
  unit_of_measurement: "W"
  state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int > 0 else 0 }}"

- name: "PV Einspeisung Ausgelesen" #Das sind die reinen Einspeisungen ins Netz
  unique_id: "pv_einspeisung_ausgelesen"
  device_class: power
  unit_of_measurement: "W"
  state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int < 1 else 0 }}"

- name: "PV Einspeisung Normiert" #Das sind die reinen Einspeisungen ins Netz in einen positiven Wert verwandelt
  unique_id: "pv_einspeisung_normiert"
  device_class: power
  unit_of_measurement: "W"
  state: >
    {% if states('sensor.pv_einspeisung_ausgelesen')| int == 0 %}
      0
    {% else %}
      {{ states('sensor.pv_einspeisung_ausgelesen')|float(0) * -1 | round(3) }}
    {% endif %}

Aus den nun neuen Sensoren total_power_nur_verbrauch und pv_einspeisung_normiert habe ich dann 2 Riemann-Summenintegralsensoren gebaut und diese in EnergieDashboard eingebunden.

Wenn Du meinen Code verwenden möchtest aber z.B. in der configuration.yaml nur einen Verweis

template: !include template.yaml

haben möchtest, dann musst du

-sensor:
  - name: "Total Power Nur Verbrauch" #Das ist der reine Verbrauch ohne Einspeisungen ins Netz
    unique_id: "total_power_nur_verbrauch"
    device_class: power
    unit_of_measurement: "W"
    state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int > 0 else 0 }}"

  - name: "PV Einspeisung Ausgelesen" #Das sind die reinen Einspeisungen ins Netz
    unique_id: "pv_einspeisung_ausgelesen"
    device_class: power
    unit_of_measurement: "W"
    state: "{{ states('sensor.total_power')|float(0) if states('sensor.total_power')| int < 1 else 0 }}"

  - name: "PV Einspeisung Normiert" #Das sind die reinen Einspeisungen ins Netz in einen positiven Wert verwandelt
    unique_id: "pv_einspeisung_normiert"
    device_class: power
    unit_of_measurement: "W"
    state: >
      {% if states('sensor.pv_einspeisung_ausgelesen')| int == 0 %}
        0
      {% else %}
        {{ states('sensor.pv_einspeisung_ausgelesen')|float(0) * -1 | round(3) }}
      {% endif %}

machen, oder so ähnlich. Sorry ich kann den Code bei mir nicht prüfen, da ich eben diese Aufgliederung bei mir umgesetzt habe um meine Config langfristig übersichtlicher und wertbarer zu haben.
Eventuell muss vor jedes - name: noch ein - sensor: auf höherer Ebene davor.

Viel Erfolg

Claudius

P.S. es gibt sicherlich auch andere Wege zum Ziel, aber das ist meiner, den ich Dir nur so beschreiben kann.

1 „Gefällt mir“

Danke schonmal vorab, dass du dir die Mühe machst mir das so verständlich zu erklären :smiley:
Ich bin nicht wirklich affin mit der Thematik, daher bitte um Nachsicht der trivialen Fragen.

Dein Aufbau mit Unterordner Template/Sensor und darin die Shelly.yaml finde ich super, das hilft mir schonmal.

Jetzt bin ich nur überfragt, wo die Codezeilen

hinkommen sollen…
Ebenfalls in die Shelly.yaml?

Die Riemann-Summenintegralsensoren Thematik schaue ich mir jetzt mal auf YT an, das sagt mir aktuell noch gar nichts :sweat_smile:

Entschuldige…. mein Fehler.

Es gehört alles in eine Datei.

Nach dem Verweis in der configuration.yaml kommt alles in die benannte shelly.yaml Datei.

Viel Erfolg.

Wenn Du Fragen hast, dann einfach stellen. Mit Code kann ich leider nur abends helfen, denn nur dort habe ich Zugriff auf meinen Computer und da ist es einfach als am Pad.

Claudius

1 „Gefällt mir“