SMA-EM-Daemon funktioniert auch mit dem Sunny Home Manager 2.0

Ich habe neulich erfahren, dass mein SMA-EM-Daemon auch mit dem Sunny Home Manager 2.0 funktioniert.

Auf der SMA-Homepage findet man folgende Aussage:

Ab April 2017 vereint der neue Sunny Home Manager 2.0 
die Funktionen aus dem Sunny Home Manager Bluetooth und 
dem SMA Energy Meter in einem Gerät. Damit wird 
intelligentes Energiemanagement noch einfacher und 
kostengünstiger.

Somit ist es nur logisch, dass die Datenpakete auch von diesem Produkt gleich versendet werden.

Da ich selbst nur einen SMA-Energy Meter besitze, kann ich das nicht selbst überprüfen. Anwender melden aber, dass der SMA-EM-Daemon auch mit dem Sunny Home Manager 2.0 funktioniert.

SMA-EM – Daemon Update

Ich habe das Git Repository für den SMA-EM – Daemon aktualisiert.

Neues:

  • Modularer Aufbau:
    Die eigentliche Arbeit machen nun die Plugins/Features.
    Dadurch kann der Daemon leicht angepasst und erweitert werden. User, die einzelne Features nicht benötigen, können diese einfach abschalten

Die Software kann bei Github heruntergeladen werden.

SMA-Energy-Meter Linux Daemon Update

Ich habe das Git Repository für den SMA-EM – Daemon aktualisiert.

Neuerungen:

  • Der Daemon kann nun an ein Interface bzw. an eine IP-Adresse gebunden werden, auf welchem er dann auf die Messpakete wartet.
  • Die Socket-Verbindungen werden nun nicht mehr von smaem.py hergestellt, sondern entweder vom Daemon oder von sma-em-measurement.
  • Wenn die Socket-Verbindung nicht hergestellt werden konnte, wartet der Daemon einige Sekunden und versucht es dann erneut. Systemd startet eventuell den SMAEMD bevor das Netzwerk verfügbar ist. Durch diese Änderung soll es dabei keine Probleme mehr geben
  • Der Daemon kennt nun auch die run Option, damit kann man Fehler ggf. leichter erkennen.
  • Aktualisierung der Readme und Systemd-settings

Die Software kann bei Github heruntergeladen werden.

Infos zum SMA-EM könnt Ihr hier finden.

Electric Vehicle Charging Stations / Schnarchlader mit Handbremse

variable Elaktroauto – Ladung

Ich fahre seit ca. 3 Jahren elektrisch (E-Auto).
Ich möchte möglichst viel meiner erzeugten Energie (PV-Anlage) verbrauchen.
So war es nur eine Frage der Zeit, bis ich meine OpenEVSE irgendwie fern steuere.

Mein SMA – EM liefert mir jede Sekunde genaue Werte zu Verbrauch und Überschuss.
Was noch fehlte war eine Verbindung zur OpenEVSE. Klar kann man die OpenEVSE direkt mit einem FTDI Adapter an einen PC oder RaspberryPi anschließen und damit fern steuern.
Ich wollte aber keinen RaspberryPi im Carport platzieren, oder ein Serielles- oder USB-Kabel verlegen.

Das muss doch auch über WLAN möglich sein.
Ein ESP8266 schien mir dafür gut geeignet.

Ich habe mir dann eine kleine Platine zur Programmierung des ESP8266 gebaut.
Ein bisschen gegoogelt und recht schnell mit der Basis von (link nicht mehr verfügbar) einen Webserver am ESP8266 eingerichtet.

Nun kann ich OpenEVSE Fernzugriffskommandos in einer URL direkt an meine Ladestation senden.

JA-Quick und Diry, aber es geht.
Dafür, dass ich das erste mal einen solchen ESP-8266 verwende bin ich ganz zufrieden.

Da ich sicher öfter neue Versionen oder Features einbauen werde, musste das DING in der Ladestation einfach zu tauschen sein.

Nun kann ich mit einem kleinen Schlitzschraubendreher die Abdeckung entfernen, den ESP8266 – SOC entfernen, neu programmieren und wieder problemlos einsetzen.

Nächste Schritte: Meinem SMA-EM-Daemon eine Logik beibringen, die eine sinnvolle Autoladung ermöglicht.

Ach Ja. Sollte ich mal wollen, dass das Auto geladen wird, unabhängig davon ob ich ausreichend Energie produziere, so kann die Remote-Steuerung deaktiviert werden. Es werden danach keine Daten an OpenEVSE weitergegeben.

 

V2 braucht unbedingt zusätzliches – reconnect – feature

Leider legt sich mein Elektroauto „schlafen“, wenn ich die Ladung stoppe. (Ich habe auch schon davon gelesen, das andere Modelle das auch machen.)

Dauert ein Ladestopp länger als ca. 30 Sekunden, ignoriert das Auto spätere Informationen über Lademöglichkeiten.

V2 wird daher noch 2 Relais bekommen, welche kurz PP und Pilot unterbrechen kann. Dann glaubt das Auto, dass ich den Stecker gezogen habe und gleich wieder eingesteckt habe. Dann beginnt das Auto auch wieder zu laden…

Warum Schnarchlader mit Handbremse:
In der ELEKTRO-Auto-Szene wird eine Ladeleistung unter 11kW als Schnarchlader bezeichnet; weil es einfach lange dauert.

Wenn ich nun diese Ladeleistung noch weiter reduziere… 😉

 

Coding

SMA-Energy-Meter

Fork me on GitHubDa ich mit meinem Smart-Meter meines EVU nicht die gewünschten Daten erhalte, welche ich für eine ordentliche Eigenverbrauchsoptimierung benötige habe ich mir einen SMA-Smart-Meter zugelegt.

Datenübertragung

Der SMA-Energy-Meter gibt auf seiner Webseite keine Informationen über gemessene Größen aus.
In den Netzwerkeinstellungen gibt es einen Konfigurationspunkt, in welchem definiert werden kann, wohin die Energiedaten geschickt werden. Hier steht 239.12.255.254 in der Standardeinstellung.
Jeder der etwas mehr mit Netzwerktechnik zu tun hat, wird sofort erkennen, dass das eine Multicast – Adresse ist.
Tcpdump (oder Wireshark) verrät, dass ca. ein UDP Datenpakt (600 Byte Payload) pro Sekunde vom Energy-Meter an die Multicast-Adresse geschickt wird.
Im Internet habe ich eine sehr gute Aufbereitung der UDP-Datenpakete und deren Interpretation gefunden.
Danke Nico Treffkorn. Ohne diese Informationen hätte ich sicher sehr lange gebraucht, bis ich die Daten richtig interpretiert hätte.

Linux-Client der die Datenpakete vom SMA-Energy-Meter empfängt

Ich habe ein Python Programm erstellt, welches in einer Endlos-Schleife die empfangenen Daten vom SMA-Energy-Meter einfach ausgibt.

SMA-Energymeter - values
Python Script

Der Quellencode liegt bei GitHub

… und dann gibt’s es vielleicht auch mal Etwas das die Daten in fhem einbindet.
zu spät, da hat sich nun schon Volker darum gekümmert…

… und Rene hat teile davon in smarthomeNG integriert (zumindest im develop-branch)