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

@Christian, teste mal bitte die Version aus meinem contrib ob dein Problem jetzt beseitigt ist.
Proxmox+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, 23:32:12
@Christian, teste mal bitte die Version aus meinem contrib ob dein Problem jetzt beseitigt ist.

Das tue ich jetzt - beim ersten Start hatte ich auf jeden Fall sofort ein PV-Ergebnis. Ich habe direkt danach noch einmal Daten abgeholt und nun beide Fälle: Es wird ein PV zurückgemeldet und es kommt ein "undef":
{
          'SelfSupply' => undef,
          'Timestamp' => {
                           '__type' => 'DateTime',
                           'DateTime' => '2020-07-07T07:38:59',
                           'Kind' => 'Unspecified'
                         },
          'WarningMessages' => [],
          'DirectConsumption' => undef,
          'TotalConsumption' => undef,
          'DirectConsumptionQuote' => undef,
          'FeedIn' => undef,
          'Insolation' => undef,
          'BatteryOut' => undef,
          'BatteryChargeStatus' => undef,
          'GridConsumption' => undef,
          'WindSpeed' => undef,
          'ModuleTemperature' => undef,
          'BatteryMode' => undef,
          'PV' => 98,
          '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. '
                            ]
        };

{"__type":"LiveDataUI","Timestamp":{"__type":"DateTime","DateTime":"2020-07-07T07:33:02","Kind":"Unspecified"},"PV":null,"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,"...
(+ 311 more bytes not shown)
2020.07.07 07:33:02 5: L37 - Return Code: 200
2020.07.07 07:33:02 5: L37 - liveData received:
$VAR1 = {
          'BatteryMode' => undef,
          'ModuleTemperature' => undef,
          'WindSpeed' => undef,
          'PV' => undef,
          'GridConsumption' => undef,
          'BatteryChargeStatus' => undef,
          'BatteryOut' => undef,
          'Insolation' => undef,
          'FeedIn' => undef,
          'DirectConsumptionQuote' => undef,
          'TotalConsumption' => undef,
          'WarningMessages' => [
                                 "Die aktuelle PV-Erzeugung konnte nicht vollst\x{e4}ndig ermittelt werden. Ein Wechselrichter hat nicht geantwortet."
                               ],
          'DirectConsumption' => undef,
          'Timestamp' => {
                           'DateTime' => '2020-07-07T07:33:02',
                           'Kind' => 'Unspecified',
                           '__type' => 'DateTime'
                         },
          'SelfSupply' => undef,
          'BatteryIn' => undef,
          'InfoMessages' => [
                              'Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt. '
                            ],
          '__type' => 'LiveDataUI',
          'BatteryStateOfHealth' => undef,
          'OperationHealth' => undef,
          'Info' => {},
          'ErrorMessages' => [],
          'SelfConsumptionQuote' => undef,
          'SelfConsumption' => undef,
          'AutarkyQuote' => undef,
          'EnvironmentTemperature' => undef
        };


Die Zahl meiner Readings ist jetzt auch deutlich geringer, alle "undefs" werden nicht mehr gezeigt und wurden (von FHEM) auch aus der Darstellung getilgt (nicht verkehrt, finde ich)

in der ersten Dreiviertelstunde habe ich keine "Nuller" mehr.

Vielen Dank

Christian
PI 2B+/5 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,

das hört sich gut an.
Bei mir läuft die aktuelle Entwicklungsversion bis dato auch einwandfrei.
Ich werde sie heute einchecken und ist morgen früh im Update enthalten.

Grüße,
Heiko
Proxmox+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

Das zusammen gesetzte Bild zeigt die Aufzeichnungen von heute vom Modul (oben) im Vergleich zu der Spannung eines kleinen Solarmoduls als Indiz (Mitte) und dem SMA-Portal (unten). Passt recht gut zusammen, es gab auch keine "Nuller" mehr.

Danke scbön

Christian
PI 2B+/5 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

Anbei auch eine Überblicksgrafik von mir mit den 3 angelegten Devices für unterschiedliche Auswertungen sowie der Portalgrafik.

LG,
Heiko
Proxmox+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

Xguide

Hallo Heiko,

ich habe heute ziemlich leichtsinning mal ein fhem update angestoßen und musste im Nachgang feststellen wie fleissig du warst.
Allerdings bekomme ich seit dem Update keine Daten mehr aufgrund "Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.". Login ist aber successful  ???

Der Rücksprung auf die alte SMA_Portal Version hat mir auch nicht geholfen. Deswegen vermute ich inzwischen, dass an einer anderen Stelle sich noch etwas geändert hat und das es dort hakt. Hatte schon eine ganze Weile keine Updates mehr gemacht.

Der User lässt sich über manuelles Anmelden am Portal benutzen, das kann ich ausschließen.
Cookie habe ich bereits gelöscht und Credentials neu eingegeben? Cookie wird neu angelegt, aber gleiches Problem.
Die Rechte des Benutzers habe ich schon auf max hochgesetzt, keine Veränderung.

Updates auf OS-Ebene habe ich nun auch durch, kein Erfolg :-(

Besten Gruß

Marcel



2020.07.08 00:43:27 4: sunnyPortal - Refresh - caller: fhemWEB.sunnyPortal, callerroom: "n.a.", detail: sunnyPortal, pload: 0, forcePageRefresh: 0, event_Spgdev: 1
2020.07.08 00:44:23 3: sunnyPortal - ################################################################
2020.07.08 00:44:23 3: sunnyPortal - ###      start new set/get data from SMA Sunny Portal        ###
2020.07.08 00:44:23 3: sunnyPortal - ################################################################
2020.07.08 00:44:23 4: sunnyPortal - calculated cycles summary time: 5
2020.07.08 00:44:23 4: sunnyPortal - calculated maximum cycles:      59
2020.07.08 00:44:23 4: sunnyPortal - calculated timeout:             290
2020.07.08 00:44:23 3: sunnyPortal - Running data cycle: 1 of 59
2020.07.08 00:44:23 5: sunnyPortal - Start operation with CookieLocation: /path/mycookiesPortal.txt and UserAgent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
2020.07.08 00:44:23 5: sunnyPortal - data get: all, data set: none
2020.07.08 00:44:23 4: sunnyPortal - Credentials read from RAM: user ********
POST https://www.sunnyportal.com/Templates/Start.aspx
Connection: keep-alive
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: 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)
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
Cookie: collapseNavi_state=shown; SunnyPortalLoginInfo=Username=user&Code=5152257653514535695535456655356570510565535515842; SunnyPortalPageCounter=0; .SunnyPortalFormsLogin=schnipschnap; ASP.NET_SessionId=tpwsf1ypv2x4hik5exhnxmy2; BIGipServerPool_P_SunnyPortal=31038671978.20480.0000
Cookie2: $Version="1"
DNT: 1
X-Requested-With: XMLHttpRequest

(no content)
HTTP/1.1 302 Found
Cache-Control: no-cache
Date: Tue, 07 Jul 2020 22:44:23 GMT
Pragma: no-cache
Location: /FixedPages/HoManLive.aspx
Server: Microsoft-IIS/10.0
Content-Length: 31156
Content-Type: text/html; charset=utf-8
Expires: -1
Client-Date: Tue, 07 Jul 2020 22:44:23 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
Set-Cookie: .SunnyPortalFormsLogin=; expires=Mon, 11-Oct-1999 22:00:00 GMT; path=/; HttpOnly
Set-Cookie: .SunnyPortalFormsLogin=schnipschnap; path=/; secure; HttpOnly
Set-Cookie: SunnyPortalPageCounter=0; path=/; secure; HttpOnly
Title: Object moved
X-AspNet-Version: 4.0.30319

<html><head><title>Object moved</title></head><body>\r
<h2>Object moved to <a href="/FixedPages/HoManLive.aspx">here</a>.</h2>\r
</body></html>\r
\r
\r
<!DOCTYPE html>\r
<!--[if IE 8]><html class="ie8 oldie"><![endif]-->\r
<!--[if IE 9 ]><html class="ie9"><![endif]-->\r
<!--[if gt IE 9]><!--><html><!--<![endif]-->\r
    <head id="ctl00_Head"><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device...
(+ 30644 more bytes not shown)
2020.07.08 00:44:23 3: sunnyPortal - User is already logged in.
2020.07.08 00:44:23 5: sunnyPortal - Redirect return code: 302
2020.07.08 00:44:23 5: sunnyPortal - Redirect Header Location: /FixedPages/HoManLive.aspx
2020.07.08 00:44:23 4: sunnyPortal - Getting consumerMasterdata
2020.07.08 00:44:24 2: sunnyPortal - ERROR - User logged in but unauthorized
2020.07.08 00:44:24 5: sunnyPortal - No JSON Data received:
HTTP/1.1 401 Unauthorized
Cache-Control: private, s-maxage=0
Date: Tue, 07 Jul 2020 22:44:23 GMT
Server: Microsoft-IIS/10.0
Content-Length: 1293
Content-Type: text/html
Client-Date: Tue, 07 Jul 2020 22:44:23 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
Client-Warning: Missing Authenticate header
Title: 401 - Unauthorized: Access is denied due to invalid credentials.
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 5.2

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana, Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0 0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2% 6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
  <h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2>
  <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>

FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

DS_Starter

Hallo Marcel,

ja das ist bekannt und wurde hier schon öfter erörtert.
Du musst dir einen neuen User bei SMA anlegen, der alte User wurde komprimitiert und funktioniert nicht mehr.
Es besteht die Hoffnung, dass dieses Problem mit der seit heute morgen ausgelieferten Version nicht mehr auftritt.

Grüße,
Heiko
Proxmox+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

Xguide

Hallo Heiko,

danke für den Tipp, läuft wieder! Wenn auch unschön...

Schönen Tag zusammen,

Marcel
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

DS_Starter

Ja, ist unschön. Wie gesagt, die Hoffnung besteht das Problem in den Griff zu bekommen.
In der Vergangenheit wurden automatische Abrufe mit hinreichenden Abständen toleriert. Ich hoffe diese Akzeptanz ist noch vorhanden ....

Grüße,
Heiko
Proxmox+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

Hallo zusammen,

da es hier still geworden ist, gehe ich mal davon aus dass es bei euch genauso geräuschlos läuft wie bei mir.
Wenn es so ist, kann man gerne mal die Hand heben weil ich mich dann mit Erweiterungen befassen würde.  :)

Grüße,
Heiko
Proxmox+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

Hier, hier: Bei mir läuft es jetzt gut. Sonderfall nur Wechselrichter.
Jetzt müsste nur wieder die Sonne scheinen, ist das die Erweiterung, die Du meinst? :-)

Herzliche Grüße

Christian
PI 2B+/5 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

Wzut

Zitat von: DS_Starter am 11 Juli 2020, 17:00:44
hier still geworden ist
wenn du unbedingt willst ... ich habe jetzt nicht in den Quelltext geschaut , aber IMHO steht an der Stelle ein Blank statt einem &nbsp;
Auswahl der Stunden begrenzt, d.h. der Header brauch mehr Platz als die Balken und dann kommt es bei den 4h zum Umbruch.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Xguide

Hallo Heiko,

jepp, läuft und ist echt noch mal deutlich besser geworden.
Habe den Interval auf 600sec gesetzt, hoffe SMA bleibt ruhig.
Weisst du zufällig aus dem Kopf, ob der Interval sich auf das Verhalten / Statusupdate der Consumer auswirkt?

Besten Gruß

Marcel
FHEM 5.9 - Intel NUC i3 mit Proxmox im Stretch Container
HomeMatic - VCCU mit 2 x HM-LAN-CFG
Module: SMA Peripheries - Sonos - IPCam(s) - Philips Hue - Sprinkler - TabletUI - DBlog -

DS_Starter

Moin zusammen,

@cwagner,
ja, ich arbeite daran... hier bei mir hats schon geklappt und die Sonne scheint.  :D

@Wzut
Danke für den Hinweis. Das bemerkt man nur wenn man den hourCount stark verringert. Hatte ich bei mir nicht bemerkt, aber gleich gefixt und vorab in mein contrib gestellt. (siehe Anhang)

@Xguide
ZitatWeisst du zufällig aus dem Kopf, ob der Interval sich auf das Verhalten / Statusupdate der Consumer auswirkt?
Ich kann die Frage nicht richtig deuten. Wie meinst du das ?
Wenn du alle 600 s den Status abholst, ist das unabhängig davon dass beim Schaltvorgang über das Modul der Zustand des Aktors wieder mit zurück übermittelt wird und du es sofort im Modul siehst und nicht erst nach 600s.
Nur die Statistiken der Aktoren (Provider: consumerCurrentdata,consumerDayData,consumerMonthData,consumerYearData)
werden im Intervall abgefragt und aktualisiert.

Ansonsten habe ich bei mir drei Devices für unterschiedliche Auswertungen angelegt. Seht euch meine Beiträge #204 / #214 dazu an.  Das finde ich persönlich besser und übersichtlicher (kommt ja auch bald noch etwas hinzu wenn es klappt).

sonnige Grüße,
Heiko
Proxmox+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 12 Juli 2020, 08:22:33
Moin zusammen,

@cwagner,
ja, ich arbeite daran... hier bei mir hats schon geklappt und die Sonne scheint.  :D


Danke, heute sonnt es auch hier im Norden.
Noch eine Beobachtung, die mir erst gestern Nachmittag klar wurde: Hatte das Intervall auf 180 sec gestellt und habe gestern dann keine Readings bekommen. Habe es dann wieder auf 600 gestellt und seit heute Morgen wieder einwandfreie Werte.


Christian  8)
PI 2B+/5 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