EM24 Ethernet - Carlo Gavazzi / Victron

Begonnen von gt_im, 01 Juni 2022, 15:43:20

Vorheriges Thema - Nächstes Thema

gt_im

Moin zusammen,

wie viele andere lese ich hier immer mal mit, früher habe ich hier und da auch mal was geschrieben, das Konto wurde mittlerweile wohl wegen Untätigkeit gelöscht...

Hier bin ich wieder, weil ich total an meinem EM24 verzweifle. Irgendwie fehlen mir die Skills das Teil in Fhem mit Werten zu bestücken.

Was ich bisher gemacht habe ist folgendes:

define EM24 ModbusAttr 5 60 <ip vom EM24>:502 TCP


Damit bekomme ich ihn angelegt und auch connected, das war's dann aber auch...

Hat evtl. jemand schon ein lauffähiges Modul für das Teil? Eigentlich würde mir die Anzeige des Verbrauchs (Watt) über die drei Phasen genügen, sowohl positiv als auch negativ.

Viele Grüße

gt_im

#1
Moin zusammen,

bisher gab es hier keine Antwort, also habe ich selbst weiter geforscht und es hinbekommen...

Bestimmt nicht auf die eleganteste Weise, die Anzahl der AUfrufe lässt aber auf ein gewisses Interesse schliessen, hier also mein Weg:
Zuerst habe ich den EM24 als "EM24" in fhem definiert:
define EM24 ModbusAttr 5 60 <ip vom EM24>:502 TCP

Danach habe ich einen scan gemacht, damit die ganzen Objekte angelegt werden:
set EM24 scanModbusObjects

Der erzeugte dann bis obj-h00848-reading Attribute, dann habe ich den Vorgang gestoppt:
set EM24 scanStop

Jetzt gehts zur eigentlichen Definition der Readings, Basis war die Dokumentation unter https://github.com/victronenergy/venus/files/3349502/EM24.Ethernet.Protocol.Rev.1.2.pdf

Dort findet man die Wattzahl über die Phasen auf Seite 5 unter der Modicron-address 300041 und damit kann man dann wie folgt definieren:

attr EM24 obj-h00040-expr ($val/10)
attr EM24 obj-h00040-format %.1f
attr EM24 obj-h00040-poll 1
attr EM24 obj-h00040-reading EM24_W
attr EM24 obj-h00040-unpack l>
attr EM24 obj-h00040-len 2
attr EM24 obj-h00040-revRegs 1

Dabei ist zu beachten, dass die Objektnummer immer die Modicron-address weniger 1 ist, hier wurde also aus 300041 das obj-h00040.

Hier noch ein Beispiel für Watt auf L1 (modicron-address 300019 -> obj-h00018):

attr EM24 obj-h00018-expr ($val/10)
attr EM24 obj-h00018-format %.1f
attr EM24 obj-h00018-poll 1
attr EM24 obj-h00018-reading EM24_W_L1
attr EM24 obj-h00018-unpack l>
attr EM24 obj-h00018-len 2
attr EM24 obj-h00018-revRegs 1


Viel Spass beim Ausprobieren!

xblue

hi gt_im

in welcehm interval fragts du die Werte ab?

Ich habe ein wenig bedenken wegen des Bug, der scheinbar noch immer auftritt und nur durch stromlosmachen des Zählers (->Stromausfall im ganzen Haus) behoben werden kann oder in einzelnen fällen nur duch Austausch des Geräts behoben werden kann.
siehe: https://community.victronenergy.com/questions/66501/em24-ethernet-support-nightmare.html

Aber schon mal vielen Dank, das du das Theme angegangen bist, denn ich war auch schon auf der Suche die Daten lokal und nicht nor in der Victron Cloud zu halten.

VG



xblue

Ich habe ein weitere Problem:
bei ca. 3700W kippt das Ergenis ins negative - also "-3700" Watt - irgendeine idee warum das passiert?

   

gt_im

Zitat von: xblue am 19 Juli 2022, 12:05:21
hi gt_im

in welcehm interval fragts du die Werte ab?

Ich habe ein wenig bedenken wegen des Bug, der scheinbar noch immer auftritt und nur durch stromlosmachen des Zählers (->Stromausfall im ganzen Haus) behoben werden kann oder in einzelnen fällen nur duch Austausch des Geräts behoben werden kann.
siehe: https://community.victronenergy.com/questions/66501/em24-ethernet-support-nightmare.html

Aber schon mal vielen Dank, das du das Theme angegangen bist, denn ich war auch schon auf der Suche die Daten lokal und nicht nor in der Victron Cloud zu halten.

VG

Moin, habe Deine Frage erst heute gesehen...

Ich habe den EM24 erst gestern in Betrieb genommen und das Intervall auf 30 Sekunden gesetzt, geht nach FHEM-Neustart verloren, daher folgendes definiert:
define Startsequenz notify global:INITIALIZED.* set EM24 interval 30

Jetzt beobachte ich das System, will nicht hoffen, dass er hängen bleibt...

Viele Grüße

gt_im

Zitat von: xblue am 26 Juli 2022, 18:37:10
Ich habe ein weitere Problem:
bei ca. 3700W kippt das Ergenis ins negative - also "-3700" Watt - irgendeine idee warum das passiert?

Moin,

ist mir heute auch passiert, bin auf die Suche gegangen...
Der Datentyp war falsch ( "l>" statt "s>" ) und zusätzlich muss dann noch "len" und "revRegs" definiert werden, ich habe den Code in meinen Beispielen oben entsprechend angepasst.

viele Grüße

hubiuwe

Hallo
Ich habe das mal etwas eingekürzt indem ich einige Defaults definiert habe.

defmod EnergyMeter ModbusAttr 1 60 x.x.x.x:502 TCP
attr EnergyMeter dev-h-combine 30
attr EnergyMeter dev-h-defExpr $val/10
attr EnergyMeter dev-h-defLen 2
attr EnergyMeter dev-h-defPoll 1
attr EnergyMeter dev-h-defRevRegs 1
attr EnergyMeter dev-h-defUnpack l>
attr EnergyMeter dev-type-I16-len 1
attr EnergyMeter dev-type-I16-unpack s>
attr EnergyMeter group Zähler
attr EnergyMeter icon stromzaehler_icon
attr EnergyMeter obj-h0000-reading U_L1_N
attr EnergyMeter obj-h0002-reading U_L2_N
attr EnergyMeter obj-h0004-reading U_L3_N
attr EnergyMeter obj-h0006-reading U_L1_L2
attr EnergyMeter obj-h0008-reading U_L2_L3
attr EnergyMeter obj-h0010-reading U_L3_L1
attr EnergyMeter obj-h0012-expr $val/1000
attr EnergyMeter obj-h0012-reading I_L1
attr EnergyMeter obj-h0014-expr $val/1000
attr EnergyMeter obj-h0014-reading I_L2
attr EnergyMeter obj-h0016-expr $val/1000
attr EnergyMeter obj-h0016-reading I_L3
attr EnergyMeter obj-h0018-reading P_L1
attr EnergyMeter obj-h0020-reading P_L2
attr EnergyMeter obj-h0022-reading P_L3
attr EnergyMeter obj-h0024-reading S_L1
attr EnergyMeter obj-h0026-reading S_L2
attr EnergyMeter obj-h0028-reading S_L3
attr EnergyMeter obj-h0030-reading Q_L1
attr EnergyMeter obj-h0032-reading Q_L2
attr EnergyMeter obj-h0034-reading Q_L3
attr EnergyMeter obj-h0036-reading Usys_L_N
attr EnergyMeter obj-h0038-reading Usys_L_L
attr EnergyMeter obj-h0040-reading power
attr EnergyMeter obj-h0042-reading Ssys
attr EnergyMeter obj-h0044-reading Qsys
attr EnergyMeter obj-h0046-expr $val/1000
attr EnergyMeter obj-h0046-reading cosPhi_L1
attr EnergyMeter obj-h0046-type I16
attr EnergyMeter obj-h0047-expr $val/1000
attr EnergyMeter obj-h0047-reading cosPhi_L2
attr EnergyMeter obj-h0047-type I16
attr EnergyMeter obj-h0048-expr $val/1000
attr EnergyMeter obj-h0048-reading cosPhi_L3
attr EnergyMeter obj-h0048-type I16
attr EnergyMeter obj-h0049-expr $val/1000
attr EnergyMeter obj-h0049-reading cosPhi
attr EnergyMeter obj-h0049-type I16
attr EnergyMeter obj-h0052-reading energy
attr EnergyMeter obj-h0078-reading energy_out
attr EnergyMeter stateFormat power W, energy kWh
Die beste Automatik ist die, die man abschalten kann!