snaptec / openWB

openWB - die modulare Wallbox
https://openwb.de
GNU General Public License v3.0
340 stars 204 forks source link

Fronius Symo: Keine Daten vom SmartMeter nach Update des Datamanager #1491

Closed vuffiraa72 closed 3 years ago

vuffiraa72 commented 3 years ago

Nach dem Update des Fronius Datamanagers von Version 3.16.7-1 auf Version 3.18.7-1 wird der Hausverbrauch nicht mehr in der openWB angezeigt.

Hardware:

Aktivieren des Kompatibilitätsmodus für Gen24 / neuere Symo im EVU-Modul behebt das Problem und es werden wieder Daten angezeigt. Hier erfolgt aber die Abfrage auf das Gesamtsystem bezogen, was bei mehreren WRs zu Problemen führen kann.

Was ist also die eigentlich Ursache des Problems? Bisher wurden die Daten bei mir gerätespezifisch abgefragt: curl --connect-timeout 5 -s "$wrfroniusip/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceID=$froniuserzeugung" Seit dem Update des Datamanagers ist die Antwort:

{
   "Body" : {
      "Data" : {}
   },
   "Head" : {
      "RequestArguments" : {
         "DeviceClass" : "Meter",
         "Scope" : "Device"
      },
      "Status" : {
         "Code" : 6,
         "Reason" : "CGI-Args: Invalid parameter '' for attribute 'DeviceId' (must be numeric)",
         "UserMessage" : ""
      },
      "Timestamp" : "2021-07-19T17:56:31+02:00"
   }
}

Es hat eine Weile gedauert, aber dann ist mir der Unterschied aufgefallen: DeviceID vs DeviceId Laut der Fronius Solar API Dokumentation sollte diese Funktion für alle aktuellen Fronius WR verfügbar sein. Mit der geänderten Abfrage werden dann wieder alle Daten im erwarteten Format gelesen: curl --connect-timeout 5 -s "$wrfroniusip/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceId=$froniuserzeugung"

Ich würde gerne 2 Ansätze zur Diskussion stellen:

  1. Umstellen der Abfrage auf Parameter DeviceId. Ich kann die Funktionalität leider nicht für alte Datamanagers-Versionen prüfen. Wenn es abwärtskompatibel ist, könnte es den Kompatibilitätsmodus für Gen24 / neuere Symo obsolet machen.
  2. Prüfen der Datamanagers-Version des Symo per /solar_api/v1/GetLoggerInfo.cgi und Verwendung der entsprechenden Parametervariante (DeviceID/DeviceId).
vuffiraa72 commented 3 years ago

Im Forum habe ich versucht das Thema zu diskutieren, um zu Klären, ob sich die Fronius Solar API hier geändert hat bzw. nur strikter geworden ist. Letzteres scheint der Fall zu sein.

Siehe: https://openwb.de/forum/viewtopic.php?p=39615#p39615 oder auch https://forum.fhem.de/index.php/topic,122254.0.html. Leider waren die Rückmeldungen nicht so zahlreich, aber es wurde bestätigt, dass die alten Versionen mit der Schreibweise des Parameters "DeviceId" umgehen können. Daher habe ich einen passenden Pull-Request #1502 erstellt.