FHEM Module für B+G E-Tech & EASTON Modbus Zähler

Begonnen von Roger, 03 März 2016, 22:15:25

Vorheriges Thema - Nächstes Thema

Roger

Liebe FHEM Gemeinde,
hiermit stelle ich meine FHEM Module für meine Modbus Zähler von B+G E-Tech & EASTON zur Verfügung.
Dies sind günstige Stromzähler und ich habe sie hier bezogen:
einphasig,  34.40€ http://bg-etech.de/os/product_info.php/cPath/24_27/products_id/201
dreiphasig, 96.85€ http://bg-etech.de/os/product_info.php/products_id/50


SDM220M --> 98_ModbusSDM220M.pm
SDM630M --> 98_ModbusSDM630M.pm

Grundlage ist das Modbus Basismodul 98_Modbus.pm von Stefan Strobel.
Der Zugriff erfolgt über Modbus RTU (seriell RS485 Zweidraht). Für den Zugriff kann ein beliebiger RS485 Konverter genommen werden, wie z.B. http://www.amazon.de/gp/product/B00GWEGZOI?psc=1&redirect=true&ref_=oh_aui_detailpage_o07_s00

Bezug

define HA_Modbus_1 Modbus /dev/ttyUSB0@9600
define HA_SDM220M_1 ModbusSDM220M 1 60
define HA_SDM630M_1 ModbusSDM630M 2 60


Roger
Zotac, BBB, RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly

tomster

Sehr ge*l! Gedankenübertragung...
Ich hab die letzte Stunde im Netz nach einem 3-Phasenzähler gesucht, den ich in FHEM einbinden kann. Vor knapp 10 Minuten bin ich dann auf die B#G Zähler gestossen; eben wegen RS485. Hab gerade einen bestellt und zack - gibt's ein fertiges Modul.
Vielen Dank dafür! Ich werde berichten!

tomte76

Vielen Dank. Ich habe das heute mit einem 630M und dem beschrieben RS485-Modul an einem Raspi aufgebaut. Hat sofort funktioniert. Kann mir jemand, da ich komplett neu bei FHEM bin, einen Hinweis auf gute Doku geben, wie ich historische Daten aufzeichnen und nette Grafiken erzeugen kann?

holle75

#3
Moinsen Tomte:
Auszug aus meiner fhem.cfg, Dank Rogers vorzüglichem SDM220 Modul umgesetzt:

############################## XTENDER Modbus Stromzaehler ###########################################################

define Eastron Modbus /dev/ttyUSB1@9600
attr Eastron group Xtender

#------------------------ 1. Zaehler AC-IN, Modul Modbus , ID1, abfrage alle 30sec. ---------------#

define Xtender_AC_in ModbusSDM220M 1 30
attr Xtender_AC_in userattr IODev event-min-interval event-on-change-reading
attr Xtender_AC_in IODev Eastron
attr Xtender_AC_in event-min-interval Power_.*.W:900,Voltage__V:900,Energy_total__kWh:900,statEnergy_total__kWh:900,statEnergy_total__kWhDay:900,Verbrauch_Enel:900,.*Last.*:900
attr Xtender_AC_in event-on-change-reading Power_.*.W,Voltage__V,Energy_total__kWh,statEnergy_total__kWh,statEnergy_total__kWhDay,Verbrauch_Enel,.*Last.*
attr Xtender_AC_in group Xtender
attr Xtender_AC_in userReadings Verbrauch_Enel:Energy_total__kWh { ReadingsNum("$name","Energy_total__kWh",0)-159.01 . " kWh";; }

#--------------------------- 2. Zaehler AC-Out -----------------------------------#

define Xtender_AC_out ModbusSDM220M 2 30
attr Xtender_AC_out userattr IODev event-min-interval event-on-change-reading
attr Xtender_AC_out IODev Eastron
attr Xtender_AC_out event-min-interval Power_.*.W:900,Voltage__V:900,Energy_total__kWh:900,statEnergy_total__kWh:900,statEnergy_total__kWhDay:900,Verbrauch_Home:900,.*Last.*:900
attr Xtender_AC_out event-on-change-reading Power_.*.W,Voltage__V,Energy_total__kWh,statEnergy_total__kWh,statEnergy_total__kWhDay,Verbrauch_Home,.*Last.*
attr Xtender_AC_out group Xtender
attr Xtender_AC_out userReadings Verbrauch_Home:Energy_total__kWh { ReadingsNum("$name","Energy_total__kWh",0)-366.51 . " kWh";; }

# ----------------------------- readingsGroup -----------------------------------#

#define Xtender readingsGroup Xtender_AC_in*:Power_.*.W Xtender_AC_in*:Voltage_.*.V Xtender_AC_out*:Power_.*.W Xtender_AC_out*:Voltage_.*.V Xtender_AC_in:statEnergy_total__kWh Xtender_AC_out:statEnergy_total__kWh  Xtender_AC_in*:statEnergy_total__kWhDayLast  Xtender_AC_out*:statEnergy_total__kWhDayLast Xtender_AC_in*:statEnergy_total__kWhMonthLast Xtender_AC_out*:statEnergy_total__kWhMonthLast
#attr Xtender room Xtender

#--------------------------- statistics Filelog und plot ------------------------#

define Xtender_AC_in_statistic statistics Xtender_AC_in|Xtender_AC_out
attr Xtender_AC_in_statistic deltaReadings Energy_total__kWh
attr Xtender_AC_in_statistic group Xtender
attr Xtender_AC_in_statistic singularReadings Xtender_AC_in:Energy_total__kWh:Delta:(Hour|Day|Month|Year)|Xtender_AC_out:Energy_total__kWh:Delta:(Hour|Day|Month|Year)

define FileLog_Stromverbrauch_statistic FileLog ./log/StromverbrauchStatistik-%Y.log Xtender.*kWhDayLast.*|Xtender.*kWhMonthLast.*|Xtender.*kWhYearLast.*
attr FileLog_Stromverbrauch_statistic group Xtender
attr FileLog_Stromverbrauch_statistic logtype text

define SVG_FileLog_Stromverbrauch_statistic_1 SVG FileLog_Stromverbrauch_statistic:SVG_FileLog_Stromverbrauch_statistic_1:CURRENT
attr SVG_FileLog_Stromverbrauch_statistic_1 fixedrange year
attr SVG_FileLog_Stromverbrauch_statistic_1 group Xtender
attr SVG_FileLog_Stromverbrauch_statistic_1 label "Verbrauch Monatlich --- AC-in $data{currval1} kWh - AC-Out $data{currval2} kWh"
attr SVG_FileLog_Stromverbrauch_statistic_1 room Xtender

define SVG_FileLog_Stromverbrauch_statistic_dayly SVG FileLog_Stromverbrauch_statistic:SVG_FileLog_Stromverbrauch_statistic_dayly:CURRENT
attr SVG_FileLog_Stromverbrauch_statistic_dayly fixedrange year
attr SVG_FileLog_Stromverbrauch_statistic_dayly group Xtender
attr SVG_FileLog_Stromverbrauch_statistic_dayly label "Verbrauch Dayly --- AC-in $data{currval1} kWh - AC-Out $data{currval2} kWh"
attr SVG_FileLog_Stromverbrauch_statistic_dayly room Xtender

#---------------------------- Filelog und Plot -------------------------------------+

# mit Bezug Gesamtverbrauch kWhDay von statistics
define FileLog_Stromverbrauch FileLog ./log/Stromverbrauch-%Y-%m-%d.log Xtender.*Power.*.W|.*Xtender.*kWhDay.*|Xtender.*Enel.*|Xtender.*Home.*|Xtender.*Voltage.*
attr FileLog_Stromverbrauch group Xtender
attr FileLog_Stromverbrauch logtype text
attr FileLog_Stromverbrauch nrarchive 30

define SVG_FileLog_Stromverbrauch_1 SVG FileLog_Stromverbrauch:SVG_FileLog_Stromverbrauch_1:CURRENT
attr SVG_FileLog_Stromverbrauch_1 group Xtender
attr SVG_FileLog_Stromverbrauch_1 label "Verbrauch Tag --- MAX AC-in $data{max1} kW - MAX AC-Out $data{max2} kW --- Gesamt AC-In $data{max3} kWh - Gesamt AC-Out $data{max4} kWh"
attr SVG_FileLog_Stromverbrauch_1 room Xtender

define SVG_FileLog_Stromverbrauch_Gesamt_1 SVG FileLog_Stromverbrauch:SVG_FileLog_Stromverbrauch_Gesamt_1:CURRENT
attr SVG_FileLog_Stromverbrauch_Gesamt_1 group Xtender
attr SVG_FileLog_Stromverbrauch_Gesamt_1 label "Verbrauch Gesamt (seit 01.10.15) --- AC-in $data{max1} kWh - AC-Out $data{max2} kWh"
attr SVG_FileLog_Stromverbrauch_Gesamt_1 room Xtender

define SVG_FileLog_Spannung_1 SVG FileLog_Stromverbrauch:SVG_FileLog_Spannung_1:CURRENT
attr SVG_FileLog_Spannung_1 group Xtender
attr SVG_FileLog_Spannung_1 label "Spannung --- MAX AC-in $data{max1} V - MIN AC-In $data{min1} V --- MAX AC-Out $data{max2} V - MIN AC-Out $data{min2} V"
attr SVG_FileLog_Spannung_1 room Xtender


Das geht vielleicht auch galanter, aber mir reichts für eine grafische Auswertung. gplot Dateien anbei. Die ReadingsGroup kannst du unkommentieren falls Bedarf. Das läuft im Moment noch unter fhem 5.6 und einer wahrscheinlich älteren Version von Rogers Modul?; weiss nicht, wie es unter 5.7 aussieht

H.


Burny4600

Lässt sich das auch irgendwie über eine Modbus / TCP-IP Verbindung für diesen Zähler modivizieren?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Bjoernar

Hallo,

ich bin gerade dabei das Modul zu verwenden, Daten kommen schon mal an ;-)

Das mit den Logs und Plots habe ich aber nicht so recht verstanden.

Kann mir jemand schon mal diesen Teil erklären?


attr Xtender_AC_out event-min-interval Power_.*.W:900,Voltage__V:900,Energy_total__kWh:900,statEnergy_total__kWh:900,statEnergy_total__kWhDay:900,Verbrauch_Home:900,.*Last.*:900
attr Xtender_AC_out event-on-change-reading Power_.*.W,Voltage__V,Energy_total__kWh,statEnergy_total__kWh,statEnergy_total__kWhDay,Verbrauch_Home,.*Last.*


Danke und Gruß
Björnar

oniT

Zitat von: Burny4600 am 06 April 2016, 08:46:43
Lässt sich das auch irgendwie über eine Modbus / TCP-IP Verbindung für diesen Zähler modivizieren?

Hallo Chris,

Ja das ist möglich. Nur leider bin ich mit der Beschreibung für fhemwiki noch nicht fertig.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

Jojo11

Hallo Roger,

vielen Dank für dieses Modul. Habe die 630er Version soeben erfolgreich in Betrieb genommen.

schöne Grüße
Jo

tlasrich

Zitat von: oniT am 26 Mai 2016, 20:12:21
Hallo Chris,

Ja das ist möglich. Nur leider bin ich mit der Beschreibung für fhemwiki noch nicht fertig.

Gruß
Tino

Hallo Zusammen,

der Wunsch meinen Strom zu erfassen keimt schon länger, leider befinden sich die Zähler nicht in der Wohnung und somit war das Thema lange Zeit nicht umsetzbar. Dank dieses Beitrages hoch motiviert habe ich mir den 3-phasigen Zähler mit Modbus-Schnittstelle sowie einen Modbus-Interface  (Typ USR-TCP232-24) bestellt. Seit etwa einer Woche habe ich nun alles eingebaut und verdrahtet. Leider bekomme ich keine Werte angezeigt.

Der IP/RS485-Adapter ist pingbar und auf der Weboberfläche sehe ich auch, dass sich mein FHEM-Server mit dem Adapter verbindet.

Hierzu habe ich folgendes Device in FHEM angelegt:


defmod ModbusGW ModbusAttr 101 60 10.2.1.220:20108 RTU
attr ModbusGW userattr 1 verbose
attr ModbusGW room 99_Interfaces,Test
attr ModbusGW verbose 5


Und den Zähler habe ich wie folgt angelegt:

defmod Energie_SDM630M_1 ModbusSDM630M 101 60
attr Energie_SDM630M_1 userattr IODev
attr Energie_SDM630M_1 IODev ModbusGW
attr Energie_SDM630M_1 room 99_Zähler


Der Status (State) des angelegten Gerätes lautet aber dennoch:


Energie_SDM630M_1                                       no IO Dev


Ich bin gerade etwas verwundert, während ich hier schreibe, sehe ich das jetzt Readings in das Device eingefügt wurden und diese auch aktualisiert werden.
Was mich nun zu meiner nächsten Frage führt, welcher Status (State) müsste bei vollfunktionierendem Zähler angezeigt werden.

Da die Readings zu meinem Device aus dem Modul heraus automatisch angelegt wurden, gibt es das auch für mögliche Plots und Übersichten?

Sollte ich benötigte Informationen vergessen haben, bitte ich um kurze Rückinfo, ich versuche dann alles so schnell wie möglich nachzuliefern.

Gruß
Thorsten

StefanStrobel

Hallo Thorsten,

ModbusAttr ist nicht als IODev für Gateways gedacht. Wenn Dein Gateway RTU über einen TCP-Port spricht, dann solltest Du IP-Adresse und Port direkt beim Define des SDM Moduls angeben. Ein zusätzliches IO Device benötigst Du nur wenn Fhem selbst an der seriellen Leitung hängt. Schau am besten mal den Wiki-Artikel zu ModbusAttr an.

Gruß
    Stefan

falkmann

Moinsen.Eine Frage:
Kann ich das 98_ModbusSDM630M.pm auch für den SDM530 Modbus verwenden oder gibts da gravierende Unterschiede.
Danke sehr.
Raspberry Pi 3 auf Hutschiene mit Jessie, CUL USB 433MHz, Fhem 5.7,
FB_7490

roadrunnner

Hallo Roger,
ich setze das Modul für einen SDM120M ein, kann jedoch den Portspeed nicht ändern. Als Fehler kommt hier: Set Value 1 did not match defined map Alles andere funktioniert reibungslos. Hast Du eine Idee?

Gruss

roadrunnner

crispyduck

Hallo,

ist es normal das beim Device STATE nur ??? steht?

Lässt sich was gepollt wird auch irgendwie einstellen? Wenn ich z.B. nur Energy_total__kWh abfragen möchte brauche ich doch nicht immer alle Werte pollen?

Danke,
Crispyduck

StefanStrobel

Hallo,

Module, die auf 98_Modbus.pm basieren erben von dort normalerweise alle Attribute, die auch ModbusAttr besitzt. Damit kann man auch einstellen, welche Objekte gepollt werden.

Gruss
   Stefan

holle75

#14
Hallo, ich bekomme seit Update auf fhem 5.8 regelmäßig

2017.05.02 14:33:14 3: Eastron: timeout waiting for fc 4 from id 2, (i12 / Power__W), Request was 0204000c0002b1fb


im Log. Trotzdem werden die Readings im Device upgedated.

Definiert ist er mit

define Eastron Modbus /dev/ttyUSB1@9600


define Xtender_AC_out ModbusSDM220M 2 15
attr Xtender_AC_out userattr IODev event-min-interval event-on-change-reading userReadings
attr Xtender_AC_out IODev Eastron
attr Xtender_AC_out event-min-interval Power_.*.W:900,Voltage__V:900,Energy_total__kWh:900,statEnergy_total__kWh:900,statEnergy_total__kWhDay:900,Verbrauch_Home:900,.*Last.*:900
attr Xtender_AC_out event-on-change-reading Power_.*.W,Voltage__V,Energy_total__kWh,statEnergy_total__kWh,statEnergy_total__kWhDay,Verbrauch_Home,.*Last.*
attr Xtender_AC_out group Xtender
attr Xtender_AC_out userReadings Verbrauch_Home:Energy_total__kWh { ReadingsNum("$name","Energy_total__kWh",0)-366.51 . " kWh";; }


ID 2 list:

Internals:
   DEF        2 15
   DEST
   INTERVAL   15
   IODev      Eastron
   MODBUSID   2
   ModuleVersion 3.5.21 - 12.3.2017
   NAME       Xtender_AC_out
   NOTIFYDEV  global
   NR         430
   NTFY_ORDER 50-Xtender_AC_out
   PROTOCOL   RTU
   STATE      opened
   TRIGGERTIME 1493748190.4706
   TRIGGERTIME_FMT 2017-05-02 20:03:10
   TYPE       ModbusSDM220M
   Readings:
     2017-05-02 02:59:20   CosPhi          -21.0 %
     2017-05-02 19:59:24   CosPhi__grd     -20.5
     2017-05-02 20:02:14   Current__A      0.48
     2017-05-02 20:01:56   Energy_export__kVArh 688.698
     2017-05-02 20:02:16   Energy_export__kWh 0.000
     2017-05-02 20:01:56   Energy_import__kVArh 319.873
     2017-05-02 20:02:16   Energy_import__kWh 2731.408
     2017-05-02 20:01:16   Energy_total__kVArh 1008.571
     2017-05-02 20:02:15   Energy_total__kWh 2731.408
     2017-05-02 20:02:43   Frequency__Hz   50.0
     2017-05-02 19:59:28   Modbus_Node_adr 2
     2017-05-02 19:59:28   Modbus_Parity_Stop 1stop.bit_no.parity
     2017-05-02 19:59:24   Modbus_Speed__baud 9600
     2017-05-02 19:59:18   PowerFactor     0.9
     2017-05-02 20:02:14   Power__VA       105.7
     2017-05-02 20:02:14   Power__VAr      -56.8
     2017-05-02 20:02:55   Power__W        107
     2017-05-02 19:59:21   Relay1_Energy_Type import+export.active.energy
     2017-05-02 19:59:20   System_Measurement_mode 00020000
     2017-05-02 19:59:28   System_Pulse_Width__ms 100
     2017-05-02 19:59:20   System_Pulse_constant 00000000
     2017-05-02 20:02:14   Voltage__V      218.8
     2017-05-02 20:02:55   statEnergy_total__kWh Hour: 0.005 Day: 4.195 Month: 9.620 Year: 510.143
     2017-05-02 20:02:55   statEnergy_total__kWhDay 4.195
     2017-05-01 23:59:55   statEnergy_total__kWhDayLast 5.425
     2017-05-02 20:02:55   statEnergy_total__kWhHour 0.005
     2017-05-02 19:59:55   statEnergy_total__kWhHourLast 0.105
     2017-05-02 19:59:55   statEnergy_total__kWhLast Hour: 0.105 Day: 5.425 Month: 129.528 Year: 352.096 (since: 2016-09-02 )
     2017-05-02 20:02:55   statEnergy_total__kWhMonth 9.620
     2017-04-30 23:59:55   statEnergy_total__kWhMonthLast 129.528
     2017-05-02 20:02:55   statEnergy_total__kWhYear 510.143
     2016-12-31 23:59:55   statEnergy_total__kWhYearLast 352.096
     2017-05-02 19:59:22   system_demand_interval 352387168
   Gotreadings:
     Power__W   107
   Helper:
     _98_statistics Xtender_AC_in_statistic
     lrecv      1493748175.5681
     lsend      1493748175.53896
   Lastread:
     h12        1493747968.1621
     h18        1493747968.16348
     h20        1493747968.16452
     h28        1493747964.75313
     h62720     1493747962.46642
     h63760     1493747961.00019
     h63776     1493747960.2663
     h86        1493747961.73298
     i0         1493748134.87923
     i12        1493748175.56974
     i18        1493748134.88669
     i24        1493748134.8891
     i30        1493747958.01093
     i342       1493748135.62014
     i344       1493748076.18324
     i36        1493747964.01767
     i6         1493748134.88167
     i70        1493748163.26169
     i72        1493748136.37512
     i74        1493748136.37624
     i76        1493748116.25802
     i78        1493748116.26025
Attributes:
   IODev      Eastron
   event-min-interval Power_.*.W:900,Voltage__V:900,Energy_total__kWh:900,statEnergy_total__kWh:900,statEnergy_total__kWhDay:900,Verbrauch_Home:900,.*Last.*:900
   event-on-change-reading Power_.*.W,Voltage__V,Energy_total__kWh,statEnergy_total__kWh,statEnergy_total__kWhDay,Verbrauch_Home,.*Last.*
   group      Xtender
   userReadings Verbrauch_Home:Energy_total__kWh { ReadingsNum("$name","Energy_total__kWh",0)-366.51 . " kWh"; }
   userattr   IODev event-min-interval event-on-change-reading userReadings 


Es hängen zwei Easton 220 am Bus. Der erste (ID 1) liefert keine Fehler im Log.

Jemand eine Idee?

Danke und Grüße

H.

Edit: habe auch mal Timeout auf 10 gestellt, da ändert sich aber leider auch nichts.

StefanStrobel

Hallo,

eine frühere Version des Modbus-Moduls hat solche Timeouts nur auf Loglevel 4 protokolliert. Da sind sie meist nicht beachtet worden.
Die aktuelle-Version protokolliert das auf Level 3 sofern man es nicht per Attribut TimeoutLogLevel auf Level 4 oder 5 stellt.
Dass gelegentlich Timeouts kommen, sollte kein Problem sein. Das abgefragte Reading dürfte in diesem Fall aber nicht aktualisiert werden.

Gruss
   Stefan

holle75

Danke für die Antwort Stefan. Allerdings macht sie mich ein wenig unglücklich ;)

Ich finde es unschön, dass mein Stromzähler nicht mit mir sprechen will. Hast du einen Tip, wie man an das Problem herangehen kann? Also wie finde ich heraus, wo genau die Fehler sind.... weil irgendwo muß ja etwas hängen.

Und gut, dass man es jetzt dank Verbose 3 auch mitbekommt.

Und ja, das entsprechende Reading wird dann nicht aktualisiert. Und das zT für Minuten (Update liegt per Einstellung auf 15 sek). Ich habe mir das die ganze Zeit mit der event-on-change..... Einschränkung erklärt.


StefanStrobel

Hallo,

das kann Ursachen in der Verkabelung / Terminierung haben oder auch im Timing. Schau doch mal die Delay-Attribute an. Oder probier mal ob die Timeouts auch kommen wenn Du den anderen Zähler nicht mehr abfragst.

Gruss
   Stefan

holle75

Danke Stefan, werde ich probieren. Habe jetzt auch mal die Abfrageintervalle versetzt. ID1 alle 25 sek und ID2 alle 15 sek. Das hat die Timeouts schon deutlich reduziert.

attribut busDelay meinst du? Standard ist 2 sek, richtig?

StefanStrobel

Hallo,

busDelay ist per Default 0 und clientSwitchDelay ebenfalls.

Gruss
   Stefan

holle75

... mit einem

attr Eastron busDelay 2
attr Eastron clientSwitchDelay 2


(plus Zeitversetzung)

keine Fehlermeldungen mehr. Oder sind 2 sekunden zu viel delay?

Danke Stefan

StefanStrobel

vermutlich reicht schon eine halbe Sekunde clientSwitchDelay.
Würde ich einfach mal testen.

Gruss
    Stefan

Habbi

Hallo Stefan, hat du getestet? Würde mich sehr interessieren.

juanmax

@Roger und @Stefan. Vielen vielen Dank
Für den generischen Modbus modul, und für den SDM630! Ich wurde gerne euch ein Bier kaufen :) geht es das über paypal  ???

Gruß aus Kölle.

ThomasW

Hallo,

habe mir eine Eastron SDM220 zugelegt und in Testweise in die Heizung eingebaut
die Konfiguration wurde von Holle75 aus dem Beitrag
https://forum.fhem.de/index.php/topic,50196.msg422742.html#msg422742
übernommen.
Es werden auch alle möglichen werte geloggt, nur kommt des in den LogFiles immer wieder zu solchen Einträgen

2017-09-27_19:08:38 Xtender_AC_in Voltage__V: 233.5
2017-09-27_19:08:07 Xtender Xtender_AC_in.Power__W: <html>0</html>
2017-09-27_19:08:07 Xtender_AC_in Power__W: 0
2017-09-27_19:07:08 Xtender Xtender_AC_in.Power__W: <html>4</html>
2017-09-27_19:07:08 Xtender_AC_in Power__W: 4
2017-09-27_19:07:07 Xtender Xtender_AC_in.Frequency__Hz: <html>50.0</html>
2017-09-27_19:07:07 Xtender_AC_in Frequency__Hz: 50.0


Des weiteren wird in den SVG's
' Verbrauch Gesamt (seit 01.10.15) ' und ' Verbrauch Monatlich'
noch nichts angezeigt.
Was wird mit dem 'Verbrauche.Enel' berechnet?
Gut beim SVG 'Verbrauch Monatlich' kann es sein, da der Eastron erst ca. 14Tage in betrieb ist.

Danke fürs lesen.

Werde dann noch weiter mit dem Eastron spielen.
Weitere sich schon bestellt.

Gruß Thomas
FHEM auf RPi Rev.2 mit COC, FS20-Module, LAN-Steckdosen, JeeLink - 4x LaCrosse-Sensoren

dinkel75

Hallo,

funktioniert die 220.pm auch mit dem SDM230?
Kann das 220 gar nicht mehr auf der Homepage von B*G finden.

Ciao
Michael

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

BlauesLicht

Zitat von: falkmann am 01 Februar 2017, 17:00:16
Moinsen.Eine Frage:
Kann ich das 98_ModbusSDM630M.pm auch für den SDM530 Modbus verwenden oder gibts da gravierende Unterschiede.
Danke sehr.

Hallo, interessiere mich auch für den SDM530.
So wie ich das sehe, ist der Funktionsumfang gleich - nur das Gerät ist größer oder?
Würde das auch mit FHEM und dem Modul funktionieren?


Mirko_2013

Hallo zusammen,

Ich bin auf der such, wie ich am besten meinen SDM630 an FHEM Anbindung.
An dem SDM630 habe ich das WLNA Gateway von Eastron angebunden, was auch per Webserver mir die aktuellen Daten liefert.
Allerdings möchte ich den Zähler gern ins Fhem einbinden.

Ist das mit diesem Modul möglich, wenn Ja, könnt Ihr mir bitte Hilfe in Richtung definition geben.
Daher welchen Port muss ich verwenden.

Danke für eure Hilfe
Gruß
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

Mirko_2013

Zitat von: Mirko_2013 am 23 April 2018, 22:54:00
Hallo zusammen,

Ich bin auf der such, wie ich am besten meinen SDM630 an FHEM Anbindung.
An dem SDM630 habe ich das WLNA Gateway von Eastron angebunden, was auch per Webserver mir die aktuellen Daten liefert.
Allerdings möchte ich den Zähler gern ins Fhem einbinden.

Ist das mit diesem Modul möglich, wenn Ja, könnt Ihr mir bitte Hilfe in Richtung definition geben.
Daher welchen Port muss ich verwenden.

Danke für eure Hilfe
Gruß
Mirko

Hallo zusammen,

Ich ziehe meine Frage zurück  ;D
Nach einem Test war es klar Port 502.
Läuft perfekt

Gruß
Mirko
HP Microserver Gen8; fhem-5.8; CUL868 - V1.66; CUL868 - V1.61; CUL433 - V1.61; CUNX - V2.67; eBus Koppler USB

xblue

#31
hallo

Ich komme mit dem Mix aus der Easton gateway, der config des SDM630 nicht klar.
Kann mich jemand unterstützen?

Die config über den usb Anschluß funktioniert, aber über das Gateway kommen keine Daten rein.

I#define modbus_tcp ModbusAttr 1 30 192.168.179.54:502 TCP
define modbus_tcp ModbusAttr 1 30 192.168.179.54:502 RTU
attr modbus_tcp userattr devStateIcon icon
attr modbus_tcp devStateIcon opened:10px-kreis-gruen disconnected:10px-kreis-rot
attr modbus_tcp icon cul
attr modbus_tcp room MODBUS

define modbus_usb Modbus /dev/ttyUSB0@9600
attr modbus_usb userattr devStateIcon icon
attr modbus_usb devStateIcon opened:10px-kreis-gruen disconnected:10px-kreis-rot
attr modbus_usb icon cul
attr modbus_usb room MODBUS


define HA_SDM630M_usb ModbusSDM630M 1 60
attr HA_SDM630M_usb userattr IODev
attr HA_SDM630M_usb IODev modbus_usb
attr HA_SDM630M_usb room MODBUS

define HA_SDM630M_tcp ModbusSDM630M 2 60
attr HA_SDM630M_tcp userattr IODev
attr HA_SDM630M_tcp IODev modbus_tcp
attr HA_SDM630M_tcp room MODBUS

300P

#32
Zitat von: xblue am 06 September 2018, 12:50:47
hallo

Ich komme mit dem Mix aus der Easton gateway, der config des SDM630 nicht klar.
Kann mich jemand unterstützen?

Die config über den usb Anschluß funktioniert, aber über das Gateway kommen keine Daten rein.

Genau mit diesen Modbus-Problemen habe ich mich über 14 Tage beschäftigt und nicht weiter gewusst....bis ich diesen Thread fand...und es geht DOCH!!!!


Zuerst hab ich es blauäugig direkt per Modbus (TCP) versucht und bin total gescheitert.
Dann packte mich die "Wut" und ich hab mir einen USB-zu-485/232-Adapter bestellt.
Naja, trotz allem Lesen im Forum über "Modbus und Co" ging immer noch nichts gescheites. Bis ich hier zufällig auf den etwas älteren Beitrag gestossen bin.

Ergebnis - Alles funktioniert !!  So einfach kann es sein :)

Mit dem Modul aus dem ersten Post hier von funzt es wirklich gut!


Meine genutzte Hardware:


A: Lösung per TCP

1 x USR-W610 - Modbus Gateway TCP UDP
1 x B+G E-Tech SDM630Modbus




###########################################
#Energiezähler Gesamtstrom ohne PV-Anlage
###########################################
define MB_USRW610_005 ModbusSDM630M 5 15 192.168.121.65:8899 TCP
attr MB_USRW610_005 icon stromzaehler_icon@green
attr MB_USRW610_005 room _MODBUS
attr MB_USRW610_005 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)
attr MB_USRW610_005 verbose 3





B: Lösung per USB-485

1 x USB/485 Adapter
1 x B+G E-Tech SDM630Modbus





###########################################
# Modbusdefinition USB-Adapter485 (nur wenn notwendig)
###########################################
define Modbus_Seriell_USB1 Modbus /dev/ttyUSB1@38400
attr Modbus_Seriell_USB1 room _MODBUS
attr Modbus_Seriell_USB1 verbose 3


###########################################
# MODBUS per USB-485 - Energiezähler Brennstoffzelle
###########################################
define MB_USRW610_004 ModbusSDM630M 5 15
setuuid MB_USRW610_004 602d4d4c-f33f-4533-5870-6e8f0404aa17aa5a
attr MB_USRW610_004 dev-h-combine 10
attr MB_USRW610_004 dev-h-defLen 2
attr MB_USRW610_004 dev-h-defShowGet 1
attr MB_USRW610_004 dev-h-defUnpack f>
attr MB_USRW610_004 dev-h-read 3
attr MB_USRW610_004 dev-h-write 16
attr MB_USRW610_004 dev-i-combine 40
attr MB_USRW610_004 dev-i-defFormat %.1f
attr MB_USRW610_004 dev-i-defLen 2
attr MB_USRW610_004 dev-i-defPoll 1
attr MB_USRW610_004 dev-i-defShowGet 1
attr MB_USRW610_004 dev-i-defUnpack f>
attr MB_USRW610_004 dev-i-read 4
attr MB_USRW610_004 dev-timing-commDelay 0.7
attr MB_USRW610_004 dev-timing-sendDelay 0.7
attr MB_USRW610_004 dev-timing-timeout 2
attr MB_USRW610_004 disable 0
attr MB_USRW610_004 group Energy Meter
attr MB_USRW610_004 icon stromzaehler_icon@green
attr MB_USRW610_004 obj-h0-format %.f
attr MB_USRW610_004 obj-h0-name Demand Time
attr MB_USRW610_004 obj-h0-poll once
attr MB_USRW610_004 obj-h0-reading Demand_Time__minutes
attr MB_USRW610_004 obj-h10-format %s
attr MB_USRW610_004 obj-h10-hint 1,2,3
attr MB_USRW610_004 obj-h10-map 1:1p2w, 2:3p3w, 3:3p4w
attr MB_USRW610_004 obj-h10-name System Type
attr MB_USRW610_004 obj-h10-poll once
attr MB_USRW610_004 obj-h10-reading System_Type
attr MB_USRW610_004 obj-h10-set 1
attr MB_USRW610_004 obj-h12-format %.f
attr MB_USRW610_004 obj-h12-hint 60,100,200
attr MB_USRW610_004 obj-h12-name Relay 1 Pulse Width
attr MB_USRW610_004 obj-h12-poll once
attr MB_USRW610_004 obj-h12-reading System_Pulse_Width__ms
attr MB_USRW610_004 obj-h12-set 1
attr MB_USRW610_004 obj-h14-format %s
attr MB_USRW610_004 obj-h14-hint 0,1
attr MB_USRW610_004 obj-h14-map 0:locked, 1:unlocked
attr MB_USRW610_004 obj-h14-name Password Lock
attr MB_USRW610_004 obj-h14-poll once
attr MB_USRW610_004 obj-h14-reading System_Password_Lock
attr MB_USRW610_004 obj-h18-format %s
attr MB_USRW610_004 obj-h18-hint 0,1,2,3
attr MB_USRW610_004 obj-h18-map 0:1stop.bit_no.parity, 1:1stop.bit_even.parity, 2:1stop.bit_odd.parity, 3:2stop.bits_no.parity
attr MB_USRW610_004 obj-h18-name Network Parity Stop
attr MB_USRW610_004 obj-h18-poll once
attr MB_USRW610_004 obj-h18-reading Modbus_Parity_Stop
attr MB_USRW610_004 obj-h18-set 1
attr MB_USRW610_004 obj-h2-format %.f
attr MB_USRW610_004 obj-h2-hint 0,5,8,10,15,20,30,60
attr MB_USRW610_004 obj-h2-max 60
attr MB_USRW610_004 obj-h2-min 0
attr MB_USRW610_004 obj-h2-name Demand Period
attr MB_USRW610_004 obj-h2-poll once
attr MB_USRW610_004 obj-h2-reading Demand_Period__minutes
attr MB_USRW610_004 obj-h2-set 1
attr MB_USRW610_004 obj-h20-format %u
attr MB_USRW610_004 obj-h20-max 247
attr MB_USRW610_004 obj-h20-min 1
attr MB_USRW610_004 obj-h20-name Network Node
attr MB_USRW610_004 obj-h20-poll once
attr MB_USRW610_004 obj-h20-reading Modbus_Node_adr
attr MB_USRW610_004 obj-h20-set 1
attr MB_USRW610_004 obj-h22-format %s
attr MB_USRW610_004 obj-h22-hint 1,2,3,4,5
attr MB_USRW610_004 obj-h22-map 1:0.01kw/imp, 2:0.1kw/imp, 3:1kw/imp, 4:10kw/imp, 5:100kw/imp
attr MB_USRW610_004 obj-h22-name Pulse Divisor1
attr MB_USRW610_004 obj-h22-poll once
attr MB_USRW610_004 obj-h22-reading Pulse_Divisor_1
attr MB_USRW610_004 obj-h22-set 1
attr MB_USRW610_004 obj-h24-format %u
attr MB_USRW610_004 obj-h24-name Password
attr MB_USRW610_004 obj-h24-reading System_Password
attr MB_USRW610_004 obj-h24-set 1
attr MB_USRW610_004 obj-h28-format %s
attr MB_USRW610_004 obj-h28-hint 0,1,2,3,4
attr MB_USRW610_004 obj-h28-map 0:2400, 1:4800, 2:9600, 3:19200, 4:38400
attr MB_USRW610_004 obj-h28-name Network Baud Rate
attr MB_USRW610_004 obj-h28-poll once
attr MB_USRW610_004 obj-h28-reading Modbus_Speed__baud
attr MB_USRW610_004 obj-h28-set 1
attr MB_USRW610_004 obj-h36-format %.f
attr MB_USRW610_004 obj-h36-name System Power
attr MB_USRW610_004 obj-h36-poll once
attr MB_USRW610_004 obj-h36-reading System_Power__W
attr MB_USRW610_004 obj-h42-format %s
attr MB_USRW610_004 obj-h42-name Serial Number
attr MB_USRW610_004 obj-h42-poll once
attr MB_USRW610_004 obj-h42-reading System_Serial_Nr
attr MB_USRW610_004 obj-h6-format %.1f
attr MB_USRW610_004 obj-h6-name system voltage
attr MB_USRW610_004 obj-h6-poll once
attr MB_USRW610_004 obj-h6-reading System_Voltage__V
attr MB_USRW610_004 obj-h8-format %.2f
attr MB_USRW610_004 obj-h8-name system current
attr MB_USRW610_004 obj-h8-poll once
attr MB_USRW610_004 obj-h8-reading System_Current__A
attr MB_USRW610_004 obj-h86-format %s
attr MB_USRW610_004 obj-h86-map 37:Total Wh, 39:Total VArh
attr MB_USRW610_004 obj-h86-name Relay l Energy Type
attr MB_USRW610_004 obj-h86-poll 0
attr MB_USRW610_004 obj-h86-reading Relay1_Energy_Type
attr MB_USRW610_004 obj-h86-set 1
attr MB_USRW610_004 obj-h88-format %s
attr MB_USRW610_004 obj-h88-name Relay 2 Energy Type
attr MB_USRW610_004 obj-h88-poll once
attr MB_USRW610_004 obj-h88-reading Relay2_Energy_Type
attr MB_USRW610_004 obj-i0-format %.1f
attr MB_USRW610_004 obj-i0-name Phase 1 line to neutral volts
attr MB_USRW610_004 obj-i0-polldelay x11
attr MB_USRW610_004 obj-i0-reading Voltage_L1__V
attr MB_USRW610_004 obj-i10-format %.2f
attr MB_USRW610_004 obj-i10-name Phase 3 current
attr MB_USRW610_004 obj-i10-polldelay x5
attr MB_USRW610_004 obj-i10-reading Current_L3__A
attr MB_USRW610_004 obj-i100-format %.1f
attr MB_USRW610_004 obj-i100-name Total system VA demand
attr MB_USRW610_004 obj-i100-polldelay x19
attr MB_USRW610_004 obj-i100-reading Power_Sum_demand__VA
attr MB_USRW610_004 obj-i102-format %.1f
attr MB_USRW610_004 obj-i102-name Maximum total system VA demand
attr MB_USRW610_004 obj-i102-polldelay x19
attr MB_USRW610_004 obj-i102-reading Power_Max_demand__VA
attr MB_USRW610_004 obj-i104-format %.2f
attr MB_USRW610_004 obj-i104-name Neutral current demand
attr MB_USRW610_004 obj-i104-polldelay x7
attr MB_USRW610_004 obj-i104-reading Current_N_demand__A
attr MB_USRW610_004 obj-i106-format %.2f
attr MB_USRW610_004 obj-i106-name Maximum neutral current demand
attr MB_USRW610_004 obj-i106-polldelay x13
attr MB_USRW610_004 obj-i106-reading Current_Max_N_demand__A
attr MB_USRW610_004 obj-i12-format %.f
attr MB_USRW610_004 obj-i12-name Phase 1 power
attr MB_USRW610_004 obj-i12-polldelay x3
attr MB_USRW610_004 obj-i12-reading Power_L1__W
attr MB_USRW610_004 obj-i14-format %.f
attr MB_USRW610_004 obj-i14-name Phase 2 power
attr MB_USRW610_004 obj-i14-polldelay x3
attr MB_USRW610_004 obj-i14-reading Power_L2__W
attr MB_USRW610_004 obj-i16-format %.f
attr MB_USRW610_004 obj-i16-name Phase 3 power
attr MB_USRW610_004 obj-i16-polldelay x3
attr MB_USRW610_004 obj-i16-reading Power_L3__W
attr MB_USRW610_004 obj-i18-format %.1f
attr MB_USRW610_004 obj-i18-name Phase 1 volt amps
attr MB_USRW610_004 obj-i18-polldelay x17
attr MB_USRW610_004 obj-i18-reading Power_L1__VA
attr MB_USRW610_004 obj-i2-format %.1f
attr MB_USRW610_004 obj-i2-name Phase 2 line to neutral volts
attr MB_USRW610_004 obj-i2-polldelay x11
attr MB_USRW610_004 obj-i2-reading Voltage_L2__V
attr MB_USRW610_004 obj-i20-format %.1f
attr MB_USRW610_004 obj-i20-name Phase 2 volt amps
attr MB_USRW610_004 obj-i20-polldelay x17
attr MB_USRW610_004 obj-i20-reading Power_L2__VA
attr MB_USRW610_004 obj-i200-format %.1f
attr MB_USRW610_004 obj-i200-name Line1 to Line2 volts
attr MB_USRW610_004 obj-i200-polldelay x19
attr MB_USRW610_004 obj-i200-reading Voltage_L1_to_L2__V
attr MB_USRW610_004 obj-i202-format %.1f
attr MB_USRW610_004 obj-i202-name Line2 to Line3 volts
attr MB_USRW610_004 obj-i202-polldelay x19
attr MB_USRW610_004 obj-i202-reading Voltage_L2_to_L3__V
attr MB_USRW610_004 obj-i204-format %.1f
attr MB_USRW610_004 obj-i204-name Line3 to Line1 volts
attr MB_USRW610_004 obj-i204-polldelay x19
attr MB_USRW610_004 obj-i204-reading Voltage_L3_to_L1__V
attr MB_USRW610_004 obj-i206-format %.1f
attr MB_USRW610_004 obj-i206-name Average line to line volts
attr MB_USRW610_004 obj-i206-polldelay x7
attr MB_USRW610_004 obj-i206-reading Voltage_Avr_L_to_L__V
attr MB_USRW610_004 obj-i22-format %.1f
attr MB_USRW610_004 obj-i22-name Phase 3 volt amps
attr MB_USRW610_004 obj-i22-polldelay x17
attr MB_USRW610_004 obj-i22-reading Power_L3__VA
attr MB_USRW610_004 obj-i224-format %.2f
attr MB_USRW610_004 obj-i224-name Neutral current
attr MB_USRW610_004 obj-i224-polldelay x5
attr MB_USRW610_004 obj-i224-reading Current_N__A
attr MB_USRW610_004 obj-i234-format %.1f
attr MB_USRW610_004 obj-i234-name Phase 1 L/N volts THD
attr MB_USRW610_004 obj-i234-polldelay x31
attr MB_USRW610_004 obj-i234-reading THD_Voltage_L1_N__prz
attr MB_USRW610_004 obj-i236-format %.1f
attr MB_USRW610_004 obj-i236-name Phase 2 L/N volts THD
attr MB_USRW610_004 obj-i236-polldelay x31
attr MB_USRW610_004 obj-i236-reading THD_Voltage_L2_N__prz
attr MB_USRW610_004 obj-i238-format %.1f
attr MB_USRW610_004 obj-i238-name NPhase 3 L/N volts THD
attr MB_USRW610_004 obj-i238-polldelay x31
attr MB_USRW610_004 obj-i238-reading THD_Voltage_L3_N__prz
attr MB_USRW610_004 obj-i24-format %.1f
attr MB_USRW610_004 obj-i24-name Phase 1 volt amps reactive
attr MB_USRW610_004 obj-i24-polldelay x17
attr MB_USRW610_004 obj-i24-reading Power_L1__VAr
attr MB_USRW610_004 obj-i240-format %.1f
attr MB_USRW610_004 obj-i240-name Phase 1 Current THD
attr MB_USRW610_004 obj-i240-polldelay x37
attr MB_USRW610_004 obj-i240-reading THD_Current_L1__prz
attr MB_USRW610_004 obj-i242-format %.1f
attr MB_USRW610_004 obj-i242-name Phase 2 Current THD
attr MB_USRW610_004 obj-i242-polldelay x37
attr MB_USRW610_004 obj-i242-reading THD_Current_L2__prz
attr MB_USRW610_004 obj-i244-format %.1f
attr MB_USRW610_004 obj-i244-name Phase 3 Current THD
attr MB_USRW610_004 obj-i244-polldelay x37
attr MB_USRW610_004 obj-i244-reading THD_Current_L3__prz
attr MB_USRW610_004 obj-i248-format %.1f
attr MB_USRW610_004 obj-i248-name Average line to neutral volts THD
attr MB_USRW610_004 obj-i248-polldelay x31
attr MB_USRW610_004 obj-i248-reading THD_Voltage_avr_LN__prz
attr MB_USRW610_004 obj-i250-format %.1f
attr MB_USRW610_004 obj-i250-name Average line current THD
attr MB_USRW610_004 obj-i250-polldelay x37
attr MB_USRW610_004 obj-i250-reading THD_Current_avr__prz
attr MB_USRW610_004 obj-i254-format %.1f
attr MB_USRW610_004 obj-i254-name Total system power factor
attr MB_USRW610_004 obj-i254-polldelay x29
attr MB_USRW610_004 obj-i254-reading PowerFactor_inverted
attr MB_USRW610_004 obj-i258-format %.2f
attr MB_USRW610_004 obj-i258-name Phase 1 current demand
attr MB_USRW610_004 obj-i258-polldelay x7
attr MB_USRW610_004 obj-i258-reading Current_L1_demand__A
attr MB_USRW610_004 obj-i26-format %.1f
attr MB_USRW610_004 obj-i26-name Phase 2 volt amps reactive
attr MB_USRW610_004 obj-i26-polldelay x17
attr MB_USRW610_004 obj-i26-reading Power_L2__VAr
attr MB_USRW610_004 obj-i260-format %.2f
attr MB_USRW610_004 obj-i260-name Phase 2 current demand
attr MB_USRW610_004 obj-i260-polldelay x7
attr MB_USRW610_004 obj-i260-reading Current_L2_demand__A
attr MB_USRW610_004 obj-i262-format %.2f
attr MB_USRW610_004 obj-i262-name Phase 3 current demand
attr MB_USRW610_004 obj-i262-polldelay x7
attr MB_USRW610_004 obj-i262-reading Current_L3_demand__A
attr MB_USRW610_004 obj-i264-format %.2f
attr MB_USRW610_004 obj-i264-name Maximum phase 1 current demand
attr MB_USRW610_004 obj-i264-polldelay x13
attr MB_USRW610_004 obj-i264-reading Current_Max_L1_demand__A
attr MB_USRW610_004 obj-i266-format %.2f
attr MB_USRW610_004 obj-i266-name Maximum phase 2 current demand
attr MB_USRW610_004 obj-i266-polldelay x13
attr MB_USRW610_004 obj-i266-reading Current_Max_L2_demand__A
attr MB_USRW610_004 obj-i268-format %.2f
attr MB_USRW610_004 obj-i268-name Maximum phase 3 current demand
attr MB_USRW610_004 obj-i268-polldelay x13
attr MB_USRW610_004 obj-i268-reading Current_Max_L3_demand__A
attr MB_USRW610_004 obj-i28-format %.1f
attr MB_USRW610_004 obj-i28-name Phase 3 volt amps reactive
attr MB_USRW610_004 obj-i28-polldelay x17
attr MB_USRW610_004 obj-i28-reading Power_L3__VAr
attr MB_USRW610_004 obj-i30-format %.1f
attr MB_USRW610_004 obj-i30-name Phase 1 power factor
attr MB_USRW610_004 obj-i30-polldelay x29
attr MB_USRW610_004 obj-i30-reading PowerFactor_L1
attr MB_USRW610_004 obj-i32-format %.1f
attr MB_USRW610_004 obj-i32-name Phase 2 power factor
attr MB_USRW610_004 obj-i32-polldelay x29
attr MB_USRW610_004 obj-i32-reading PowerFactor_L2
attr MB_USRW610_004 obj-i334-format %.1f
attr MB_USRW610_004 obj-i334-name Line 1 to line 2 volts THD
attr MB_USRW610_004 obj-i334-polldelay x37
attr MB_USRW610_004 obj-i334-reading THD_Voltage_L1_L2__prz
attr MB_USRW610_004 obj-i336-format %.1f
attr MB_USRW610_004 obj-i336-name Line 2 to line 3 volts THD
attr MB_USRW610_004 obj-i336-polldelay x37
attr MB_USRW610_004 obj-i336-reading THD_Voltage_L2_L3__prz
attr MB_USRW610_004 obj-i338-format %.1f
attr MB_USRW610_004 obj-i338-name Line 3 to line 1 volts THD
attr MB_USRW610_004 obj-i338-polldelay x37
attr MB_USRW610_004 obj-i338-reading THD_Voltage_L3_L1__prz
attr MB_USRW610_004 obj-i34-format %.1f
attr MB_USRW610_004 obj-i34-name Phase 3 power factor
attr MB_USRW610_004 obj-i34-polldelay x29
attr MB_USRW610_004 obj-i34-reading PowerFactor_L3
attr MB_USRW610_004 obj-i340-format %.1f
attr MB_USRW610_004 obj-i340-name Average line to line volts THD
attr MB_USRW610_004 obj-i340-polldelay x37
attr MB_USRW610_004 obj-i340-reading THD_Voltage_avr_LL__prz
attr MB_USRW610_004 obj-i342-format %.3f
attr MB_USRW610_004 obj-i342-name Total kWh
attr MB_USRW610_004 obj-i342-polldelay x11
attr MB_USRW610_004 obj-i342-reading Energy_total__kWh
attr MB_USRW610_004 obj-i344-format %.3f
attr MB_USRW610_004 obj-i344-name Total VArh
attr MB_USRW610_004 obj-i344-polldelay x17
attr MB_USRW610_004 obj-i344-reading Energy_total__kVArh
attr MB_USRW610_004 obj-i346-format %.3f
attr MB_USRW610_004 obj-i346-name L1 import kWh
attr MB_USRW610_004 obj-i346-polldelay x13
attr MB_USRW610_004 obj-i346-reading Energy_L1_import__kWh
attr MB_USRW610_004 obj-i348-format %.3f
attr MB_USRW610_004 obj-i348-name L2 import kWh
attr MB_USRW610_004 obj-i348-polldelay x13
attr MB_USRW610_004 obj-i348-reading Energy_L2_import__kWh
attr MB_USRW610_004 obj-i350-format %.3f
attr MB_USRW610_004 obj-i350-name L3 import kWh
attr MB_USRW610_004 obj-i350-polldelay x13
attr MB_USRW610_004 obj-i350-reading Energy_L3_import__kWh
attr MB_USRW610_004 obj-i352-format %.3f
attr MB_USRW610_004 obj-i352-name L1 export kWh
attr MB_USRW610_004 obj-i352-polldelay x13
attr MB_USRW610_004 obj-i352-reading Energy_L1_export__kWh
attr MB_USRW610_004 obj-i354-format %.3f
attr MB_USRW610_004 obj-i354-name L2 export kWh
attr MB_USRW610_004 obj-i354-polldelay x13
attr MB_USRW610_004 obj-i354-reading Energy_L2_export__kWh
attr MB_USRW610_004 obj-i356-format %.3f
attr MB_USRW610_004 obj-i356-name L3 export kWh
attr MB_USRW610_004 obj-i356-polldelay x13
attr MB_USRW610_004 obj-i356-reading Energy_L3_export__kWh
attr MB_USRW610_004 obj-i358-format %.3f
attr MB_USRW610_004 obj-i358-name L1 total kWh
attr MB_USRW610_004 obj-i358-polldelay x11
attr MB_USRW610_004 obj-i358-reading Energy_L1_total__kWh
attr MB_USRW610_004 obj-i36-format %.1f
attr MB_USRW610_004 obj-i36-name Phase 1 phase angle
attr MB_USRW610_004 obj-i36-polldelay x23
attr MB_USRW610_004 obj-i36-reading CosPhi_L1__grd
attr MB_USRW610_004 obj-i360-format %.3f
attr MB_USRW610_004 obj-i360-name L2 total kWh
attr MB_USRW610_004 obj-i360-polldelay x11
attr MB_USRW610_004 obj-i360-reading Energy_L2_total__kWh
attr MB_USRW610_004 obj-i362-format %.3f
attr MB_USRW610_004 obj-i362-name L3 total kWh
attr MB_USRW610_004 obj-i362-polldelay x11
attr MB_USRW610_004 obj-i362-reading Energy_L3_total__kWh
attr MB_USRW610_004 obj-i38-format %.1f
attr MB_USRW610_004 obj-i38-name Phase 2 phase angle
attr MB_USRW610_004 obj-i38-polldelay x23
attr MB_USRW610_004 obj-i38-reading CosPhi_L2__grd
attr MB_USRW610_004 obj-i4-format %.1f
attr MB_USRW610_004 obj-i4-name Phase 1 line to neutral volts
attr MB_USRW610_004 obj-i4-polldelay x11
attr MB_USRW610_004 obj-i4-reading Voltage_L3__V
attr MB_USRW610_004 obj-i40-format %.1f
attr MB_USRW610_004 obj-i40-name Phase 3 phase angle
attr MB_USRW610_004 obj-i40-polldelay x23
attr MB_USRW610_004 obj-i40-reading CosPhi_L3__grd
attr MB_USRW610_004 obj-i42-format %.1f
attr MB_USRW610_004 obj-i42-name Average line to neutral volts
attr MB_USRW610_004 obj-i42-polldelay x7
attr MB_USRW610_004 obj-i42-reading Voltage_Avr__V
attr MB_USRW610_004 obj-i46-format %.1f
attr MB_USRW610_004 obj-i46-name Average line current
attr MB_USRW610_004 obj-i46-polldelay x3
attr MB_USRW610_004 obj-i46-reading Current_Avr__A
attr MB_USRW610_004 obj-i48-format %.2f
attr MB_USRW610_004 obj-i48-name Sum of line currents
attr MB_USRW610_004 obj-i48-polldelay x3
attr MB_USRW610_004 obj-i48-reading Current_Sum__A
attr MB_USRW610_004 obj-i52-format %.1f
attr MB_USRW610_004 obj-i52-name Total system power
attr MB_USRW610_004 obj-i52-reading Power_Sum__W
attr MB_USRW610_004 obj-i56-format %.1f
attr MB_USRW610_004 obj-i56-name Total system Volt Ampere
attr MB_USRW610_004 obj-i56-polldelay x17
attr MB_USRW610_004 obj-i56-reading Power_Sum__VA
attr MB_USRW610_004 obj-i6-format %.2f
attr MB_USRW610_004 obj-i6-name Phase 1 current
attr MB_USRW610_004 obj-i6-polldelay x5
attr MB_USRW610_004 obj-i6-reading Current_L1__A
attr MB_USRW610_004 obj-i60-format %.1f
attr MB_USRW610_004 obj-i60-name Total system Volt Ampere reactive
attr MB_USRW610_004 obj-i60-polldelay x17
attr MB_USRW610_004 obj-i60-reading Power_Sum__VAr
attr MB_USRW610_004 obj-i62-format %.1f
attr MB_USRW610_004 obj-i62-name Total system power factor
attr MB_USRW610_004 obj-i62-polldelay x29
attr MB_USRW610_004 obj-i62-reading PowerFactor
attr MB_USRW610_004 obj-i66-format %.1f
attr MB_USRW610_004 obj-i66-name Total system phase angle
attr MB_USRW610_004 obj-i66-polldelay x23
attr MB_USRW610_004 obj-i66-reading CosPhi__grd
attr MB_USRW610_004 obj-i70-format %.1f
attr MB_USRW610_004 obj-i70-name Frequency of supply voltages
attr MB_USRW610_004 obj-i70-polldelay x5
attr MB_USRW610_004 obj-i70-reading Frequency__Hz
attr MB_USRW610_004 obj-i72-format %.3f
attr MB_USRW610_004 obj-i72-name Import Wh since last reset
attr MB_USRW610_004 obj-i72-polldelay x7
attr MB_USRW610_004 obj-i72-reading Energy_import__kWh
attr MB_USRW610_004 obj-i74-format %.3f
attr MB_USRW610_004 obj-i74-name Export Wh since last reset
attr MB_USRW610_004 obj-i74-polldelay x7
attr MB_USRW610_004 obj-i74-reading Energy_export__kWh
attr MB_USRW610_004 obj-i76-format %.3f
attr MB_USRW610_004 obj-i76-name Import VArh since last reset
attr MB_USRW610_004 obj-i76-polldelay x17
attr MB_USRW610_004 obj-i76-reading Energy_import__kVArh
attr MB_USRW610_004 obj-i78-format %.3f
attr MB_USRW610_004 obj-i78-name Export VArh since last reset
attr MB_USRW610_004 obj-i78-polldelay x17
attr MB_USRW610_004 obj-i78-reading Energy_export__kVArh
attr MB_USRW610_004 obj-i8-format %.2f
attr MB_USRW610_004 obj-i8-name Phase 2 current
attr MB_USRW610_004 obj-i8-polldelay x5
attr MB_USRW610_004 obj-i8-reading Current_L2__A
attr MB_USRW610_004 obj-i80-format %.3f
attr MB_USRW610_004 obj-i80-name VAh since last reset
attr MB_USRW610_004 obj-i80-polldelay x17
attr MB_USRW610_004 obj-i80-reading Energy_apparent__kVAh
attr MB_USRW610_004 obj-i82-format %.3f
attr MB_USRW610_004 obj-i82-name kAh since last reset
attr MB_USRW610_004 obj-i82-polldelay x11
attr MB_USRW610_004 obj-i82-reading Charge__kAh
attr MB_USRW610_004 obj-i84-format %.1f
attr MB_USRW610_004 obj-i84-name Total system power demand
attr MB_USRW610_004 obj-i84-reading Power_Sum_demand__W
attr MB_USRW610_004 obj-i86-format %.1f
attr MB_USRW610_004 obj-i86-name Maximum total system power demand
attr MB_USRW610_004 obj-i86-polldelay x11
attr MB_USRW610_004 obj-i86-reading Power_Max_demand__W
attr MB_USRW610_004 room 011_MODBUS,015_Zaehler,Energie
attr MB_USRW610_004 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)
attr MB_USRW610_004 verbose 3





->>> Herzlichen Dank für die Bereitstellung des Modules(vor so langer Zeit)

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

300P

Hallo Zusammen,
@Roger

ich hab mir erlaubt die Version "SDM630Modbus.pm" aus dem ersten Post etwas anzupassen / etwas hinzuzufügen.

Grund -> Eine Fehlermeldung bei der Initialisierung / Neustart - bei Verbose 3 (oder höher) ;)

2021.02.23 16:27:11 3: MB_USRW610_005: MapConvert called from ParseObj did not find 0 (0) in map 1:0.01kw/imp, 2:0.1kw/imp, 3:1kw/imp, 4:10kw/imp, 5:100kw/imp


Bei meiner Sucherei in der Sache hatte ich eine aktuell verfügbare Dokumentation gefunden in der dies hinterlegt ist.
Dadurch ist diese "0" als der "Puls Divisor1" = "0.025kw/imp" bzw. das "mapping" dieses Parameter komplettiert worden.

Quelle:
-> https://bg-etech.de/download/manual/SDM630Register.pdf
(oder unten als Anhang)

Das ist zwar für den Modbus nur etwas Kosmetik  ::)
Aber so ist die Fehlermeldung weg. 8)

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

hugomckinley

Weil es mich gerade selbst betroffen hat:
Es kursieren unterschiedliche Versionen der Dokumentation des SDM630, was mich etwas stutzig machte.
Der für mich relevante Unterschied: Es gibt saldierende und nicht saldierende Versionen.
(Und das Datenblatt auf der Webseite war falsch hinterlegt -> sollte aber schon korrigiert sein)

Eine Nachfrage beim B+G brachte folgende Erkenntnis:
Es sind ALLE Modelle des SDM630 nicht saldierend, AUSSER das nicht geeichte Model ab Baujahr 2022. (Art.Nr. 1141113)
Den habe ich natürlich nicht ;-)
Somit waren die Summen der exportierten und importierten Energiemenge ziemlich falsch.

Hier meine Lösung:
In der 99_myUtils.pm folgende Funktion hinzufügen:

sub calcNetEnergy{
my ($name) = @_;
        my $last_import = ReadingsVal($name,"calc_last_import__kWh","");
        my $act_import = ReadingsVal($name,"Energy_import__kWh","");
        my $last_export = ReadingsVal($name,"calc_last_export__kWh","");
        my $act_export = ReadingsVal($name,"Energy_export__kWh","");
        my $e_delta = ($act_import - $last_import) - ($act_export - $last_export);
CommandSetReading(undef, $name." calc_last_import__kWh ".$act_import);
        CommandSetReading(undef, $name." calc_last_export__kWh ".$act_export);
if($e_delta >= 0){
                my $import_counter = ReadingsVal($name,"Energy_Net_import__kWh","0") + $e_delta;
fhem("sleep 0.1; setreading $name Energy_Net_import__kWh ".sprintf('%.3f',$import_counter));
fhem("sleep 0.1; setreading $name Energy_Net_export__kWh ".sprintf('%.3f',ReadingsVal($name,"Energy_Net_export__kWh","0")));
}else{
             my $export_counter = ReadingsVal($name,"Energy_Net_export__kWh","0") - $e_delta;
     fhem("sleep 0.1; setreading $name Energy_Net_export__kWh ".sprintf('%.3f',$export_counter));
     fhem("sleep 0.1; setreading $name Energy_Net_import__kWh ".sprintf('%.3f',ReadingsVal($name,"Energy_Net_import__kWh","0")));
    }
}


Diese muss dann noch von einem notify bei Änderungen der Zählerstände aufgerufen werden:
defmod N.CalcNetEnergy notify PowerMeter:Power_Sum__W.* {calcNetEnergy("PowerMeter")}

Die beiden interessanten Readings sind:
Energy_Net_import__kWh -> "gekaufte" Energie saldiert
Energy_Net_export__kWh -> "verkaufte" Energie saldiert

Mit dem ElectricityCalculator kann man dann auch die Leistungen berechnen lassen und schön visualisieren.

Das notify wird immer ausgeführt, wenn sich die PowerSum des Zählers ändert.

Die Ergbnisse, siehe Anhang, decken sich jetzt mit der "Meinung" meines EVU :-)

Hoffe es kann jemand brauchen.

Grüße,
Hugo
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

laserrichi

#35
danke Hugo.... du bist der Held :-)  mich hat es geärgert seit ich den eingebaut habe das er nicht saldierend ist.
hast du auch ein Beispiel wie du deine Energiebilanz so hübsch aufbereitest ? Das gefällt mir sehr gut.

nachtrag:

da ist ein Fehler noch drin:

ich bekomme im log:   PERL WARNING: Argument "6222.982 kWh" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 87.
das ist diese Zeile     my $e_delta = ($act_import - $last_import) - ($act_export - $last_export)


das liegt daran das vom Modul das ganze mit Einheit versehen ist
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

laserrichi

Ich habe das ganze jetzt einmal mit userreadings gelöst und das scheint mir sogar einfacher zu sein da man keinen myutils aufruf braucht und man hat keine numeric fehler im log

Energy_export_calc_kWh monotonic {ReadingsNum("$name","Energy_export__kWh","") - ReadingsNum("$name","Energy_import__kWh","");},
Energy_export_sald_kWh {sprintf('%.2f kWh', ReadingsVal($name,"Energy_export_calc_kWh",""))},
Energy_import_sald_kWh {sprintf('%.2f kWh', ReadingsNum is("$name","Energy_import__kWh","") - ReadingsNum("$name","Energy_export__kWh",""))}


hier in dem Beispiel habe ich andere Readings genommen
der Energy_export_calc_kWh  ist ein zwischenschritt da monotonic nicht mit sprintf funktioniert

Energy_export_sald_kWh ist dann aufsummiert mit dem was richtung netzbetreiber geflossen ist
Energy_import_sald_kWh ist der importierte  und logischerweise abzüglich des exportierten, was bei 2richtungszählern dann so auch stimmen müsste.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

hugomckinley

#37
Das ist interessant, diese Fehlermeldung gibt es bei mir nicht, denn bei mir sind diese Größen alle einheitenlos.
Ich bilde mir ein letztens irgendwo gelesen zu haben, dass man das global irgendwo einstellen kann in FHEM, ob die Werte mit oder ohne Einheit gespeichert werden. Evtl. unterscheiden sich unsere Installationen da.

Zitat von: laserrichi am 31 März 2022, 16:16:45
danke Hugo.... du bist der Held :-)  mich hat es geärgert seit ich den eingebaut habe das er nicht saldierend ist.
hast du auch ein Beispiel wie du deine Energiebilanz so hübsch aufbereitest ? Das gefällt mir sehr gut.

nachtrag:

da ist ein Fehler noch drin:

ich bekomme im log:   PERL WARNING: Argument "6222.982 kWh" isn't numeric in subtraction (-) at ./FHEM/99_myUtils.pm line 87.
das ist diese Zeile     my $e_delta = ($act_import - $last_import) - ($act_export - $last_export)


das liegt daran das vom Modul das ganze mit Einheit versehen ist

Die Darstellung der Energie basiert auf diesem Wiki-Artikel:https://wiki.fhem.de/wiki/Datenbankgest%C3%BCtzte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_%C3%9Cberschusseinspeisung

Da es Offtopic ist, habe ich einen neuen Thread erstellt:
https://forum.fhem.de/index.php/topic,127120.0.html
----------------------------------------------------
FHEM in TrueNAS-Jail
HMLGW + HM-Komponenten, alexa-fhem, Modbus/TCP, Modbus/RS485, LG-WebOS, Firmata, 1wire, ESP-RGBWW, DaikinAC per WLAN, Shellys, Denon AVR, Fronius WR, Helios Wohnraumlüftung, ...

Nobbynews

Hallo zusammen,

für die Modelle SDM72DMv2 MID und SDM120 habe ich jeweils ein Modul erstellt.
Zu finden unter:
https://forum.fhem.de/index.php/topic,75638.msg1217182.html#msg1217182

laserrichi

Ich habe immer wieder mal sporadische Probleme das ich komplett falsche Werte von dem SDM630 bekomme.

Ist mir vermutlich erst jeztt aufgefallen weil ich mir die saldierung mit userreadings zurechtbiege.

Ich bekomme dann solch krumme werte
2022-05-05_13:11:09 Hausstrom Frequency__Hz: -58.7 Hz
2022-05-05_13:11:09 Hausstrom Energy_import__kWh: 0.640 kWh
2022-05-05_13:11:09 Hausstrom Energy_export__kWh: 0.949 kWh

Richtig ist aber
2022-05-05_13:13:07 Hausstrom Frequency__Hz: 49.9 Hz
2022-05-05_13:13:07 Hausstrom Energy_import__kWh: 6394.773 kWh
2022-05-05_13:13:07 Hausstrom Energy_export__kWh: 200.674 kWh

Das wirft mein userreading natürlich durcheinander und habe dann total falsche addierungen

Baudrate habe ich 38400 eingestellt und das tritt nur alle paar Tage einmal auf.

Hat jemand ähnliche Effekte ?
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

satprofi

#40
meine sind aus 2017, trotzdem liest er mir export u. import getrennt aus. Was genau meint ihr mit saldierend?
auch power zeigt mir minuswerte an
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

laserrichi

klar ist export import getrennt aber ist ja nicht saldiert

wie du oben siehst, - Hz  das gibt es ja nicht und die werte sind total falschmit importiert  0.640kwh  und beim nächsten lesen 6394kwh  wie es auch richtig ist.
Es sind sporadische Datenfehler.

meine Saldierung mache ich mit diesen Userreadings

Energy_export_calc_kWh monotonic {ReadingsNum("$name","Energy_export__kWh","") - ReadingsNum("$name","Energy_import__kWh","");},
Energy_export_sald_kWh {sprintf('%.2f kWh', ReadingsVal($name,"Energy_export_calc_kWh",""))},
Energy_import_sald_kWh {sprintf('%.2f kWh', ReadingsNum("$name","Energy_import__kWh","") - ReadingsNum("$name","Energy_export__kWh",""))},
Energy_realzaehler_kWh {sprintf('%.2f kWh', ReadingsNum("$name","Energy_import_sald_kWh","") + ReadingsNum("$name","Energy_RealOffset",""))}


Somit habe ich werte was rückeingespeist wurde.

Wenn jetzt fehlerhafte Daten kommen dann macht ja monotonic die differenz der readings, und das ist dann fatal, da hier auf einmal von 0.64 zu 6394  eine riesen differenz ist.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

holzwurm83

Hallo zusammen,

ich bräuchte einmal eure Hilfe.
Ich habe mir jetzt auch einen SDM630 zugelegt und wollte den über TCP einbinden. Dazu habe ich mir diesen Konrektor wie auch hier beschrieben gekauft.
https://www.amazon.de/gp/product/B07DNWM62H/ref=ppx_yo_dt_b_asin_image_o01_s00?ie=UTF8&psc=1

Ich verstehe nur aktuell nicht wie ich beide verkabeln soll. Der SDM630 hat ein "G" und und der Konrektor hat nur "A" und "B".

Wie habt ihr das verkabelt? Und habt ihr je Seite ein 120 Ohm Widerstand angeschlossen?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Wzut

i.d.R. reicht A and A und B an B
bei mir ging es auch ohne die beiden 120 Ohm Widerstände (hängt u.A. aber auch von der Länge der Busleitung ab) schaden sollten sie aber nie.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

holzwurm83

#44
Zitat von: Wzut am 17 Dezember 2022, 12:12:10
i.d.R. reicht A and A und B an B
bei mir ging es auch ohne die beiden 120 Ohm Widerstände (hängt u.A. aber auch von der Länge der Busleitung ab) schaden sollten sie aber nie.

Danke das hat schon mal funktioniert. Allerdings habe ich noch Fehler im LOG und die Daten bekomme ich nicht.
2022.12.17 14:07:37.629 3: MB_USRW610_005: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h10, len 10, tid 228, master device MB_USRW610_005, reading System_Type (getUpdate for combined h10 len 2 System_Type with h12 len 2 System_Pulse_Width__ms and h14 len 2 System_Password_Lock and h18 len 2 Modbus_Parity_Stop), queued 12.30 secs ago, sent 2.00 secs ago
2022.12.17 14:07:39.632 3: MB_USRW610_005: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h20, len 10, tid 156, master device MB_USRW610_005, reading Modbus_Node_adr (getUpdate for combined h20 len 2 Modbus_Node_adr with h22 len 2 Pulse_Divisor_1 and h28 len 2 Modbus_Speed__baud), queued 14.30 secs ago, sent 2.00 secs ago
2022.12.17 14:07:41.634 3: MB_USRW610_005: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h36, len 8, tid 73, master device MB_USRW610_005, reading System_Power__W (getUpdate for combined h36 len 2 System_Power__W with h42 len 2 System_Serial_Nr), queued 16.31 secs ago, sent 2.00 secs ago
2022.12.17 14:07:43.636 3: MB_USRW610_005: Timeout waiting for a modbus response, read buffer empty,
request: id 1, read fc 3 h88, len 2, tid 238, master device MB_USRW610_005, reading Relay2_Energy_Type (getUpdate for Relay2_Energy_Type len 2), queued 18.31 secs ago, sent 2.00 secs ago


Woher weis ich die Welcher Zähler welche Nummer hat?

Die Einstellungen im Konrektor stimmen bestimmt auch noch nicht. Was muss da rein?

Edit:
defmod MB_USRW610_005 ModbusSDM630M 1 15 192.168.136.36:8899 TCP
attr MB_USRW610_005 icon stromzaehler_icon@green
attr MB_USRW610_005 room MODBUS
attr MB_USRW610_005 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)
attr MB_USRW610_005 verbose 3
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Wzut

check doch erst einmal ob dein SDM630 auch auf Modbus ID 1 steht und wie die Bausrate gesetzt ist - deine 57600 sind bestimmt viel zu hoch.
Ich habe zwar keine SDM630 sondern nur SDM72 aber die laufen gut mit nur 9600 - war auch default.
ZitatWoher weis ich die Welcher Zähler welche Nummer hat?
hast denn mehr als einen ?
Die Anleitung des SDM630 hast du gelesen ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

holzwurm83

Zitat von: Wzut am 17 Dezember 2022, 14:38:01
check doch erst einmal ob dein SDM630 auch auf Modbus ID 1 steht und wie die Bausrate gesetzt ist - deine 57600 sind bestimmt viel zu hoch.
Ich habe zwar keine SDM630 sondern nur SDM72 aber die laufen gut mit nur 9600 - war auch default.hast denn mehr als einen ?
Die Anleitung des SDM630 hast du gelesen ?
Danke Dir! Anleitung war der richtige Punkt. Ich haben die V3 Bestellt und hatte die Anleitung von V2.
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

etstudent

Hallo, kurzes Feedback zum UserReading: attr Xtender_AC_in userReadings Verbrauch_Enel:Energy_total__kWh { ReadingsNum("$name","Energy_total__kWh",0)-159.01 . " kWh";; }

Bei mir (6.1) hat das nicht funktioniert, erst als ich in diesem Thread (https://forum.fhem.de/index.php?topic=90335.0) gelesen habe, dass man ".*" hinzufügen muss, gings. Also:
attr Xtender_AC_in userReadings Verbrauch_Enel:Energy_total__kWh.* { ReadingsNum("$name","Energy_total__kWh",0)-159.01 . " kWh";; }

Grüße

gexle

Hallo

Es sind ALLE Modelle des SDM630 nicht saldierend, AUSSER das nicht geeichte Model ab Baujahr 2022. (Art.Nr. 1141113)

Der Zähler funktioniert ganz sicher Phasen saldierend??

Ich suche schon lange einen!

Danke euch

laserrichi

ich habe seit november einen neuen zähler vom EV mit 2 Richtungen

der SDM630 den gexle genannt hat habe ich auch schon gesehen aber ich tausch den jetzt nicht.

seitdem nutze ich folgendes userreading:
    

Energy_export_calc_kWh monotonic {ReadingsNum("$name","Energy_export__kWh","") - ReadingsNum("$name","Energy_import__kWh","");},
Energy_import_calc_kWh monotonic {ReadingsNum("$name","Energy_import__kWh","") - ReadingsNum("$name","Energy_export__kWh","");},
Energy_export_sald_kWh {sprintf('%.2f kWh', ReadingsVal("$name","Energy_export_calc_kWh",""))},
Energy_import_sald_kWh {sprintf('%.2f kWh', ReadingsVal("$name","Energy_import_calc_kWh",""))},
Real_export_sald_kWh {sprintf('%.0f kWh', ReadingsNum("$name","Energy_export_sald_kWh","") - 243.5)},
Real_import_sald_kWh {sprintf('%.0f kWh', ReadingsNum("$name","Energy_import_sald_kWh","") - 6078)}

und ich habe jetzt bei Einspeisung am SDM630 1697kWh und beim EV  1693kWh  und beim bezug sagt der SDM630 296kWh und der vom EV 291kWh

das sind meines erachtens reine Toleranzen von der Messung. Damit kann ich leben.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

holzwurm83

#50
Hallo zusammen,

ich habe 5 SDM630M V3 und das Problem das die Werte die ankommen nicht immer stimmen. Die Werte werden teilweise in anderen readings angezeigt.
Ich verstehe leider nicht woran das liegt.

Hier ist mal die Definition:
defmod MB_USRW610_111 ModbusSDM630M 111 65 192.168.136.36:8899 TCP
attr MB_USRW610_111 alias Preis
attr MB_USRW610_111 busDelay 0.5
attr MB_USRW610_111 clientSwitchDelay 0.5
attr MB_USRW610_111 icon stromzaehler_icon@green
attr MB_USRW610_111 room System->Geraete->Modbus
attr MB_USRW610_111 sortby 3
attr MB_USRW610_111 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)

Hier ein List:
Internals:
   DEF        111 65 192.168.136.36:8899 TCP
   DeviceName 192.168.136.36:8899
   EXPECT     idle
   FD         197
   FUUID      639dd6d1-f33f-afed-b5d8-344674a39f4fbaf8
   FVERSION   98_ModbusSDM630M.pm:?/2021-02-23
   IODev      MB_USRW610_111
   Interval   65
   LASTOPEN   1697368743.13865
   MODBUSID   111
   MODE       master
   MODULEVERSION Modbus 4.4.14 - 30.1.2023
   NAME       MB_USRW610_111
   NOTIFYDEV  global
   NR         1290
   NTFY_ORDER 50-MB_USRW610_111
   PARTIAL   
   PROTOCOL   TCP
   STATE      current:  714.9 (W)   Total:  521.711 (kWh)    Export: 49.941 (kWh)    Import: 0.000 (kWh)
   TCPConn    1
   TYPE       ModbusSDM630M
   devioLoglevel 3
   eventCount 13929
   nextOpenDelay 60
   FRAME:
     DATA       Q␆D1ӶD(��D-X�
     FCODE      183
     MODBUSID   67
     PDULEXP    15
     TID        0
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2023-10-20 23:20:11   Charge__kAh     197.002
     2023-10-20 23:16:56   CosPhi_L1__grd  0.0
     2023-10-20 23:16:56   CosPhi_L2__grd  0.0
     2023-10-20 23:16:56   CosPhi_L3__grd  -2.1
     2023-10-20 23:20:11   CosPhi__grd     0.0
     2023-10-20 23:18:02   Current_Avr__A  1.1
     2023-10-20 23:18:01   Current_L1__A   1.17
     2023-10-20 23:13:43   Current_L1_demand__A 0.75
     2023-10-20 23:18:01   Current_L2__A   0.55
     2023-10-20 23:13:43   Current_L2_demand__A 0.69
     2023-10-20 23:18:01   Current_L3__A   1.55
     2023-10-20 23:13:43   Current_L3_demand__A 0.94
     2023-10-20 23:13:43   Current_Max_L1_demand__A 0.00
     2023-10-20 23:13:43   Current_Max_L2_demand__A 0.00
     2023-10-20 23:13:43   Current_Max_L3_demand__A 6.51
     2023-10-20 23:20:12   Current_Max_N_demand__A 6.11
     2023-10-20 23:19:07   Current_N__A    1.04
     2023-10-20 23:15:52   Current_N_demand__A 0.60
     2023-10-20 23:18:02   Current_Sum__A  3.24
     2023-10-15 13:21:16   Demand_Period__minutes 60
     2023-10-15 13:21:16   Demand_Time__minutes 0
     2023-10-20 23:16:59   Energy_L1_export__kWh 0.000
     2023-10-20 23:16:59   Energy_L1_import__kWh 186.023
     2023-10-20 23:16:59   Energy_L1_total__kWh 0.000
     2023-10-20 23:16:59   Energy_L2_export__kWh 0.000
     2023-10-20 23:16:59   Energy_L2_import__kWh 142.559
     2023-10-20 23:16:59   Energy_L2_total__kWh 186.023
     2023-10-20 23:16:59   Energy_L3_export__kWh 0.000
     2023-10-20 23:16:59   Energy_L3_import__kWh 193.129
     2023-10-20 23:16:59   Energy_L3_total__kWh 142.559
     2023-10-20 23:20:11   Energy_apparent__kVAh 17.702
     2023-10-20 23:20:11   Energy_export__kVArh 0.000
     2023-10-20 23:20:11   Energy_export__kWh 49.941
     2023-10-20 23:20:11   Energy_import__kVArh 521.742
     2023-10-20 23:20:11   Energy_import__kWh 0.000
     2023-10-20 23:16:59   Energy_total__kVArh 214.694
     2023-10-20 23:16:59   Energy_total__kWh 521.711
     2023-10-20 23:20:11   Frequency__Hz   0.0
     2023-10-15 13:22:21   Modbus_Node_adr 111
     2023-10-15 13:19:08   Modbus_Parity_Stop 1stop.bit_no.parity
     2023-10-15 13:22:21   Modbus_Speed__baud 9.62964972193618e-35
     2023-10-20 23:20:11   PowerFactor     -214.8
     2023-10-20 23:16:56   PowerFactor_L1  -141.1
     2023-10-20 23:16:56   PowerFactor_L2  1.0
     2023-10-20 23:16:56   PowerFactor_L3  0.9
     2023-10-20 23:05:04   PowerFactor_inverted 60.6
     2023-10-20 23:16:56   Power_L1__VA    274.3
     2023-10-20 23:16:56   Power_L1__VAr   -9.9
     2023-10-20 23:16:56   Power_L1__W     274
     2023-10-20 23:16:56   Power_L2__VA    126.6
     2023-10-20 23:16:56   Power_L2__VAr   0.0
     2023-10-20 23:16:56   Power_L2__W     109
     2023-10-20 23:16:56   Power_L3__VA    361.5
     2023-10-20 23:16:56   Power_L3__VAr   0.0
     2023-10-20 23:16:56   Power_L3__W     333
     2023-10-20 23:11:33   Power_Max_demand__VA 2114.6
     2023-10-20 23:09:22   Power_Max_demand__W 2022.8
     2023-10-20 23:20:11   Power_Sum__VA   831.1
     2023-10-20 23:20:11   Power_Sum__VAr  0.0
     2023-10-20 23:20:11   Power_Sum__W    714.9
     2023-10-20 23:11:33   Power_Sum_demand__VA 606.0
     2023-10-20 23:20:11   Power_Sum_demand__W 564.2
     2023-10-15 13:22:21   Pulse_Divisor_1 0
     2023-09-05 10:36:48   Relay1_Energy_Type 2.27206533005626e-41
     2023-10-15 13:22:23   Relay2_Energy_Type 0
     2023-10-15 13:21:16   System_Current__A 10.00
     2023-10-15 13:22:21   System_Password 1000
     2023-10-15 13:19:08   System_Password_Lock locked
     2023-10-15 13:22:22   System_Power__W 6600
     2023-10-15 13:19:08   System_Pulse_Width__ms 100
     2023-10-15 13:22:22   System_Serial_Nr 6.65413870559409e+22
     2023-10-18 21:58:48   System_Type     3p4w
     2023-10-15 13:21:16   System_Voltage__V 220.0
     2023-10-20 23:05:04   THD_Current_L1__prz 0.0
     2023-10-20 23:05:04   THD_Current_L2__prz 0.0
     2023-10-20 23:05:04   THD_Current_L3__prz 36.1
     2023-10-20 23:05:04   THD_Current_avr__prz 0.0
     2023-10-20 23:07:14   THD_Voltage_L1_L2__prz 0.0
     2023-10-20 23:05:04   THD_Voltage_L1_N__prz 0.0
     2023-10-20 23:07:14   THD_Voltage_L2_L3__prz 0.0
     2023-10-20 23:05:04   THD_Voltage_L2_N__prz 5.4
     2023-10-20 23:07:14   THD_Voltage_L3_L1__prz 0.0
     2023-10-20 23:05:04   THD_Voltage_L3_N__prz 5.7
     2023-10-20 23:07:14   THD_Voltage_avr_LL__prz 0.0
     2023-10-20 23:05:04   THD_Voltage_avr_LN__prz 45.3
     2023-10-20 23:18:03   Voltage_Avr_L_to_L__V 405.4
     2023-10-20 23:16:56   Voltage_Avr__V  -30.9
     2023-10-20 23:11:31   Voltage_L1__V   233.3
     2023-10-20 23:16:58   Voltage_L1_to_L2__V 405.9
     2023-10-20 23:11:31   Voltage_L2__V   234.2
     2023-10-20 23:16:58   Voltage_L2_to_L3__V 405.8
     2023-10-20 23:11:31   Voltage_L3__V   233.4
     2023-10-20 23:16:58   Voltage_L3_to_L1__V 405.0
     2023-10-15 13:19:03   state           opened
   REMEMBER:
     lid        111
     lname      MB_USRW610_111
     lrecv      1697836847.78986
     lsend      1697836812.4808
   defptr:
     MB_USRW610_111 111
   gotReadings:
     Current_Max_N_demand__A 6.11
   lastRead:
     h0         1697368876.67507
     h10        1697659128.89751
     h12        1697368748.32312
     h14        1697368748.32344
     h18        1697368748.32381
     h2         1697368876.67541
     h20        1697368941.91279
     h22        1697368941.91325
     h24        1697368941.91356
     h28        1697368941.91399
     h36        1697368942.70859
     h42        1697368942.70892
     h6         1697368876.67578
     h8         1697368876.67612
     h88        1697368943.4911
     i0         1697836291.71436
     i10        1697836681.70342
     i100       1697836293.3533
     i102       1697836293.35366
     i104       1697836552.55951
     i106       1697836812.54033
     i12        1697836616.79515
     i14        1697836616.79554
     i16        1697836616.79593
     i18        1697836616.7963
     i2         1697836291.71498
     i20        1697836616.79668
     i200       1697836618.46643
     i202       1697836618.46686
     i204       1697836618.46723
     i206       1697836683.41842
     i22        1697836616.79706
     i224       1697836747.54683
     i234       1697835904.31626
     i236       1697835904.31666
     i238       1697835904.31708
     i24        1697836616.79745
     i240       1697835904.31749
     i242       1697835904.31792
     i244       1697835904.31834
     i248       1697835904.3188
     i250       1697835904.31922
     i254       1697835904.31965
     i258       1697836423.0192
     i26        1697836616.79782
     i260       1697836423.01963
     i262       1697836423.02006
     i264       1697836423.02044
     i266       1697836423.02086
     i268       1697836423.02127
     i28        1697836616.79825
     i30        1697836616.79866
     i32        1697836616.79906
     i334       1697836034.26729
     i336       1697836034.26771
     i338       1697836034.26812
     i34        1697836616.79944
     i340       1697836034.26852
     i342       1697836619.29587
     i344       1697836619.29626
     i346       1697836619.29665
     i348       1697836619.29705
     i350       1697836619.29743
     i352       1697836619.29782
     i354       1697836619.29819
     i356       1697836619.29858
     i358       1697836619.29897
     i36        1697836616.79999
     i360       1697836619.29936
     i362       1697836619.29977
     i38        1697836616.80036
     i4         1697836291.71541
     i40        1697836616.80074
     i42        1697836616.80113
     i46        1697836682.62192
     i48        1697836682.6223
     i52        1697836811.78207
     i56        1697836811.78255
     i6         1697836681.7026
     i60        1697836811.78302
     i62        1697836811.78343
     i66        1697836811.78382
     i70        1697836811.78419
     i72        1697836811.78456
     i74        1697836811.78497
     i76        1697836811.78551
     i78        1697836811.7859
     i8         1697836681.703
     i80        1697836811.78642
     i82        1697836811.78907
     i84        1697836811.78948
     i86        1697836162.58146
Attributes:
   alias      Preis
   busDelay   0.5
   clientSwitchDelay 0.5
   icon       stromzaehler_icon@green
   room       System->Geraete->Modbus
   sortby     3
   stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)
   verbose    3
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

hobbyman

Hallo zusammen,
                               
Ich habe den TCP Server mit einem Elfin EE11 für den SDM630 mit dem Code 98_ModbusSDM630M.pm erfolgreich installiert. Die Readings sind mit Daten sichtbar.

Mein Problem:
Die neu eingerichteten Karten bekommen keine Daten. Folgendes habe ich gemacht:
define Power_L1_W  dummy      (neue Karte habe ich nur mit dummy erstellen können)
in stateFormat 
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))
Wie kann ich den z.B. Power_L1_W richtig definieren ? dummy richtig ?
Mir ist auch nicht klar, woher Power_L1_W die Bindung an ModbusSDM630M bzw. SDM630
erhält ?
Kann mir einer die richtigen Code Schnipsel für Power_L1_W     (define, attr) geben ?
Die anderen Readings bekomme ich dann selber hin.

Grüße
Wolfgang



fhem.cfg        Einträge
define SDM630 ModbusSDM630M 2 30 192.168.0.200:502 TCP
setuuid SDM630 6532b69b-f33f-0ba9-5de4-325875c36b6be0f4
attr SDM630 group SDM630
attr SDM630 icon measure_power_meter
attr SDM630 room Solaranlage,Verbindung
attr SDM630 stateFormat {sprintf("Energy: %.0f kWh", (ReadingsVal($name,"Energy_import__kWh",0) ) )." / Power:". sprintf("%.0f W", ReadingsVal($name,"Power_Sum__W",0)). " / L1:" . sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0)). " / L2:" . sprintf("%.0f W", ReadingsVal($name,"Power_L2__W",0)). " / L3:" . sprintf("%.0f W", ReadingsVal($name,"Power_L3__W",0))}
define Power_L1_W dummy
setuuid Power_L1_W 6533c094-f33f-0ba9-5df2-3251b276128a5544
attr Power_L1_W room Solaranlage
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))

holzwurm83

Ich habe nun auch folgende Fehler im LOG gefunden:

2023.10.22 12:41:42.620 3: MB_USRW610_111: readfn got data while EXPECT was set to idle: 000d000000070204043e3cc1bf
2023.10.22 12:41:42.620 3: MB_USRW610_231: readfn got data while EXPECT was set to idle: 000d000000070204043e3cc1bf
2023.10.22 12:41:42.630 3: MB_USRW610_001: readfn got data while EXPECT was set to idle: 000d000000070204043e3cc1bf
2023.10.22 12:41:42.630 3: MB_USRW610_241: readfn got data while EXPECT was set to idle: 000d000000070204043e3cc1bf
2023.10.22 12:41:43.436 3: MB_USRW610_111: readfn got data while EXPECT was set to idle: 0021000000070204043dc59af4
2023.10.22 12:41:43.437 3: MB_USRW610_231: readfn got data while EXPECT was set to idle: 0021000000070204043dc59af4
2023.10.22 12:41:43.438 3: MB_USRW610_001: readfn got data while EXPECT was set to idle: 0021000000070204043dc59af4
2023.10.22 12:41:43.438 3: MB_USRW610_241: readfn got data while EXPECT was set to idle: 0021000000070204043dc59af4
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

satprofi

Zitat von: hobbyman am 21 Oktober 2023, 22:09:34Hallo zusammen,
                               
Ich habe den TCP Server mit einem Elfin EE11 für den SDM630 mit dem Code 98_ModbusSDM630M.pm erfolgreich installiert. Die Readings sind mit Daten sichtbar.

Mein Problem:
Die neu eingerichteten Karten bekommen keine Daten. Folgendes habe ich gemacht:
define Power_L1_W  dummy      (neue Karte habe ich nur mit dummy erstellen können)
in stateFormat 
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))
Wie kann ich den z.B. Power_L1_W richtig definieren ? dummy richtig ?
Mir ist auch nicht klar, woher Power_L1_W die Bindung an ModbusSDM630M bzw. SDM630
erhält ?
Kann mir einer die richtigen Code Schnipsel für Power_L1_W     (define, attr) geben ?
Die anderen Readings bekomme ich dann selber hin.

Grüße
Wolfgang



fhem.cfg        Einträge
define SDM630 ModbusSDM630M 2 30 192.168.0.200:502 TCP
setuuid SDM630 6532b69b-f33f-0ba9-5de4-325875c36b6be0f4
attr SDM630 group SDM630
attr SDM630 icon measure_power_meter
attr SDM630 room Solaranlage,Verbindung
attr SDM630 stateFormat {sprintf("Energy: %.0f kWh", (ReadingsVal($name,"Energy_import__kWh",0) ) )." / Power:". sprintf("%.0f W", ReadingsVal($name,"Power_Sum__W",0)). " / L1:" . sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0)). " / L2:" . sprintf("%.0f W", ReadingsVal($name,"Power_L2__W",0)). " / L3:" . sprintf("%.0f W", ReadingsVal($name,"Power_L3__W",0))}
define Power_L1_W dummy
setuuid Power_L1_W 6533c094-f33f-0ba9-5df2-3251b276128a5544
attr Power_L1_W room Solaranlage
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))

was genau brauchst du? Power_L1__W hast ja als readings. wenn du das weiterverwenden willst, einfach diese readinhs verknüpfen.
Oder nur als Übersicht ? mache ich mit stateFormat. Power_Sum__W  Energy_export__kWh Energy_import__kWh<br>
L1 Power_L1__W<br>
L2 Power_L2__W<br>
L3 Power_L3__W
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

laserrichi

Zitat von: holzwurm83 am 20 Oktober 2023, 23:22:30Hallo zusammen,

ich habe 5 SDM630M V3 und das Problem das die Werte die ankommen nicht immer stimmen. Die Werte werden teilweise in anderen readings angezeigt.
Ich verstehe leider nicht woran das liegt.


sind alle an dem selben bus ?
Ich hatte auch immer mal probleme das readings nicht stimmten, und habe dann die baudrate runtergesetzt auf 9600.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

hobbyman

Hallo satprofi,

einfach diese readinhs verknüpfen.
Oder nur als Übersicht ? mache ich mit stateFormat.
Power_Sum__W  Energy_export__kWh Energy_import__kWh<br>
L1 Power_L1__W<br>
L2 Power_L2__W<br>
L3 Power_L3__W

Ich möchte diverse Werte auf das Dashboard bringen.

Für L1  habe ich
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))
eingetragen, erhalte aber keine Daten. Im Moment weiß ich nicht weiter.
Grüße
Wolfgang

holzwurm83

Zitat von: laserrichi am 22 Oktober 2023, 18:51:58sind alle an dem selben bus ?
Ich hatte auch immer mal probleme das readings nicht stimmten, und habe dann die baudrate runtergesetzt auf 9600.



Hi, ja die sind alle am gleichen Bus und laufen auf 9600.

Habe das jetzt auch mal wie folgt umgebaut, aber das ist nicht besser geworden:
define Gateway_Modbus Modbus 192.168.136.36:8899
attr Gateway_Modbus room System->Geraete->Modbus

define MB_USRW610_001 ModbusSDM630M 1 60 TCP
attr MB_USRW610_001 IODev Gateway_Modbus
attr MB_USRW610_001 busDelay 0.5
attr MB_USRW610_001 clientSwitchDelay 0.5
attr MB_USRW610_001 event-on-change-reading .*
attr MB_USRW610_001 icon stromzaehler_icon@green
attr MB_USRW610_001 room System->Geraete->Modbus
attr MB_USRW610_001 sortby 1
attr MB_USRW610_001 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)

define MB_USRW610_002 ModbusSDM630M 2 90 TCP
attr MB_USRW610_002 IODev Gateway_Modbus
attr MB_USRW610_002 busDelay 0.5
attr MB_USRW610_002 clientSwitchDelay 0.5
attr MB_USRW610_002 event-on-change-reading .*
attr MB_USRW610_002 icon stromzaehler_icon@green
attr MB_USRW610_002 room System->Geraete->Modbus
attr MB_USRW610_002 sortby 2
attr MB_USRW610_002 stateFormat current: Power_Sum__W (W) Total: Energy_total__kWh (kWh) Export: Energy_export__kWh (kWh) Import: Energy_import__kWh (kWh)

define MB_USRW610_231 ModbusSDM630M 231 70 TCP
attr MB_USRW610_231 IODev Gateway_Modbus
attr MB_USRW610_231 busDelay 0.5
attr MB_USRW610_231 clientSwitchDelay 0.5
attr MB_USRW610_231 event-on-change-reading .*
attr MB_USRW610_231 icon stromzaehler_icon@green
attr MB_USRW610_231 room System->Geraete->Modbus
attr MB_USRW610_231 sortby 4
attr MB_USRW610_231 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)

define MB_USRW610_241 ModbusSDM630M 241 75 TCP
attr MB_USRW610_241 IODev Gateway_Modbus
attr MB_USRW610_241 busDelay 0.5
attr MB_USRW610_241 clientSwitchDelay 0.5
attr MB_USRW610_241 event-on-change-reading .*
attr MB_USRW610_241 icon stromzaehler_icon@green
attr MB_USRW610_241 room System->Geraete->Modbus
attr MB_USRW610_241 sortby 5
attr MB_USRW610_241 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)

defmod MB_USRW610_111 ModbusSDM630M 111 65 TCP
attr MB_USRW610_111 IODev Gateway_Modbus
attr MB_USRW610_111 busDelay 0.5
attr MB_USRW610_111 clientSwitchDelay 0.5
attr MB_USRW610_111 event-on-change-reading .*
attr MB_USRW610_111 icon stromzaehler_icon@green
attr MB_USRW610_111 room System->Geraete->Modbus
attr MB_USRW610_111 sortby 3
attr MB_USRW610_111 stateFormat current:  Power_Sum__W (W)   Total:  Energy_total__kWh (kWh)    Export: Energy_export__kWh (kWh)    Import: Energy_import__kWh (kWh)
attr MB_USRW610_111 verbose 3
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

satprofi

Zitat von: hobbyman am 22 Oktober 2023, 19:51:31Hallo satprofi,

einfach diese readinhs verknüpfen.
Oder nur als Übersicht ? mache ich mit stateFormat.
Power_Sum__W  Energy_export__kWh Energy_import__kWh<br>
L1 Power_L1__W<br>
L2 Power_L2__W<br>
L3 Power_L3__W

Ich möchte diverse Werte auf das Dashboard bringen.

Für L1  habe ich
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))
eingetragen, erhalte aber keine Daten. Im Moment weiß ich nicht weiter.
Grüße
Wolfgang


Hallo.
Möchtest du dummys befüllen, sehe ich das richtig?

Dann versuch mal mit notify oder DOIF.

Beispiel für Gesamtleistung
define Leistung dummy
define DI_Leistung DOIF ([PowerMeter:Power_Sum__W]) ({ my $sld = ((ReadingsNum('PowerMeter','Power_Sum__W','')) * (1)) ;fhem("set Leistung $sld")})

Stromkosten
define Kosten dummy
define DI_Stromkosten DOIF ([PowerMeter:Energy_import__kWh]) ({my $sld = (ReadingsNum('PowerMeter','Energy_import__kWh','') *0.25); fhem("set Stromkosten $sld");})

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

300P

Zitat von: hobbyman am 21 Oktober 2023, 22:09:34Hallo zusammen,
                               
Ich habe den TCP Server mit einem Elfin EE11 für den SDM630 mit dem Code 98_ModbusSDM630M.pm erfolgreich installiert. Die Readings sind mit Daten sichtbar.

Mein Problem:
Die neu eingerichteten Karten bekommen keine Daten. Folgendes habe ich gemacht:
define Power_L1_W  dummy      (neue Karte habe ich nur mit dummy erstellen können)
in stateFormat 
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))
Wie kann ich den z.B. Power_L1_W richtig definieren ? dummy richtig ?
Mir ist auch nicht klar, woher Power_L1_W die Bindung an ModbusSDM630M bzw. SDM630
erhält ?
Kann mir einer die richtigen Code Schnipsel für Power_L1_W    (define, attr) geben ?
Die anderen Readings bekomme ich dann selber hin.

Grüße
Wolfgang



fhem.cfg        Einträge
define SDM630 ModbusSDM630M 2 30 192.168.0.200:502 TCP
setuuid SDM630 6532b69b-f33f-0ba9-5de4-325875c36b6be0f4
attr SDM630 group SDM630
attr SDM630 icon measure_power_meter
attr SDM630 room Solaranlage,Verbindung
attr SDM630 stateFormat {sprintf("Energy: %.0f kWh", (ReadingsVal($name,"Energy_import__kWh",0) ) )." / Power:". sprintf("%.0f W", ReadingsVal($name,"Power_Sum__W",0)). " / L1:" . sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0)). " / L2:" . sprintf("%.0f W", ReadingsVal($name,"Power_L2__W",0)). " / L3:" . sprintf("%.0f W", ReadingsVal($name,"Power_L3__W",0))}
define Power_L1_W dummy
setuuid Power_L1_W 6533c094-f33f-0ba9-5df2-3251b276128a5544
attr Power_L1_W room Solaranlage
attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))



Hallo @hobbyman

hier müsste / liegt der Fehler begraben:
im Modul Dummy gibt es den Wert (zu diesem Zeitpunkt) (noch) nicht

attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal($name,"Power_L1__W",0))


Es muss n.m.M. lauten:


attr Power_L1_W stateFormat sprintf("%.0f W", ReadingsVal("SDM630","Power_L1__W",0))


Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

300P

Zitat von: holzwurm83 am 20 Oktober 2023, 23:22:30Hallo zusammen,

ich habe 5 SDM630M V3 und das Problem das die Werte die ankommen nicht immer stimmen. Die Werte werden teilweise in anderen readings angezeigt.
Ich verstehe leider nicht woran das liegt.


@holzwurm83:

Ab und an habe ich bei den Readings bei mir auch immer mal wieder "falsche"-Readings aus anderen Modbus-Devices.
Meist passiert es bei mir mit einer seriellen 8-Kanal-Temperatursensorenkarte und ich sehe es in den Grafiken das da was fehlt. :o  >:(
Die "richtigen" Readings (Temperaturen) werden dann im Modul gar nicht mehr gelesen, es werden dann Werte aus irgendeinem anderen Modbus-Device dort gelesen und angezeigt.

Ich rette mich so alle 1-2 Monate wie folgt:
- Erstellen einer "defmod"-Kopie des Device
- Lösche einmalig dann das Device
- speichere per save einmal die fhem-Einstellungen
- füge mittels raw-definition die Device-Kopie wieder els "neues" device ein. :-X

Eine saubere Lösung habe ich nicht parat - einzig das du evtl. alle notwendigen Parameter für das define zur Sicherheit angibst:
define SDM630M ModbusSDM630M <Id> <Interval> <Address:Port> <RTU|ASCII|TCP>

Gruß
300P
FHEM 6.3 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - DbLog/DbRep - MariaDB/QNAP - div. HTTPMOD - div. Modbus ser+TCP - SolarForecast - Tibber + Ladung mit SMA-SBS25

laserrichi

also das  Elfin EE11  kenne ich jetzt nicht.

Ich mache das mit einem Espeasy einfach mit RS485 Pegelwandler als Serielle Schnittstelle.

Ich habe daher bei mir das ganze mit RTU definiert und der modbusproxy handled das ganze, auch habe ich keine delays usw. drin.
Würde da mal an der elfin config schauen ob du da noch was drehen kannst.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Guzzi-Charlie

Hallo,
Hat schonmal Jemand den Zähler DS100-30B von B+G E-Tech LINK erfolgreich ausgelesen/eingebunden?

Ich habe versucht das Modul des SDM630 anzupassen, also die Modbus-Register angepaßt. Leider hat es so einfach nicht geklappt. In den Downloads zum Zähler gibt es zwar eine umfangreiche Liste aller auslesbaren Werte und der zugehörigen Modbus-Register, aber ich weiß z.B. nicht mit welchen Funktions-Codes der Zähler angesprochen werden muß und vielleicht stimmen auch meine Registereintragungen nicht. Mit dem ebenfalls herunterladbaren Windows-Tool läßt sich der Zähler (über einen RS485/USB-Adapter) problemlos auslesen und auch einstellen.

Wenn Jemand eine Idee hat wie ich weiter vorgehen könnte wäre das Super.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

satprofi

Hallo @all

Wollte euch nur mitteilen, das der SDM630M supergenau misst. Habe einen IR-Kopf auf meinem Smartmeter, und der passt +-5W mit den Ergebnissen vom 630M zusammen.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Guzzi-Charlie

Hallo,
nach langer Zeit habe ich mal wieder versucht den DS100 Zähler endlich in Fhem einzubinden.

Grundsätzlich ist mir das inzwischen gelungen, aber ich bekomme immer noch nicht alle Werte ausgelesen. Ich weiß nicht woran es liegt, aber das Modbus-Modul oder/und die Einstellparameter verhalten sich sehr seltsam. Vielleicht bin ich aber auch nur zu blöd das Ganze richtig einzusetzen.

Das ist der momentan erreichte Stand:
  • Die Verbindung des modifizierten SDM630-Moduls mit dem Modbusmodul funktioniert.
  • Ich kann die 32Bit-Werte auslesen (abgesehen davon, daß die Werte alle um den Faktor 1000 zu hoch sind, aber das kann man ja konfigurieren).
  • 16Bit-Werte funktionieren praktisch nicht.
  • Die meisten unpacking Parameter haben im besten Fall gar keine Wirkung oder bringen im schlimmsten Fall FHEM zum Absturz.

Im Moment fällt mir wirklich nichts mehr ein.

Beispiel einer funktionierenden Verbindung:
Modbusregister: 1024
Registerlänge: 2
Datenart: INT32(3+3)

Programmierung im Modul (Auszug):
my %DS100BdeviceInfo = (
    "timing"    =>    {
            timeout        =>    5,        # 2 seconds timeout when waiting for a response
            commDelay    =>    0.7,        # 0.7 seconds minimal delay between two communications e.g. a read a the next write,
                                # can be overwritten with attribute commDelay if added to AttrList in _Initialize below
            sendDelay    =>    0.7,        # 0.7 seconds minimal delay between two sends, can be overwritten with the attribute
                                # sendDelay if added to AttrList in _Initialize function below
            },
    "i"            =>    {            # details for "input registers" if the device offers them
            read        =>    4,        # use function code 4 to read discrete inputs. They can not be read by definition.
            defLen        =>    2,        # default length (number of registers) per value ((e.g. 2 for a float of 4 bytes that spans 2 registers)
                                # can be overwritten in parseInfo per reading by specifying the key "len"
            combine        =>    10,        # allow combined read of up to 10 adjacent registers during getUpdate
#            combine        =>    1,        # no combined read (read more than one registers with one read command) during getUpdate
#            defFormat    =>    "%.3f",        # default format string to use after reading a value in sprintf
                                # can be overwritten in parseInfo per reading by specifying the key "format"
            defUnpack    =>    "I>",        # default pack / unpack code to convert raw values, e.g. "n" for a 16 bit integer oder
                                # "f>" for a big endian float IEEE 754 floating-point numbers
                                # can be overwritten in parseInfo per reading by specifying the key "unpack"
            defPoll        =>    1,        # All defined Input Registers should be polled by default unless specified otherwise in parseInfo or by attributes
            defShowGet    =>    1,        # default für showget Key in parseInfo
            },
    "h"            =>    {            # details for "holding registers" if the device offers them
            read        =>    3,        # use function code 3 to read holding registers.
            write        =>    16,        # use function code 6 to write holding registers (alternative could be 16)
            defLen        =>    3,        # default length (number of registers) per value (e.g. 2 for a float of 4 bytes that spans 2 registers)
                                # can be overwritten in parseInfo per reading by specifying the key "len"
            combine        =>    10,        # allow combined read of up to 10 adjacent registers during getUpdate
            defUnpack    =>    "f>",        # default pack / unpack code to convert raw values, e.g. "n" for a 16 bit integer oder
                                # "f>" for a big endian float IEEE 754 floating-point numbers
                                # can be overwritten in parseInfo per reading by specifying the key "unpack"
            defShowGet    =>    1,        # default für showget Key in parseInfo
            },
.
.
.
.

my %DS100BparseInfo = (
#    Spannung L3,        nur bei jedem 11. Zyklus    10s --> 1min 50s
    "i1028"    =>    {    # input register 0x0400
                    name        => "A phase and N-phase voltage",       
                    reading        => "Voltage_L3",               
#                    format        => '%.1f V',                   
                    format        => '%.1f',                   
                    expr        => '$val / 1000',
                    polldelay    => "x11",
Empfangene Hex-Daten (Test mit einem Modbustool): 33 04 04 00 03 8a 7a fe c4
Empfangene Dezimal-Daten (in FHEM): 232058
nach Dezimalstellenkorrektur: 232,058 (V)
=> der Wert ist richtig

Beispiel einer nicht funktionierenden Verbindung:
Modbusregister: 1077
Registerlänge: 1
Datenart: INT16(2+1)

Programmierung im Modul (Auszug):
#    Frequenz,            nur bei jedem 13. Zyklus:    10s --> 2min 10s
    "i1077" =>    {    # input register 0x0435
                    name        => "Combined frequency",           
                    reading        => "Frequency",                   
                    expr        => '$val / 10',
                    len        => 2,        wenn man len=1 eingibt gibt es gar kein Ergebnis
                    unpack        => "I>",
#                    format        => '%.1f Hz',                   
                    format        => '%.1f',                   
                    polldelay    => "x13",                   
                },
Empfangene Hex-Daten (Test mit einem Modbustool):  33 04 02 01 f3 c1 21
=> in Dezimal wäre das 499
Empfangene Dezimal-Daten (in FHEM): 3270246.4
=> der Wert ist vollkommen unsinnig

Vielleicht mache ich ja hier auch eine Menge Blödsinn, aber bisher weiß ich es nicht besser. Es wäre schön wenn ich etwas Hilfe bekommen könnte.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2

Guzzi-Charlie

So, neuer Stand (es funktioniert endlich):

Nachdem ich mehrere Tage versucht hatte das Modul vom SDM120 für den DS100B anzupassen habe ich es Heute aufgegeben und das Ganze mit dem Modbusattr-Modul neu aufgebaut. Das hat mich zwar auch einiges an Mühe gekostet da ich das Modbusattr-Modul auch noch nie verwendet hatte, aber schlußendlich funktioniert es jetzt. Der Zähler hängt am gleichen Modbus wie alle anderen 10 Zähler und ich habe nun alle für mich relevanten Daten (Code siehe unten). Man könnte noch eine Menge anderer Daten von diesem Zähler abfragen, aber die benötige ich nicht.

Das Gute an diesem Zähler ist der unschlagbare Preis von nur 54,-€ (B+G E-Tech über Amazon, bei Prime ohne Versandkosten) für einen direktmessenden dreiphasigen 100A Zähler mit Modbus,S0 und MID-Eichung.

Hier mein momentaner Stand:
defmod DS100B_52 ModbusAttr 52 30
attr DS100B_52 alias P502 Zähler ELW (Netzstrom)
attr DS100B_52 dev-h-defPoll 1
attr DS100B_52 dev-i-defPoll 1
attr DS100B_52 dev-type-F16-len 1
attr DS100B_52 dev-type-F16-unpack f>
attr DS100B_52 dev-type-S16_0-expr $val/10
attr DS100B_52 dev-type-S16_0-format %.1f
attr DS100B_52 dev-type-S16_0-len 1
attr DS100B_52 dev-type-S16_0-unpack s>
attr DS100B_52 dev-type-S32-len 2
attr DS100B_52 dev-type-S32-unpack l>
attr DS100B_52 dev-type-S32_00-expr $val/100
attr DS100B_52 dev-type-S32_00-format %.2f
attr DS100B_52 dev-type-S32_00-len 2
attr DS100B_52 dev-type-S32_00-unpack l>
attr DS100B_52 dev-type-S32_000-expr $val/1000
attr DS100B_52 dev-type-S32_000-format %.3f
attr DS100B_52 dev-type-S32_000-len 2
attr DS100B_52 dev-type-S32_000-unpack l>
attr DS100B_52 disable 0
attr DS100B_52 event-min-interval .*:300
attr DS100B_52 event-on-change-reading .*
attr DS100B_52 group ELW
attr DS100B_52 icon measure_power
attr DS100B_52 obj-h4096-expr sprintf("%X", $val)
attr DS100B_52 obj-h4096-reading Serial_No_a
attr DS100B_52 obj-h4096-unpack s>
attr DS100B_52 obj-h4097-expr sprintf("%X", $val)
attr DS100B_52 obj-h4097-reading Serial_No_b
attr DS100B_52 obj-h4097-unpack s>
attr DS100B_52 obj-h4098-expr sprintf("%X", $val)
attr DS100B_52 obj-h4098-reading Serial_No_c
attr DS100B_52 obj-h4098-unpack s>
attr DS100B_52 obj-h4099-reading Modbus_ID
attr DS100B_52 obj-h4099-type F16
attr DS100B_52 obj-h4099-unpack s>
attr DS100B_52 obj-h4108-hint 6,7,8,9
attr DS100B_52 obj-h4108-map 6:9600, 7:19200, 8:38400, 9:115200
attr DS100B_52 obj-h4108-reading RS485_Baudrate
attr DS100B_52 obj-h4108-type F16
attr DS100B_52 obj-h4108-unpack s>
attr DS100B_52 obj-h4109-hint 0,1,2
attr DS100B_52 obj-h4109-map 0:no.parity, 1:odd, 2:even
attr DS100B_52 obj-h4109-reading RS485_Parity
attr DS100B_52 obj-h4109-type F16
attr DS100B_52 obj-h4109-unpack s>
attr DS100B_52 obj-h4110-reading RS485_Stopbit
attr DS100B_52 obj-h4110-type F16
attr DS100B_52 obj-h4110-unpack s>
attr DS100B_52 obj-i0270-reading Energy_total__kWh
attr DS100B_52 obj-i0270-type S32_00
attr DS100B_52 obj-i1024-reading Voltage_L1
attr DS100B_52 obj-i1024-type S32_000
attr DS100B_52 obj-i1026-reading Voltage_L2
attr DS100B_52 obj-i1026-type S32_000
attr DS100B_52 obj-i1028-reading Voltage_L3
attr DS100B_52 obj-i1028-type S32_000
attr DS100B_52 obj-i1030-reading Voltage_L1L2
attr DS100B_52 obj-i1030-type S32_000
attr DS100B_52 obj-i1032-reading Voltage_L2L3
attr DS100B_52 obj-i1032-type S32_000
attr DS100B_52 obj-i1034-reading Voltage_L3L1
attr DS100B_52 obj-i1034-type S32_000
attr DS100B_52 obj-i1040-reading Current_L1
attr DS100B_52 obj-i1040-type S32_000
attr DS100B_52 obj-i1042-reading Current_L2
attr DS100B_52 obj-i1042-type S32_000
attr DS100B_52 obj-i1044-reading Current_L3
attr DS100B_52 obj-i1044-type S32_000
attr DS100B_52 obj-i1046-reading Current_N
attr DS100B_52 obj-i1046-type S32_000
attr DS100B_52 obj-i1050-reading Power_L1__W
attr DS100B_52 obj-i1050-type S32
attr DS100B_52 obj-i1052-reading Power_L2__W
attr DS100B_52 obj-i1052-type S32
attr DS100B_52 obj-i1054-reading Power_L3__W
attr DS100B_52 obj-i1054-type S32
attr DS100B_52 obj-i1056-reading Power_total__W
attr DS100B_52 obj-i1056-type S32
attr DS100B_52 obj-i1077-reading Frequency
attr DS100B_52 obj-i1077-type S16_0
attr DS100B_52 obj-i1280-reading Energy_L1__kWh
attr DS100B_52 obj-i1280-type S32_00
attr DS100B_52 obj-i1380-reading Energy_L2__kWh
attr DS100B_52 obj-i1380-type S32_00
attr DS100B_52 obj-i1480-reading Energy_L3__kWh
attr DS100B_52 obj-i1480-type S32_00
attr DS100B_52 room Energiezähler
attr DS100B_52 stateFormat {"P L1: ".ReadingsVal($name,"Power_L1__W",0)." W          ".\
"P L2: ".ReadingsVal($name,"Power_L2__W",0)." W          ".\
"P L3: ".ReadingsVal($name,"Power_L3__W",0)." W          ".\
"P ges: ".ReadingsVal($name,"Power_total__W",0)." W          ".\
"E: ".sprintf("%.2f",ReadingsVal($name,"Energy_total__kWh",0))." kWh          "\
}
attr DS100B_52 userReadings Serial_No {ReadingsVal("$name", "Serial_No_a", "").\
          sprintf("%04d",ReadingsVal("$name", "Serial_No_b", "")).\
          sprintf("%04d",ReadingsVal("$name", "Serial_No_c", ""))}



Warum die Werte bei meinem Versuch über das angepaßte Modul teilweise so seltsame Ergebnisse geliefert hatten weiß ich auch nicht, aber egal.

Damit haben sich meine im vorherigen Beitrag genannten Probleme/Fragen erledigt. Das muß sich Niemand mehr anschauen.
- RaspPI 4+: (Cuno V2 -2x KS300, JeeLink -13x EC3000)
- Stromzähler (B+G E-Tech): 6x SDM120M, 9x XTM100A, 38x DRS110M
- LAN: IT LAN-Gateway mit 34x RMF-R1 (Rohrmotor24)
- WLAN: 85x Shelly, 12x Gosund SP111, 16x D1-Mini, 15x Sonoff Basic
- DECT: 6x DECT200, 8x DECT301, - HmIP: 3x FalmotC12, 16x WTH2