Solarwatt MyReserve per JSON auslesen - Readings

Begonnen von topa_LE, 25 Juni 2019, 21:47:09

Vorheriges Thema - Nächstes Thema

topa_LE

#15
So habe mal auf Attribute Updates gemacht, nun kommt was und auch die Readings ...


amenomade

Zitat von: topa_LE am 29 Juni 2019, 15:48:22
Im normalen LOG steht nix drin, trotz verbose 5.

Das kann nicht sein. Siehe alle Threads über HTTPMOD hier im Forum. Die Log ist nw. sogar seeehr verbose.

Zitat von: topa_LE am 29 Juni 2019, 15:48:22
Nach set start im Define kommt nur das im Log:
2019.06.29 15:50:00 5: httpmod_MR_Stromspeicher_Devices: set called with start
2019.06.29 15:50:00 4: httpmod_MR_Stromspeicher_Devices: update timer modified: will call GetUpdate in 15.0 seconds at 2019-06-29 15:50:15

Und was passiert nach dem GetUpdate ? Und nach einem set httpmod_MR_Stromspeicher_Devices reread ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#17
Ahja... Du nutzt DbLog, richtig?

Mit Attributes:
   DbLogExclude .*
kommt natürlich gar nix in DbLog

Ich weiss nicht, wie DbLog funktioniert, aber ich meine die Log wo tatsächlich die Log3 Befehle zu sehen sind.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

topa_LE

Genau, die Readings die ich später loggen möchte, setze ich dann mit DBLogInclude separat.

topa_LE

#19
Der log sich zu .... ;-)

Kann den Code leider nicht hier setzen: Sorry, irgendwie packt er das nicht hier in den CODE-BLOCK!

Code entfernt, da nicht im Block.

topa_LE

Habe nun die Readings, nur aktualisiert er nicht nach 15 Sekunden, sondern immer nur wenn ich set DEFINE reread mache.


setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 Batterieladung 891.7074
setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 CurrentBatteryIn 9.38
setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 WorkACOut-1 19539.5206977367
setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 WorkACOut-2 135137.757768876
setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 WorkACOut-3 32805402
setstate httpmod_MR_Stromspeicher_Devices 2019-06-29 16:04:58 WorkACOut-4 135177.488441605

amenomade

Ohne die Log werde ich nicht viel weiter helfen können.
Mit dem "list" wie Du oben kopiert hast, sollte er doch jede 15. Sek lesen. Hast Du irgendwas anderes gesetzt, oder set stop gemacht, o.ä ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

topa_LE

Ja hatte set stop gemacht, weil das log nicht mehr geladen wurde.

Leider passt das Log hier nicht in den Codeblock, sieht sehr komisch aus, sende dir es per PM.

Funktioniert jetzt, habe interval nochmal neu gesetzt.

Alles bestens. Werde das nun alles korrekt definieren, melde mich dann nochmal wenn es was gibt.

Vorerst großes Dankeschön an Dich!!!!

topa_LE

Hier noch abschließend das List: (Thread kann als gelöst gesetzt werden)


Internals:
   .getList   
   .setList   interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
   .updateRequestHash 1
   BUSY       0
   CFGFN     
   DEF        http://192.168.178.160/rest/kiwigrid/wizard/devices 15
   FUUID      5d174469-f33f-252b-8c98-858e80e8c22a8298
   Interval   15
   JSONEnabled 1
   LASTSEND   1561833435.51347
   MainURL    http://192.168.178.160/rest/kiwigrid/wizard/devices
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       httpmod_MR_Stromspeicher_Devices
   NOTIFYDEV  global
   NR         8059
   NTFY_ORDER 50-MR
   STATE      | Batterieentladung: <span style='color:#eba15d;'>1333.0 W</span> | Batteriestatus: <span style='color:#eba15d;'>39 %</span> | Batterieladung: <span style='color:#eba15d;'>0 kW</span> | Eigenverbrauch: <span style='color:#eba15d;'>0 kW</span>
   TRIGGERTIME 1561833450.51142
   TRIGGERTIME_FMT 2019-06-29 20:37:30
   TYPE       HTTPMOD
   addr       http://192.168.178.160:80
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl http://192.168.178.160/rest/kiwigrid/wizard/devices
   header     
   host       192.168.178.160
   httpheader HTTP/1.1 200 OK
Set-Cookie: emsid="c64d56f7-d92f-4441-989f-1803e15e03d0";$Path="/"
Cache-Control: no-cache
Content-Type: application/json; charset=UTF-8
Content-Length: 95875
   httpversion 1.0
   hu_blocking 0
   hu_filecount 264
   hu_port    80
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /rest/kiwigrid/wizard/devices
   protocol   http
   redirects  0
   timeout    2
   url        http://192.168.178.160/rest/kiwigrid/wizard/devices
   value      0
   .attraggr:
   .attreocr:
     .*
   .attreour:
     .*
   .attrminint:
   .readingParseList:
     10
     20
     30
     40
     50
     55
     60
     70
     80
     85
     86
     87
     88
     89
   .userReadings:
     HASH(0x7b63390)
     HASH(0x7f0fb18)
     HASH(0x70c9c10)
     HASH(0x7cbd510)
     HASH(0x7e4d650)
   OLDREADINGS:
   QUEUE:
   READINGS:
     2019-06-29 20:37:15   Aktuelle_Batterieaufladung 0
     2019-06-29 20:37:15   Batterieentladung 1333.024
     2019-06-29 20:37:15   Batterieentladung_Round 1333
     2019-06-29 20:37:15   Batterieladung  0
     2019-06-29 20:37:15   Batterieladung_Round 0
     2019-06-29 20:37:15   Batterielebenserwartung_in_Prozent 99.5
     2019-06-29 20:37:15   Batteriestatus_in_Prozent 39
     2019-06-29 20:37:15   CPU_Auslastung_Energymanager 0.024
     2019-06-29 20:37:15   Eigenverbrauch  0
     2019-06-29 20:37:15   Eigenverbrauch_Round 0
     2019-06-29 20:37:15   Einspeisung-1   0
     2019-06-29 20:37:15   Einspeisung-2   0
     2019-06-29 20:37:15   Einspeisung_Round 0
     2019-06-29 20:37:15   Energymanager_SW_Firmware-1 HW: 3 SW: 36 C: 24 PV: 33
     2019-06-29 20:37:15   Energymanager_SW_Firmware-2 6.6.8.0
     2019-06-29 20:37:15   Energymanager_SW_Firmware-3 0.3.23.0
     2019-06-29 20:37:15   Gesamtproduktion 0
     2019-06-29 20:37:15   Gesamtverbrauch 1608.024
     2019-06-29 20:37:15   Status_My_Reserve-1 OK
     2019-06-29 20:37:15   Status_My_Reserve-10 OK
     2019-06-29 20:37:15   Status_My_Reserve-2 OK
     2019-06-29 20:37:15   Status_My_Reserve-3 OK
     2019-06-29 20:37:15   Status_My_Reserve-4 OK
     2019-06-29 20:37:15   Status_My_Reserve-5 OK
     2019-06-29 20:37:15   Status_My_Reserve-6 OK
     2019-06-29 20:37:15   Status_My_Reserve-7 OK
     2019-06-29 20:37:15   Status_My_Reserve-8 OK
     2019-06-29 20:37:15   Status_My_Reserve-9 OK
     2019-06-29 20:37:15   Strombezug      275
     2019-06-29 20:37:15   Strombezug_Round 275
     2019-06-29 20:37:15   WorkACOut-1     22132.7831603784
     2019-06-29 20:37:15   WorkACOut-2     140363.231688473
     2019-06-29 20:37:15   WorkACOut-3     32813102
     2019-06-29 20:37:15   WorkACOut-4     140402.962361202
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       update
     url        http://192.168.178.160/rest/kiwigrid/wizard/devices
     value      0
   defptr:
     readingBase:
       Aktuelle_Batterieaufladung reading
       Batterieentladung reading
       Batterieladung reading
       Batterielebenserwartung reading
       Batterielebenserwartung_in_Prozent reading
       Batteriestatus reading
       Batteriestatus_in_Prozent reading
       CPU_Auslastung_Energymanager reading
       CurrentBatteryIn reading
       Eigenverbrauch reading
       Einspeisung-1 reading
       Einspeisung-2 reading
       Energymanager_SW_Firmware-1 reading
       Energymanager_SW_Firmware-2 reading
       Energymanager_SW_Firmware-3 reading
       Gesamtproduktion reading
       Gesamtverbrauch reading
       Status_My_Reserve-1 reading
       Status_My_Reserve-10 reading
       Status_My_Reserve-2 reading
       Status_My_Reserve-3 reading
       Status_My_Reserve-4 reading
       Status_My_Reserve-5 reading
       Status_My_Reserve-6 reading
       Status_My_Reserve-7 reading
       Status_My_Reserve-8 reading
       Status_My_Reserve-9 reading
       Strombezug reading
       WorkACOut-1 reading
       WorkACOut-2 reading
       WorkACOut-3 reading
       WorkACOut-4 reading
     readingNum:
       Aktuelle_Batterieaufladung 20
       Batterieentladung 40
       Batterieladung 30
       Batterielebenserwartung 86
       Batterielebenserwartung_in_Prozent 86
       Batteriestatus 85
       Batteriestatus_in_Prozent 85
       CPU_Auslastung_Energymanager 87
       CurrentBatteryIn 20
       Eigenverbrauch 55
       Einspeisung-1 80
       Einspeisung-2 80
       Energymanager_SW_Firmware-1 88
       Energymanager_SW_Firmware-2 88
       Energymanager_SW_Firmware-3 88
       Gesamtproduktion 70
       Gesamtverbrauch 50
       Status_My_Reserve-1 89
       Status_My_Reserve-10 89
       Status_My_Reserve-2 89
       Status_My_Reserve-3 89
       Status_My_Reserve-4 89
       Status_My_Reserve-5 89
       Status_My_Reserve-6 89
       Status_My_Reserve-7 89
       Status_My_Reserve-8 89
       Status_My_Reserve-9 89
       Strombezug 60
       WorkACOut-1 10
       WorkACOut-2 10
       WorkACOut-3 10
       WorkACOut-4 10
     readingOutdated:
     readingSubNum:
       Einspeisung-1 -1
       Einspeisung-2 -2
       Energymanager_SW_Firmware-1 -1
       Energymanager_SW_Firmware-2 -2
       Energymanager_SW_Firmware-3 -3
       Status_My_Reserve-1 -1
       Status_My_Reserve-10 -10
       Status_My_Reserve-2 -2
       Status_My_Reserve-3 -3
       Status_My_Reserve-4 -4
       Status_My_Reserve-5 -5
       Status_My_Reserve-6 -6
       Status_My_Reserve-7 -7
       Status_My_Reserve-8 -8
       Status_My_Reserve-9 -9
       WorkACOut-1 -1
       WorkACOut-2 -2
       WorkACOut-3 -3
       WorkACOut-4 -4
     requestReadings:
       update:
         Aktuelle_Batterieaufladung reading 20
         Batterieentladung reading 40
         Batterieladung reading 30
         Batterielebenserwartung reading 86
         Batterielebenserwartung_in_Prozent reading 86
         Batteriestatus reading 85
         Batteriestatus_in_Prozent reading 85
         CPU_Auslastung_Energymanager reading 87
         CurrentBatteryIn reading 20
         Eigenverbrauch reading 55
         Einspeisung-1 reading 80-1
         Einspeisung-2 reading 80-2
         Energymanager_SW_Firmware-1 reading 88-1
         Energymanager_SW_Firmware-2 reading 88-2
         Energymanager_SW_Firmware-3 reading 88-3
         Gesamtproduktion reading 70
         Gesamtverbrauch reading 50
         Status_My_Reserve-1 reading 89-1
         Status_My_Reserve-10 reading 89-10
         Status_My_Reserve-2 reading 89-2
         Status_My_Reserve-3 reading 89-3
         Status_My_Reserve-4 reading 89-4
         Status_My_Reserve-5 reading 89-5
         Status_My_Reserve-6 reading 89-6
         Status_My_Reserve-7 reading 89-7
         Status_My_Reserve-8 reading 89-8
         Status_My_Reserve-9 reading 89-9
         Strombezug reading 60
         WorkACOut-1 reading 10-1
         WorkACOut-2 reading 10-2
         WorkACOut-3 reading 10-3
         WorkACOut-4 reading 10-4
   sslargs:
Attributes:
   DbLogExclude .*
   alias      Stromspeicher MR - Statistik
   enableControlSet 1
   event-on-change-reading .*
   event-on-update-reading .*
   group      My Reserve Stromspeicher - SOLARWATT
   icon       measure_battery_75
   reading10JSON result_items_.*_tagValues_WorkACOut_value
   reading10Name WorkACOut
   reading20JSON result_items_.*_tagValues_CurrentBatteryIn_value
   reading20Name Aktuelle_Batterieaufladung
   reading30JSON result_items_.*_tagValues_PowerBufferedFromProducers_value
   reading30Name Batterieladung
   reading40JSON result_items_.*_tagValues_PowerConsumedFromStorage_value
   reading40Name Batterieentladung
   reading50JSON result_items_.*_tagValues_PowerConsumed_value
   reading50Name Gesamtverbrauch
   reading55JSON result_items_.*_tagValues_PowerConsumedFromProducers_value
   reading55Name Eigenverbrauch
   reading60JSON result_items_.*_tagValues_PowerConsumedFromGrid_value
   reading60Name Strombezug
   reading70JSON result_items_.*_tagValues_PowerProduced_value
   reading70Name Gesamtproduktion
   reading80JSON result_items_.*_tagValues_PowerOut_value
   reading80Name Einspeisung
   reading85JSON result_items_.*_tagValues_StateOfCharge_value
   reading85Name Batteriestatus_in_Prozent
   reading86JSON result_items_.*_tagValues_StateOfHealth_value
   reading86Name Batterielebenserwartung_in_Prozent
   reading87JSON result_items_.*_tagValues_FractionCPULoadKernel_value
   reading87Name CPU_Auslastung_Energymanager
   reading88JSON result_items_.*_tagValues_IdFirmware_value
   reading88Name Energymanager_SW_Firmware
   reading89JSON result_items_.*_tagValues_StateDevice_value
   reading89Name Status_My_Reserve
   room       16-HW-Raum
   stateFormat {return "| Batterieentladung: <span style='color:#eba15d;'>".sprintf("%.1f",ReadingsVal($name,"Batterieentladung_Round",0))." W</span> | Batteriestatus: <span style='color:#eba15d;'>".sprintf("%.0f",ReadingsVal($name,"Batteriestatus_in_Prozent",0))." %</span> | Batterieladung: <span style='color:#eba15d;'>".sprintf("%.0f",ReadingsVal($name,"Batterieladung_Round",0))." kW</span> | Eigenverbrauch: <span style='color:#eba15d;'>".sprintf("%.0f",ReadingsVal($name,"Eigenverbrauch_Round",0))." kW</span> ";}
   userReadings Batterieentladung_Round { round( ReadingsVal($name,"Batterieentladung",0),0) }, Batterieladung_Round { round( ReadingsVal($name,"Batterieladung",0),0) }, Eigenverbrauch_Round { round( ReadingsVal($name,"Eigenverbrauch",0),0) }, Einspeisung_Round { round( ReadingsVal($name,"Einspeisung-1",0),0) }, Strombezug_Round { round( ReadingsVal($name,"Strombezug",0),0) }
   userattr   reading10JSON reading10Name reading20JSON reading20Name reading30JSON reading30Name reading40JSON reading40Name reading50JSON reading50Name reading55JSON reading55Name reading60JSON reading60Name reading70JSON reading70Name reading80JSON reading80Name reading85JSON reading85Name reading86JSON reading86Name reading87JSON reading87Name reading88JSON reading88Name reading89JSON reading89Name
   verbose    0

DO7RH

Hallo zusammen,
Solarwatt hat ein Update auf den Energie Manger ausgerollt und die http Adresse /rest/kiwigrid/eps/powerValues ist nicht mehr erreichbar. Offenbar läuft jetzt die Kommunikation über HTTPS. Weiter bin ich mit Wireshark an dieser Stelle noch nicht gekommen.
Ist euch die neue Adresse bekannt?

topa_LE

Zitat von: DO7RH am 14 November 2020, 13:04:25
Solarwatt hat ein Update auf den Energie Manger ausgerollt und die http Adresse /rest/kiwigrid/eps/powerValues ist nicht mehr erreichbar. Offenbar läuft jetzt die Kommunikation über HTTPS. Weiter bin ich mit Wireshark an dieser Stelle noch nicht gekommen.
Ist euch die neue Adresse bekannt?

Eher Kiwigrid, die für Solarwatt den EM softwaremäßig programmieren/verwalten. Ja ist bekannt, das die API-URL
http://ip-energiemanager/rest/kiwigrid/eps/powerValues

nicht mehr geht, bin aktuell mit Solarwatt/Kiwigrid in losem Kontakt um die neue URL in Erfahrung zu bringen. Ist gegenwärtig sehr zäh, da die ungern internas preisgeben wollen. Das Problem hatte ich damals schon!

Sehr merkwürdig der Laden! Sollten mal alle Endverbraucher von Speichermodulen den VPN Zugang auf ihren Energiemanager blocken, dann gibt es auch ihr Portal nicht mehr ...  ;D

Wüsste aktuell auch nicht, wie ich selbst an die neue Schnittstelle komme.

Kann auch sein, das die Haupt-URL http://ip-energiemanager/rest/kiwigrid/wizard/devices auch irgendwann nicht mehr geht. Den ist es anscheinend ein Dorn im Auge, wenn Nutzer andere Software zum Auslesen (FHEM) verwenden wollen. Anders kann ich es mir nicht erklären, weshalb es zur KiwiGrid API keinerlei Doku im Netz sich findet.

c2j2

Moin,

hast Du was Neueres zu irgendeiner einfacherern Abfrage erfahren können?

142 KB für eine Handvoll interessanter Werte...

mcbuh

Habe jetzt den Thread gelegenen und muss sagen, das ich zu blöd bin es zu verstehen. Könntet ihr vielleicht ein komplettes define reinpassten ? Wäre euch dankbar.

topa_LE

Moin,

muss meinen Thread leider nochmal aktivieren. Durch ständige Softwareupdates von KiwiGrid für den EM, ist es nun so, das teilweise Readings mehrere ITEMS haben.

Beispiel:
attr MR_Solar reading80JSON result_items_.*_tagValues_PowerOut_value
attr MR_Solar reading80Name Einspeisung

S0_1_Strom47_kWh { ReadingsNum($NAME,"WorkIn-3",0) / 1000 },\
S0_2_Strom48_kWh { ReadingsNum($NAME,"WorkIn-2",0) / 1000 },\

Nutze httpmod seit einigen Jahren. Definiere ich nun wie oben das Reading WorkIn-3 und logge es in die DBlog. Nach einiger Zeit ändert sich das Reading in WorkIn-1 oder 4 z.B. (Langzeit-Log ist dann nicht mehr zu gebrauchen)

Ich muss dann ständig die userReadings anpassen.


RAW
defmod MR_Solar HTTPMOD http://192.168.178.160/rest/kiwigrid/wizard/devices 10
attr MR_Solar DbLogExclude .*
attr MR_Solar DbLogInclude Pr_Round,EV_Round,Strombezug_Round,B_Entladung_Round,B_Ladung_Round,Einspeisung_Round,GV,BS,BS_kW
attr MR_Solar alias MR 9.6 kW - Solarwatt ( 160 )
attr MR_Solar enableControlSet 1
attr MR_Solar enableCookies 1
attr MR_Solar group My Reserve Stromspeicher - SOLARWATT
attr MR_Solar icon message_light_intensity
attr MR_Solar reading10JSON result_items_.*_tagValues_WorkACOut_value
attr MR_Solar reading10Name WorkACOut
attr MR_Solar reading11JSON result_items_.*_tagValues_WorkIn_value
attr MR_Solar reading11Name WorkIn
attr MR_Solar reading12JSON result_items_.*_tagValues_PowerIn_value
attr MR_Solar reading12Name PowerIn
attr MR_Solar reading13JSON result_items_.*_tagValues_PriceWorkIn_value
attr MR_Solar reading13Name PriceWorkIn
attr MR_Solar reading14JSON result_items_.*_tagValues_WorkBufferedFromProducers_value
attr MR_Solar reading14Name WorkBufferedFromProducers
attr MR_Solar reading15JSON result_items_.*_tagValues_SettingsNetworkMap_value
attr MR_Solar reading15Name Network
attr MR_Solar reading16JSON result_items_.*_tagValues_WorkConsumedFromProducers_value
attr MR_Solar reading16Name WorkConsumedFromProducers
attr MR_Solar reading17JSON result_items_.*_tagValues_WorkConsumedFromGrid_value
attr MR_Solar reading17Name WorkConsumedFromGrid
attr MR_Solar reading18JSON result_items_.*_tagValues_WorkSelfConsumed_value
attr MR_Solar reading18Name WorkSelfConsumed
attr MR_Solar reading19JSON result_items_.*_tagValues_WorkOutFromStorage_value
attr MR_Solar reading19Name WorkOutFromStorage
attr MR_Solar reading20JSON result_items_.*_tagValues_CurrentBatteryIn_value
attr MR_Solar reading20Name Aktuelle_Batterieaufladung
attr MR_Solar reading21JSON result_items_.*_tagValues_WorkConsumed_value
attr MR_Solar reading21Name WorkConsumed
attr MR_Solar reading22JSON result_items_.*_tagValues_WorkBufferedFromGrid_value
attr MR_Solar reading22Name WorkBufferedFromGrid
attr MR_Solar reading23JSON result_items_.*_tagValues_PowerReleased_value
attr MR_Solar reading23Name PowerReleased
attr MR_Solar reading24JSON result_items_.*_tagValues_PowerSelfSupplied_value
attr MR_Solar reading24Name PowerSelfSupplied
attr MR_Solar reading25JSON result_items_.*_tagValues_PowerOutFromStorage_value
attr MR_Solar reading25Name PowerOutFromStorage
attr MR_Solar reading26JSON result_items_.*_tagValues_WorkOutFromProducers_value
attr MR_Solar reading26Name WorkOutFromProducers
attr MR_Solar reading27JSON result_items_.*_tagValues_WorkConsumedFromStorage_value
attr MR_Solar reading27Name WorkConsumedFromStorage
attr MR_Solar reading28JSON result_items_.*_tagValues_WorkProduced_value
attr MR_Solar reading28Name WorkProduced
attr MR_Solar reading29JSON result_items_.*_tagValues_WorkACIn_value
attr MR_Solar reading29Name WorkACIn
attr MR_Solar reading30JSON result_items_.*_tagValues_PowerBufferedFromProducers_value
attr MR_Solar reading30Name Batterieladung
attr MR_Solar reading31JSON result_items_.*_tagValues_CountBatteryModules_value
attr MR_Solar reading31Name Anzahl_Batterie_Module
attr MR_Solar reading32JSON result_items_.*_tagValues_TemperatureBattery_value
attr MR_Solar reading32Name Batterie_Temperatur
attr MR_Solar reading33JSON result_items_.*_tagValues_VoltageBatteryCellMean_value
attr MR_Solar reading33Name Batterie_Stand_Aktuell
attr MR_Solar reading34JSON result_items_.*_tagValues_PowerInstalledPeak_value
attr MR_Solar reading34Name Peak_Power_Solarmodule_Watt
attr MR_Solar reading35JSON result_items_.*_tagValues_PriceProfitFeedin_value
attr MR_Solar reading35Name Einspeiseverguetung_Cent
attr MR_Solar reading36JSON result_items_05_tagValues_PowerOut_value
attr MR_Solar reading36Name PV_Einspeisung_Watt
attr MR_Solar reading40JSON result_items_.*_tagValues_PowerConsumedFromStorage_value
attr MR_Solar reading40Name Batterieentladung
attr MR_Solar reading50JSON result_items_.*_tagValues_PowerConsumed_value
attr MR_Solar reading50Name Gesamtverbrauch
attr MR_Solar reading55JSON result_items_.*_tagValues_PowerConsumedFromProducers_value
attr MR_Solar reading55Name Eigenverbrauch
attr MR_Solar reading60JSON result_items_.*_tagValues_PowerConsumedFromGrid_value
attr MR_Solar reading60Name Strombezug
attr MR_Solar reading70JSON result_items_.*_tagValues_PowerProduced_value
attr MR_Solar reading70Name Gesamtproduktion
attr MR_Solar reading80JSON result_items_.*_tagValues_PowerOut_value
attr MR_Solar reading80Name Einspeisung
attr MR_Solar reading85JSON result_items_.*_tagValues_StateOfCharge_value
attr MR_Solar reading85Name Batteriestatus_in_Prozent
attr MR_Solar reading86JSON result_items_.*_tagValues_StateOfHealth_value
attr MR_Solar reading86Name Batterielebenserwartung_in_Prozent
attr MR_Solar reading87JSON result_items_.*_tagValues_FractionCPULoadKernel_value
attr MR_Solar reading87Name CPU_Auslastung_Energymanager
attr MR_Solar reading88JSON result_items_.*_tagValues_IdFirmware_value
attr MR_Solar reading88Name Energymanager_SW_Firmware
attr MR_Solar reading89JSON result_items_.*_tagValues_StateDevice_value
attr MR_Solar reading89Name Status_My_Reserve
attr MR_Solar room 16-HW-Raum
attr MR_Solar stateFormat | PV: <span style='color:#eba15d;;'>Pr_Round W</span> \
| VK: <span style='color:#eba15d;;'>Einspeisung_Round W</span> \
| EV: <span style='color:#eba15d;;'>EV_Round W</span> \
| Entladung: <span style='color:#eba15d;;'>B_Entladung_Round W</span> \
| Status: <span style='color:#eba15d;;'>Batteriestatus_in_Prozent %</span> \
| Ladung: <span style='color:#eba15d;;'>B_Ladung_Round W</span> \
| Netz: <span style='color:#eba15d;;'>Strombezug_Round W</span> |
attr MR_Solar userReadings B_Entladung_Round { round( ReadingsVal($NAME,"Batterieentladung",0),0) },\
B_Ladung_Round { round( ReadingsVal($NAME,"Batterieladung",0),0) }, \
EV_Round { round( ReadingsVal($NAME,"Eigenverbrauch",0),0) }, \
Einspeisung_Round { round( ReadingsVal($NAME,"Einspeisung-2",0),0) }, \
Strombezug_Round { round( ReadingsVal($NAME,"Strombezug",0),0) }, \
Pr_Round { round( ReadingsVal($NAME,"Gesamtproduktion",0),0) }, \
GV { round( ReadingsVal($NAME,"Gesamtverbrauch",0),0) }, \
BS { round( ReadingsVal($NAME,"Batteriestatus_in_Prozent",0),1) }, \
Stromverbrauch_Garage_Blockhaus { round( ReadingsVal($NAME,"PowerIn-3",0),1) }, \
Stromverbrauch_Pool_Fitness { round( ReadingsVal($NAME,"PowerIn-2",0),1) }, \
S0_1_Strom47_kWh { ReadingsNum($NAME,"WorkIn-3",0) / 1000 },\
S0_2_Strom48_kWh { ReadingsNum($NAME,"WorkIn-2",0) / 1000 },\
BS_kW { round( ReadingsVal($NAME,"Batterie_Stand_Aktuell",0),2) },\
Netzeinspeisung_Wh { round( ReadingsVal($NAME,"WorkOutFromProducers",0),6) },\
PV_Produktion_Wh { round( ReadingsVal($NAME,"WorkProduced",0),6) },\
Netzeinspeisung_kWh { ReadingsNum($NAME,"Netzeinspeisung_Wh",0) / 1000 },\
PV_Produktion_kWh { ReadingsNum($NAME,"PV_Produktion_Wh",0) / 1000 },\
Netzeinspeisung_kWh_Round { round( ReadingsVal($NAME,"Netzeinspeisung_kWh",0),1) },\
PV_Produktion_kWh_Round { round( ReadingsVal($NAME,"PV_Produktion_kWh",0),1) },\
PV_Eigenstromnutzung { ReadingsNum($NAME,"WorkConsumedFromProducers",0)},\
Bat_Eigenstromnutzung { ReadingsNum($NAME,"WorkConsumedFromStorage",0)},\
Selbstversorgung { ReadingsNum($NAME,"PowerSelfSupplied",0)},\
B_Temp { ReadingsNum($NAME,"Batterie_Temperatur",0)},\
B_Live { ReadingsNum($NAME,"Batterielebenserwartung_in_Prozent",0)}
attr MR_Solar verbose 0

Suche ich mit extractAllJSON 1 den Json-String und nutze dann z.B.

attr MR_Solarwatt reading23JSON result_items_10_tagValues_PowerInstalledPeak_value
attr MR_Solarwatt reading23Name Peak_Power_Solarmodule_Watt

nützt das Logging dann irgendwann auch nix mehr, da sich result_items_10_ eben auch in eine andere Zahl ändert, als 10.

Eventuell kann man das einzigartig als Reading definieren.


Aus der API wäre das im PowerInstalledPeak , hier werden automatisch z.B. 4 Readings generiert.
(Diese ändern sich eben ständig zwischen 1 bis 4, als das man hieraus ein userReading definieren könnte, um es zu loggen)

"PowerInstalledPeak": {
            "tagName": "PowerInstalledPeak",
            "guid": "8c569b53-477e-4648-91aa-0f8524178949",
            "value": 5500
          },

Du darfst diesen Dateianhang nicht ansehen.

Ebenso bei PowerIn und WorkIn. Alle andere Readings aus der API sind korrekt. Warum dies so ist, weiß ich nicht.

StefanStrobel

Hallo Torsten,

wenn es immer nur ein Reading ist, sich aber der "Pfad" zum Reading in einer Zahl ändert, dann könntest Du eventuell statt per JSON mit einer Regex versuchen, den Wert zu bekommen und dabei die Zahl variabel lassen.
Poste doch mal einen Auszug aus den gelieferten Daten, dann sieht man besser, was es noch für Optionen geben könnte.

Gruss
   Stefan