Einbindung eines Sungrow SH10RT: SH05,SH06,SH08,SH10

Begonnen von 3gmann, 05 November 2020, 11:22:14

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: pula am 11 Juni 2023, 00:02:25jo, hab ein wenig was zurechgeklempnert, ist aber noch nicht fertig...
da ich die daily-werte nicht dauernd in der db haben will, hab ich ein dummy angelegt, das jeweils kurz vor mitternacht mit werten befüllt wird.
die grafana-darstellung der daily-werte passt mir noch nicht ganz, bin am herumprobieren....
Ich finde die Daily Werte an dem Tag, wo sie entstehen noch recht interessant und zeige sie im stateformat mit an.
Zyklisch lösche ich sie dann in der DbLog, bis auf den Max Daily, so bleibt die Datenbank auch sauber.

Die Maxwerte machen dann Sinn, wenn man Wochen oder Monats Darstellungen macht.
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

pula

Zitat von: SouzA am 13 Juni 2023, 15:09:14
Zitat von: pula am 11 Juni 2023, 00:02:25jo, hab ein wenig was zurechgeklempnert, ist aber noch nicht fertig...
da ich die daily-werte nicht dauernd in der db haben will, hab ich ein dummy angelegt, das jeweils kurz vor mitternacht mit werten befüllt wird.
die grafana-darstellung der daily-werte passt mir noch nicht ganz, bin am herumprobieren....
Jetzt mal ne ganz blöde Frage:
Ist das dein Wohnhaus mit einem Bedarf von >60kWh?  :o

Und eine Anmerkung: *Klugscheißer an* Die Einheit von Strom ist Ampere (A) nicht kW (Leistung)...  ;D *Klugscheißer aus*

Bis denn
SouzA
Tja, ich hab ein Bäckerei-Geschäft im Haus, das ich mit versorge und eine TK-Zelle, die der Nachbar noch nutzt. da kommt was zusammen...
jaja. aber strom ist so ein überbegriff....
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

pula

irgendwie hab ich grad ein paar neue sachen, die mir so aufgefallen sind...
obj-i13000-reading ist bei mir der Running state - aber wenn ich mich nicht irre (kann natürlich sehr gut möglich sein), habe ich in der letzten Register-Beschreibung gelesen, dass das 13001 ist?!
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

pula

Zitat von: ch.eick am 13 Juni 2023, 15:38:23
Zitat von: pula am 11 Juni 2023, 00:02:25jo, hab ein wenig was zurechgeklempnert, ist aber noch nicht fertig...
da ich die daily-werte nicht dauernd in der db haben will, hab ich ein dummy angelegt, das jeweils kurz vor mitternacht mit werten befüllt wird.
die grafana-darstellung der daily-werte passt mir noch nicht ganz, bin am herumprobieren....
Ich finde die Daily Werte an dem Tag, wo sie entstehen noch recht interessant und zeige sie im stateformat mit an.
Zyklisch lösche ich sie dann in der DbLog, bis auf den Max Daily, so bleibt die Datenbank auch sauber.

Die Maxwerte machen dann Sinn, wenn man Wochen oder Monats Darstellungen macht.
Das mit dem am Tag noch verfügbar haben macht viel Sinn. (grafana). Ich denke, die Idee klaue ich und lösche es dann auch zyklisch...
Danke und cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

SouzA

Zitat von: pula am 14 Juni 2023, 19:24:03irgendwie hab ich grad ein paar neue sachen, die mir so aufgefallen sind...
obj-i13000-reading ist bei mir der Running state - aber wenn ich mich nicht irre (kann natürlich sehr gut möglich sein), habe ich in der letzten Register-Beschreibung gelesen, dass das 13001 ist?!


Is bei mir:
obj-i12999-poll 1
obj-i12999-reading 98_System_State
obj-i12999-type U16
obj-i13000-poll 1
obj-i13000-reading 99_Running_State
obj-i13000-type U16

mit Userreading
98_System_State_text:98_System_State.* {if (ReadingsVal("SH10rt","98_System_State","0") == 0x0002) {return "Stop";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0008) {return "Standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0010) {return "Initial standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0020) {return "Startup";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0040) {return "Running";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0100) {return "Fault";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0400) {return "Running in maintain mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0800) {return "Running in forced mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x1000) {return "Running in off-grid mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x2501) {return "Restarting";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x4000) {return "Running in External EMS mode";} else {return "unknown";}},

99_Running_State_text_Bit0_PV_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 1) > 0) {$text=$text."PV-Lstg.";} else {$text=$text."Keine PV-Lstg.";}},
99_Running_State_text_Bit1_Battery_charging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 2) > 0) {$text=$text."Ladung";} else {$text=$text."Keine Ladung";}},
99_Running_State_text_Bit2_Battery_discharging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 4) > 0) {$text=$text."Entladung";} else {$text=$text."Keine Entladung";}},
99_Running_State_text_Bit3_Positive_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 8) > 0) {$text=$text."Last ist aktiv";} else {$text=$text."Last ist reaktiv";}},
99_Running_State_text_Bit4_Feed-in_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 16) > 0) {$text=$text."Einspeisung";} else {$text=$text."Keine Einspeisung";}},
99_Running_State_text_Bit5_Import_Power_from_grid:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 32) > 0) {$text=$text."Netzbezug";} else {$text=$text."Kein Netzbezug";}},
99_Running_State_text_Bit7_Negative_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 128) > 0) {$text=$text."Power generated from Load";} else {$text=$text."No Power generated from Load";}},

Das hab ich von hier:
https://forum.fhem.de/index.php?topic=115597.msg1263970#msg1263970

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

SouzA

Zitat von: ch.eick am 13 Juni 2023, 15:38:23
Zitat von: pula am 11 Juni 2023, 00:02:25jo, hab ein wenig was zurechgeklempnert, ist aber noch nicht fertig...
da ich die daily-werte nicht dauernd in der db haben will, hab ich ein dummy angelegt, das jeweils kurz vor mitternacht mit werten befüllt wird.
die grafana-darstellung der daily-werte passt mir noch nicht ganz, bin am herumprobieren....
Ich finde die Daily Werte an dem Tag, wo sie entstehen noch recht interessant und zeige sie im stateformat mit an.
Zyklisch lösche ich sie dann in der DbLog, bis auf den Max Daily, so bleibt die Datenbank auch sauber.

Die Maxwerte machen dann Sinn, wenn man Wochen oder Monats Darstellungen macht.
Ich find nen Haufen Werte interessant... Kannst dir ja mal meine Readingsgroup angucken.
Die Werte für dieses Jahr sind natürlich murks, da die Auswertung erst viel später kam als die PV-Anlage.
Die Gesamtauswertung passt aber.
Ich hab irgendwie lieber immer Zahlen als Balken ;)
Das mit den Monatsdarstellungen usw spare ich mir. Das kriegt man aus der Cloud.

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

SouzA

Zitat von: pula am 14 Juni 2023, 19:22:31
Zitat von: SouzA am 13 Juni 2023, 15:09:14
Zitat von: pula am 11 Juni 2023, 00:02:25jo, hab ein wenig was zurechgeklempnert, ist aber noch nicht fertig...
da ich die daily-werte nicht dauernd in der db haben will, hab ich ein dummy angelegt, das jeweils kurz vor mitternacht mit werten befüllt wird.
die grafana-darstellung der daily-werte passt mir noch nicht ganz, bin am herumprobieren....
Jetzt mal ne ganz blöde Frage:
Ist das dein Wohnhaus mit einem Bedarf von >60kWh?  :o

Und eine Anmerkung: *Klugscheißer an* Die Einheit von Strom ist Ampere (A) nicht kW (Leistung)...  ;D *Klugscheißer aus*

Bis denn
SouzA
Tja, ich hab ein Bäckerei-Geschäft im Haus, das ich mit versorge und eine TK-Zelle, die der Nachbar noch nutzt. da kommt was zusammen...
jaja. aber strom ist so ein überbegriff....
Die Bäckerei erklärt so einiges... ;)
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

pula

Zitat von: SouzA am 14 Juni 2023, 21:23:24
Zitat von: pula am 14 Juni 2023, 19:24:03irgendwie hab ich grad ein paar neue sachen, die mir so aufgefallen sind...
obj-i13000-reading ist bei mir der Running state - aber wenn ich mich nicht irre (kann natürlich sehr gut möglich sein), habe ich in der letzten Register-Beschreibung gelesen, dass das 13001 ist?!


Is bei mir:
obj-i12999-poll 1
obj-i12999-reading 98_System_State
obj-i12999-type U16
obj-i13000-poll 1
obj-i13000-reading 99_Running_State
obj-i13000-type U16

mit Userreading
98_System_State_text:98_System_State.* {if (ReadingsVal("SH10rt","98_System_State","0") == 0x0002) {return "Stop";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0008) {return "Standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0010) {return "Initial standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0020) {return "Startup";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0040) {return "Running";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0100) {return "Fault";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0400) {return "Running in maintain mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0800) {return "Running in forced mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x1000) {return "Running in off-grid mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x2501) {return "Restarting";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x4000) {return "Running in External EMS mode";} else {return "unknown";}},

99_Running_State_text_Bit0_PV_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 1) > 0) {$text=$text."PV-Lstg.";} else {$text=$text."Keine PV-Lstg.";}},
99_Running_State_text_Bit1_Battery_charging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 2) > 0) {$text=$text."Ladung";} else {$text=$text."Keine Ladung";}},
99_Running_State_text_Bit2_Battery_discharging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 4) > 0) {$text=$text."Entladung";} else {$text=$text."Keine Entladung";}},
99_Running_State_text_Bit3_Positive_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 8) > 0) {$text=$text."Last ist aktiv";} else {$text=$text."Last ist reaktiv";}},
99_Running_State_text_Bit4_Feed-in_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 16) > 0) {$text=$text."Einspeisung";} else {$text=$text."Keine Einspeisung";}},
99_Running_State_text_Bit5_Import_Power_from_grid:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 32) > 0) {$text=$text."Netzbezug";} else {$text=$text."Kein Netzbezug";}},
99_Running_State_text_Bit7_Negative_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 128) > 0) {$text=$text."Power generated from Load";} else {$text=$text."No Power generated from Load";}},

Das hab ich von hier:
https://forum.fhem.de/index.php?topic=115597.msg1263970#msg1263970

Bis denn
SouzA

Hi!
wäre es möglich, daß du ein ganzes list von dem device postest bitte?
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

SouzA

Zitat von: pula am 15 Juni 2023, 07:56:56
Zitat von: SouzA am 14 Juni 2023, 21:23:24
Zitat von: pula am 14 Juni 2023, 19:24:03irgendwie hab ich grad ein paar neue sachen, die mir so aufgefallen sind...
obj-i13000-reading ist bei mir der Running state - aber wenn ich mich nicht irre (kann natürlich sehr gut möglich sein), habe ich in der letzten Register-Beschreibung gelesen, dass das 13001 ist?!


Is bei mir:
obj-i12999-poll 1
obj-i12999-reading 98_System_State
obj-i12999-type U16
obj-i13000-poll 1
obj-i13000-reading 99_Running_State
obj-i13000-type U16

mit Userreading
98_System_State_text:98_System_State.* {if (ReadingsVal("SH10rt","98_System_State","0") == 0x0002) {return "Stop";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0008) {return "Standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0010) {return "Initial standby";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0020) {return "Startup";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0040) {return "Running";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0100) {return "Fault";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0400) {return "Running in maintain mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0800) {return "Running in forced mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x1000) {return "Running in off-grid mode";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x2501) {return "Restarting";} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x4000) {return "Running in External EMS mode";} else {return "unknown";}},

99_Running_State_text_Bit0_PV_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 1) > 0) {$text=$text."PV-Lstg.";} else {$text=$text."Keine PV-Lstg.";}},
99_Running_State_text_Bit1_Battery_charging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 2) > 0) {$text=$text."Ladung";} else {$text=$text."Keine Ladung";}},
99_Running_State_text_Bit2_Battery_discharging:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 4) > 0) {$text=$text."Entladung";} else {$text=$text."Keine Entladung";}},
99_Running_State_text_Bit3_Positive_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 8) > 0) {$text=$text."Last ist aktiv";} else {$text=$text."Last ist reaktiv";}},
99_Running_State_text_Bit4_Feed-in_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 16) > 0) {$text=$text."Einspeisung";} else {$text=$text."Keine Einspeisung";}},
99_Running_State_text_Bit5_Import_Power_from_grid:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 32) > 0) {$text=$text."Netzbezug";} else {$text=$text."Kein Netzbezug";}},
99_Running_State_text_Bit7_Negative_load_power:99_Running_State.* {my $text=""; if ((ReadingsVal("SH10rt","99_Running_State","0") & 128) > 0) {$text=$text."Power generated from Load";} else {$text=$text."No Power generated from Load";}},

Das hab ich von hier:
https://forum.fhem.de/index.php?topic=115597.msg1263970#msg1263970

Bis denn
SouzA

Hi!
wäre es möglich, daß du ein ganzes list von dem device postest bitte?
define SH10rt ModbusAttr 1 3 192.168.178.xx:502 TCP
attr SH10rt DbLogInclude Battery_Level,Battery_temperature,Export_Power_UR,Load_Power,Total_DC_Power,statTotal_Export_EnergyDay,statTotal_DC_PowerDayMax,statTotal_DC_PowerDayAvg,statTotal_DC_PowerYearAvg,statTotal_Export_EnergyDay,statTotal_PV_GenerationDay
attr SH10rt dev-i-combine 16
attr SH10rt dev-type-S16-len 1
attr SH10rt dev-type-S16-unpack s>
attr SH10rt dev-type-S32-len 2
attr SH10rt dev-type-S32-revRegs 1
attr SH10rt dev-type-S32-unpack l>
attr SH10rt dev-type-SL_R2-len 2
attr SH10rt dev-type-SL_R2-unpack l
attr SH10rt dev-type-U16-len 1
attr SH10rt dev-type-U16-revRegs 0
attr SH10rt dev-type-U16-unpack S>
attr SH10rt dev-type-U32-len 2
attr SH10rt dev-type-U32-revRegs 1
attr SH10rt dev-type-U32-unpack N
attr SH10rt dev-type-UL_R2-len 2
attr SH10rt dev-type-UL_R2-revRegs 1
attr SH10rt dev-type-UL_R2-unpack N
attr SH10rt event-on-change-reading .*
attr SH10rt group PV-Anlage
attr SH10rt icon solar_icon
attr SH10rt nextOpenDelay 5
attr SH10rt obj-h13001-expr $val/100
attr SH10rt obj-h13057-expr $val/10
attr SH10rt obj-h13057-poll 1
attr SH10rt obj-h13057-polldelay x199
attr SH10rt obj-h13057-reading Max_SOC
attr SH10rt obj-h13058-expr $val/10
attr SH10rt obj-h13058-poll 1
attr SH10rt obj-h13058-polldelay x199
attr SH10rt obj-h13058-reading Min_SOC
attr SH10rt obj-h13083-expr $val/100
attr SH10rt obj-h13083-poll 1
attr SH10rt obj-h13083-polldelay x199
attr SH10rt obj-h13083-reading Start_Charging_Power
attr SH10rt obj-h13084-expr $val/100
attr SH10rt obj-h13084-poll 1
attr SH10rt obj-h13084-polldelay x199
attr SH10rt obj-h13084-reading Start_Discharging_Power
attr SH10rt obj-h33046-expr $val/100
attr SH10rt obj-h33046-poll 1
attr SH10rt obj-h33046-polldelay x199
attr SH10rt obj-h33046-reading Max_Charging_Power
attr SH10rt obj-h33046-type U16
attr SH10rt obj-h33047-expr $val/100
attr SH10rt obj-h33047-poll 1
attr SH10rt obj-h33047-polldelay x199
attr SH10rt obj-h33047-reading Max_Discharging_Power
attr SH10rt obj-h33047-type U16
attr SH10rt obj-i12999-poll 1
attr SH10rt obj-i12999-reading 98_System_State
attr SH10rt obj-i12999-type U16
attr SH10rt obj-i13000-poll 1
attr SH10rt obj-i13000-reading 99_Running_State
attr SH10rt obj-i13000-type U16
attr SH10rt obj-i13001-expr $val/10
attr SH10rt obj-i13001-poll 1
attr SH10rt obj-i13001-polldelay x10
attr SH10rt obj-i13001-reading Daily_PV_Generation
attr SH10rt obj-i13001-type U16
attr SH10rt obj-i13002-expr $val/10
attr SH10rt obj-i13002-poll 1
attr SH10rt obj-i13002-polldelay x199
attr SH10rt obj-i13002-reading Total_PV_Generation
attr SH10rt obj-i13002-type U32
attr SH10rt obj-i13004-expr $val/10
attr SH10rt obj-i13004-poll 1
attr SH10rt obj-i13004-polldelay x10
attr SH10rt obj-i13004-reading Daily_Export_Energy_from_PV
attr SH10rt obj-i13005-expr $val/10
attr SH10rt obj-i13005-poll 1
attr SH10rt obj-i13005-polldelay x199
attr SH10rt obj-i13005-reading Total_Export_Energy_from_PV
attr SH10rt obj-i13005-type U32
attr SH10rt obj-i13007-poll 1
attr SH10rt obj-i13007-reading Load_Power
attr SH10rt obj-i13007-type S32
attr SH10rt obj-i13009-poll 1
attr SH10rt obj-i13009-reading Export_Power
attr SH10rt obj-i13009-type S32
attr SH10rt obj-i13011-expr $val/10
attr SH10rt obj-i13011-poll 1
attr SH10rt obj-i13011-polldelay x10
attr SH10rt obj-i13011-reading Daily_battery_charge_energy_from_PV
attr SH10rt obj-i13011-type U16
attr SH10rt obj-i13012-expr $val/10
attr SH10rt obj-i13012-poll 1
attr SH10rt obj-i13012-polldelay x199
attr SH10rt obj-i13012-reading Total_battery_charge_energy_from_PV
attr SH10rt obj-i13012-type U32
attr SH10rt obj-i13016-expr $val/10
attr SH10rt obj-i13016-poll 1
attr SH10rt obj-i13016-polldelay x10
attr SH10rt obj-i13016-reading Daily_direct_energy_consumption
attr SH10rt obj-i13016-type U16
attr SH10rt obj-i13017-expr $val/10
attr SH10rt obj-i13017-poll 1
attr SH10rt obj-i13017-polldelay x10
attr SH10rt obj-i13017-reading Total_direct_energy_consumption
attr SH10rt obj-i13017-type U32
attr SH10rt obj-i13019-expr $val/10
attr SH10rt obj-i13019-poll 1
attr SH10rt obj-i13019-reading Battery_voltage
attr SH10rt obj-i13019-type U16
attr SH10rt obj-i13020-expr $val/10
attr SH10rt obj-i13020-poll 1
attr SH10rt obj-i13020-reading Battery_current
attr SH10rt obj-i13020-type U16
attr SH10rt obj-i13021-poll 1
attr SH10rt obj-i13021-reading Battery_power
attr SH10rt obj-i13021-type U16
attr SH10rt obj-i13022-expr $val/10
attr SH10rt obj-i13022-poll 1
attr SH10rt obj-i13022-reading Battery_Level
attr SH10rt obj-i13022-type U16
attr SH10rt obj-i13023-expr $val/10
attr SH10rt obj-i13023-poll 1
attr SH10rt obj-i13023-polldelay x199
attr SH10rt obj-i13023-reading Battery_state_of_healthy
attr SH10rt obj-i13023-type U16
attr SH10rt obj-i13024-expr $val/10
attr SH10rt obj-i13024-poll 1
attr SH10rt obj-i13024-polldelay x10
attr SH10rt obj-i13024-reading Battery_temperature
attr SH10rt obj-i13024-type S16
attr SH10rt obj-i13025-expr $val/10
attr SH10rt obj-i13025-poll 1
attr SH10rt obj-i13025-reading Daily_battery_discharge_energy
attr SH10rt obj-i13025-type U16
attr SH10rt obj-i13026-expr $val/10
attr SH10rt obj-i13026-poll 1
attr SH10rt obj-i13026-polldelay x10
attr SH10rt obj-i13026-reading Total_battery_discharge_energy
attr SH10rt obj-i13026-type U32
attr SH10rt obj-i13028-expr $val/10
attr SH10rt obj-i13028-poll 1
attr SH10rt obj-i13028-polldelay x10
attr SH10rt obj-i13028-reading Self_consumption_of_today
attr SH10rt obj-i13028-type U16
attr SH10rt obj-i13033-poll 1
attr SH10rt obj-i13033-reading Total_active_power
attr SH10rt obj-i13033-type S32
attr SH10rt obj-i13035-expr $val/10
attr SH10rt obj-i13035-poll 1
attr SH10rt obj-i13035-polldelay x10
attr SH10rt obj-i13035-reading Daily_Import_Energy
attr SH10rt obj-i13035-type U16
attr SH10rt obj-i13036-expr $val/10
attr SH10rt obj-i13036-poll 1
attr SH10rt obj-i13036-polldelay x199
attr SH10rt obj-i13036-reading Total_Import_Energy
attr SH10rt obj-i13036-type U32
attr SH10rt obj-i13039-expr $val/10
attr SH10rt obj-i13039-poll 1
attr SH10rt obj-i13039-polldelay x10
attr SH10rt obj-i13039-reading Daily_Charge_Energy
attr SH10rt obj-i13039-type U16
attr SH10rt obj-i13040-expr $val/10
attr SH10rt obj-i13040-poll 1
attr SH10rt obj-i13040-polldelay x199
attr SH10rt obj-i13040-reading Total_Charge_Energy
attr SH10rt obj-i13040-type U32
attr SH10rt obj-i13044-expr $val/10
attr SH10rt obj-i13044-poll 1
attr SH10rt obj-i13044-polldelay x10
attr SH10rt obj-i13044-reading Daily_Export_Energy
attr SH10rt obj-i13044-type U16
attr SH10rt obj-i13045-expr $val/10
attr SH10rt obj-i13045-poll 1
attr SH10rt obj-i13045-polldelay x199
attr SH10rt obj-i13045-reading Total_Export_Energy
attr SH10rt obj-i13045-type U32
attr SH10rt obj-i13049-poll 1
attr SH10rt obj-i13049-polldelay x10
attr SH10rt obj-i13049-reading Inverter_Alarm
attr SH10rt obj-i13049-type U32
attr SH10rt obj-i13065-poll 1
attr SH10rt obj-i13065-polldelay x10
attr SH10rt obj-i13065-reading Battery_fault
attr SH10rt obj-i13065-type U32
attr SH10rt obj-i13067-poll 1
attr SH10rt obj-i13067-polldelay x10
attr SH10rt obj-i13067-reading Battery_alarm
attr SH10rt obj-i13067-type U32
attr SH10rt obj-i5002-expr $val/10
attr SH10rt obj-i5002-poll 1
attr SH10rt obj-i5002-polldelay x199
attr SH10rt obj-i5002-reading Daily_Output_Energy
attr SH10rt obj-i5002-type U16
attr SH10rt obj-i5003-expr $val/10
attr SH10rt obj-i5003-poll 1
attr SH10rt obj-i5003-polldelay x199
attr SH10rt obj-i5003-reading Total_Output_Energy
attr SH10rt obj-i5003-type U32
attr SH10rt obj-i5007-expr $val/10
attr SH10rt obj-i5007-poll 1
attr SH10rt obj-i5007-polldelay x10
attr SH10rt obj-i5007-reading Inside_Temperature
attr SH10rt obj-i5007-type S16
attr SH10rt obj-i5010-expr $val/10
attr SH10rt obj-i5010-poll 1
attr SH10rt obj-i5010-reading MPPT_1_Voltage
attr SH10rt obj-i5011-expr $val/10
attr SH10rt obj-i5011-poll 1
attr SH10rt obj-i5011-reading MPPT_1_Current
attr SH10rt obj-i5012-expr $val/10
attr SH10rt obj-i5012-poll 1
attr SH10rt obj-i5012-reading MPPT_2_Voltage
attr SH10rt obj-i5013-expr $val/10
attr SH10rt obj-i5013-poll 1
attr SH10rt obj-i5013-reading MPPT_2_Current
attr SH10rt obj-i5016-poll 1
attr SH10rt obj-i5016-reading Total_DC_Power
attr SH10rt obj-i5016-type U32
attr SH10rt obj-i5035-expr $val/10
attr SH10rt obj-i5035-poll 1
attr SH10rt obj-i5035-polldelay x10
attr SH10rt obj-i5035-reading Grid_Frequency
attr SH10rt obj-i5600-expr $val/1
attr SH10rt obj-i5600-poll 1
attr SH10rt obj-i5600-reading Meter_Active_Power
attr SH10rt obj-i5600-type S32
attr SH10rt obj-i5602-poll 1
attr SH10rt obj-i5602-reading Meter_Active_Power_Phase_1
attr SH10rt obj-i5602-type S32
attr SH10rt obj-i5604-poll 1
attr SH10rt obj-i5604-reading Meter_Active_Power_Phase_2
attr SH10rt obj-i5604-type S32
attr SH10rt obj-i5606-poll 1
attr SH10rt obj-i5606-reading Meter_Active_Power_Phase_3
attr SH10rt obj-i5606-type S32
attr SH10rt obj-i5719-expr $val/10
attr SH10rt obj-i5719-poll 1
attr SH10rt obj-i5719-reading Backup_Strom_Phase_A
attr SH10rt obj-i5719-type S16
attr SH10rt obj-i5720-expr $val/10
attr SH10rt obj-i5720-poll 1
attr SH10rt obj-i5720-reading Backup_Strom_Phase_B
attr SH10rt obj-i5720-type S16
attr SH10rt obj-i5721-expr $val/10
attr SH10rt obj-i5721-poll 1
attr SH10rt obj-i5721-reading Backup_Strom_Phase_C
attr SH10rt obj-i5721-type S16
attr SH10rt obj-i5722-poll 1
attr SH10rt obj-i5722-reading Backup_Leistung_Phase_A
attr SH10rt obj-i5722-type S16
attr SH10rt obj-i5723-poll 1
attr SH10rt obj-i5723-reading Backup_Leistung_Phase_B
attr SH10rt obj-i5723-type S16
attr SH10rt obj-i5724-poll 1
attr SH10rt obj-i5724-reading Backup_Leistung_Phase_C
attr SH10rt obj-i5724-type S16
attr SH10rt obj-i5725-poll 1
attr SH10rt obj-i5725-reading Backup_Gesamtleistung
attr SH10rt obj-i5725-type S32
attr SH10rt obj-i5748-expr $val/100
attr SH10rt obj-i5748-poll 1
attr SH10rt obj-i5748-reading Meter_Total_Export_Energy
attr SH10rt obj-i5748-type U32
attr SH10rt queueDelay 0.02
attr SH10rt room PV-Anlage
attr SH10rt sortby 01
attr SH10rt userReadings Total_energy_consumption {(ReadingsVal("SH10rt","Total_battery_discharge_energy",0) + ReadingsVal("SH10rt","Total_direct_energy_consumption",0) + ReadingsVal("SH10rt","Total_Import_Energy",0))},\
\
Total_energy_consumption_from_PV_Akku {(ReadingsNum("SH10rt","Total_battery_discharge_energy",0) + ReadingsNum("SH10rt","Total_direct_energy_consumption",0));;;;},\
\
Total_energy_consumption_from_Akku_EUR monotonic {sprintf("%.2f", ReadingsNum("SH10rt","Total_battery_discharge_energy",0) * ReadingsNum ("SH10rt","Energiekosten_bezug",0));;;;},\
\
Total_energy_consumption_from_Akku_wenn_eingespeist_EUR {sprintf("%.2f", ReadingsNum("SH10rt","Total_battery_charge_energy_from_PV",0) * 0.082);;;;}, \
\
Total_energy_consumption_from_Akku_dif_EUR {sprintf("%.2f",ReadingsNum("SH10rt","Total_energy_consumption_from_Akku_EUR",0)-ReadingsNum("SH10rt","Total_energy_consumption_from_Akku_wenn_eingespeist_EUR",0));;;;}, \
\
Total_energy_consumption_from_PV_Akku_EUR monotonic {sprintf("%.2f", (ReadingsNum("SH10rt","Total_battery_discharge_energy",0) + ReadingsNum("SH10rt","Total_direct_energy_consumption",0))*(ReadingsNum ("SH10rt","Energiekosten_bezug",0)));;;;},\
\
\
\
Total_energy_saving_EUR {sprintf("%.2f", ReadingsNum("Stromzaehler","total_feed_EUR",0) + ReadingsNum("SH10rt","Total_energy_consumption_from_PV_Akku_EUR",0));;;;},\
\
Import_Power:Load_Power.* { if (((ReadingsVal("SH10rt","Load_Power",0) - ReadingsVal("SH10rt","Total_active_power",0))) > 0) {return ((ReadingsVal("SH10rt","Load_Power",0) - ReadingsVal("SH10rt","Total_active_power",0)))} else {return 0}},\
Export_Power_UR { if ((ReadingsVal("SH10rt","Export_Power",0)) > 0) {return (ReadingsVal("SH10rt","Export_Power",0))} else {return 0}},\
\
Total_Battery_Vollzyklen:Total_Battery.* {sprintf("%.1f", ((ReadingsVal("SH10rt","Total_battery_charge_energy_from_PV","0") + ReadingsVal("SH10rt","Total_battery_discharge_energy","0"))/20));;;;},\
\
Active_power_consumption_from_PV_Akku:Load_Power.* {(ReadingsVal("SH10rt","Load_Power",0) - ReadingsVal("SH10rt","Import_Power",0))},\
\
Direct_energy_consumption {(ReadingsVal("SH10rt","Total_DC_Power",0) - ReadingsVal("SH10rt","Battery_power_charge",0) - ReadingsVal("SH10rt","Export_Power_UR",0))},\
\
MPPT_1_Power:MPPT.* {sprintf("%.0f", (ReadingsNum ("SH10rt","MPPT_1_Voltage", 0) * ReadingsNum ("SH10rt","MPPT_1_Current", 0)));;;;},\
\
MPPT_2_Power:MPPT.* {sprintf("%.0f", (ReadingsNum ("SH10rt","MPPT_2_Voltage", 0) * ReadingsNum ("SH10rt","MPPT_2_Current", 0)));;;;},\
\
Battery_power_charge { if ((ReadingsVal("SH10rt","Total_DC_Power",0)) > (ReadingsVal("SH10rt","Total_active_power",0))) {return (ReadingsVal("SH10rt","Battery_power",0))} else {return 0}},\
\
Battery_power_discharge { if ((ReadingsVal("SH10rt","Total_DC_Power",0)) < (ReadingsVal("SH10rt","Total_active_power",0))) {return (ReadingsVal("SH10rt","Battery_power",0))} else {return 0}},\
\
Battery_energy:Battery_Level.* {sprintf("%.1f", ((ReadingsNum ("SH10rt","Battery_Level", 0) / 100) * 6.7));;;;},\
\
98_System_State_text:98_System_State.* {if (ReadingsVal("SH10rt","98_System_State","0") == 0x0002) {return "Stop";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0008) {return "Standby";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0010) {return "Initial standby";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0020) {return "Startup";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0040) {return "Running";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0100) {return "Fault";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0400) {return "Running in maintain mode";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x0800) {return "Running in forced mode";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x1000) {return "Running in off-grid mode";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x2501) {return "Restarting";;} elsif (ReadingsVal("SH10rt","98_System_State","0") == 0x4000) {return "Running in External EMS mode";;} else {return "unknown";;}},\
\
99_Running_State_text_Bit0_PV_power:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 1) > 0) {$text=$text."PV-Lstg.";;} else {$text=$text."Keine PV-Lstg.";;}},\
\
99_Running_State_text_Bit1_Battery_charging:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 2) > 0) {$text=$text."Ladung";;} else {$text=$text."Keine Ladung";;}},\
\
99_Running_State_text_Bit2_Battery_discharging:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 4) > 0) {$text=$text."Entladung";;} else {$text=$text."Keine Entladung";;}},\
\
99_Running_State_text_Bit3_Positive_load_power:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 8) > 0) {$text=$text."Last ist aktiv";;} else {$text=$text."Last ist reaktiv";;}},\
\
99_Running_State_text_Bit4_Feed-in_power:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 16) > 0) {$text=$text."Einspeisung";;} else {$text=$text."Keine Einspeisung";;}},\
\
99_Running_State_text_Bit5_Import_Power_from_grid:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 32) > 0) {$text=$text."Netzbezug";;} else {$text=$text."Kein Netzbezug";;}},\
\
99_Running_State_text_Bit7_Negative_load_power:99_Running_State.* {my $text="";; if ((ReadingsVal("SH10rt","99_Running_State","0") & 128) > 0) {$text=$text."Power generated from Load";;} else {$text=$text."No Power generated from Load";;}},\
\
Total_energy_consumption_from_Grid_Proz {sprintf("%.1f",(ReadingsNum("Stromzaehler","total_consumption_PV_kwh",0) / ReadingsNum("SH10rt","Total_energy_consumption",0) * 100));;;;},\
\
Total_energy_consumption_from_Grid_ProzDay {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhDay",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionDay",0) * 100));;;;},\
\
Total_energy_consumption_from_Grid_ProzDayLast:statTotal_energy_consumptionDayLast.* {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhDayLast",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionDayLast",0) * 100));;;;},\
\
Total_energy_consumption_from_Grid_ProzMonth:statTotal_energy_consumptionMonth.* {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhMonth",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionMonth",0) * 100));;;;},\
\
Total_energy_consumption_from_Grid_ProzMonthLast:statTotal_energy_consumptionMonthLast.* {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhMonthLast",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionMonthLast",0) * 100));;;;},\
\
Total_energy_consumption_from_Grid_ProzYear:statTotal_energy_consumptionYear.* {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhYear",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionYear",0) * 100));;;;},\
\
Total_energy_consumption_from_PV_Proz {sprintf("%.1f",100-(ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_Proz",0)));;;;},\
\
Total_energy_consumption_from_PV_ProzDay:.* {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzDay",0)));;;;},\
\
Total_energy_consumption_from_PV_ProzDayLast {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzDayLast",0)));;;;},\
\
Total_energy_consumption_from_PV_ProzMonth {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzMonth",0)));;;;},\
\
Total_energy_consumption_from_PV_ProzMonthLast {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzMonthLast",0)));;;;},\
\
Total_energy_consumption_from_PV_ProzYear {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzYear",0)));;;;},\
\
#Total_energy_consumption_from_Grid_ProzYearLast {sprintf("%.1f",(ReadingsNum("Stromzaehler","statTotal_consumption_PV_kwhYearLast",0) / ReadingsNum("SH10rt","statTotal_energy_consumptionYearLast",0) * 100));;;;},\
#Total_energy_consumption_from_PV_ProzYearLast {sprintf("%.1f",100 - (ReadingsNum("SH10rt","Total_energy_consumption_from_Grid_ProzYearLast",0)));;;;},
attr SH10rt verbose 0
#   DEF        1 3 192.168.178.xx:502 TCP
#   DeviceName 192.168.178.xx:502
#   EXPECT     idle
#   FD         36
#   FUUID      63d248cb-f33f-7c83-6e17-aa62219c1d51e16c
#   FVERSION   98_ModbusAttr.pm:0.259630/2022-04-14
#   IODev      SH10rt
#   Interval   3
#   LASTOPEN   1686701049.16828
#   MODBUSID   1
#   MODE       master
#   MODULEVERSION Modbus 4.4.14 - 30.1.2023
#   NAME       SH10rt
#   NOTIFYDEV  global
#   NR         765
#   NTFY_ORDER 50-SH10rt
#   PARTIAL   
#   PROTOCOL   TCP
#   STATE      opened
#   TCPConn    1
#   TYPE       ModbusAttr
#   devioLoglevel 3
#   eventCount 1315576
#   nextOpenDelay 5
#   nextQueueRun 1686808724.40153

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

pula

fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

pula

@SouzA nur aus Neugier: welchen Stromzähler hast du denn? ich hab nämlich keinen und gehofft, dass ich alle werte aus dem WR bekomme... schaut aber speziell bei der gekauften energie eher schlecht aus anscheinend
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

SouzA

Zitat von: pula am 15 Juni 2023, 15:06:22@SouzA nur aus Neugier: welchen Stromzähler hast du denn? ich hab nämlich keinen und gehofft, dass ich alle werte aus dem WR bekomme... schaut aber speziell bei der gekauften energie eher schlecht aus anscheinend
Moinsen,
warum hast du keinen Stromzähler? :o

Bei mir ist es ein efr SGM-C4
Das ist aber abhängig vom EVU, was die verbauen...

Den Zähler frage ich ab mit USB-IR-Lesekopf

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

pula

weil meine PV erst 5 Wochen alt ist und der Netzbetreiber noch nicht zur Abnahme da war und ein Smart Meter eingebaut hat.
Derzeit hab ich noch einen Ferraris und da bau ich jetzt wegen der (hoffentlich) 1-2 Wochen auch nix mehr. Mal schaun, was der neue Smart Meter dann hergibt.
Ah ok - also was volkszähler-artiges...

Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

pula

Mal so eine Frage. Eigentlich zwei.
Zusätzlich zum WR wude ein chint DTSU666 smart meter verbaut, der mit dem WR per modbus kommuniziert (vermute ich zumindest, daß das modbus ist und nicht S0).

1) Laut diverser Foren sollte der WR alle möglichen Werte davon auslesen. Stellt er die auch als daily zur Verfügung? In den modbus-Registern, die ich derzeit abfrage, habe ich dafür keinen daily-Wert gefunden. Übersehe ich was?
2) Weiß jemand, ob man diesen DTSU666 zusätzlich zum modbus (der ja vom WR "belegt" wird und wo ich mich auch aufgrund der Timings sicher nicht reinhängen möchte) auch per S0 abfragen kann? Dann wäre es vermutlich relativ easy, den per ESP oder Aruino abzufragen.
Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

SouzA

Zitat von: pula am 29 Juni 2023, 19:37:34Mal so eine Frage. Eigentlich zwei.
Zusätzlich zum WR wude ein chint DTSU666 smart meter verbaut, der mit dem WR per modbus kommuniziert (vermute ich zumindest, daß das modbus ist und nicht S0).

1) Laut diverser Foren sollte der WR alle möglichen Werte davon auslesen. Stellt er die auch als daily zur Verfügung? In den modbus-Registern, die ich derzeit abfrage, habe ich dafür keinen daily-Wert gefunden. Übersehe ich was?
2) Weiß jemand, ob man diesen DTSU666 zusätzlich zum modbus (der ja vom WR "belegt" wird und wo ich mich auch aufgrund der Timings sicher nicht reinhängen möchte) auch per S0 abfragen kann? Dann wäre es vermutlich relativ easy, den per ESP oder Aruino abzufragen.
Cheers,
Pula
Hi,
zu 1.) welche Werte fehlen denn?
Is was bei den folgenden dabei?
attr SH10rt_1_LAN obj-i13001-reading Daily_PV_Generation
attr SH10rt_1_LAN obj-i13004-reading Daily_Export_Energy_PV
attr SH10rt_1_LAN obj-i13016-reading Daily_Direct_Energy_Consumption
attr SH10rt_1_LAN obj-i13035-reading Daily_Import_Energy
attr SH10rt_1_LAN obj-i13044-reading Daily_Export_Energy

zu 2.) du kannst das ModBusAttr als passiver listener konfigurieren.
Wieso sollte es dann was mit den Timings durcheinander bringen?
Define as Modbus passive listener
define <name> ModbusAttr <Id> passive <RTU|ASCII|TCP>

The module listens on a serial (RS485) connection for modbus communication with the given Modbus <Id> and extracts readings. It does not send requests by itself but waits for another master (client) to communicate with a slave (server). So only objects that the other master requests can be seen by Fhem in this configuration.
The objects that the module recognizes and the readings that it should create from these objects have to be defined with attributes (see below) in the same way as for a Modbus master.
These attributes will define a mapping from so called "coils", "digital inputs", "input registers" or "holding registers" of the external device to readings inside Fhem together with the data type and format of the values.
With this mode a Fhem installation can for example listen to the communication between an energy counter as slave and a solar control system as master if they use Modbus RTU over RS485. Since only one Master is allowed when using Modbus over serial lines, Fhem can not be master itself. As a passive listener it can however see when the master queries e.g. the current power consumption and then also see the reply from the energy meter and store the value in a Fhem reading.
Examples:

define MB-485 Modbus /dev/ttyUSB2
define WP ModbusAttr 1 passive

to passively listen for Modbus requests and replies with Id 1 over a serial interface managed by an already defined basic modbus device named MB-485. The protocol defaults to Modbus RTU
or
define MB-485 Modbus /dev/ttyUSB2
define WP ModbusAttr 20 passive ASCII

to passivel listen for Modbus requests / replies with Id 20 and Modbus ASCII.
https://fhem.de/commandref.html#ModbusAttr

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee