Modbus > Register bei E3DC S10 Energy Storage - Readings scrambled?

Begonnen von juanmax, 26 Juli 2017, 21:10:36

Vorheriges Thema - Nächstes Thema

Faber38

Nun nach einigen Wochen kann ich dieses Ergebnis vorweisen...
ohne jeglichen Ausreisser...

Zitatdefine S10 ModbusAttr 1 20 192.168.38.44:502 TCP
attr S10 userattr devStateIcon event-min-interval event-on-change-reading icon obj-h40052-len obj-h40052-poll obj-h40052-reading obj-h40052-unpack obj-h40066-len obj-h40066-poll obj-h40066-reading obj-h40066-unpack obj-h40068-len obj-h40068-poll obj-h40068-reading obj-h40068-unpack obj-h40070-len obj-h40070-poll obj-h40070-reading obj-h40070-unpack obj-h40072-len obj-h40072-max obj-h40072-min obj-h40072-poll obj-h40072-reading obj-h40072-unpack obj-h40074-len obj-h40074-poll obj-h40074-reading obj-h40074-unpack obj-h40076-len obj-h40076-poll obj-h40076-reading obj-h40076-unpack obj-h40080-len obj-h40080-poll obj-h40080-reading obj-h40080-unpack obj-h40081-len obj-h40081-poll obj-h40081-reading obj-h40081-unpack obj-h40082-len obj-h40082-poll obj-h40082-reading obj-h40082-unpack obj-h40083-len obj-h40083-poll obj-h40083-reading obj-h40083-unpack obj-h40084-len obj-h40084-poll obj-h40084-reading obj-h40084-unpack obj-h40101-len obj-h40101-poll obj-h40101-reading obj-h40101-unpack obj-h40102-len obj-h40102-poll obj-h40102-reading obj-h40102-unpack userReadings
attr S10 devStateIcon opened:rc_WEB@32CD32  disconnected:rc_WEB@red
attr S10 event-min-interval .*:3600
attr S10 event-on-change-reading .*
attr S10 group pumpe
attr S10 icon measure_photovoltaic_inst@yellow
attr S10 obj-h40052-len 16
attr S10 obj-h40052-poll 1
attr S10 obj-h40052-reading seriennr
attr S10 obj-h40052-unpack n
attr S10 obj-h40066-len 2
attr S10 obj-h40066-poll 1
attr S10 obj-h40066-reading sunwatt
attr S10 obj-h40066-unpack N
attr S10 obj-h40068-len 2
attr S10 obj-h40068-poll 1
attr S10 obj-h40068-reading battwatt0
attr S10 obj-h40068-unpack N
attr S10 obj-h40070-len 2
attr S10 obj-h40070-poll 1
attr S10 obj-h40070-reading homewatt0
attr S10 obj-h40070-unpack N
attr S10 obj-h40072-len 2
attr S10 obj-h40072-max 65537
attr S10 obj-h40072-min 0
attr S10 obj-h40072-poll 1
attr S10 obj-h40072-reading gridwatt0
attr S10 obj-h40072-unpack N
attr S10 obj-h40074-len 2
attr S10 obj-h40074-poll 1
attr S10 obj-h40074-reading zusatzwatt
attr S10 obj-h40074-unpack N
attr S10 obj-h40082-len 1
attr S10 obj-h40082-poll 1
attr S10 obj-h40082-reading battsoc
attr S10 obj-h40082-unpack n
attr S10 obj-h40084-len 1
attr S10 obj-h40084-reading ems
attr S10 obj-h40084-unpack n
attr S10 obj-h40101-len 1
attr S10 obj-h40101-reading s1_p
attr S10 obj-h40101-unpack n
attr S10 obj-h40102-len 1
attr S10 obj-h40102-reading s2_p
attr S10 obj-h40102-unpack n
attr S10 room Keller
Zitatattr S10 userReadings gridwatt { if (ReadingsVal("S10", "gridwatt0", "") <= 32768 ) {(ReadingsVal("S10", "gridwatt0", ""))} else {(ReadingsVal("S10", "gridwatt0", "")) - 65536 };; },\
battwatt { if (ReadingsVal("S10", "battwatt0", "") <= 32768 ) {(ReadingsVal("S10", "battwatt0", ""))} else {(ReadingsVal("S10", "battwatt0", "")) - 65536 };; },\
homewatt { if (ReadingsVal("S10", "homewatt0", "") <= 4294901759 ) {(ReadingsVal("S10", "homewatt0", ""))} else {(ReadingsVal("S10", "homewatt0", "")) - 4294967295 + 65536 };; },\
notstrom { (ReadingsVal("S10", "ems", "")) ;; },\
sun2wat { if (ReadingsVal("S10", "zusatzwatt", "") <= 4294901759 ) {(ReadingsVal("S10", "zusatzwatt", "")) - 65536 } else {(ReadingsVal("S10", "zusatzwatt", "")) - 4294967296 + 65536 };; },\
sun2wat2 { if (ReadingsVal("S10", "sun2wat", "") > 40000 ) {(ReadingsVal("S10", "sun2wat", "")) - 65536 } else {(ReadingsVal("S10", "sun2wat", "")) };; },\
sun2watt { if (ReadingsVal("S10", "sun2wat2", "") < -40000 ) {(ReadingsVal("S10", "sun2wat2", "")) + 65536 } else {(ReadingsVal("S10", "sun2wat2", "")) };; },\
sun2watt2 { (ReadingsVal("S10", "sun2watt", "")) *-1 ;; },\
Leistung { (ReadingsVal("S10", "sun2watt2", "")) + (ReadingsVal("S10", "sunwatt", "")) ;; }
Zitat###################################
#  E3DC Anzeigen
###################################
define E3DC readingsGroup S10:<Batterie>,battwatt S10:<Batterie_Status>,battsoc S10:<Süd/West>,sunwatt S10:<Ost>,sun2watt2 S10:<Gesamleistung>,Leistung S10:<Verbrauch>,homewatt S10:<Netz>,gridwatt S10:<NotStrom>,notstrom
attr E3DC group E3DC
attr E3DC room Allgemein
attr E3DC valueFormat {battsoc => "%.1f %" , homewatt => "%2f Watt" , sunwatt => "%3f Watt" , gridwatt => "%4f Watt" , battwatt => "%5f Watt" , notstrom => "%6f" , sun2watt2 => "%7f Watt" , Leistung => "%8f Watt" ,}
attr E3DC valueStyle { if($READING eq "battsoc" && $VALUE > 85) { 'style="color:green"'}elsif($READING eq "battsoc" && $VALUE > 60) { 'style="color:cyan"'}\
elsif($READING eq "battsoc" && $VALUE  > 35) { 'style="color:yellow"'}elsif($READING eq "battsoc" && $VALUE  > 20) { 'style="color:orange"'}\
elsif($READING eq "battsoc" && $VALUE  < 21 ) { 'style="color:red"'}\
elsif($READING eq "notstrom" && $VALUE > 1){ 'style="color:yellow"'}elsif($READING eq "notstrom" && $VALUE < 1) { 'style="color:orange"'}\
elsif($READING eq "homewatt" && $VALUE > 401){ 'style="color:orange"'}elsif($READING eq "homewatt" && $VALUE < 400){ 'style="color:green"'}\
elsif($READING eq "homewatt" && $VALUE > 1500){ 'style="color:yellow"'}elsif($READING eq "homewatt" && $VALUE > 3000){ 'style="color:red"'}\
elsif($READING eq "sunwatt" && $VALUE > 0){ 'style="color:yellow"'}elsif($READING eq "sunwatt" && $VALUE < 1){ 'style="color:white"'}\
elsif($READING eq "sun2watt2" && $VALUE > 0){ 'style="color:yellow"'}elsif($READING eq "sun2watt2" && $VALUE < 1){ 'style="color:white"'}\
elsif($READING eq "gridwatt" && $VALUE < 0){ 'style="color:green"'}elsif($READING eq "gridwatt" && $VALUE > 0){ 'style="color:red"'}\
elsif($READING eq "battwatt" && $VALUE > 0){ 'style="color:yellow"'}elsif($READING eq "battwatt" && $VALUE < 0){ 'style="color:green"'}\
elsif($READING eq "Leistung" && $VALUE > 1){ 'style="color:orange"'}elsif($READING eq "notstrom" && $VALUE > 3){ 'style="color:red"'} }
###################################
##---- Ende
###################################

JueFi

Erstmal herzlichen Dank für die vielen Infos zur Anbindung des E3DC.

Per Modbus kann man aber ja wohl nur lesend darauf zugreifen.
Ich würde gerne "per Knopfdruck" aus FHEM das Entladen der Batterien des E3DC sperren, wenn ich mein eAuto an der Steckdose lade (ich habe keine Wallbox, sondern lade per NRGkick an einer CEE Steckdose).
Per RSCP soll das ja gehen.
Gibt es da schon etwas in FHEM, das ich nutzen kann (gerne kann dazu auch ein eigener Thread gemacht werden) ?

Ich habe zu RSCP und E3DC das gefunden, damit komme ich aber leider nicht weiter, es fehlt vermutlich an KnowHow.
,Winter is coming' oder Sauregurkenzeit für PV-Anlagen Betreiber
https://elektromobilitaet-duelmen.de/2019/11/22/winter-is-coming/

E3DC Überschusssteuerung per RSCP und Raspberry PI
https://www.photovoltaikforum.com/thread/125497-e3dc-überschusssteuerung-per-rscp-und-raspberry-pi/?pageNo=1

marcus42

#32
Hallo Jürgen,

ich habe gerade Deine eMail erhalten und antworte mal direkt hier:

Du könntest zunächst mal einen Blick in diesen Thread werfen: https://forum.fhem.de/index.php?topic=98991.0 (ab Beitrag #6)

Dort habe ich ich ein paar fhem-spezifische technische Details zum Einbinden in fhem beschrieben.

Schau einfach mal dort nach und melde Dich dann einfach nochmal ggf. mit Detailfragen.

Grundsätzlich:
0. Das Tool e3dcset ist ein Kommandozeilenprogramm, dass Du auf einer Linux Büchse selber kompilieren kannst.
1. Runterladen mit 'git clone https://github.com/mschlappa/e3dcset.git'
2. Da die Zugangsdaten (im Moment noch) nicht separat in einer Datei liegen, sind sie vor dem Kompilieren im Quellcode zu hinterlegen
(Datei e3dcset.cpp)
3. im Verzeichnis e3dcset das Kommando 'make' aufrufen (je nach Power des Rechner dauert das ein paar Minuten)
4. Das kompilierte Tool liegt dann in diesem Verzeichnis

Aufruf von e3dcset ohne Parameter liefert dann:

Usage: e3dcset [-c maxLadeLeistung] [-d maxEntladeLeistung] [-e manuelleLadeEnergie] [-a]

Aufrufbeispiele:

'e3dcset -c 2400 -d 1'
=>Speicher wird mit maximal 2400 Watt geladen, Entladen nur 1 Watt ist quasi deaktiviert

'e3dcset -a'
=>Zurücksetzen auf Automatik (Laden, Entladen aktiviert)

JueFi

@marcus42
Ganz herzlichen Dank auch noch für die Unterstützung per Mail.

Ich schreibe nochmal ein paar Ergänzungen, die vielleicht auch anderen helfen.
Das RSCP Passwort muss gesetzt werden im Menü am E3DC unter
- Hauptmenü | Personalisieren | Benutzerprofil | RSCP-Passwort setzen

Ich musste das Tool mit ./e3dcset aufrufen

Usage: e3dcset [-c maxLadeLeistung] [-d maxEntladeLeistung] [-e manuelleLadeEnergie] [-a]

  • maxLadeLeistung in Watt und
    maxEntladeLeistung in Watt müssen zusammen gesetzt werden und schalten unter "SmartPower" auch direkt die Funktion der "Manuellen Speicher-Ladeleistung und Speicher-Entladeleistung" ein.
  • manuelleLadeEnergie in WattStunden schaltet auch direkt die Funktion der "Manuellen Speicherladung" ein und der Akku wird mit der Energiemenge aufgeladen.
  • -a schaltet die "SmartPower"-Funktion der "Manuellen Speicher-Ladeleistung und Speicher-Entladeleistung" wieder aus. D.h. die Batterie wird wieder mit der größtmöglichen Leistung geladen / entladen.

EDIT:
Und die Einbindung in FHEM, um die Entladungssperre einzuschalten (genauer die Entladungsleistung auf 250 Watt zu begrenzen)
if ($EVENT eq "Ein"){\
   system '/opt/fhem/e3dcset/e3dcset -c 3000 -d 250&';;\
  }else {\
   system '/opt/fhem/e3dcset/e3dcset -a&';;\
}

pcbastler

Da ich nun auch eine S10E im Keller habe kann ich mich auch etwas beteiligen.
Ich habe mal angefangen, die Register alle ins FHEM zu laden. Die Konvertierung der nicht numerischen Werte bereitet mir aber noch etwas Kopfzerbrechen. So liefert:

attr S10 obj-h40002-len 16
attr S10 obj-h40002-poll 1
attr S10 obj-h40002-reading Hersteller
attr S10 obj-h40002-unpack a16

fast korrekt  �E3/DC GmbH
Mit dem Client von http://www.simplymodbus.ca klappt das Auslesen.
Hat jemand eine Idee?


zettos


marcus42

Zitat von: JueFi am 01 Februar 2020, 19:29:12
@marcus42

Ich schreibe nochmal ein paar Ergänzungen, die vielleicht auch anderen helfen.

Ich habe das Tool e3dcset mal etwas überarbeitet UND die überfällige Doku spendiert ;-)
Die Konfiguration liegt jetzt in einer externen Textdatei unabhängig vom Programm.

https://github.com/mschlappa/e3dcset

Marcus

pcbastler

Zitat von: zettos am 21 Februar 2020, 08:17:17
Versuchs mal mit obj-h40003  ;)
Komisch, das geht. Die offizielle Doku sagt:
Register: Beschreibung
40003 : Anzahl unterstützter Register
40004: Hersteller: ,,E3/DC GmbH"

In einem anderen Beitrag war mal von Differenz 2 zu lesen. Hat hier die Modbus-Schnittstelle von FHEM Anpassungsbedarf oder ist das einfach nur herstellerspezifisch?

pcbastler

Ich hab den Ansatz von faber38 mal weitergebaut:

attr S10E obj-h40003-len 16
attr S10E obj-h40003-poll 1
attr S10E obj-h40003-reading Hersteller
attr S10E obj-h40003-unpack a16
attr S10E obj-h40019-len 16
attr S10E obj-h40019-poll 1
attr S10E obj-h40019-reading model
attr S10E obj-h40019-unpack a16
attr S10E obj-h40035-len 16
attr S10E obj-h40035-poll 1
attr S10E obj-h40035-reading serial
attr S10E obj-h40035-unpack a16
attr S10E obj-h40051-len 16
attr S10E obj-h40051-poll 1
attr S10E obj-h40051-reading firmware
attr S10E obj-h40051-unpack a16
attr S10E obj-h40081-len 1
attr S10E obj-h40081-poll 1
attr S10E obj-h40081-reading netstatus
attr S10E obj-h40081-unpack n

Das Register netstatus liefert die beiden Werte für Eigenstrom und Autarkie. Hier die entsprechenden Userreadings:

eigenstrom {{(ReadingsVal("S10E", "netstatus", "")) % 256 };;},\
autarkie {{((ReadingsVal("S10E", "netstatus", "")) - (ReadingsVal("S10E", "netstatus", "")) % 256) / 256 };;}

mkrauss

Hallo !

Erstmal vielen Dank für die prima Informationen zum Abfragen der E3DC Parameter.
Die Werte aus meiner E3DC S10E kommen sauber per Modbus an, werden im Logfile abgelegt und ich kann mir Graphen damit malen.

Was nicht klappt ist das Senden der Werte auf meinen KNX-Bus, um sie dort weiter zu verwenden.
Als Vorbereitung habe ich dazu erst mal die passenden Gruppenadressen in der ETS angelegt und im FHEM die Devices konfiguriert:

define S10.sunwatt KNX 7/2/1:dpt14.056:SunWatt
attr S10.sunwatt IODev KNX
attr S10.sunwatt group KNX-send
attr S10.sunwatt room E3DC

define S10.gridwatt KNX 7/2/2:dpt14.056:GridWatt
attr S10.gridwatt IODev KNX
attr S10.gridwatt group KNX-send
attr S10.gridwatt room E3DC

define S10.battwatt KNX 7/2/4:dpt14.056:BattWatt
attr S10.battwatt IODev KNX
attr S10.battwatt group KNX-send
attr S10.battwatt room E3DC

define S10.homewatt KNX 7/2/5:dpt14.056:HomeWatt
attr S10.homewatt IODev KNX
attr S10.homewatt group KNX-send
attr S10.homewatt room E3DC

define S10.battsoc KNX 7/2/6:dpt5.001:BattSoC
attr S10.battsoc IODev KNX
attr S10.battsoc group KNX-send
attr S10.battsoc room E3DC


Nach viel lesen und noch mehr Probieren komme ich aber beim Senden nicht weiter. Irgendwie habe ich da ein Verständnisproblem, wie ich die Werte aus dem S10 Modbus Device (sie Beispiel ein paar Postings weiter vorne) auf die KNX-Devices schreiben kann.

Meine Versuche mit notify oder DOIF haben bisher leider nicht gefruchtet:


define S10.gridwatt.out notify S10 (set S10.gridwatt value ReadingsVal("S10", "gridwatt", ""))
#define S10.gridwatt.out DOIF (["gridwatt"]) (set S10.gridwatt value $gridwatt)
#define S10.gridwatt.out DOIF (["gridwatt"]) (set S10.gridwatt value ReadingsVal("S10", "gridwatt", ""))
attr S10.gridwatt.out group KNX-send
attr S10.gridwatt.out room E3DC


Hat vielleicht jemand einen Tipp für mich, wo ich nochmal nachdenken sollte ? Oder ein Beispiel ?

Danke !

Gruß,
Michael



blofield

Zitat von: marcus42 am 01 Februar 2020, 11:29:40

Usage: e3dcset [-c maxLadeLeistung] [-d maxEntladeLeistung] [-e manuelleLadeEnergie] [-a]

Aufrufbeispiele:

'e3dcset -c 2400 -d 1'
=>Speicher wird mit maximal 2400 Watt geladen, Entladen nur 1 Watt ist quasi deaktiviert

'e3dcset -a'
=>Zurücksetzen auf Automatik (Laden, Entladen aktiviert)

Moin @marcus42,

ich möchte gerne dein e3dcset in Verbindung mit S10 und go-eCharger verwenden. Ich habe am S10 das RSCP-Passwort gesetzt und das Programm compiliert. Die Parameter in e3dcset.config mehrfach kontrolliert, aber leider bekomme ich immer nur "Connection closed by peer" zurück, was offenbar auf ein Netzwerk-Problem deutet.
Mit NMAP sehe ich aber vom FHEM Host aus, dass der Port 5033 offen ist, das Passwort ist auch richtig :-/

Ich habe am S10 auch das local.user RSCP-Passwort gesetzt und es mal mit dem User "local.user" versucht. Gelingt aber alles nicht. Immer die gleiche Fehlermeldung :(

Hast Du noch einen Tipp?

Danke,
blofield

daelch

Hallo,

homewatt0 liefert vereinzelt merkwürdig hohe Werte, das würde hier auch schon mal thematisiert.

Auszug aus FileLog:

2020-03-13_10:16:37 1488
2020-03-13_10:16:58 1444
2020-03-13_10:17:18 1422
2020-03-13_10:17:37 1484
2020-03-13_10:17:58 4294903193
2020-03-13_10:18:17 1333
2020-03-13_10:18:38 4294903245
2020-03-13_10:18:58 4294903251
2020-03-13_10:19:17 4294903217
2020-03-13_10:19:37 1487


Diese Werte zerhauen dann natürlich den Graphen.

Wie kann ich diese Werte aus dem Log ausschließen?

Vielen Dank und viele Grüße

ch.eick

Mir einem userreading, dass mit If > Dein Limit wegschmeißt oder einen Maxwert reinschreibt.
Mit LogDB könntest Du mit sql alle ungewollten Werte aus der DB löschen.

Gesendet von meinem SM-G930F mit Tapatalk

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

hasenhirn

Hallo,

seit ein paar Tagen habe ich auch meine E3/DC und jetzt in FHEM eingebunden.
Erst mal danke an alle für die Vorarbeit und die Beispiele hier :-)
Ich habe alles so weit hinbekommen bis auf 2 Kleinigkeiten.
1.) bei der Autarkie kommen maximal 99% obwohl im Portal 100% angezeigt werde, Sicherlich ein Formatierungsfehler den ich nicht finde.
2.) bei Notstrom ( habe ich aus Register 40084 ) würde ich gerne die Zahlen z.Bb 2 für Normalbetrieb, 1 für Notstrom usw mappen. Meine bisherigen Versuche sind gescheitert da das Mapping auf alle Readings geht. im Forum habe ich schon ein paar Beiträge darüber gefunden das übersteigt aber meinen Horizont  ???

Würde mich freuen wenn jemand eine gute Idee hat ;D

Hier mal meine derzeitige Konfiguration: ( alles zusammengeklaut  ::) )

defmod S10 ModbusAttr 1 20 192.168.1.20:502 TCP
attr S10 userattr dev-h-defPoll obj-h40003-len obj-h40003-poll obj-h40003-reading obj-h40003-unpack obj-h40019-len obj-h40019-poll obj-h40019-reading obj-h40019-unpack obj-h40035-len obj-h40035-poll obj-h40035-reading obj-h40035-unpack obj-h40050-len obj-h40050-poll obj-h40050-reading obj-h40050-unpack obj-h40051-len obj-h40051-poll obj-h40051-reading obj-h40051-unpack obj-h40052-len obj-h40052-poll obj-h40052-reading obj-h40052-unpack obj-h40066-len obj-h40066-reading obj-h40066-unpack obj-h40068-len obj-h40068-reading obj-h40068-unpack obj-h40070-len obj-h40070-reading obj-h40070-unpack obj-h40072-len obj-h40072-max obj-h40072-min obj-h40072-reading obj-h40072-unpack obj-h40081-len obj-h40081-poll obj-h40081-reading obj-h40081-unpack obj-h40082-len obj-h40082-reading obj-h40082-unpack obj-h40083-len obj-h40083-poll obj-h40083-reading obj-h40083-unpack obj-h40095-len obj-h40095-reading obj-h40095-unpack obj-h40096-len obj-h40096-reading obj-h40096-unpack obj-h40101-len obj-h40101-reading obj-h40101-unpack obj-h40102-len obj-h40102-reading obj-h40102-unpack
attr S10 dev-h-defPoll 1
attr S10 event-on-change-reading .*
attr S10 obj-h40003-len 16
attr S10 obj-h40003-poll 1
attr S10 obj-h40003-reading Hersteller
attr S10 obj-h40003-unpack a16
attr S10 obj-h40019-len 16
attr S10 obj-h40019-poll 1
attr S10 obj-h40019-reading Model
attr S10 obj-h40019-unpack a16
attr S10 obj-h40035-len 16
attr S10 obj-h40035-poll 1
attr S10 obj-h40035-reading Seriennummer
attr S10 obj-h40035-unpack a16
attr S10 obj-h40066-len 2
attr S10 obj-h40066-reading PV-Leistung
attr S10 obj-h40066-unpack N
attr S10 obj-h40068-len 2
attr S10 obj-h40068-reading batterieladung
attr S10 obj-h40068-unpack N
attr S10 obj-h40070-len 2
attr S10 obj-h40070-reading hausverbrauch
attr S10 obj-h40070-unpack N
attr S10 obj-h40072-len 2
attr S10 obj-h40072-max 65537
attr S10 obj-h40072-min 0
attr S10 obj-h40072-reading netzbezug
attr S10 obj-h40072-unpack N
attr S10 obj-h40081-len 1
attr S10 obj-h40081-poll 1
attr S10 obj-h40081-reading autarkie
attr S10 obj-h40081-unpack n
attr S10 obj-h40082-len 1
attr S10 obj-h40082-reading Batterie-SOC
attr S10 obj-h40082-unpack n
attr S10 obj-h40083-len 1
attr S10 obj-h40083-poll 1
attr S10 obj-h40083-reading Notstrom
attr S10 obj-h40083-unpack n
attr S10 obj-h40095-len 1
attr S10 obj-h40095-reading String1_Volt
attr S10 obj-h40095-unpack n
attr S10 obj-h40096-len 1
attr S10 obj-h40096-reading String2_Volt
attr S10 obj-h40096-unpack n
attr S10 obj-h40101-len 1
attr S10 obj-h40101-reading String1_Power
attr S10 obj-h40101-unpack n
attr S10 obj-h40102-len 1
attr S10 obj-h40102-reading String2_Power
attr S10 obj-h40102-unpack n
attr S10 room E3/DC
attr S10 userReadings Netzbezug { if (ReadingsVal("S10", "netzbezug", "") <= 32768 ) {(ReadingsVal("S10", "netzbezug", ""))} else {(ReadingsVal("S10", "netzbezug", "")) - 65536 };; },\
Batterieladung { if (ReadingsVal("S10", "batterieladung", "") <= 32768 ) {(ReadingsVal("S10", "batterieladung", ""))} else {(ReadingsVal("S10", "batterieladung", "")) - 65536 };; },\
Hausverbrauch { if (ReadingsVal("S10", "hausverbrauch", "") <= 4294901759 ) {(ReadingsVal("S10", "hausverbrauch", ""))} else {(ReadingsVal("S10", "hausverbrauch", "")) - 4294967295 + 65536 };; },\
Autarkie { ((ReadingsVal("S10", "autarkie", "")) & 0xFF00) >> 8;; },\
Eigenverbrauch { (ReadingsVal("S10", "autarkie", "")) & 0xFF;; },


defmod Stromverbrauch readingsGroup S10:<Autarkie>,Autarkie S10:<Hausverbrauch>,Hausverbrauch S10:<Netzbezug>,Netzbezug S10:<PV-Leistung>,PV-Leistung S10:<Batterie-Ladung>,Batterieladung S10:<Batterie-Status>,Batterie-SOC S10:<Notstrom>,Notstrom
attr Stromverbrauch room E3/DC
attr Stromverbrauch valueFormat {'Autarkie' => " %.0f %" , Hausverbrauch => "%.0f Watt" ,Netzbezug => "%.0f Watt" ,'PV-Leistung' => "%.0f Watt" , 'Batterieladung' => "%.0f Watt" ,'Batterie-SOC' => " %.0f %" ,  }
attr Stromverbrauch valueStyle {if($READING eq "Netzbezug" && $VALUE > 1){ 'style="color:orange"'}elsif($READING eq "Netzbezug" && $VALUE < 1){ 'style="color:green"'}elsif($READING eq 'Batterieladung' && $VALUE > 1){ 'style="color:green"'}elsif($READING eq 'Batterieladung' && $VALUE < 0){ 'style="color:orange"'}elsif($READING eq "Batterie-SOC" && $VALUE > 80) { 'style="color:green"'}elsif($READING eq "Batterie-SOC" && $VALUE > 60) { 'style="color:cyan"'}elsif($READING eq "Batterie-SOC" && $VALUE  > 20) { 'style="color:orange"'}elsif($READING eq "Batterie-SOC" && $VALUE  < 21 ) { 'style="color:red"'} }






daelch

Hallo,

im e3dc Portal bekomme die bisher produzierte Gesamtmenge des Tages angezeigt. Kann ich diesen Wert aus einem Register auslesen?

Viele Grüße