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

Hallo Mike, @all,

ich konnte den Erhalt der Readings unter den beschriebenen Bedingungen realisieren ohne ein zusätzliches Attribut einzuführen.
Ich hoffe es hat keinen unbeabsichtigten Nebeneffekte.

Du/ihr könnt die Version zunächst aus meinem contrib laden und testen.

Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben und danach FHEM restarten:
"wget -qO ./FHEM/76_SMAPortal.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SMAPortal.pm"

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

Freee84neu

Wow das ging aber schnell
Ich werde es gleich morgen ausprobieren vielen Dank schon mal

DS_Starter

Guten morgen,

nachdem keine negativen Rückmeldungen gekommen sind und ich bei mir ebenfalls keine negatven Sideeffekte festgestellt habe, ist die neue Version soeben ins Repo gewandert und wird morgen früh im Update ausgeliefert.

VG,
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

Freee84neu

Ich habe es jetzt seit 2 Tagen laufen ... die Reading bleiben bestehen und sonst ist mir nix negatives aufgefallen. Vielen Dank

eddy242

Hallo zusammen,

auf meinem Testsystem (RPi mit Docker) klappt die Definition, das Login und die laufende Aktualisierung problemlos. Auf meinem Produktionssystem (QNAP mit Docker) bekomme ich den unten erwähnten Login-Fehler. An der Connectivity zum Sunny Portal sollte es nicht liegen, beide System liegen im gleichen Subnetz. Auf dem FHEM Produktionssystem laufen zahlreiche FHEM Module mit Internet-Access einschl Callback, so dass es wohl auch nicht an Firewall- oder Routingissues liegen sollte. Gemäß des Beitrags von unten habe ich mit dem sslVersion Attribut im global device rumgespielt, hat aber auch nichts gebracht. Im Testsystem war das Attribut nicht gesetzt, auf Prod auch nicht.

Hätte jemand eine Idee, wo ich mit dem Debugging ansetzen könnte? Danke!

Zitat von: DS_Starter am 10 August 2020, 08:12:06
Moin Wzut, hast du schonmal mit dem globalen Attr sslVersion gespielt ? Wäre vllt. eine Möglichkeit. Vllt. sieht man auch mit einem globalen verbose 5 mehr weil dann HttpUtils ebenfalls mehr Ausgaben liefert.

Log (Verbose=5) ist nicht aufschlussreich (zumindest für mich) woran es liegen könnte.

2020.08.31 09:50:39 4: SMAPortal - Refresh - caller: "n.a.", callerroom: "n.a.", detail: "n.a.", pload: 0, forcePageRefresh: 0, event_Spgdev: 1
2020.08.31 09:50:39 2: SMAPortal - ERROR - Login into SMA-Portal failed !
2020.08.31 09:50:39 4: SMAPortal - Refresh - caller: "n.a.", callerroom: "n.a.", detail: "n.a.", pload: 0, forcePageRefresh: 0, event_Spgdev: 1
2020.08.31 09:50:39 4: SMAPortal - User not logged in. Try login with credentials ...
2020.08.31 09:50:38 4: SMAPortal - Credentials read from RAM: xxx@xxx.de ********
2020.08.31 09:50:38 5: SMAPortal - data get: all, data set: none
2020.08.31 09:50:38 5: SMAPortal - Start operation with CookieLocation: ./log/SMAPortal_cookie.txt and UserAgent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
2020.08.31 09:50:38 3: SMAPortal - Running data cycle: 1 of 10
2020.08.31 09:50:38 4: SMAPortal - calculated timeout:         3600
2020.08.31 09:50:38 4: SMAPortal - calculated maximum cycles:  10
2020.08.31 09:50:38 5: SMAPortal - SMAPortal version:          3.4.1
2020.08.31 09:50:38 3: SMAPortal - ################################################################
2020.08.31 09:50:38 3: SMAPortal - ###      start new set/get data from SMA Sunny Portal        ###
2020.08.31 09:50:38 3: SMAPortal - ################################################################

DS_Starter

Um mehr Infos zu bekommen gibt es mehrere Möglichkeiten.

1. Im SMAPortal Device verbose 5 einstellen und zusätzlich noch verbose5Data =loginData. Erst dann gibt es mehr Daten im Log. Mann kann auch noch mehr Datenprovider dazuschalten, das Log wird dann entsprechend groß.

2. Im global Device verbose 5 einschalten. Dann sollte auch die Bibliothek HttpUtils ggf. SSL Fehler zeigen. Das Log wird dann natürlich sehr groß und unübersichtlich sein.

Vielleicht kannst du dich mit einer dieser Möglichkeiten dem Problem nähern.
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

eddy242

ok jetzt verstehe ich den Hinweis, dass es doch viele Daten werden.

Hier die logs, oben global verbose = 2, darunter global verbose = 5. Ich habe versucht, andere Devices so gut wie möglich rauszulöschen.


ctl00%24ContentPlaceHolder1%24Logincontrol1%24txtUserName=solar%40hleicht.de&ctl00%24ContentPlaceHolder1%24Logincontrol1%24txtPassword=kX128%24ghknaseXX&ctl00%24ContentPlaceHolder1%24Logincontrol1%24MemorizePassword=on&__EVENTTARGET=ctl00%24ContentPlaceHolder1%24Logincontrol1%24LoginBtn

X-Requested-With: XMLHttpRequest
DNT: 1
Cookie2: $Version="1"
Cookie: collapseNavi_state=shown; SunnyPortalLoginInfo=Username=solar@hleicht.de&Code=6654356549511505565105255554456566544596495455155354356556532; plantOid=7198e79d-a6f4-4980-a98e-82edb2d4c0a3; .SunnyPortalFormsLogin=D3EC6FD7DD4A45B2449DFE9F0073621CCC2E41333131D62B6C826F72599397B343A89EC6B3395DC091C5F1A3C4BEF6CFD8FC2FD09BE46A3D694543C38DC54D9D2C3B73108E41CC69661B47B66FF5C41555DF384FE9E62790E0E823A5ABDC0459C3671089B0828D2E97F70CD296201BBC11D90B0008F7C6F301CA03FE8E2439BAF553AEFF01BEE3C643ADC48EB5CE678C87D93412E5D734F78B0D4F1F3E814F5AA4D6BCA274ACF1DEEDE40FF208F4AABA27328D2ADE5C395D202EF247F7FC2C50EF8CD969564CB18C3DB4D0D246913FFCE4CACB5B93B00277643987EA15CB9E38301529B87B2BE706A6627F4F662013BF9EF79843437F9A2A76690E6EA7C1811928EDEBE38023AA14194C9543ED4939311DC843B992FA7CF25224BB74D4E278FCA46010448619FB97949932CCB37D1C94B18CBB76A55CDAB066544BE2C346BD6AE4858B74A41654D867FDEC930BF943E9C267AB17649DB4D6F55F13FD7448AC3ED30F0818AAB56558945DB423CC8EB84D6FAB53500052412CBD271AF3650E7C731819B09B807A4DD5A058A16464DDC9C9E8ECCEF243726E4DFC81E1AC0AB555930613C2FA197921F842C04EBBE03A55E40F3D931FFAE87D2F0417D596917F94DD65E8F27BDCDD036B681B9ADCEA1C47CE1FF444699C9CD77E49733236213CF391381FD63E82F8518545C8CE2F128CD50D7A3DD66C90D098C77F8A11024B52FD904DE829980A621BD68D006BE8CF11AB86F5280E1BD2D41CCF2409327EC34D23E1D0FC9A4F0E69FA43871441C3CEAA639668CA483EAC7A0CB643B6439E577F19ED7605F07D0E4BA1F72C8F581A25D0B78944FB8F3B; BIGipServerPool_P_SunnyPortal=3036981440.20480.0000; SunnyPortalPageCounter=0; ASP.NET_SessionId=ibnisnmjk1lhqhafcp015n4i
Content-Type: application/x-www-form-urlencoded
Content-Length: 287
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Referer: https://www.sunnyportal.com/FixedPages/HoManLive.aspx
Host: www.sunnyportal.com
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
POST https://www.sunnyportal.com/Templates/Start.aspx
2020.08.31 10:20:40 4: SMAPortal - User not logged in. Try login with credentials ...
2020.08.31 10:20:40 5: SMAPortal - Header Set-Cookie:
2020.08.31 10:20:40 5: SMAPortal - Header Location:
2020.08.31 10:20:40 5: SMAPortal - Status Login Page: 200 OK
(+ 17124 more bytes not shown)
\37\x8B\10\0\0\0\0\0\4\0\xED\xBD\7`\34I\x96%&/m\xCA{\x7FJ\xF5J\xD7\xE0t\xA1\10\x80`\23$\xD8\x90@\20\xEC\xC1\x88\xCD\xE6\x92\xEC\35iG#)\xAB*\x81\xCAeVe]f\26@\xCC\xED\x9D\xBC\xF7\xDE{\xEF\xBD\xF7\xDE{\xEF\xBD\xF7\xBA;\x9DN'\xF7\xDF\xFF?\\fd\1l\xF6\xCEJ\xDA\xC9\x9E!\x80\xAA\xC8\37?~|\37?"~\xE3\xE47N\36\xFF\xAEO\xBF<y\xF3\xFB\xBC<M\xE7\xED\xA2<\x92\x8F\xB6\xB7\xBFW\x9C\xA7g\xA7\xE9\xC1\xF7\x8F\36\xE3\xF3tZfM\xF3\xD9GE~\x90V\xE5\xAC\xC8?:z\xFC\xBB~/_\xCE\x8A\xF3\xEFoo\xD3[\xDE;\17\xD3\xDEK\17\x87\x9A_\xB4\xFC\6\xBD@\37\xC8[\xFCk\xD8:\xA5\xE7\xF1<\xCFfi1\xFB\xEC\xA3i[\xEE\xEC\xFC\xFE\xDF\xA6?\t\xEA"o\xB3t\xDE\xB6\xAB\xED\xFC\27\xAD\x8B\xCB\xCF>\xFA\xBD\xB7\xBF:\xDE>\xA9\26\xAB\xAC-&e\xFEQ:\xAD\x96m\xBEl?\xFB\xE8\xEC\xF4\xB3|vA\x9F\xDC\xD5\xD7\xA6\xF3\xACnr\xFAf\xDD\x9Eo\37\xB8\xCF\xBF&\xB8e\xB6\xC8?\xFB\xE8\xB2\xC8\xAFVU\xDDz-\xAF\x8AY;\xFFl\x96_\26\xD3|\x9B\xFF\30\xA5\xC5\xB2h\x8B\xAC\xDCn\xA6Y\x99\x7F\xB6\xCBP\xDA\xA2-s\32\xEE\x8F\35\xBFm\xD7yY\xE6u\xFA\xBA\xCD\xDAu\x93\xAE\x97\xB3\xF4e]],\xAB&O\xB7\xD3o?\xCF\xDAoW\13\xFC\xFAz\xBD\\^\xA7/\xA9\xC3\xAC$\xB2\xDE\25\30\x8F\xCBb\xF96\xAD\xF3\xF2\xB3\x8F\x9A9}7]\xB7iA\xF8|\x94\xB6\xD7+B\xB2Xd\27\xF9\xDDw\xDB\xF2\xD9\xBC\xCE\xCF?\xFBh<\xBE{\x9E\21\x8A\xD5rL\xFF0B\16J\xB6Z\x95\xF9v[\xAD\xA7\xF3\xEEK\xDD\xAF\xC6\xAB\xE5\5\xDE\xD6is0\x9A\xF6\xBA\xCC\x9By\x9E\23m\xE4\xED\xBB\xB3\xA2i\xEFN\x9B\xE6n\xB3\xC8\xC6\xED<_\xE4c\xFA\xEB\xF7\xB8\xFC\xEC`|\x7F\xBC3\xDE\xDB\xFD\10p\xDE\33\xD2U...

X-AspNet-Version: 4.0.30319
Client-SSL-Warning: Peer certificate not verified
Client-SSL-Socket-Class: IO::Socket::SSL
Client-SSL-Cipher: ECDHE-RSA-AES256-GCM-SHA384
Client-SSL-Cert-Subject: /CN=*.sunnyportal.com
Client-SSL-Cert-Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
Client-Response-Num: 1
Client-Peer: 171.25.178.37:443
Client-Date: Mon, 31 Aug 2020 08:20:40 GMT
Expires: -1
Content-Type: text/html; charset=utf-8
Content-Length: 17636
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Pragma: no-cache
Date: Mon, 31 Aug 2020 08:20:55 GMT
Cache-Control: no-cache
HTTP/1.1 200 OK
(no content)

X-Requested-With: XMLHttpRequest
DNT: 1
Cookie2: $Version="1"
Cookie: collapseNavi_state=shown; plantOid=7198e79d-a6f4-4980-a98e-82edb2d4c0a3; .SunnyPortalFormsLogin=D3EC6FD7DD4A45B2449DFE9F0073621CCC2E41333131D62B6C826F72599397B343A89EC6B3395DC091C5F1A3C4BEF6CFD8FC2FD09BE46A3D694543C38DC54D9D2C3B73108E41CC69661B47B66FF5C41555DF384FE9E62790E0E823A5ABDC0459C3671089B0828D2E97F70CD296201BBC11D90B0008F7C6F301CA03FE8E2439BAF553AEFF01BEE3C643ADC48EB5CE678C87D93412E5D734F78B0D4F1F3E814F5AA4D6BCA274ACF1DEEDE40FF208F4AABA27328D2ADE5C395D202EF247F7FC2C50EF8CD969564CB18C3DB4D0D246913FFCE4CACB5B93B00277643987EA15CB9E38301529B87B2BE706A6627F4F662013BF9EF79843437F9A2A76690E6EA7C1811928EDEBE38023AA14194C9543ED4939311DC843B992FA7CF25224BB74D4E278FCA46010448619FB97949932CCB37D1C94B18CBB76A55CDAB066544BE2C346BD6AE4858B74A41654D867FDEC930BF943E9C267AB17649DB4D6F55F13FD7448AC3ED30F0818AAB56558945DB423CC8EB84D6FAB53500052412CBD271AF3650E7C731819B09B807A4DD5A058A16464DDC9C9E8ECCEF243726E4DFC81E1AC0AB555930613C2FA197921F842C04EBBE03A55E40F3D931FFAE87D2F0417D596917F94DD65E8F27BDCDD036B681B9ADCEA1C47CE1FF444699C9CD77E49733236213CF391381FD63E82F8518545C8CE2F128CD50D7A3DD66C90D098C77F8A11024B52FD904DE829980A621BD68D006BE8CF11AB86F5280E1BD2D41CCF2409327EC34D23E1D0FC9A4F0E69FA43871441C3CEAA639668CA483EAC7A0CB643B6439E577F19ED7605F07D0E4BA1F72C8F581A25D0B78944FB8F3B; BIGipServerPool_P_SunnyPortal=3036981440.20480.0000; SunnyPortalPageCounter=0; ASP.NET_SessionId=ibnisnmjk1lhqhafcp015n4i
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Referer: https://www.sunnyportal.com/FixedPages/HoManLive.aspx
Host: www.sunnyportal.com
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
GET https://www.sunnyportal.com/FixedPages/HoManLive.aspx
(+ 31401 more bytes not shown)
    <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...
<!--[if gt IE 9]><!--><html><!--<![endif]-->\r
<!--[if IE 9 ]><html class="ie9"><![endif]-->\r
<!--[if IE 8]><html class="ie8 oldie"><![endif]-->\r
<!DOCTYPE html>\r
\r
\r
</body></html>\r
<h2>Object moved to <a href="/FixedPages/HoManLive.aspx">here</a>.</h2>\r
<html><head><title>Object moved</title></head><body>\r

X-AspNet-Version: 4.0.30319
Title: Object moved
Set-Cookie: SunnyPortalPageCounter=0; path=/; secure; HttpOnly
Set-Cookie: .SunnyPortalFormsLogin=D3EC6FD7DD4A45B2449DFE9F0073621CCC2E41333131D62B6C826F72599397B343A89EC6B3395DC091C5F1A3C4BEF6CFD8FC2FD09BE46A3D694543C38DC54D9D2C3B73108E41CC69661B47B66FF5C41555DF384FE9E62790E0E823A5ABDC0459C3671089B0828D2E97F70CD296201BBC11D90B0008F7C6F301CA03FE8E2439BAF553AEFF01BEE3C643ADC48EB5CE678C87D93412E5D734F78B0D4F1F3E814F5AA4D6BCA274ACF1DEEDE40FF208F4AABA27328D2ADE5C395D202EF247F7FC2C50EF8CD969564CB18C3DB4D0D246913FFCE4CACB5B93B00277643987EA15CB9E38301529B87B2BE706A6627F4F662013BF9EF79843437F9A2A76690E6EA7C1811928EDEBE38023AA14194C9543ED4939311DC843B992FA7CF25224BB74D4E278FCA46010448619FB97949932CCB37D1C94B18CBB76A55CDAB066544BE2C346BD6AE4858B74A41654D867FDEC930BF943E9C267AB17649DB4D6F55F13FD7448AC3ED30F0818AAB56558945DB423CC8EB84D6FAB53500052412CBD271AF3650E7C731819B09B807A4DD5A058A16464DDC9C9E8ECCEF243726E4DFC81E1AC0AB555930613C2FA197921F842C04EBBE03A55E40F3D931FFAE87D2F0417D596917F94DD65E8F27BDCDD036B681B9ADCEA1C47CE1FF444699C9CD77E49733236213CF391381FD63E82F8518545C8CE2F128CD50D7A3DD66C90D098C77F8A11024B52FD904DE829980A621BD68D006BE8CF11AB86F5280E1BD2D41CCF2409327EC34D23E1D0FC9A4F0E69FA43871441C3CEAA639668CA483EAC7A0CB643B6439E577F19ED7605F07D0E4BA1F72C8F581A25D0B78944FB8F3B; path=/; secure; HttpOnly
Set-Cookie: .SunnyPortalFormsLogin=; expires=Mon, 11-Oct-1999 22:00:00 GMT; path=/; HttpOnly
Client-SSL-Warning: Peer certificate not verified
Client-SSL-Socket-Class: IO::Socket::SSL
Client-SSL-Cipher: ECDHE-RSA-AES256-GCM-SHA384
Client-SSL-Cert-Subject: /CN=*.sunnyportal.com
Client-SSL-Cert-Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
Client-Response-Num: 1
Client-Peer: 171.25.178.37:443
Client-Date: Mon, 31 Aug 2020 08:20:39 GMT
Expires: -1
Content-Type: text/html; charset=utf-8
Content-Length: 31913
Server: Microsoft-IIS/10.0
Location: /FixedPages/HoManLive.aspx
Pragma: no-cache
Date: Mon, 31 Aug 2020 08:20:54 GMT
Cache-Control: no-cache
HTTP/1.1 302 Found
(no content)

X-Requested-With: XMLHttpRequest
DNT: 1
Cookie2: $Version="1"
Cookie: collapseNavi_state=shown; SunnyPortalLoginInfo=Username=xxx@xxx.de&Code=6654356549511505565105255554456566544596495455155354356556532; plantOid=7198e79d-a6f4-4980-a98e-82edb2d4c0a3; BIGipServerPool_P_SunnyPortal=3036981440.20480.0000; .SunnyPortalFormsLogin=B13D79E16B39CC85CD8235AACC5C95EDEF3C1AFB71CF60BC74577025011B3FD663448643425DAD3B6501973A515A45749D1DD8ED63925335AB4953E58C87BB37122A8700F8B353ABC299225EAF19476B2AC73D225E437F8E0DC07DFF516FF53370149C3613B72415E47C99F8C984F29FBE9142240188E89B2BF73372573C8220E7EC096A46572ED6950F320E339B1371F67DCDB797FF54D4180D3BED87AF7F58B36ECB765BF28D111A8CABD5A03C206983155265046E9B673E8759E0AD46E5465D979EA9C21104A9CE0E4A8F16DB58CFADC645F2C2F5CC56A7D6652488027AB06C7EC759E798C4815D4CC8BE6182E2AF49DCA9D7B341E6660C46BFD6CECFC2DB28F9D8D85B6E0989CDE0723A6C28E3D11E22BE779FAD2546AD9464BEE0E8B7C07947B4C231C7A9A507962BB457D8AE98995773ED676B8A3413CCB69C33E4DDE62AFC56A760743C95721CC4E3C88E12EAE8BD33710875E0E63C1C21FD55812C324DFDF64B0460EDC44A606900F66706CAD95F2060B0C886FAE9FF2EB6F62B3FE776B5A2C502EC37432846304241368EB4B84CA5C2BE6CAF38485A7F1CC5F0246F9C430A1BBB0FBC5D9CE5BD24D91DB94BFBA4AFBB4ACD04D16AD9AA9E50CA7B64C0A1E656FD8DB26227C094A1AA56E7D7223CE8BA440C15D31D6299953B4307ADEF439FA7A92B88C7F2C26F9A9B02C6A545B5904A1A93D427C700653D9198F419333282EF46138A79CDBF7ABFC8BB7B82247A423E72F7A58701870869F2B51060F06E63A8EEB806D80FB81C2B2223EDEF27FAFF0895BB0A817DB1DFB591A3F6A7C65B03DB5385125F85C24719D2FDC9E453451C66; SunnyPortalPageCounter=0; ASP.NET_SessionId=ibnisnmjk1lhqhafcp015n4i
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Referer: https://www.sunnyportal.com/FixedPages/HoManLive.aspx
Host: www.sunnyportal.com
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
POST https://www.sunnyportal.com/Templates/Start.aspx
2020.08.31 10:20:38 4: SMAPortal - Credentials read from RAM: xxx@xxx.de ********
2020.08.31 10:20:38 5: SMAPortal - data get: all, data set: none
2020.08.31 10:20:38 5: SMAPortal - Start operation with CookieLocation: ./log/SMAPortal_cookie.txt and UserAgent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
2020.08.31 10:20:38 3: SMAPortal - Running data cycle: 1 of 10
2020.08.31 10:20:38 4: SMAPortal - calculated timeout:         3600
2020.08.31 10:20:38 4: SMAPortal - calculated maximum cycles:  10
2020.08.31 10:20:38 5: SMAPortal - SMAPortal version:          3.4.1
2020.08.31 10:20:38 3: SMAPortal - ################################################################
2020.08.31 10:20:38 3: SMAPortal - ###      start new set/get data from SMA Sunny Portal        ###
2020.08.31 10:20:38 3: SMAPortal - ################################################################




2020.08.31 10:23:46 5: SMAEM SMAEM - received 608 bytes but interval 60s isn't expired.
2020.08.31 10:23:46 4: SMAPortal - Refresh - caller: "n.a.", callerroom: "n.a.", detail: "n.a.", pload: 0, forcePageRefresh: 0, event_Spgdev: 1
2020.08.31 10:23:46 5: End notify loop for SMAPortal
2020.08.31 10:23:46 5: DbLog logdb -> DbLogExclude of "SMAPortal": .*
2020.08.31 10:23:46 5: DbLog logdb -> parsed Event: SMAPortal , Event: state: login failed
2020.08.31 10:23:46 4: DbLog logdb -> check Device: SMAPortal , Event: state: login failed
2020.08.31 10:23:46 4: DbLog logdb -> number of events received: 1 for device: SMAPortal
2020.08.31 10:23:46 4: DbLog logdb -> ################################################################
2020.08.31 10:23:46 4: DbLog logdb -> ###              start of new Logcycle                       ###
2020.08.31 10:23:46 4: DbLog logdb -> ################################################################
2020.08.31 10:23:46 5: Starting notify loop for SMAPortal, 1 event(s), first is login failed
2020.08.31 10:23:46 5: Cmd: >{FHEM::SMAPortal::ParseData('SMAPortal|0|0|1|all|none|bG9naW4gZmFpbGVk')}<
2020.08.31 10:23:46 5: Cmd: >{BlockingStart('53212')}<
2020.08.31 10:23:46 5: End notify loop for SMAPortal
2020.08.31 10:23:46 5: DbLog logdb -> DbLogExclude of "SMAPortal": .*
2020.08.31 10:23:46 5: DbLog logdb -> parsed Event: SMAPortal , Event: loginState: failed
2020.08.31 10:23:46 4: DbLog logdb -> check Device: SMAPortal , Event: loginState: failed
2020.08.31 10:23:46 4: DbLog logdb -> number of events received: 1 for device: SMAPortal
2020.08.31 10:23:46 4: DbLog logdb -> ################################################################
2020.08.31 10:23:46 4: DbLog logdb -> ###              start of new Logcycle                       ###
2020.08.31 10:23:46 4: DbLog logdb -> ################################################################
2020.08.31 10:23:46 5: Starting notify loop for SMAPortal, 1 event(s), first is loginState: failed
2020.08.31 10:23:46 5: Cmd: >{FHEM::SMAPortal::setFromBlocking('SMAPortal','loginState:failed','NULL')}<
2020.08.31 10:23:46 2: SMAPortal - ERROR - Login into SMA-Portal failed !
2020.08.31 10:23:46 5: SMAPortal - Header Set-Cookie:
2020.08.31 10:23:46 5: SMAPortal - Header Redirect Location:
2020.08.31 10:23:46 5: SMAPortal - Status Redirect Page : 200
(+ 17124 more bytes not shown)
\37\x8B\10\0\0\0\0\0\4\0\xED\xBD\7`\34I\x96%&/m\xCA{\x7FJ\xF5J\xD7\xE0t\xA1\10\x80`\23$\xD8\x90@\20\xEC\xC1\x88\xCD\xE6\x92\xEC\35iG#)\xAB*\x81\xCAeVe]f\26@\xCC\xED\x9D\xBC\xF7\xDE{\xEF\xBD\xF7\xDE{\xEF\xBD\xF7\xBA;\x9DN'\xF7\xDF\xFF?\\fd\1l\xF6\xCEJ\xDA\xC9\x9E!\x80\xAA\xC8\37?~|\37?"~\xE3\xE47N\36\xFF\xAEO\xBF<y\xF3\xFB\xBC<M\xE7\xED\xA2<\x92\x8F\xB6\xB7\xBFW\x9C\xA7g\xA7\xE9\xC1\xF7\x8F\36\xE3\xF3tZfM\xF3\xD9GE~\x90V\xE5\xAC\xC8?:z\xFC\xBB~/_\xCE\x8A\xF3\xEFoo\xD3[\xDE;\17\xD3\xDEK\17\x87\x9A_\xB4\xFC\6\xBD@\37\xC8[\xFCk\xD8:\xA5\xE7\xF1<\xCFfi1\xFB\xEC\xA3i[\xEE\xEC\xFC\xFE\xDF\xA6?\t\xEA"o\xB3t\xDE\xB6\xAB\xED\xFC\27\xAD\x8B\xCB\xCF>\xFA\xBD\xB7\xBF:\xDE>\xA9\26\xAB\xAC-&e\xFEQ:\xAD\x96m\xBEl?\xFB\xE8\xEC\xF4\xB3|vA\x9F\xDC\xD5\xD7\xA6\xF3\xACnr\xFAf\xDD\x9Eo\37\xB8\xCF\xBF&\xB8e\xB6\xC8?\xFB\xE8\xB2\xC8\xAFVU\xDDz-\xAF\x8AY;\xFFl\x96_\26\xD3|\x9B\xFF\30\xA5\xC5\xB2h\x8B\xAC\xDCn\xA6Y\x99\x7F\xB6\xCBP\xDA\xA2-s\32\xEE\x8F\35\xBFm\xD7yY\xE6u\xFA\xBA\xCD\xDAu\x93\xAE\x97\xB3\xF4e]],\xAB&O\xB7\xD3o?\xCF\xDAoW\13\xFC\xFAz\xBD\\^\xA7/\xA9\xC3\xAC$\xB2\xDE\25\30\x8F\xCBb\xF96\xAD\xF3\xF2\xB3\x8F\x9A9}7]\xB7iA\xF8|\x94\xB6\xD7+B\xB2Xd\27\xF9\xDDw\xDB\xF2\xD9\xBC\xCE\xCF?\xFBh<\xBE{\x9E\21\x8A\xD5rL\xFF0B\16J\xB6Z\x95\xF9v[\xAD\xA7\xF3\xEEK\xDD\xAF\xC6\xAB\xE5\5\xDE\xD6is0\x9A\xF6\xBA\xCC\x9By\x9E\23m\xE4\xED\xBB\xB3\xA2i\xEFN\x9B\xE6n\xB3\xC8\xC6\xED<_\xE4c\xFA\xEB\xF7\xB8\xFC\xEC`|\x7F\xBC3\xDE\xDB\xFD\10p\xDE\33\xD2U...

X-AspNet-Version: 4.0.30319
Client-SSL-Warning: Peer certificate not verified
Client-SSL-Socket-Class: IO::Socket::SSL
Client-SSL-Cipher: ECDHE-RSA-AES256-GCM-SHA384
Client-SSL-Cert-Subject: /CN=*.sunnyportal.com
Client-SSL-Cert-Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
Client-Response-Num: 1
Client-Peer: 171.25.178.37:443
Client-Date: Mon, 31 Aug 2020 08:23:46 GMT
Expires: -1
Content-Type: text/html; charset=utf-8
Content-Length: 17636
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/10.0
Pragma: no-cache
Date: Mon, 31 Aug 2020 08:24:01 GMT
Cache-Control: no-cache
HTTP/1.1 200 OK
2020.08.31 10:23:45 5: SMAEM SMAEM - received 608 bytes but interval 60s isn't expired.

Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Connection: close
Content-Length: 23
Content-Type: application/json
Date: Mon, 31 Aug 2020 08:24:01 GMT
Server: nginx/1.16.1
HTTP/1.1 200 OK
2020.08.31 10:23:45 5: HttpUtils response header:
2020.08.31 10:23:45 5: HttpUtils <hidden>: Got data, length: 23
2020.08.31 10:23:45 4: <hidden>: HTTP response code 200
(no content)

X-Requested-With: XMLHttpRequest
DNT: 1
Cookie2: $Version="1"
Cookie: collapseNavi_state=shown; ASP.NET_SessionId=ibnisnmjk1lhqhafcp015n4i; SunnyPortalPageCounter=0; plantOid=7198e79d-a6f4-4980-a98e-82edb2d4c0a3; BIGipServerPool_P_SunnyPortal=3053758656.20480.0000; .SunnyPortalFormsLogin=66CF1C107D37DF5940A8D7645ED89C334CCECA36BCD58F7F05336367BFC7E8756B1271E6A6DA3773FACC01B167DAD8E78627F7A8063C728451FF8A45413D250C8BD4E746399CF609897E034E0E35FDEE3D1F84CD0A6DD16599EAA21FA7C9712DBEC26453DD947CF0F195AE99C1F3049804A83C3B4F617566EACB9CC046B609C38BA5FDC58A5CA09308464DB1EFA7A09F42853CAD7C152F97D877560F1E2F290F423A792BCFB02B5A1E20332C8DF045DB40112CA6863ACFBB29D452BAAE4FA1C2870587C891827655646AA1E4F5CF30172360EB7A315DCE821599B2CADCA5EF8E78B72FEAA7BADFB5DBF8F4C209C8D7BCCA3E83FC33581E259D86B028139F672D4D0E4073E62E33F8B76533D4F2D24869BB7A598B4DA0E4E4EA580FDE126B854D7B1EBE5E656A94C5241F65B12CB9579546EBC3E61A0ACF6EBECC8C58D66EEDF440E335BE8CF5A6E4AE84A0951F64393F8444B1F91D4CAB3B1A6D8C5A9FCE599B10CDD4659D56DE1B5966E24E93E9AB443AA96AE386AC207B314FC1202C0A4CE114484BF000CE3D1C491963A415E4DE7C85588A0D3A30509F9ACF661711A0473F46EDE6AAFFB39BA6EC6CC21A8E8C9ABA97E596A063FA5F42DE5CCB6F805881630122CC9B15ACFF6C4DE14D1083A194186FA9F3E20446E938149994D7F72A6A9ECCC6ECEEA89A57D2E4E4A3D98F79BD54C858A88C21FBC5BDD1A6E7B759DD8E0280FA641317F84A7B8F9E5F86CDD6A6E256F32FB6BDB3E3E67F83A46F0ACF9A2102F5524089FA6F26F6B8AC7385980E4E48B6A9EDB86449F364AD80B11EB11CF80091A15142542758462F547FD442A42D110AEAEA
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Referer: https://www.sunnyportal.com/FixedPages/HoManLive.aspx
Host: www.sunnyportal.com
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Accept: */*
Connection: keep-alive
GET https://www.sunnyportal.com/FixedPages/HoManLive.aspx
(+ 31276 more bytes not shown)
    <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...
<!--[if gt IE 9]><!--><html><!--<![endif]-->\r
<!--[if IE 9 ]><html class="ie9"><![endif]-->\r
<!--[if IE 8]><html class="ie8 oldie"><![endif]-->\r
<!DOCTYPE html>\r
\r
\r
</body></html>\r
<h2>Object moved to <a href="/FixedPages/HoManLive.aspx">here</a>.</h2>\r
<html><head><title>Object moved</title></head><body>\r

X-AspNet-Version: 4.0.30319
Title: Object moved
Set-Cookie: SunnyPortalLoginInfo=Username=xxx@xxx.de&Code=6654356549511505565105255554456566544596495455155354356556532; expires=Sat, 31-Aug-2030 08:24:00 GMT; path=/Templates/Start.aspx; secure; HttpOnly
Set-Cookie: SunnyPortalPageCounter=0; path=/; secure; HttpOnly
Set-Cookie: .SunnyPortalFormsLogin=66CF1C107D37DF5940A8D7645ED89C334CCECA36BCD58F7F05336367BFC7E8756B1271E6A6DA3773FACC01B167DAD8E78627F7A8063C728451FF8A45413D250C8BD4E746399CF609897E034E0E35FDEE3D1F84CD0A6DD16599EAA21FA7C9712DBEC26453DD947CF0F195AE99C1F3049804A83C3B4F617566EACB9CC046B609C38BA5FDC58A5CA09308464DB1EFA7A09F42853CAD7C152F97D877560F1E2F290F423A792BCFB02B5A1E20332C8DF045DB40112CA6863ACFBB29D452BAAE4FA1C2870587C891827655646AA1E4F5CF30172360EB7A315DCE821599B2CADCA5EF8E78B72FEAA7BADFB5DBF8F4C209C8D7BCCA3E83FC33581E259D86B028139F672D4D0E4073E62E33F8B76533D4F2D24869BB7A598B4DA0E4E4EA580FDE126B854D7B1EBE5E656A94C5241F65B12CB9579546EBC3E61A0ACF6EBECC8C58D66EEDF440E335BE8CF5A6E4AE84A0951F64393F8444B1F91D4CAB3B1A6D8C5A9FCE599B10CDD4659D56DE1B5966E24E93E9AB443AA96AE386AC207B314FC1202C0A4CE114484BF000CE3D1C491963A415E4DE7C85588A0D3A30509F9ACF661711A0473F46EDE6AAFFB39BA6EC6CC21A8E8C9ABA97E596A063FA5F42DE5CCB6F805881630122CC9B15ACFF6C4DE14D1083A194186FA9F3E20446E938149994D7F72A6A9ECCC6ECEEA89A57D2E4E4A3D98F79BD54C858A88C21FBC5BDD1A6E7B759DD8E0280FA641317F84A7B8F9E5F86CDD6A6E256F32FB6BDB3E3E67F83A46F0ACF9A2102F5524089FA6F26F6B8AC7385980E4E48B6A9EDB86449F364AD80B11EB11CF80091A15142542758462F547FD442A42D110AEAEA; path=/; secure; HttpOnly
Set-Cookie: .SunnyPortalFormsLogin=; expires=Mon, 11-Oct-1999 22:00:00 GMT; path=/; HttpOnly
Client-SSL-Warning: Peer certificate not verified
Client-SSL-Socket-Class: IO::Socket::SSL
Client-SSL-Cipher: ECDHE-RSA-AES256-GCM-SHA384
Client-SSL-Cert-Subject: /CN=*.sunnyportal.com
Client-SSL-Cert-Issuer: /C=GB/ST=Greater Manchester/L=Salford/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA
Client-Response-Num: 1

DS_Starter

Naja, die wirklich relevanten Infos stehen da nicht drin.  ;) Das ist viel zu wenig.
Wenn du magst, kopieren umfangreiche ! Loginformationen die du mit  verbose5Data = loginData erhätst in ein Textfile und schicke sie mir als PM bzw. Email. Möglicherweise kann ich dir dann einen Hinweis geben.

Oder du kopierst hier deutlich mehr Infos rein. Dann ist die Chance groß dass auch andere dir helfen können.  :)
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

eddy242

Hallo DS_Starter,

danke - hab Dir eine PM gesendet. Ich hätte kein Problem damit, hier mehr Daten reinzuposten, aber ich habe nicht mehr relevantes gesehen, trotz verbose5Data = loginData und global verbose = 5.

Zitat von: DS_Starter am 31 August 2020, 10:45:56
Oder du kopierst hier deutlich mehr Infos rein. Dann ist die Chance groß dass auch andere dir helfen können.  :)

eddy242

Hallo zusammen,

DS_Starter hat mir den eintscheidenden Hinweis gegeben. Einige libs bei mir waren outdated, u.a. die JSON. Nachdem ich aktualisisert habe (bin ich zunächst nicht drauf gekommen, da das in der gedockerten Umgebung im Innern des Containers eher seltener vorkommt), lief es prompt. Vielleicht auch als Hinweis für andere mit dieser Challenge.

Nochmal ganz herzlichen Dank an DS_Starter für das tolle Modul und die umfassende Hilfe!

Grüße
eddy242

eddy242

Hallo DS_Starter,

ich hätte noch eine Anregung. Das Reading L11_Day_current_Energy scheint von Wh auf kWh umzuspringen, sobald die Energiemenge >1kWh wird. Das ist für menschliche Leser sehr angenehm, allerdings für die maschinelle Weiterverarbeitung (in meinem Fall ein DOIF mit uiTable Visualisierung) eher schwierig. Ich kann mir ein userReading einrichten was den Wert transformiert auf konstant entweder Wh oder kWh, aber das wäre etwas von Hinten durchs Knie, die Umrechung des Moduls wieder rückgängig zu machen.

Ist low priority. Danke!

Grüße
eddy242

DS_Starter

Guten Morgen,

Zitat...ich hätte noch eine Anregung. Das Reading L11_Day_current_Energy scheint von Wh auf kWh umzuspringen, sobald die Energiemenge >1kWh wird....

Es wird zur Zeit keine Umrechnung innerhalb des Moduls vorgenommen. Die Werte werden so wie von SMA geliefert extrahiert und in den Readings persistiert.
Es kann bzw. wird auch bei anderen Readings so sein, dass sich je nach Wert die Einheitenskalierung ändert. Zum Beispiel werden in dem L14 Level bei mir mittlerweile MWh geliefert, bei neuen Anlagen können dort z.B. auch nur kWh stehen.

Wenn es von allgemeinem Interesse wäre, könnte ich mir ein Attribut überlegen, mit dem eine globale Umrechnung der Readings in Wh, kWh, MWh bzw. W, kW  vorgenommen werden kann. Ich würde euch deshalb bitten eine Meinung bekannt zu geben.  :D

@eddy242, bis dahin müsstest du erstmal auf ein Userreading zurück greifen. 

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

eddy242

ok no problem...

Falls es noch für jemand anderes von Interesse ist hier der Code. Ich brauche das nur für den tagesaktuellen Wert, daher reicht die Differenzierung Wh/kWh. Wenn ich bei den Monats- oder Jahreswerten dann auch mal Richtung MWh vordringe müsste die Fallunterscheidung noch etwas erweitert werden...

attr SMAPortal userReadings energy_today { \
  my $wert=ReadingsVal("$name","L11_Day_current_Energy","0");;\
  return (($wert =~ /kWh/)?$wert*1000:$wert*1)." Wh";;\
}

Dersch

hi,

nach meinem letzten FHEM neustart bekomme ich keine Daten mehr rein mit 76_SMAPortalSPG.pm:v1.6.0-s21735/2020-04-20

loginState successful 2020-09-20 22:29:03
state Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.
2020-09-20 22:29:03


ne Idee woran das liegen könnte?

DS_Starter

Ja, du musst dir einen neuen User bei SMA anlegen und dessen Credentials im Modul hinterlegen.
Der altuelle User ist "verbrannt".
Dieses  Problem gab es mit den Versionen 76_SMAPortal.pm vor ca. v3.3.4 (12.07.2020).
Mit späteren Versionen konnte das Problem gefixt werden.

Vermutlich hast du noch eine frühere Version in Einsatz. Auf jeden Fall zunächst updaten, dann neuen User anlegen und bekannt machen. Dann sieht es wieder gut aus.
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