Solaredge API Modul für FHEM

Begonnen von flipkill, 14 Juni 2016, 14:36:38

Vorheriges Thema - Nächstes Thema

Butzel

Die Anbindung meines SE5K HD hat funktioniert. Bisher wird ausgelesen, weiter bin ich derzeit nicht.
Meine Readings (Log entn.) sind allerdings lustig:



2018-05-09 14:38:23 ModbusAttr SolarEdge AC-Energy: 520256
2018-05-09 14:38:23 ModbusAttr SolarEdge DC-Power: 3363
2018-05-09 14:38:23 ModbusAttr SolarEdge AC-Power-Scale: 0
2018-05-09 14:38:23 ModbusAttr SolarEdge DC-Voltage: 3700
2018-05-09 14:38:23 ModbusAttr SolarEdge DC-Current-Scale: -3
2018-05-09 14:38:23 ModbusAttr SolarEdge AC-Volt-A: 6553.5
2018-05-09 14:38:24 ModbusAttr SolarEdge AC-Power: 3311
2018-05-09 14:38:24 ModbusAttr SolarEdge DC-Power-Scale: 0
2018-05-09 14:38:24 ModbusAttr SolarEdge HeatSinkTemp: 5008


Wie bekomme ich die in eine vernüftige Ansicht ?

satprofi

Hallo.
Wie hast du den an FHEM angebunden?

Ich hebe eine registerliste von Solaredge gefunden, um übwer ModBus abzufragen
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

felixm

#17
Moin erstmal,

ich habe mich vor kurzem hingesetzt und aus einem JSON-Modul das ich für andere Zwecke nutze, mir ein Modul gebastelt dass die Daten der SE API abruft.
Bitte kreuzigt mich nicht ich bin kein Programmierer und schon gar keiner für Perl. Aber es funktioniert.
Wichtig anzumerken ist wenn delay keine Zahl größer 120(sec) ist, dann ruft das Modul tagsüber alle 210 sec (3,5min) und nachts alle 15min die Daten ab ( so nutzt man das Limit der 300 Abfragen pro Tag gut aus.)
Ggf. könnte man noch weitere Datesätze abrufen wie die Summe der Erträge am Tage pro 15min etc... Mir eichte erstmal das soweit.

Anmerkungen, Fehler und Kritik immer zu mir ;)


//ChangeHistory:
01.08.18: Fehler "strict subs" behoben.
03.08.18: Alte Version gelöscht, bis eine überarbeitete zur Verfügung steht.

satprofi

wie erfolgt die anbindung an den SE?

Gesendet mit Tapatalk

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

felixm

Über die API des Monitoringportals. Mit dem API Key und der SiteId. Dann werden die Daten aus dem Portal von SE per JSON abgerufen.Die SiteId kannst du aus der URL auslesen, den API Key muss man in den Admin Einstellungen aktivieren.

satprofi

aha, danke. werd ich testen

Gesendet mit Tapatalk

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

hallo.
was fehlt mir da jetzt genau?

Can't locate Regexp/Common.pm in @INC (you may need to install the Regexp::Common module)
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

satprofi

gerade fw update von solaredge erhalten, mal sehen ob anbindung an fhem klappt

Gesendet mit Tapatalk

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

speridal

Zitat von: satprofi am 28 Juli 2018, 17:59:05
hallo.
was fehlt mir da jetzt genau?

Can't locate Regexp/Common.pm in @INC (you may need to install the Regexp::Common module)

Dir fehlen die regexp - Libraries für Perl. Mach mal ein

sudo apt-get install libregexp-common-perl

Gruß,
Bernd

felixm

Hallo,
dann ergänze ich das ganze nochmal:

Die Definition lautet: define <name> SolarEdgeAPI <API-Key> <Site-ID> <poll-delay>

Wen poll-delay weggelassen wird wird am Tag 210 und nachts 900 eingesetzt.

API-KEY und Site-ID findet man im Monitoring-Portal, ein Bild wo man die findet gibt's im Anhang.

ggf wird noch das Paket RegExp-Common für Perl (sudo apt-get install libregexp-common-perl) benötigt. (Danke Bernd)

Gruß Felix


speridal

Zitat von: felixm am 31 Juli 2018, 21:58:24

API-KEY und Site-ID findet man im Monitoring-Portal, ein Bild wo man die findet gibt's im Anhang.


Bei mir gibt es den Punkt "Admin" nicht. Ich musste mir von meinem Solaranlagenbauer die API aktivieren und den API-Key geben lassen.

Gruß,
Bernd

satprofi

Danke.
Aber leider klappt dein Modul bei mir nicht.
Beim definieren des SE kommt " cannot load Module SolarEdgeAPI"

wenn ich das modul dann manuel reloade kommt:

Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 180.
Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 181.
Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 182.
Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 183.
Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 184.
Bareword "false" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 185.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 189.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 190.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 191.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 192.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 193.
Bareword "true" not allowed while "strict subs" in use at /opt/fhem/FHEM/70_SolarEdgeAPI.pm line 194.

Kannst du mir weiterhelfen?

LG
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

CoolTux

Ich habe mir das Modul eben einmal angeschaut. Meine persönliche Empfehlung. Ich rate von einem Einsatz in einem produktiven System ab. Das Modul hat, wie auch vom Verfasser bereits erwähnt, ein Alpha Status. Es fehlt entscheidender FHEM Developer spezifische Programmcode. Es werden unnötige Perlmodule verwendet welche zusätzlich installiert werden müssen. Desweiteren ist das Modul FHEM blockierend.


Wie also bereits vom Verfasser erwähnt ist dieses Modul mit größter Vorsicht zu verwenden!!!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

felixm

#28
Danke für den Hinweis @CoolTux.

Das mit den Imports werde ich nachher nochmal ändern, das "strict subs" Problem hab ich bereits geändert (ich weiß nicht warum es bei mir keinen Fehler produziert hat).

Kannst du mir einen Tipp geben wie ich das ganze non-blocking und fhem-konform machen kann, wie gesagt ich bin in Perl nicht so fit. Ich habe den Http Teil überwiegend aus dem JSONREADINGS Modul adaptiert (wahrscheinlcih ist das der Fehler gewesen ...)

CoolTux

https://wiki.fhem.de/wiki/DevelopmentModuleIntro
Das wäre der Einstieg für Dich.

https://wiki.fhem.de/wiki/DevelopmentModuleAPI
Das hier ist weiterführend


Wenn ich das alles Recht überblickt habe geht es in erster Linie um eine http Abfrage.
Für FHEM gibt es das Modul HttpUtils
https://wiki.fhem.de/wiki/HttpUtils
mit der Funktion HttpUtils_NonblockingGet

Du könntest Dir das Modul TeslaPowerwall einmal anschauen. Das sollte so ähnlich sein.

Generell empfiehlt es sich, solltest Du das mit dem Modul und dem Support ernst meinen, dich an einen erfahrenen Entwickler als Mentor zu wenden. Dieser gibt Dir Tips wo Du für die unterschiedlichen Anforderungen schauen kannst und wie Dein Modul FHEM konform wird.
Für ein offizielles einchecken zum Beispiel haben sich die Regeln drastisch erhöht was zu einer besseren Qualität führen soll und auch nachweislich führt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net