Hallo Oliver,
habe mir das Script mal angesehen, mit der Doku von E3DC verglichen und mein E3DC mit QModMaster abgefragt (bin da aber absoluter Laie).
#40074 EVU Punkt negativ -> Einspeisung in Watt
power_all = client.read_holding_registers(40073, ModbusDataType.INT_32, wordorder=Endian.Little, unit=1)
Die Leistung am Netzübergabepunkt in Watt, welche bei mir in OWB korrekt angezeigt wird, bekomme ich auf #40074 angezeigt.
#40130 Phasenleistung in Watt
powers = client.read_holding_registers(40129, [ModbusDataType.INT_16] * 3, unit=1)
cnt= SimCountFactory().get_sim_counter()().sim_count(power_all, prefix="bezug")
#print ('0 %f, 1 %f' % (cnt[0],cnt[1]))
get_counter_value_store(1).set(CounterState(
imported= cnt[0],
exported= cnt[1],
power=power_all,
powers=powers
))
log.debug("Update completed successfully")
Dann habe ich die Werte von #40130 (gem. E3DC Leistungsmesser 6) abgerufen wo bei Dir die Phasenwerte kommen (bei mir kommt Wert 0).
Dann habe ich die Werte von #40106 (gem. E3DC Leistungsmesser 0) abgerufen
und da bekomme ich Werte welche meines Erachtens die Phasenwerte sind; d.h. bei mir müßte es eigentlich so aussehen:
#40106 Phasenleistung in Watt
powers = client.read_holding_registers(40105, [ModbusDataType.INT_16] * 3, unit=1)
cnt= SimCountFactory().get_sim_counter()().sim_count(power_all, prefix="bezug")
#print ('0 %f, 1 %f' % (cnt[0],cnt[1]))
get_counter_value_store(1).set(CounterState(
imported= cnt[0],
exported= cnt[1],
power=power_all,
powers=powers
))
log.debug("Update completed successfully")
Ich weiß jetzt allerdings nicht, wann die Werte auf welchem Typ von Leistungsmesser ausgewiesen werden (Leistungsmesser 0, Leistungsmesser 6, E3DC listet da noch ein paar mehr Typen auf), hängt vermutlich von der jeweiligen Konstellation des jeweiligen E3DC Systems ab.
Gruß,
Stefan