Plugin-Daten
AutorDieter Schmidberger
Logo
StatusSTOPPED
Version0.1.3
Min. LB Version0.2.3
BeschreibungEs könen Eastron SDM ModBus-PowerMeter abgefragt werden. Die Werte werden per UDP an den MiniServer gesendet.
SprachenDE

ModBus PowerMeter (Eastron SDM)

Version History...


Hardware

Unterstützte PowerMeter
Eastron SDM120 / SDM220 / SDM530 / SDM630
SDM120 - Hier müssen die Parameter per ModBus-Befehle gesetzt werden Anleitung ganz unten.
SDM220/530/630 - Werte werden am Display eingestellt

RS485 Adapter
Ich habe sowohl USB (Link) als auch eine Erweiterungs-Platine getestet (Link).
Beide haben ohne Probleme funktioniert. Persönlich bevorzuge ich die Erweiterungs-Platine.

Erweiertungs-Platine
Raspi 2 - in /boot/cmdline.txt den Eintrag console=ttyAMA0,115200 löschen (/dev/ttyAMA0)
Raspi 3 - hier muss folgendes geändert werden (Link)

Download

Das Plugin ist im Pluginarchiv erhältlich: Download

Wie bei anderen Loxberry-Plugins wird diese über ein Zip-Datei installiert.
Nach der Installation muss der Loxberry neu gestartet werde.
Besonderheit: Die Skripte im Hintergrund erkennen nach dem speichern die neu Config-Datei.
Bis alle Skripte im Hintergrund wieder laufen kann es ca. 10-15 Sekunden dauern.
Habe ihr also die Config geändert kann es dauern bis die neuen Werte aktiv sind, dafür ist kein reboot nötig.

Konfigurationsoptionen

Folge Werte müssen eingestellt werden.

Schnittstelle → Die Schnittstelle an dem z.B. der RS485 Adapter hängt meist dev/ttyUSB0 bei USB-Stick oder dev/ttyAMA0 bei Steckmodul oder
Baud → Die Geschwindigkeit mit dem der Bus kommuniziert, alle PowerMeter müssen diese Einstellung haben.
HTTP-Port → Hier könnt ihr Live-Daten im Browser anschauen http://IP-Loxberry:HTTP-Port

MiniServer → Wenn ihr mehr als einen MiniServer habt könnt ihr wählen an welchen gesendet wird.
UDP-Port → An welchen UDP-Port soll gesendet werden.

Meter 1-15
Aktiv → bestimmt ob der PowerMeter abgefragt wird
ID → ID der PowerMeter
Abfrage → Zeit-Intervall in dem an den MiniServer gesendet wird Achtung! Kurze Zeiten belasten den MiniServer stärker, also nur wenn nötig 1 Sekunde verwenden. 

Funktion des Plugins

Das Plugin liest in einer Endlosschleife die eingestellten PowerMeter aus, bereitet die Werte auf und sendet diese per UDP an den MiniServer
Es können Max. 15 Devices der Marke Eastrom SDM abgefragt werden.

Folgende Daten werden je PowerMeter gesendet.

POWER WATT L1/L2L3 + Total
POWER KW L1/L2L3 + Total
POWER Import L1/L2/L3 + Total
POWER Export L1/L2/L3 + Total

                                                     
VOLT L1/L2/L3
CURRENT L1/L2/L3
Cosinus Phi L1/L2/L3

                                                     

Einrichtung in der Loxone Config Software

In der Config müssen UDP Eingänge mit entsprechernder Befehlserkennung angelegt werden.

Virtuellen UDP Eingang anlegen
UDP-Port eingeben



Virtuellen UDP Eingangsbefehl anlegen
Befehlserkennung eintragen

Den Wert id muss durch die ID des abgefragten PowerMeter ersetzt werden.
Beispiel: Device ID 5 → 5.volt.l1=\v

Achtung! Nicht alle Werte stehen bei allen Geräten zur Verfügung. In dem Fall bekommt ihr 0 Werte zurück gesendet.

Volt L1 (V) id.volt.l1=\v Power L1 (W) id.power.l1=\v
Volt L2 (V) id.volt.l2=\v Power L2 (W) id.power.l2=\v
Volt L3 (V) id.volt.l3=\v Power L3 (W) id.power.l3=\v
Current L1 (A) id.current.l1=\v Power Total (W) id.power.total=\v
Current L2 (A) id.current.l2=\v Power L1 (kW) id.power.l1.kw=\v
Current L3 (A) id.current.l3=\v Power L2 (kW) id.power.l2.kw=\v
Cosinus Phi L1 (cos) id.cosphi.l1=\v Power L3 (kW) id.power.l3.kw=\v
Cosinus Phi L2 (cos) id.cosphi.l2=\v Power Total (kW) id.power.total.kw=\v
Cosinus Phi L3 (cos) id.cosphi.l3=\v                              
                             
Power Import L1 (kW) id.import.l1=\v Power Export L1 (kW) id.export.l1=\v
Power Import L2 (kW) id.import.l2=\v Power Export L2 (kW) id.export.l2=\v
Power Import L3 (kW) id.import.l3=\v Power Export L3 (kW) id.export.l3=\v
Power Import Total (kW) id.import.total=\v Power Export Total (kW) id.export.total=\v
                                                                                                 

Debug / Log

Der Debug / Log ist zweistufig aufgebaut.

  1. Es werden Start/Stop usw. geschrieben
  2. Dazu muss der Schalter DEBUG in den Settings eingeschaltet werden, werden alle Daten die an den MiniServer gesendet werden in einzelne Los geschrienen.

In der Hilfe des WebUI findet ihr alle Links zu den einzelnen Log-Files.

Besonderheiten

Wenn das Skript startet kann es ca. 20 Sekunden dauern bis die ersten Daten kommen.
Es werden alle Daten der Reihenfolge (IDs) abgefragt, somit kommen die Daten mit hohen IDs später.
Es werden ca. 1000 Datensätze/Min. abgefragt, das bedeutet das jeder Zähler für alle Werte ca. 1-1,2 Sekunden braucht. Werden alle 15 Zähler genutzt wird der Zähler 15 erst nach ca. 17-18 Sekunden Werte liefern.

Fragen stellen und Fehler melden

Wie immer können Fragen und Probleme im Loxforum diskutiert werden.

SDM120 Einrichten

Hier will ich euch kurz beschreiben wie ihr einen SDM120 schnell einrichten könnt.
Dazu müsst ihr per Putty als root in der Konsole angemeldet sein.

Beispiel: Ihr wollt die ID von 1 auf 5 setzten und die Baud-Rate von 2400 auf 9600 (rote Werte müssen angepasst werden)

Drückt auf dem Zähler den Knopf für ca. 3 Sekunden bis SET im Display steht.
Dann gebt ihr folgendes in der Konsole ein…

service modbus_powermeter stop
cd /opt/loxberry/data/plugins/modbus_powermeter
./sdm120c /dev/ttyAMA0  -a 1 -b 2400 -P N -s 5
 ./sdm120c /dev/ttyAMA0  -a 5 -b 2400 -P N -r 9600 
service modbus_powermeter start

Was passiert genau…
Zuerst stoppen wir den Service modbus_powermeter damit die Schnittstelle frei wird.
Dann gehen wir in der Verzeichnis in dem die Datei sdm120C liegt.
Zuerst wird die ID geändert
/dev/ttyAMA0 → ist die Schmittstelle, kann aber bei euch auch /dev/ttyUSB0 usw. heißen
-a 1               → ist die aktuelle Adresse der Zählers
-b 2400         → ist die aktuelle Geschwindigkeit (Baud) des Zählers
-P N              → ist die aktuelle Parität (Parity) des Zählers. Diese ändern wir nicht!
-s                  → ist die neue Adresse die wir vergeben wollen
Jetzt bekommen wir eine Antwort das der neue Wert gesetzt ist. z.B. New value 5 for address 0x14

Im nächsten Schritt ändern wir die Baudrate, hier muss die neu ID verwendet werden, in meinem Fall 5.
-a 5               → die gerade geänderte ID da sonst keine Verbindung aufgebaut wird
-r 9600          → ist die neue Geschwindigkeit des Bus

Jetzt bekommen wir eine Antwort das der neue Wert gesetzt ist. z.B. New value 2 for address 0x1C

Nun könnt ihr wieder 3 Sekunden auf drücken und euch durch das Display klicken und die Werte kontrollieren.

Zum Schluss wird der Service modbus_powermeter wieder neu gestartet.