Mein Balkonkraftwerk

BKW

Wir verbrauchen schon wirklich wenig Strom, der Jahresbedarf liegt bei 1500 kWh, aber ich wollte zum einen mit Photovoltaik herumspielen und auch meinen eigenen Strom erzeugen.
Da wir unsere alte Gasheizung gegen eine Wärmepumpe austauschen wollen, wird demnächst dann auch eine große PV-Anlage auf unser Dach kommen.

die Hardware

Da es eher ein Test war, habe ich mich für ein ganz einfaches und kostengünstiges Gesamtset entschieden. Dafür war es echt günstig, ich habe nur 379,-€ für das Set bezahlt. Noch steht es provisorisch auf der Terrasse, es wird aber auf das Dach vom Gartenhaus kommen, wenn wir das Dach repariert haben. Das Set besteht aus:

  • 2 Module a 375 Wp
  • ein Deye SUN800-G3-EU Wechselrichter
  • ein einfache Befestigung für den Boden

Da mir der Datenlogger, der bei dem Wechselrichter dabei ist, zu selten Daten liefert, habe ich dann noch einen Shelly 3 Mini PM zur Messung der PV Leistung in die Zuleitung gebaut.

Aufbau des BKW

So ein Set aufzubauen ist recht einfach. Alle Einzelteile haben Stecker, die ein Verwechseln fast unmöglich machen und im Netz gibt es Unmengen Anleitungen mit Videos.
Schwieriger fand ich den Aufbau der Haltung. Da ich die Halterung nicht fest auf der Terrasse verschrauben wollte, mussten 120 Kg zum Beschweren her, damit das Modul bei Sturm nicht wegfliegen kann.
Kleiner Hinweis, fragt eure Privathaftpflichtversicherung, meine würde ggf. Schäden übernehmen, falls meine Module mal fliegen gehen. 🙂

Die Solarman Integration

Die Integration für Home Assistant ist über den HACS zu bekommen.

Mein Balkonkraftwerk

Bei der Einrichtung müsst ihr ein bisschen mit den Templates herumspielen. Bei mir wurde der Wechselrichter deye 800 mit 2 Modulen nur von der älteren Solarman Version 1.4.3 erkannt und auch nur, wenn ich das Template für einen Deye Wechselrichter mit 4 Modulen ausgewählt habe. 🙁
Im Netz sind aber viele Anleitungen zu dem Problem zu finden.


Ansonsten, IP-Adresse des DatenLoggers angeben, die Seriennummer und danach stehen die Werte in Home Assistant zur Verfügung.

Die Integration bietet sehr viele Werte an, mich haben jetzt “nur” die Werte zu der erzeugten PV-Leistung interessiert.

Im Endeffekt verwende ich nur noch den Status, die gesamt erzeugten kWh und über den Shelly die gerade erzeugte Leistung.

Einbindung in Energie Dashboard

Mein Balkonkraftwerk

Ich habe ja einen Shelly zur Messung der erzeugten PV-Leistung eingebaut, dieser liefert jetzt einen negativen Wert.

Daher habe ich mir einen Helper gebaut, der den Wert mit -1 multipliziert.

Den Helper nutze ich dann auch für mein eigenes Dashboard, den Shelly für das Energiedashboard von Home Assistant.

{{states.sensor.shellypmminig3_84fce636d384_power.state |float() * -1 }}

Mein eigenes Dashboard

Mein eigenes Dashboard hat eine Unterseite Energie, in der ich die Verbrauchswerte des Shelly 3EM anzeige und jetzt auch die Werte der PV-Anlage.

Mein Balkonkraftwerk

Folgende Werte habe ich im Dashboard:

  • gerade erzeugte Leistung der PV
  • tägliche Maximalleistung der PV
  • Maximale Leistung der PV
  • Gesamtproduktion
  • und natürlich die Werte des Shelly 3EM mit dem Verbrauch

Die beiden Werte zur maximalen Leistung sind über zwei Helper realisiert, die anderen Werte kommen direkt aus den Integrationen.

täglicher Maximalwert der PV

Den Wert ermittele ich mit einem getriggertem TemplateSensor, hier gibt es die HilfeSeite dazu. Dazu muss der Code in die configuration.yaml. Der Sensor gibt den höchsten ermittelten Wert des “sensor.bkwshelly” zurück und der Wert wird jede Nacht um 0:00 Uhr zurückgesetzt.

template:

  - trigger:
      - platform: time
        at: "00:00:00"
      - platform: state
        entity_id: sensor.bkwshelly
    sensor:
      - name: "todays max PV"
        unique_id: today_max_pv
        unit_of_measurement: "W"
        device_class: power
        availability: "{{ states('sensor.bkwshelly') | is_number}}"
        state: >
          {% set t_new = states('sensor.bkwshelly') | float(-99) %}
          {{ [t_new, this.state | float(-99)] | max if trigger.platform != 'time' else t_new }}
        attributes:
          power_updated: "{{ now() | as_local }}"

maximaler Wert der PV

Um den höchsten dagewesenen Wert eines Sensors zu ermitteln, gibt es den Statistik Sensor. Da ich meine Sensoren in eine eigene sensor.yaml ausgelagert habe, hier der Code dazu. Wenn ihr eure Sensoren noch in der configuration.yaml habt, muss der Code natürlich in den Abschnitt “sensor:”

- platform: statistics
  name: "PV power MAX"
  unique_id: pv_max
  entity_id: sensor.bkwshelly
  state_characteristic: value_max
  max_age:
    days: 1000

Schreibe einen Kommentar

Datenschutz
Ich, Guido Jeuken (Wohnort: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht mir aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl:
Ich, Guido Jeuken (Wohnort: Deutschland), würde gerne mit externen Diensten personenbezogene Daten verarbeiten. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht mir aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: