76_SMAPortal - Integration SMA Sunny Portal - Ideen & Modulweiterentwicklung

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

Vorheriges Thema - Nächstes Thema

Dersch

Inwiefern verbrannt? Außerhalb von Fhem funktioniert der user.

DS_Starter

ZitatInwiefern verbrannt? Außerhalb von Fhem funktioniert der user.
Ja, ist bekannt. Das Thema hatten wir bereits ein paar Seiten zuvor, z.B. im Beitrag #215 und vorher.
Die Meldung vom SMA-Portal ist eindeutig

ZitatYou do not have permission to view this directory or page using the credentials that you supplied.

Und es ist auch bekannt, dass man den User mit einem Abruf über einen Browser weiterhin verwenden kann, aber nicht mehr für einen automatischen Datenabruf.
Das Problem konnte ich intern mit einem veränderten Abrufregime lösen, sodass die verwendeten User von SMA nicht mehr komprimitiert werden (Stand heute). Ich hoffe es bleibt so, denn lt. AGB sind automatische Abrufe nicht erlaubt, werden aber toleriert wenn sie bestimmte Intervalle einhalten.


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

Dersch

Ok läuft mit deiner Hilfe wieder. Das Problem hatte ich im Thread gar nicht mitbekommen.

Danke dafür

DS_Starter

Hallo miteinander,

in diesem Thread meldet ein User der keinen Homemanager bzw. Energymeter hat, dass er nur leere live-Daten vom SMA Portal bekommt.
Ich habe ihm eine Testversion bereitgestellt, die bei ihm aber auch keine Wirkung erzielt.

Ich bitte euch, die keinen Homemanager und/oder Energymeter haben, mal diese Version zu testen.Hier im Thread gibt es ja auch einige User ohne HM, bei denen der Datenabruf der Daten (live-Daten?) läuft.

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"


Bei dieser Version wird bei gesetztem Attr noHomeManager = 1 die Seite Dashboard statt homemanager abgefragt.

Als weitere generelle Möglichkeit gibt es das Attr cookieDelete, mit dem man das Cookiemanagement beeinflussen kann. Damit kann man ggf. die Abrufqualität verbessern sofern man damit Probleme haben sollte.Dieses Feature werde ich in ein neues Release auf jeden Fall mit übernehmen.

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

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

Neue Version mit dem Attribut cookieDelete ist eingecheckt. Ich habe sehr gute Erfahrungen bezüglich Livedaten-Abruf in den Nachmittags und Abendstunden mit dem Setting

cookieDelete = afterAttempt&Run

gemacht. Der Zeitraum vom Start des Abbrufs bis zum Vorliegen eines Ergebnisses wurde bei mir damit verkürzt.
Ist ab morgen früh im Regelupdate enthalten.
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

Olaf

@DS_Starter: erstmal vielen Dank für dieses tolle Modul und die stete Weiterentwicklung.

Ich habe eine hoffentlich einfache Frage: Ich würde gerne die Statistik-Daten jeweils vom Vortag mit abrufen. Ich habe verstanden, dass ich bei balanceDay den Vortag mit angeben könnte. Aber so wie ich es verstehe, kann ich nur für "heute" eine Variable verwenden (current), im Übrigen aber nur ein fixes Datum eingeben, was ich dann jeden Tag ändern müsste. Gibt es da auch eine andere Möglichkeit, z.B. balanceDay current yesterday oder balanceDay current current-1?

DS_Starter

Hallo Olaf,

ZitatGibt es da auch eine andere Möglichkeit, z.B. balanceDay current yesterday oder balanceDay current current-1?
Bis jetzt gab es die nicht, aber die Idee hat mir gleich sehr gut gefallen und ich habe diese Variante eingebaut. Erstmal nur für balanceDay.  balanceMonth, balanceYear müssen konsequenterweise dann noch folgen.

Das Attribut kann nun auch so gesetzt werden:

set <> balanceDay current current-1 current-3 ...


In den Readingnamen habe ich testweise immer das abgefragte Datum statt "current..." integriert. Bin mir unsicher ob das hinsichtlich einer Weiterverwendung z.B. in Readingsgroup bzw. SVG oder Datenbankauswertungen günstiger ist. Aber der Wert ist dadurch eindeutig einem Datum zugeordnet.


     2020-10-10 21:23:21   L11_Day_2020-10-07_AutarkyRate 37 %
     2020-10-10 21:23:21   L11_Day_2020-10-07_BackupIn ---
     2020-10-10 21:23:21   L11_Day_2020-10-07_BackupOut ---
     2020-10-10 21:23:21   L11_Day_2020-10-07_DirectConsumption ---
     2020-10-10 21:23:21   L11_Day_2020-10-07_DirectConsumptionRate ---
     2020-10-10 21:23:21   L11_Day_2020-10-07_Energy 9,76 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-07_FeedIn 5,51 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-07_GridConsumption 7,25 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-07_SelfConsumption 4,25 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-07_SelfConsumptionRate 44 %
     2020-10-10 21:23:21   L11_Day_2020-10-07_SelfSupply 4,25 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-07_TotalConsumption 11,50 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_AutarkyRate 20 %
     2020-10-10 21:23:21   L11_Day_2020-10-09_BackupIn ---
     2020-10-10 21:23:21   L11_Day_2020-10-09_BackupOut ---
     2020-10-10 21:23:21   L11_Day_2020-10-09_DirectConsumption ---
     2020-10-10 21:23:21   L11_Day_2020-10-09_DirectConsumptionRate ---
     2020-10-10 21:23:21   L11_Day_2020-10-09_Energy 3,29 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_FeedIn 0,30 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_GridConsumption 11,95 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_SelfConsumption 2,99 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_SelfConsumptionRate 91 %
     2020-10-10 21:23:21   L11_Day_2020-10-09_SelfSupply 2,99 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-09_TotalConsumption 14,94 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_AutarkyRate 42 %
     2020-10-10 21:23:21   L11_Day_2020-10-10_BackupIn ---
     2020-10-10 21:23:21   L11_Day_2020-10-10_BackupOut ---
     2020-10-10 21:23:21   L11_Day_2020-10-10_DirectConsumption ---
     2020-10-10 21:23:21   L11_Day_2020-10-10_DirectConsumptionRate ---
     2020-10-10 21:23:21   L11_Day_2020-10-10_Energy 9,05 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_FeedIn 4,00 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_GridConsumption 6,96 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_SelfConsumption 5,06 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_SelfConsumptionRate 56 %
     2020-10-10 21:23:21   L11_Day_2020-10-10_SelfSupply 5,06 kWh
     2020-10-10 21:23:21   L11_Day_2020-10-10_TotalConsumption 12,02 kWh


Kannst die neue Version aus meinem contrib mal antesten.
Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben und danach FHEM restarten:
Zitat
"wget -qO ./FHEM/76_SMAPortal.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/76_SMAPortal.pm"

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

Moin zusammen,

Die Attribute balanceMonth, balanceYear sind nun auch erweitert und können nun wie folgt gesetzt werden.


attr <name> balanceMonth current 2019-07 2019-06 2019-05
attr <name> balanceMonth current current-12 current-24

attr <name> balanceYear current 2019 2018 2017
attr <name> balanceYear current current-1 current-2


Die Version liegt wieder in meinem contrib.
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

Olaf

Ich habe es mir gerade heruntergeladen und getestet, d.h.
attr <name> balanceDay current current-1
gesetzt und ich erhalte genau, was ich will. Ich habe jetzt Readings L11_Day_2020-10-10_... und L11_Day_2020-10-11_...

Was die Readingnamen betrifft, wäre es vielleicht eine Überlegung, auch diese wie folgt zu gestalten:

  • L11_Day_CURRENT_...
  • L11_Day_CURRENT_MINUS_1_...
  • L11_Day_CURRENT_MINUS_2_...

Statt des Datums im Readingnamen könnte man das Datum selbst als Reading mit aufnehmen, z.B.
L11_Day_CURRENT_Date = '2020-10-11'
L11_Day_CURRENT_MINUS_1_Date = '2020-10-10'

Dann kann man die Readings immer sofort verwenden, ohne diese vor einer Anzeige mittels Datumsfunktion auszuwerten bzw. den gewünschten Readingnamen zu ermitteln.

Vielen Dank für die superschnelle Anpassung. Und vielen Dank auch für den Hinweis, wie ich es es herunterladen und testen kann. Daran wäre ich sonst gescheitert  ;)

DS_Starter

Danke fürs Testen.  :)

Das Problem bei der Readinggestaltung in der Form

    L11_Day_CURRENT_...
    L11_Day_CURRENT_MINUS_1_...
    L11_Day_CURRENT_MINUS_2_...

ist, das es nur solange einen Bezug zum tatsächlichen Datum gibt, wie diese Readings im Device zu lesen sind und z.B. in einer Readingsgroup zusammengefasst werden.
Werden sie in einer DB oder File geloggt um sie später in irgendweiner Weise auszuwerten, geht dieser Zusammenhang verloren und man weiß nicht mehr zu welchem Datum dieser Wert gehört.
Das Zusatzreading

L11_Day_CURRENT_Date = '2020-10-11'
L11_Day_CURRENT_MINUS_1_Date = '2020-10-10'

hilft da auch nicht wirklich weiter.
Also ich tendiere dazu das reelle Datum immer zu verwenden. Aber absolut sicher bin ich mir auch nicht weil die andere Form ebenfalls ihre Vorteile hätte aus meiner Sicht.
Würde gerne weitere Meinungen entgegennehmen wenn es die gibt.  :)

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

Olaf

Wenn es in einem Log oder in einer DB gespeichert wird, wird da ja auch ein Zeitstempel mit gespeichert, dh man könnte es immer noch zuordnen. Gerade das loggen wäre für mich eher ein Grund, es so zu machen, denn sonst kann man DbLogExclude / DbLogInclude nicht sinnvoll einsetzen.

Wäre es aufwendig, das optional über ein weiteres Attribut einstellbar zu gestalten, so dass jeder selbst entscheidet, welche Variante er besser findet?

DS_Starter

Hallo Olaf, @all,

ich habe mich entschieden ein Attribut für die Gestaltung dieser Readingnamen zur Verfügung zu stellen.
Man kann vermutlich noch trefflich darüber diskutieren welche Variante besser ist und wird dennoch nicht jeden Anwendungsfall optimal abbilden können.

Ich melde mich wieder mit einer Version zum Testen.

LG
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

Nun enthält die Version in meinem contrib folgendes Attribut um die Generierung der Readingnamen umschalten zu können:

* useRelativeNames
Bei Verwendung von relativen Datumangaben current-x (siehe balance.*-Attribute) enthält der erstellte Readingname ebenfalls die relative anstatt der realen Datumangabe.
(default: reale Datumangabe)

Wie beschrieben bitte herunterladen, restarten und testen.  :D
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

BerndArnold

Hallo zusammen,
bin auch mal wieder im Forum :-) Leider nur, weil es bei mir seit einem Monat nicht mehr läuft. Der letzte Abruf war am 13.09. abends. Updates von Fhem oder vom OS waren zu der Zeit nicht. Bin etwas ratlos. Hab schon nen neuen User angelegt, aber das gleiche Problem. Update von Fhem und OS habe ich jetzt durchgeführt aber auch da keine Besserung.

Ich bekomme alle paar Minuten "login ... successfully done". Außer den daily*Counter und loginState (successful) werden keine Readings aktualisiert.

Mit verbose 5 sehe ich, dass beim Abruf der Livedaten (get ... data) irgendwelche wirren Zeichen zurückkommen.

Deshalb mal ganz vorsichtig die Frage: läuft es bei euch noch?

Viele Grüße
Bernd
FHEM auf Raspberry Pi mit Arch Linux
2x HM-LAN, 1x CUL
HomeMatic, FS20, Dreambox, Fritzbox
MQTT zur Kommunikation mit zweiter und dritter FHEM-Instanz