Solarkarftwerk im Smarthome Einbinden

Je Smarter das Zuhause wird desto höher wird die Stromrechnung. Warum dem ganzen also nicht gegensteuern und die Rechnung mit einem Solarmodul und einem Plug-In Wechselrichter wieder etwas drücken.

Material:

Solarmodul 120€
Modulwechselrichter 140€
wmBus Stick 43€
Gestell aus Schrott der da war 0 €

Die Entscheidung viel auf ein Trina Solar SplitMax Panel mit 270 Watt das ich günstig auf Ebay Kleinanzeigen erstanden habe.  Dazu den Mahle / Letrika SMI260 Modulwechselrichter als B-Ware aus dem Internet.

Erste Enttäuschung der Wechselrichter arbeitet erst nach dem er über ein wmBus Gateway (nur  349,00€ ) verbunden und konfiguriert wurde. Nettes Feature:  Laut Datenblatt kann eigene Software auf dem Gateway betrieben werden. Das Funkprotokoll zum Wechselrichter ist aber laut Datenblatt nicht offen. Kurz überschlagen 349€ / 0.28€ pro kWh = 1246 kWh die das Panel dafür erzeugen muss. Bei ca 1 kW pro Tag(über das Jahr gemittelt) wäre das eine Laufzeit von 3,4 Jahren extra. Eine praktischen Online Rechner findet sich hier.

Es gibt die Firma CarpeDiem die einen USB-Stick und Software zum konfigurieren unter verschiedenen Namen für rund 80€ vertreibt. Leider ist die Software nur für Windows und bietet keine Schnittstellen nach außen. Ein Windows-Rechner fürs Logging laufen zu lassen? Da muss nicht gerechnet werden sowas macht man aus Prinzip nicht!

Der Stick den man dort bekommt ist ein gebrandeter iM871A-USB von IMST. Den habe ich bei Tekmodul für 43€ bekommen. Ein Datenblatt zu dem Stick gibt es beim Hersteller hier.

In diversen Hausautomatisierungsforen habe ich Themen zum SMI260 gefunden. Hier gab es verschiedenste Aussagen zum Funkprotokoll, etwaige AES Schlüssel die dafür benötigt werden und auch Dumps der Kommunikation. Mit den Dumps und dem Datenblatt des wmBus Sticks habe ich die Nachrichten soweit zerlegt, dass ich zwischen Kommunikation mit dem Stick und Kommunikation mit dem wmBus Teilnehmern unterscheiden und diese Nachrichten auch versenden und empfangen konnte. 

Mithilfe des sehr praktischen Werkzeugs SCAMBUS habe ich mir dann die wmBus Nachrichten zerlegt und direkt die Zahlen für aktuelle Erzeugung und die Energiemenge die gesamt erzeugt wurde gefunden. Soviel zum Thema AES-Schlüssel wirklich sehr sicher… Die anderen Nachrichten waren laut SCAMBUS aber keine Standardnachrichten, da ich hier nur Hex Blobs als Ausgabe bekommen habe.

Die Nachrichten haben ich dann in meinen bevorzugten Hex-Editor (Bless) geladen und mit der Endianess gespielt. 

Und hier wurden gleich ein paar Dinge in Text sichtbar: cos_phi, dcdc _temp,… das war vielversprechend und schnell waren die sinnvollen Werte gefunden. 

Nachdem die Kommunikation mit dem Wechselrichter stand sollte dieser ja noch sinnvoll ins SmartHome eingebunden werden. Dafür habe ich MQTT gewählt und ein SMI260 zu MQTT Gateway in Python implementiert.  Bitte verzeiht den gruseligen Code, es war mein erstes Python3 Projekt mit AsyncIO. Für Verbesserungsvorschläge bin ich da offen.  Um es Portabel auf NAS, Raspberry Pi, etc. nutzen zu können gibt es auch einen Docker Container in dem das ganze läuft. Hier können die Einstellungen per Umgebungsvariablen vorgenommen werden. 

Das ganze lässt sich dann mittels Grafana schön visualisieren:

 

2 Gedanken zu „Solarkarftwerk im Smarthome Einbinden“

  1. Hi Steve,
    schöne Projekte!
    Ich habe dein Programm versucht zu starten und bleibe momentan etwas hängen.
    Mein Ziel ist es später, das ganze in meiner Nextcloudinstanz einzubinden und steuern zu können.

    Was mir momentan im Terminal angezeigt wird ist:

    ——————————————–
    data received b’\xa5\x82\x02\x01\x01/U‘
    Control fields: ControlFieldFlags.CRC16Field
    Endpoint id: EndpointID.RADIOLINK_ID
    Message id: RadioLinkMessageIdentifier.RADIOLINK_MSG_WMBUSMSG_RSP
    Payload length: 1
    Payload: tohex(): unsupported type
    ——————————————–

    Das könnte aber auch daran liegen, das die SMIs zu weit weg sind…
    Oder weißt du spontan woran es liegt?

    Viele Grüße

    Arne

    1. Hallo Arne,

      das ist die ausgehende Nachricht die „Empfangen“ wird. Wenn nichts weiteres kommt gibt es mehrere Möglichkeiten:
      – die Distanz zu groß
      – die ID der Geräte stimmt nicht überein
      – der SMI bekommt kein Strom vom Panel (Kommunikation geht nur wenn auch die Sonne scheint)

      Viele Grüße

Schreibe einen Kommentar zu Steve Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.