76_SMAPortal - Integration SMA Sunny Portal - Ideen & Modulweiterentwicklung

Begonnen von DS_Starter, 08 Juli 2019, 18:45:46

Vorheriges Thema - Nächstes Thema

DS_Starter

ZitatEs gibt zwar noch  eine Fehlermeldung im Graphik-Widget:The attribute "providerLevel" of device "L37" must contain the level "forecastData" and data must be retrieved !

Naja, daran wird sich wohl leider nichts ändern weil gerade die forecastData bei den Usern ohne HM von SMA nicht geliefert werden. Das ist das Problem der leeren Seite (JSON) im Browser.

Du kannst das nochmal checken wenn du dich mit Firefox im SMA Portal anmeldest und danach im Browser ausführen


https://www.sunnyportal.com/HoMan/Forecast/LoadRecommendationData


Dann sollten jede Menge JSON Daten angezeigt werden. Kommt eine leere Seite, wirst du leider die schöne Grafik nicht nutzen können.
Falls du im Browser doch JSON Daten bekommen solltest, dann gib nochmanl Bescheid. In dem Fall könnte man sie auch im Modul abrufen.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Spark1984

Zitatin meinem contrib liegt eine Version mit dem Attribut "noHomeManager".

grandios :) bei mir werden die Daten jetzt auch geladen ;) vielen Dank ;)

Gruß,

Stefan

DS_Starter

Dann funktioniert es.  :D
Ich werde das neue Attr noch dokumentieren und checke die Version ein.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Ich habe noch eine Idee bezüglich der wiederkehrenden Berechtigungsprobleme eingebaut.
Bislang wird beim Abruf der liveData eine Wiederholung innerhalb von wenigen Sekunden durchgeführt, falls die Datenlieferung durch SMA ungenügend war.
Es könnte sein, dass man sich an diesen kurzen Wiederholungsintervallen stört.

Ich habe diese internen Retries nun auf 60s innerhalb eines Cycles gesetzt. Dadurch dauert der Abruf des Providers liveData eventuell etwas länger bei schlechter Datenqualität, aber ich habe damit (mal wieder) die Hoffnung dieses Problem der Nutzerkomprimitierung im SMA Portal gelöst zu bekommen.

Liegt erstmal wieder in meinem contrib. Mal schauen wie es sich verhält im Betrieb.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ClausL

Hallo,

bin gespannt, ob das hilft. Ansonsten muss ich mir langsam einen Provider mit einer unendlichen Anzahl von Adressen zulegen. Denn benutzte Adressen sind (zumindest erstmal) "verbrannt". Zumindest ist es mir nicht gelungen, mit einer bereits benutzten Adresse den Datenabruf wieder herzustellen. Es kam kein Fehler beim Login. Aber Daten kamen auch nicht. Mit einer komplett neuen Adresse funktioniert es dann auf Anhieb. Allerdings bekomme ich dann die Meldung "Data can't be retrieved from SMA-Portal. Reread at next scheduled cycle". Das die Bereitstellung der Live-Daten etwas wackelig ist, beobachte ich auch im Portal. Eine Ursache konnte ich bisher nicht finden. Ich habe noch den Verdacht, dass der Leitungsvermieter und der Provider nicht so ganz miteinander harmonieren und durch daher nötige Wiederholungen von HTTP-Requests Latenzen entstehen, die normalerweise nicht stören. Hier aber für Ärger sorgen. Mit ein bischen Glück ändert sich das aber bald, da wir hier Glasfaser bekommen. Das Leerrohr liegt schon an der Kellerwand. ;-))))

Viele Grüße, Claus

crusader85

bei mir ist das ähnlich, geht aber auch nicht mit neuen Adressen. Ich bin gefühlt dann erst mal 2 - 3 Tage geblockt, bevor eine neue Adresse funktioniert.

cwagner

Zitat von: DS_Starter am 03 Juli 2020, 09:27:31
Ich habe noch eine Idee bezüglich der wiederkehrenden Berechtigungsprobleme eingebaut.
Bislang wird beim Abruf der liveData eine Wiederholung innerhalb von wenigen Sekunden durchgeführt, falls die Datenlieferung durch SMA ungenügend war.
Es könnte sein, dass man sich an diesen kurzen Wiederholungsintervallen stört.

Diese Angaben geben vermutlich Hinweise auf Probleme bei der Datenverbindung, wie lese ich das (Vorschlag für Ergänzung der Doku):
dailyCallCounter 4:120
dailyIssueCookieCounter 4:3


Ich hatte die Beobachtung gemacht, dass ich auch bei konstanter PV-Erzeugung (L01_PV) immer wieder Nullwerte in der Datenreihe habe. Das ist auch in der jüngsten Version aus Deinem Contrib so. Dabei scheinen mir diese Nullwerte dann aufgezeichnet zu werden, wenn es eine Störung mit der Datenübermittlung gab (Die aktuelle PV-Erzeugung konnte nicht vollständig ermittelt werden. Ein Wechselrichter hat nicht geantwortet.) Wenn nichts kommt, dürfte das letzte Reading doch nicht mit 0 überschrieben werden, oder? Beispielsdaten:
2020-07-04_08:49:54 0
2020-07-04_09:29:54 133
2020-07-04_09:34:54 140
2020-07-04_09:39:54 0
2020-07-04_09:49:54 96
2020-07-04_09:54:54 112
2020-07-04_09:59:54 0
2020-07-04_10:04:34 106
2020-07-04_10:04:42 106
2020-07-04_10:07:46 106
2020-07-04_10:07:58 106
2020-07-04_10:12:58 99
2020-07-04_10:17:58 0
#L37:L01_PV:::

(Ist heute ein trüber Morgen mit Hochnebel, es gibt also keine Verschattungen/Wolken o.ä.; die physisch gemessenen Werte sind springen nicht mehr als +/- 2,5%)

Danke nochmals für die Energie, die Du in dieses Projekt steckst.

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

Hallo Christian,

Bin unterwegs, deswegen nur in Kürze.

dailyCallCounter 4:120
dailyIssueCookieCounter 4:3

dailyCall sagtxaus wie oft am Tag Daten Aubrufzyklen durchlaufen wurden. Die zahl vor dem : ist das Datum bzw. Tag.
DailyIssueCookie ist die Anzahl der neu ausgestellten Cookies. Je weniger desto besser. Wenn diese zahl hoch steigt ist es ein zeichen für login probleme.

Wegen der 0 Werte mache dir verbose 5 an und verbose5Data liveData. Dann sieht man was von sma geliefert wird und kann das analysieren.

Morgen Abend mehr.... schönes WE zusammen !

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cwagner

Zitat von: DS_Starter am 04 Juli 2020, 11:20:28
Wegen der 0 Werte mache dir verbose 5 an und verbose5Data liveData. Dann sieht man was von sma geliefert wird und kann das analysieren.

Habe mal den typischen Fall wie empfohlen aufgezeichnet: Der erste Block ist ein "Null-Fehlschlag", der zweite Block hat einen plausiblen Wert aufgezeichnet.


2020.07.05 12:30:23 3: L37 - ################################################################
2020.07.05 12:30:23 3: L37 - ###      start new set/get data from SMA Sunny Portal        ###
2020.07.05 12:30:23 3: L37 - ################################################################
2020.07.05 12:30:23 4: L37 - calculated cycles summary time: 1
2020.07.05 12:30:23 4: L37 - calculated maximum cycles:      295
2020.07.05 12:30:23 4: L37 - calculated timeout:             290
2020.07.05 12:30:23 3: L37 - ignore provider "consumerYearData" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "consumerMonthData" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "forecastData" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "consumerDayData" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "consumerCurrentdata" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "consumerMasterdata" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - ignore provider "plantMasterData" - SMA Home Manager is not installed
2020.07.05 12:30:23 3: L37 - Running data cycle: 1 of 295
2020.07.05 12:30:23 5: L37 - Start operation with CookieLocation: ./log/L37_cookie.txt and UserAgent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
2020.07.05 12:30:23 5: L37 - data get: all, data set: none
2020.07.05 12:30:23 4: L37 - Credentials read from RAM: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX ********
2020.07.05 12:30:24 3: L37 - User is already logged in.
2020.07.05 12:30:24 4: L37 - Getting liveData
GET https://www.sunnyportal.com/homemanager?t=1593907200000
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: de,en-US;q=0.7,en;q=0.3
Host: www.sunnyportal.com
Referer: https://www.sunnyportal.com/FixedPages/HoManLive.aspx
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Cookie: collapseNavi_state=shown; BIGipServerPool_P_SunnyPortal=3070535872.20480.0000; .SunnyPortalFormsLogin=3E53A02A3F26F1EC90098B3C7A46C950FCB8FC8E44C0A8DFB6C8E6FB8C5C6F38CCF45DE7C60D8100A21E7CC72F008515BE64AF02A342AD97017BABDCA9A5E0ED2512C8E445430714EF7A8D9D7154F41D8D8A75E9D98EE0CA312CE6DA8E216BB68F4262E6E741210DCE2230C326722334DBDE1CE0419BA6F85F12D7B0CC570DA2A350E81A1C61587AB87A93DDC0A0E7C3BDB1DA20D7E4BC9EAF9C7C96B9E9BA92B57A4E6DC741C2DEB84BDAA3C3098A5FD5E8BF9CF6ED33506DC8971EEE27CF459A841696DD3153EE987BAF4D75347E91E3CF24A787E626938E371DC7B5C76BC63E2C552EE950B60F12C6496322EADCA15F2A6DCA566E4ED56DB0B7284107DA990E3BEAFD4E91AA82F2B820E3DA953ECC1F78AD0E47EE78A140131DE947598527E8918E9228919E971D4BF5E14E6F66E36383C165CFC6DF4CA88D329BE536DADC066B3D2F3ABAD5E878898C51B98FD230153A18E9B199ECD29B2FC469DC6C869B340E0F62270D92B6C4CD5332E950F87D2DEE508CEC97079E26D8BAF5D1F4CDEBC84BA99958564531C2B3778F095585D2AC6628C30F547F98B7C55CEFD170E9F6D3479B1E64C49A835A74B2BAE71AA0EA04407E87BA3A9F1CE5F11758F8A7184489827D90BA38F2B11374A8B611D5AB989265616D0DC893F0537555CAFFA1D3875DA5409D23057E2CB1E10A5A3D4838AC38F254AC48C505814336C4888A608FBD19B6856C53A67160C4A6C2D465E74D6A5BB432B5837C58E9D71A8301351B40268831CDC49B998EA06177FE4B57060BE87028BDA7EFFF52EB8ECB605AACB88CBECCC07CAAB6966E96A40D596E079E695D1DC59FC1; ASP.NET_SessionId=chkjccgrppcg1bzga10foway; SunnyPortalPageCounter=0
Cookie2: $Version="1"
DNT: 1
X-Requested-With: XMLHttpRequest

(no content)
HTTP/1.1 200 OK
Cache-Control: private, s-maxage=0
Date: Sun, 05 Jul 2020 10:30:23 GMT
Server: Microsoft-IIS/10.0
Content-Length: 709
Content-Type: application/json; charset=utf-8
Client-Date: Sun, 05 Jul 2020 10:30:24 GMT
Client-Peer: 171.25.178.37:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
Client-SSL-Cert-Subject: /OU=Domain Control Validated/OU=COMODO SSL Wildcard/CN=*.sunnyportal.com
Client-SSL-Cipher: ECDHE-RSA-AES256-GCM-SHA384
Client-SSL-Socket-Class: IO::Socket::SSL
Client-SSL-Warning: Peer certificate not verified
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 5.2

{"__type":"LiveDataUI","Timestamp":{"__type":"DateTime","DateTime":"2020-07-05T12:30:24","Kind":"Unspecified"},"PV":354,"FeedIn":null,"GridConsumption":null,"DirectConsumption":null,"SelfConsumption":null,"SelfSupply":null,"TotalConsumption":null,"DirectConsumptionQuote":null,"SelfConsumptionQuote":null,"AutarkyQuote":null,"BatteryIn":null,"BatteryOut":null,"BatteryChargeStatus":null,"OperationHealth":null,"BatteryStateOfHealth":null,"ModuleTemperature":null,"EnvironmentTemperature":null,"WindSpeed":null,"I...
(+ 197 more bytes not shown)
2020.07.05 12:30:24 5: L37 - Return Code: 200
2020.07.05 12:30:24 5: L37 - liveData received:
$VAR1 = {
          'EnvironmentTemperature' => undef,
          'AutarkyQuote' => undef,
          'SelfConsumption' => undef,
          'SelfConsumptionQuote' => undef,
          'Info' => {},
          'ErrorMessages' => [],
          'BatteryStateOfHealth' => undef,
          'OperationHealth' => undef,
          '__type' => 'LiveDataUI',
          'BatteryIn' => undef,
          'InfoMessages' => [
                              'Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt. '
                            ],
          'Timestamp' => {
                           '__type' => 'DateTime',
                           'Kind' => 'Unspecified',
                           'DateTime' => '2020-07-05T12:30:24'
                         },
          'SelfSupply' => undef,
          'TotalConsumption' => undef,
          'DirectConsumption' => undef,
          'WarningMessages' => [],
          'FeedIn' => undef,
          'DirectConsumptionQuote' => undef,
          'BatteryChargeStatus' => undef,
          'BatteryOut' => undef,
          'Insolation' => undef,
          'GridConsumption' => undef,
          'BatteryMode' => undef,
          'WindSpeed' => undef,
          'ModuleTemperature' => undef,
          'PV' => 354
        };

2020.07.05 12:30:24 4: L37 - ##### extracting live data ####
2020.07.05 12:30:24 3: L37 - data retrieved successfully.
2020.07.05 12:30:24 4: L37 - Refresh - caller: SPG1.L37, callerroom: SMAPortal, detail: SPG1.L37, pload: 0, forcePageRefresh: 0, event_Spgdev: 1


Mit einer Userreading habe ich festgestellt, dass es etwa ebenso viele Null-Ergebnisse wie "Treffer" gibt. Mal kommen etliche Ergebnisse, dann eine Reihe Nuller oder es wechselt sich ab mit Null/Ergebnis. Das Intervall habe ich auf Default=300 sec gelassen.

Herzliche Grüße

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

Hallo Christian, @all,

Problem bei dir ist, dass die Meldung "Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt." von SMA als Infomessage und nicht als Warningmessage geliefert wird.
Dadurch ist der entsprechende Call für mich gültig da nur Info.

Zur Zeit werte ich genau diese Meldung als Warning aus, was bei mir auch so geliefert wird.
Ich kann das leicht ergänzen, frage mich aber natürlich wieso das bei dir als Info gesendet wird. Hängt das möglicherweise auch mit dem fehlenden HM zusammen ?
Einen SMA-Energy Meter hast du doch oder ?


Ansonsten hatte ich über das gesamte WE die Version mit den erweiterten Wiederholungszyklen laufen und sieht erstmal gut aus. Wenn schlechte Lieferqualität der Live DAten vorliegt, kann es schonmal dauern, aber das ist sicherlich besser als ständig die User zu "verbrennen", das geht natürlich für einen stabilen Betrieb überhaupt nicht.


Bei mir habe ich jetzt als best practice Ansatz drei SMAPortal-Devices angelegt und jedem Device einen separaten User zugewiesen:

1. Device: SStrom_Prognose  -> nur Ermittlung Prognosedaten mit Portalgrafik und Schalten der Verbraucher.
    Abrufzyklus: 600 s, 
    providerLevel -> consumerCurrentdata,forecastData,weatherData,plantLogbook

2. Device: SStrom_Statistics  -> nur Statistikdaten für Auswertungen.
    Abrufzyklus: 10800 s, 
    providerLevel -> balanceDayData,balanceMonthData,balanceYearData,balanceTotalData,consumerCurrentdata,consumerDayData,consumerMonthData,consumerYearData

3. Device: SStrom_live -> nur Livedaten für aktuelle Werte und SVG-Grafik
    Abrufzyklus: 180 s, 
    providerLevel -> liveData

Dadurch läuft der Abruf der Statistiken und Vorhersagedaten vollkommen losgelöst von den Live-Daten. Denn nur bei letzteren gibt es diese Wiederholungsproblematik bei mangelhafter Datenlieferung.

Dann noch eine ganz allgemeine Info dazu. Ich hatte unlängst Verbindung zum SMA Support und hatte dort die instabile Datenlieferung der Live Daten gemeldet (ist ja auch im Browser nicht anders wie auch schon von ClausL berichtet).

Dazu hatte mir SMA die folgende Info gegeben:

Zitat
Diese Störungen sind Netzwerkprobleme. Wenn der Fehler wieder kommt bitte prüfen Sie folgendes:

Für die Kommunikation zwischen Home Manager und Sunny Portal wird das bei Voice over IP (VoIP) verwendete SIP/STUN-Verfahren eingesetzt. Das bedeutet, dass alle im Netzwerk befindlichen Komponenten SIP unterstützen müssen. Wenn Sie einen Gigabit Switch oder Router haben, empfehlen wir Ihnen, die entsprechenden Ports auf 100 Mbit einzustellen. Wenn im Router ein Application Level Gateway (ALG) aktiv ist, kann dies Fehler in der SIP Kommunikation verursachen. Dann muss das ALG deaktiviert werden.

Eine spezielle Routerkonfiguration, zum Beispiel das Anlegen von NAT- und Portregeln, ist nicht erforderlich. Es kann jedoch nicht ausgeschlossen werden, dass die IT-Infrastruktur das verwendete Verfahren blockiert. Das kann am eingesetzten Router, Switch oder einer Firewall liegen. Alle UDP Ports ab 1024 dürfen für ausgehende Verbindungen nicht blockiert werden. Die beiden Ports 9523 und 3478 dürfen für ein- und ausgehende Verbindungen nicht blockiert werden. Um auszuschließen, dass es sich um ein Portproblem handelt, können Sie die IP Adresse des Home Managers testhalber in der DMZ des Routers konfigurieren (bei FritzBoxen als "exposed host" bezeichnet).

Falls auf dem Router eine Firewall mit Paketfilter installiert ist, muss der Paketfilter derart konfiguriert sein, dass keine Verbindung blockiert wird. Sollte trotz der freigeschalteten Ports keine Verbindung aufgebaut werden, ist zu überprüfen ob folgende URLs geblockt sind:


    proxy.ied.sma.de
    registrar.ied.sma.de
    stun.ied.sma.de
    ied.sma.de


Es müssen auch alle Netzwerkkomponenten IGMP (Version 3) fähig sein. Über dieses Multicast-Protokoll kommunizieren die Geräte lokal miteinander. Es kommt vor, dass bestimmte Geräte (z.B. DLAN- oder WLAN-Adapter) das Protokoll nicht optimal unterstützen und so die Geräte nicht oder nur sporadisch kommunizieren können. Des Weiteren gibt es Switche, die über die Funktion "IGMP Snooping" verfügen. Dadurch wird die Verbindung zum SMA Gerät bei scheinbarer Inaktivität abgebaut und kann danach nicht wiederaufgebaut werden. Abhilfe schafft hier die Deaktivierung der Funktion "IGMP Snooping" im Switch. Sollte dies im Switch nicht deaktiviert werden können, würden Sie einen managebaren Switch benötigen, der über diese Funktion verfügt.

Weiterhin kann es notwendig sein, im Netzwerk statische Adressen zu vergeben, für den Fall, dass DHCP nicht sauber funktioniert. Dabei sollten Sie darauf achten, statische Adressen außerhalb des DHCP Bereich des Routers zu verwenden, da es sonst auch zu Adresskonflikten kommen kann. Was die Kommunikation des Home Managers ins Internet betrifft, kann es zu DNS Problemen kommen, wenn der Router (der normalerweise immer DNS-Server ist) die Adress-Auflösung nicht hinbekommt. Dann können Sie auch öffentliche DNS-Server im Home Manager (z.B. 8.8.8.8 von Google, oder einen DNS-Server des Providers) eintragen. Die Netzwerkeinstellungen des Home Managers können mit dem Home Manager Assistenten vorgenommen werden:

Mit JAVA: https://files.sma.de/dl/15583/Sunny-Home-Manager-Assistant-105R-jre.exe

Ohne JAVA: https://files.sma.de/dl/15583/Sunny-Home-Manager-Assistant-105R.exe

Vielleicht hilft das dem einen oder anderen auch neben den Maßnahmen im Modul.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cwagner

Zitat von: DS_Starter am 06 Juli 2020, 19:56:36
Problem bei dir ist, dass die Meldung "Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt." von SMA als Infomessage und nicht als Warningmessage geliefert wird.
Dadurch ist der entsprechende Call für mich gültig da nur Info.

Zur Zeit werte ich genau diese Meldung als Warning aus, was bei mir auch so geliefert wird.
Ich kann das leicht ergänzen, frage mich aber natürlich wieso das bei dir als Info gesendet wird. Hängt das möglicherweise auch mit dem fehlenden HM zusammen ?
Einen SMA-Energy Meter hast du doch oder ?
Hallo Heiko, ich gehöre noch (!) zu den glücklichen, die voll einspeisen können auf Basis eines alten Vertrages. Insofern habe ich auch kein SMA-Energy Meter. Womöglich bist Du somit auf der richtigen Spur...
Insofern ist mir klar, dass ich Tagessalden etc. selbst integrieren muss. Auch deshalb tun mir die Nullwerte so "weh".
Herzliche Grüße

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

Hi Christian,

jetzt wird langsam ein Bild daraus denke ich. Du hast nur den WR, sonst nichts. D.h. SMA kann maximal die PV des WR ermitteln. Deswegen kommt die Bezugsmessage auch nur als INfo, geht ja nicht anders und ist somit korrekt es nicht als Fehler zu werten.

Ich hab noch weiter zurück gelesen ...
Zitat
Dabei scheinen mir diese Nullwerte dann aufgezeichnet zu werden, wenn es eine Störung mit der Datenübermittlung gab (Die aktuelle PV-Erzeugung konnte nicht vollständig ermittelt werden. Ein Wechselrichter hat nicht geantwortet.) Wenn nichts kommt, dürfte das letzte Reading doch nicht mit 0 überschrieben werden, oder?

Das ist ein wenig problematisch. Wenn der Abend kommt und die WR in den Schlaf gehen, antworten sie alle nicht mehr und die Message ist die gleiche. Lasse ich das letzte Reading dann stehen, haben die User über Nacht eine PV-Erzeugung im Device stehen.

Ich muß heute Abend mal schauen ob diese Standard-Mitteilung als Warnung oder als Info kommt.
Kannst du das bei dir auch mal ergründen, wenn du wieder einen Nuller hast ? (mit verbos 5 und  verbose5Data liveData.)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cwagner

Hi Heiko,
hmmh, das Portal meldet mir für heute aber eine Gesamtleistung für den Tag (9533 Wh) und aktuell in diesem Moment 0W. In den empfangenen Daten steht auch 0 W.
Im Log finde ich widersprüchliches:
{"__type":"LiveDataUI","Timestamp":{"__type":"DateTime","DateTime":"2020-07-06T21:43:38","Kind":"Unspecified"},"PV":0,"FeedIn":null,"GridConsumption":null,"DirectConsumption":0,"SelfConsumption":0,"SelfSupply":0,"TotalConsumption":0,"DirectConsumptionQuote":null,"SelfConsumptionQuote":null,"AutarkyQuote":null,"BatteryIn":null,"BatteryOut":null,"BatteryChargeStatus":null,"OperationHealth":null,"BatteryStateOfHealth":null,"ModuleTemperature":null,"EnvironmentTemperature":null,"WindSpeed":null,"Insolation":nul...
(+ 89 more bytes not shown)
2020.07.06 21:43:38 5: L37 - Return Code: 200
2020.07.06 21:43:38 5: L37 - liveData received:
$VAR1 = {
          'InfoMessages' => [],
          'BatteryIn' => undef,
          '__type' => 'LiveDataUI',
          'OperationHealth' => undef,
          'BatteryStateOfHealth' => undef,
          'ErrorMessages' => [],
          'Info' => {},
          'SelfConsumptionQuote' => undef,
          'SelfConsumption' => 0,
          'AutarkyQuote' => undef,
          'EnvironmentTemperature' => undef,
          'PV' => 0,
          'WindSpeed' => undef,
          'ModuleTemperature' => undef,
          'BatteryMode' => undef,
          'GridConsumption' => undef,
          'Insolation' => undef,
          'BatteryOut' => undef,
          'BatteryChargeStatus' => undef,
          'DirectConsumptionQuote' => undef,
          'FeedIn' => undef,
          'DirectConsumption' => 0,
          'WarningMessages' => [],
          'TotalConsumption' => 0,
          'SelfSupply' => 0,
          'Timestamp' => {
                           'Kind' => 'Unspecified',
                           'DateTime' => '2020-07-06T21:43:38',
                           '__type' => 'DateTime'
                         }
        };

2020.07.06 21:43:38 4: L37 - ##### extracting live data ####
2020.07.06 21:43:38 3: L37 - data retrieved successfully.
2020.07.06 21:43:38 2: L37 - Data can't be retrieved from SMA-Portal. Reread at next scheduled cycle.


vorletzte Zeile ist für mein Auge ein Widerspruch zur letzten. Und in Bezug auf die einzelnen Felder ist es Intrepretationssache: Ich habe eine Angabe für PV, eine Reihe von Angaben ist nicht definiert, aber Info und Warning sind leer.

die letzte Zeile findet sich dann auch als state.
state      Data can't be retrieved from SMA-Portal. Reread at next scheduled cycle.          2020-07-06 21:43:38

Übrigens: Der Cookie-Zähler ist bei mir heute mit "4" tatsächlich auch deutlich kleiner als in den letzten Tagen.

Herzliche Grüße

Christian

P.S.: Ich kann bestätigen, dass auch im Web-Portal es immer mal wieder zu Störungsmeldungen kommt. Aber bisher konnte ich (noch) nicht beeobachten, ob das korreliert mit "Nullern" zu Zeiten, wo definitiv Werte >0 anstehen müssten.
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

DS_Starter

Zitatdas Portal meldet mir für heute aber eine Gesamtleistung für den Tag (9533 Wh) und aktuell in diesem Moment 0W. In den empfangenen Daten steht auch 0 W.

Das passt, 9533 Wh ist die Statistik. Bekommst du mit dem providerLevel balanceDayData ebenso. Die Momentleistung ist natürlich 0 weil Abend.

Zitatvorletzte Zeile ist für mein Auge ein Widerspruch zur letzten.
Nein, nur oberflächlich betrachtet.

2020.07.06 21:43:38 3: L37 - data retrieved successfully. -> sagt aus dass die Daten erfolgreich abgerufen wurden, was stimmt weil keine Fehlermeldungen, JSON empfangen usw.

2020.07.06 21:43:38 2: L37 - Data can't be retrieved from SMA-Portal. Reread at next scheduled cycle. -> das ist eine Gemeinheit, weil ich schlussfolgere -> keine PV (0), aber auch keine GridConsumption (undef) und kein FeedIn (undef)
Das ist ein Zustand den es normalerweise mit einem SMA Energy Meter nicht geben kann und deswegen wiederholt werden muss .... bei dir aber schon weil du keinen EM hast und PV jetzt am Abend 0 ist.  ;)
Deswegen ist in diesem Zusammenhang meine Schlussfolgerung "Data can't be retrieved from SMA-Portal" falsch.

Da muss ich mir wohl noch ein Attribut "noEnergyMeter" einfallen lassen.
Fehlt dann nur noch ein "noInverter" und es ist komplett.  ;D (Joke).

Grüße,
Heiko

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Bei kommt jetzt Abends übrigens die Meldung:

L01_WarningMessages

Nachricht von SMA Sunny Portal erhalten:
Die aktuelle PV-Erzeugung konnte nicht vollständig ermittelt werden. Ein Wechselrichter hat nicht geantwortet.


Jetzt wäre interessant ob diese Meldung bei dir als Info oder auch als Warning erscheint.

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter