Fronius Gen24 Speichersteuerung per Modbus

Begonnen von sky64, 17 Januar 2021, 18:52:26

Vorheriges Thema - Nächstes Thema

mediastudio

Hallo, ich hänge hier am modbus fest.
Die Ankopplung Modbus / TCP kein Problem, Daten in Fhem werden ausgelesen und auch
aktualisiert, aber mit den Weten kann ich nichts anfangen sind für mich noch
leider nicht richtig dargestellt. Ich habe seit dem 30.02.2023 einen 
Fronius Symo Gen24 8.0 PLUS Solar PV HybridWechselrichter und ein
Fronius Smart Meter TS 65A-3 Bidirektionale Zähler das über den Modbus mit dem
Dem Wechselrichter verbunden ist. Zusätzlich wurde auch ein BYD Batteriespeicher
B-Box Premium HVS 7.7 kWh installiert. Zuvor war ein SMA Wechselrichter ohne Speicher
im Betrieb. Vom SMA habe ich die Werte ohne Probleme sauber angezeigt.
Ich brauche unbedingt den ,,Aktuelle Leistung von der PV-Anlage" dann auch vom Smart Meter
ob Leistung ins Netz gespeist oder gezogen wird.
So sieht es bei mir aus, ich bekomme von allen Registern Werte.

################################ 
### Fronius symo gen24 8.0 plus
################################
define gen24 ModbusAttr 1 10 192.168.10.49:502 TCP
attr gen24 dev-h-defExpr $val & 0x1FFFFFFF
attr gen24 dev-h-defLen 2
attr gen24 dev-h-defPoll 1
attr gen24 dev-h-defUnpack N
attr gen24 devStateIcon ok:on fault:message_attention warnings:message_attention
attr gen24 room FRONIUS
attr gen24 obj-h40109-format %.2f
attr gen24 obj-h40109-len 2
attr gen24 obj-h40109-reading Temperatur
attr gen24 obj-h40109-unpack f>
attr gen24 obj-h40344-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40344-len 1
attr gen24 obj-h40344-reading BatteryDischargeWatt
attr gen24 obj-h40344-unpack n
attr gen24 obj-h40073-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40073-reading ACCurrentPhaseA
attr gen24 obj-h40075-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40075-reading ACCurrentPhaseB
attr gen24 obj-h40077-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40077-reading ACCurrentPhaseC
attr gen24 obj-h40058-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40085-reading ACVoltagePhaseA
attr gen24 obj-h40087-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40087-reading ACVoltagePhaseB
attr gen24 obj-h40089-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40089-reading ACVoltagePhaseC
attr gen24 obj-h40091-format %.0f
attr gen24 obj-h40091-reading ACPower
attr gen24 obj-h40093-expr ($val  & 0x1FFFFFFF ) / 500
attr gen24 obj-h40093-format %.0f
attr gen24 obj-h40093-len 2
attr gen24 obj-h40093-reading ACFrequency
attr gen24 obj-h40117-format %s
attr gen24 obj-h40117-len 1
attr gen24 obj-h40117-map 1:off,2:sleeping,3:starting,4:active,5:throttled,6:shutdown,7:fault,8:standby
attr gen24 obj-h40117-reading status
attr gen24 obj-h40117-unpack n
attr gen24 obj-h40196-expr $val / 1000
attr gen24 obj-h40196-format %.2f
attr gen24 obj-h40196-len 4
attr gen24 obj-h40196-reading ACActEnergy
attr gen24 obj-h40196-unpack Q>
attr gen24 obj-h40267-format %d
attr gen24 obj-h40267-len 1
attr gen24 obj-h40267-reading DCPowerScale
attr gen24 obj-h40267-unpack s>
attr gen24 obj-h40304-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40304-len 1
attr gen24 obj-h40304-reading DCPowerMPPT2
attr gen24 obj-h40304-unpack n
attr gen24 obj-h40324-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40324-reading BatteryChargeWatt
attr gen24 obj-h40324-unpack n
attr gen24 stateFormat Wirkleistung: Watt  Aktuelle Leistung
attr gen24 userattr obj-h30775-reading obj-h30775-unpack obj-h30775-poll obj-h30775-len
attr gen24 obj-h30201-map 35:fault,303:off,307:ok,455:warnings
attr gen24 obj-h30211-map 336:Contact manufacturer, 337:Contact installer, 338:invalid, 887:none
attr gen24 obj-h40355-len 1
attr gen24 obj-h40355-reading BatConfigMaxReferenceWatt
attr gen24 obj-h40355-unpack n
attr gen24 obj-h40358-format %s
attr gen24 obj-h40358-len 1
attr gen24 obj-h40358-map 0:none,1:chargeMax,2:dischrMax,3:bothMax
attr gen24 obj-h40358-reading BatConfigMaxEnabled
attr gen24 obj-h40358-set 1
attr gen24 obj-h40358-unpack n
attr gen24 obj-h40360-expr $val / 100
attr gen24 obj-h40360-len 1
attr gen24 obj-h40360-reading BatConfigReserve
attr gen24 obj-h40360-unpack n
attr gen24 obj-h40361-expr $val / 100
attr gen24 obj-h40361-len 1
attr gen24 obj-h40361-reading BatteryChargePercent
attr gen24 obj-h40361-unpack n
attr gen24 obj-h40364-format %s
attr gen24 obj-h40364-len 1
attr gen24 obj-h40364-map 1:off,2:empty,3:discharging,4:charging,5:full,6:holding,7:testing
attr gen24 obj-h40364-reading BatteryState
attr gen24 obj-h40364-unpack n
attr gen24 obj-h40365-expr $val / 10000 * ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-len 1
attr gen24 obj-h40365-max ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-min -ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-reading BatConfigMaxDischargeWatt
attr gen24 obj-h40365-set 1
attr gen24 obj-h40365-setexpr $val / ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1) * 10000
attr gen24 obj-h40365-unpack s>
attr gen24 obj-h40366-expr $val / 10000 * ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-len 1
attr gen24 obj-h40366-max ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-min -ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-reading BatConfigMaxChargeWatt
attr gen24 obj-h40366-set 1
attr gen24 obj-h40366-setexpr $val / ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1) * 10000
attr gen24 obj-h40366-unpack s>

Wer kann mir denn da auf die Sprünge helfen.
Gruß Wilfried

sky64

Bei mir sieht es so aus.
Attributes:
   DbLogExclude .*
   event-min-interval BYD_SoC:300
   event-on-change-reading BYD_SoC,Isolation,ChaSt
   obj-h40004-len 8
   obj-h40004-poll 900
   obj-h40004-reading Hersteller
   obj-h40004-unpack A*
   obj-h40091-expr $val/1
   obj-h40091-len 2
   obj-h40091-poll 30
   obj-h40091-reading AC-Power
   obj-h40091-unpack f>
   obj-h40109-format %.2f
   obj-h40109-len 2
   obj-h40109-poll 300
   obj-h40109-reading Temperatur
   obj-h40109-unpack f>
   obj-h40235-expr $val/100
   obj-h40235-poll 300
   obj-h40235-reading Isolation
   obj-h40325-expr $val/100000
   obj-h40325-len 2
   obj-h40325-min 1
   obj-h40325-poll 300
   obj-h40325-reading Summe_Ladung
   obj-h40325-unpack N
   obj-h40345-expr $val/100000
   obj-h40345-len 2
   obj-h40345-min 1
   obj-h40345-poll 300
   obj-h40345-reading Summe_Entladung
   obj-h40345-unpack N
   obj-h40355-poll 300
   obj-h40355-reading WChaMax
   obj-h40358-poll 300
   obj-h40358-reading StorCtl_Mod
   obj-h40358-set 1
   obj-h40360-expr $val/100
   obj-h40360-format %.2f
   obj-h40360-max 100
   obj-h40360-min 7
   obj-h40360-poll 60
   obj-h40360-reading BYD_min_Reserve
   obj-h40360-set 1
   obj-h40360-setexpr $val * 100
   obj-h40361-expr $val/100
   obj-h40361-format %.2f
   obj-h40361-poll 60
   obj-h40361-reading BYD_SoC
   obj-h40364-poll 60
   obj-h40364-reading ChaSt
   obj-h40365-expr $val/100
   obj-h40365-format %.2f
   obj-h40365-max 100
   obj-h40365-min 0
   obj-h40365-poll 60
   obj-h40365-reading BYD_max_discharge
   obj-h40365-set 1
   obj-h40365-setexpr $val * 100
   obj-h40366-expr $val/100
   obj-h40366-format %.2f
   obj-h40366-max 100
   obj-h40366-min 0
   obj-h40366-poll 60
   obj-h40366-reading BYD_max_charge
   obj-h40366-set 1
   obj-h40366-setexpr $val * 100


Wie gesagt mit dem Datenmodell float im WR!
RaspBerryPi + RFXTRX + GPIO4-1W-Sensoren + EMT7110(Strom/Spannungsmesser) an RF-Soap-Nachbau + 320x240 LowCost LCD-Mudul

mediastudio

Hallo, ich bekomme die Fehlermeldunggen 24: unknown attribute DbLogExclude. Type 'attr gen24 ?' for a detailed list.
und es wird so nur BYD_SoC als Wert aktualisiert. Ich bin habe eigentlich alle Fronius Datamanager Register Map als Excel Tabelle.
ich bekomme ja auch Werte ausgelesen ich kann die Daten nur nicht richtig zuordnen.
Das habe ich nun gemacht, habe deine attr eingetragen, aber funktioniert bei mir noch nicht.

################################ 
### Fronius symo gen24 8.0 plus
################################
define gen24 ModbusAttr 1 10 192.168.10.49:502 TCP
attr gen24 room FRONIUS
attr gen24 alias Fronius symo gen24 8.0 plus

attr gen24 DbLogExclude .*
attr gen24 event-min-interval BYD_SoC:10
attr gen24 event-on-change-reading BYD_SoC,Isolation,ChaSt
attr gen24 obj-h40004-len 8
attr gen24 obj-h40004-poll 900
attr gen24 obj-h40004-reading Hersteller
attr gen24 obj-h40004-unpack A*
attr gen24 obj-h40091-expr $val/1
attr gen24 obj-h40091-len 2
attr gen24 obj-h40091-poll 10
attr gen24 obj-h40091-reading AC-Power
attr gen24 obj-h40091-unpack f>
attr gen24 obj-h40109-format %.2f
attr gen24 obj-h40109-len 2
attr gen24 obj-h40109-poll 10
attr gen24 obj-h40109-reading Temperatur
attr gen24 obj-h40109-unpack f>
attr gen24 obj-h40235-expr $val/100
attr gen24 obj-h40235-poll 10
attr gen24 obj-h40235-reading Isolation
attr gen24 obj-h40325-expr $val/100000
attr gen24 obj-h40325-len 2
attr gen24 obj-h40325-min 1
attr gen24 obj-h40325-poll 10
attr gen24 obj-h40325-reading Summe_Ladung
attr gen24 obj-h40325-unpack N
attr gen24 obj-h40345-expr $val/100000
attr gen24 obj-h40345-len 2
attr gen24 obj-h40345-min 1
attr gen24 obj-h40345-poll 10
attr gen24 obj-h40345-reading Summe_Entladung
attr gen24 obj-h40345-unpack N
attr gen24 obj-h40355-poll 10
attr gen24 obj-h40355-reading WChaMax
attr gen24 obj-h40358-poll 10
attr gen24 obj-h40358-reading StorCtl_Mod
attr gen24 obj-h40358-set 1
attr gen24 obj-h40360-expr $val/100
attr gen24 obj-h40360-format %.2f
attr gen24 obj-h40360-max 100
attr gen24 obj-h40360-min 7
attr gen24 obj-h40360-poll 10
attr gen24 obj-h40360-reading BYD_min_Reserve
attr gen24 obj-h40360-set 1
attr gen24 obj-h40360-setexpr $val * 100
attr gen24 obj-h40361-expr $val/100
attr gen24 obj-h40361-format %.2f
attr gen24 obj-h40361-poll 60
attr gen24 obj-h40361-reading BYD_SoC
attr gen24 obj-h40364-poll 10
attr gen24 obj-h40364-reading ChaSt
attr gen24 obj-h40365-expr $val/100
attr gen24 obj-h40365-format %.2f
attr gen24 obj-h40365-max 100
attr gen24 obj-h40365-min 0
attr gen24 obj-h40365-poll 10
attr gen24 obj-h40365-reading BYD_max_discharge
attr gen24 obj-h40365-set 1
attr gen24 obj-h40365-setexpr $val * 100
attr gen24 obj-h40366-expr $val/100
attr gen24 obj-h40366-format %.2f
attr gen24 obj-h40366-max 100
attr gen24 obj-h40366-min 0
attr gen24 obj-h40366-poll 10
attr gen24 obj-h40366-reading BYD_max_charge
attr gen24 obj-h40366-set 1
attr gen24 obj-h40366-setexpr $val * 100

mediastudio

Das Funktioniert in soweit das die Werte alle 10 Sekunden erneuert werden.
Aber mir sagen die noch nichts.

################################ 
### Fronius symo gen24 8.0 plus
################################
define gen24 ModbusAttr 1 10 192.168.10.49:502 TCP
#attr gen24 dev-h-defExpr $val & 0x1FFFFFFF
attr gen24 dev-h-defLen 2
attr gen24 dev-h-defPoll 1
#attr gen24 dev-h-defUnpack N
#attr gen24 devStateIcon ok:on fault:message_attention warnings:message_attention
attr gen24 room FRONIUS
attr gen24 alias Fronius symo gen24 8.0 plus
attr gen24 obj-h40109-format %.2f
attr gen24 obj-h40109-len 2
attr gen24 obj-h40109-reading Temperatur
attr gen24 obj-h40109-unpack f>
attr gen24 obj-h40344-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40344-len 1
attr gen24 obj-h40344-reading BatteryDischargeWatt
attr gen24 obj-h40344-unpack n
attr gen24 obj-h40073-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40073-reading ACCurrentPhaseA
attr gen24 obj-h40075-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40075-reading ACCurrentPhaseB
attr gen24 obj-h40077-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40077-reading ACCurrentPhaseC
attr gen24 obj-h40058-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40085-reading ACVoltagePhaseA
attr gen24 obj-h40087-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40087-reading ACVoltagePhaseB
attr gen24 obj-h40089-expr ($val  & 0x1FFFFFFF ) / 1000
attr gen24 obj-h40089-reading ACVoltagePhaseC
attr gen24 obj-h40091-format %.0f
attr gen24 obj-h40091-reading ACPower
attr gen24 obj-h40093-expr ($val  & 0x1FFFFFFF ) / 500
attr gen24 obj-h40093-format %.0f
attr gen24 obj-h40093-len 2
attr gen24 obj-h40093-reading ACFrequency
attr gen24 obj-h40117-format %s
attr gen24 obj-h40117-len 1
attr gen24 obj-h40117-map 1:off,2:sleeping,3:starting,4:active,5:throttled,6:shutdown,7:fault,8:standby
attr gen24 obj-h40117-reading status
attr gen24 obj-h40117-unpack n
attr gen24 obj-h40196-expr $val / 1000
attr gen24 obj-h40196-format %.2f
attr gen24 obj-h40196-len 4
attr gen24 obj-h40196-reading ACActEnergy
attr gen24 obj-h40196-unpack Q>
attr gen24 obj-h40267-format %d
attr gen24 obj-h40267-len 1
attr gen24 obj-h40267-reading DCPowerScale
attr gen24 obj-h40267-unpack s>
attr gen24 obj-h40304-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40304-len 1
attr gen24 obj-h40304-reading DCPowerMPPT2
attr gen24 obj-h40304-unpack n
attr gen24 obj-h40324-expr $val * 10 ** ReadingsVal($name, 'DCPowerScale', 1)
attr gen24 obj-h40324-reading BatteryChargeWatt
attr gen24 obj-h40324-unpack n
attr gen24 stateFormat Wirkleistung: Watt  Aktuelle Leistung
attr gen24 userattr obj-h30775-reading obj-h30775-unpack obj-h30775-poll obj-h30775-len
attr gen24 obj-h30201-map 35:fault,303:off,307:ok,455:warnings
attr gen24 obj-h30211-map 336:Contact manufacturer, 337:Contact installer, 338:invalid, 887:none
attr gen24 obj-h40355-len 1
attr gen24 obj-h40355-reading BatConfigMaxReferenceWatt
attr gen24 obj-h40355-unpack n
attr gen24 obj-h40358-format %s
attr gen24 obj-h40358-len 1
attr gen24 obj-h40358-map 0:none,1:chargeMax,2:dischrMax,3:bothMax
attr gen24 obj-h40358-reading BatConfigMaxEnabled
attr gen24 obj-h40358-set 1
attr gen24 obj-h40358-unpack n
attr gen24 obj-h40360-expr $val / 100
attr gen24 obj-h40360-len 1
attr gen24 obj-h40360-reading BatConfigReserve
attr gen24 obj-h40360-unpack n
attr gen24 obj-h40361-expr $val / 100
attr gen24 obj-h40361-len 1
attr gen24 obj-h40361-reading BatteryChargePercent
attr gen24 obj-h40361-unpack n
attr gen24 obj-h40364-format %s
attr gen24 obj-h40364-len 1
attr gen24 obj-h40364-map 1:off,2:empty,3:discharging,4:charging,5:full,6:holding,7:testing
attr gen24 obj-h40364-reading BatteryState
attr gen24 obj-h40364-unpack n
attr gen24 obj-h40365-expr $val / 10000 * ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-len 1
attr gen24 obj-h40365-max ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-min -ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40365-reading BatConfigMaxDischargeWatt
attr gen24 obj-h40365-set 1
attr gen24 obj-h40365-setexpr $val / ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1) * 10000
attr gen24 obj-h40365-unpack s>
attr gen24 obj-h40366-expr $val / 10000 * ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-len 1
attr gen24 obj-h40366-max ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-min -ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1)
attr gen24 obj-h40366-reading BatConfigMaxChargeWatt
attr gen24 obj-h40366-set 1
attr gen24 obj-h40366-setexpr $val / ReadingsVal($name, 'BatConfigMaxReferenceWatt', 1) * 10000
attr gen24 obj-h40366-unpack s>