Seite 3 von 7

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 12.05.2016, 22:37
von alchy
Zeitfraktur hat geschrieben: So oder so, es funktioniert hier wie vom Threadersteller im ersten Posting beschrieben.
Sag(te) ich doch 8)

Alchy

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 13.05.2016, 06:32
von csfor0101
Guten Morgen,

Ich glaube ja und gehe davon aus, das das Beispiel wie vom Threadersteller im ersten Posting beschrieben funktioniert.
Ich tippe ja auch auf einen Fehler von mir. Trotzdem hing der Script und die Werte wurden nicht geschrieben.
Nachdem ich diese Power Zeile geändert hatte lief es ja.
Wodurch dieses Verhalten kommt weis ich noch nicht. An der Firmware für den Raspberry sicherlich nicht?
Falls ich durch weiteres Testen meinen Fehler (den Fehler) finden sollte, dann poste ich es hier.

Ich wünsche Euch schöne Pfingsten

csfor0101

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 13.05.2016, 15:20
von alchy
Noch einmal / aber nun letztmalig. Die Umschreibung des Scriptes ist *IMHO* unnötig.
Wenn es NICHT funktioniert, dann das Script von der Kommandozeile aufrufen und die Fehlermeldung posten.
Deine Aussage "Trotzdem hing der Script und die Werte wurden nicht geschrieben." reicht mir nicht als Antwort.

Alchy

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 25.05.2016, 01:12
von ChristianF
Moin. Ich habe das Script auf die damals gültige Formatierung der XML für die alte Generation der SE WR gebaut, da ich genau so einen habe. Wie bei der neuen Generation die XML aussieht weiß ich nicht, aber vielleicht ist ja gerade das das Problem?

In der von mir vorn geposteten Fassung läuft das Script übrigens auch heute noch wunderbar bei mir, dank Alchy :-)

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 29.09.2016, 22:24
von obarni
Hallo zusammen,

ich interessiere mich auch für das Auslesen von Daten aus dem Solaredge Wechselrichter. API-Key und Standort liegen mir vor.

Ich würde denken, dass der Aufruf von "https://monitoringapi.solaredge.com/sit ... IN_API_KEY" im Browser zu einem sinnvollen Ergebnis führen müsste, oder liege ich da falsch. Das war jedenfalls meine Idee einen ersten Check auf Funktionsfähigkeit zu machen, bevor ich die Arbeit in der Anleitung angehe.

Leider bekomme ich als Antwort "Access to the specified resource () has been forbidden." Habe ich einen Gedankenfehler? Muss hier mein Solateur noch etwas einstellen? Oder wurde die API Schnittstelle inzwischen gegen Aufrufe von außen geschlossen?


Danke für Eure Hilfe

PS: Noch lieber wäre mir natürlich der direkte Zugriff auf die Daten (ohne die Begrenzung alle 15 Minuten!)

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 30.09.2016, 07:01
von unlight
Eigentlich solltest du damit etwas zurück erhalten. Du kannst (zumindest wenn nur 1 Wechselrichter über das Konto läuft) alle 5 minuten einen Aufruf machen, die Daten werden zwar bei solaredge aggregiert aber sind trotzdem in dieser Auflösung abrufbar. Bedenken solltest du nur das maximal 300 Aufrufe am Tag gemacht werden dürfen.
Für direkten Abruf vom WR gibt es noch das Projekt "semonitor"https://github.com/jbuehl/solaredge, damit kann man über rs485 die Daten direkt vom WR holen, ist wohl aber etwas bastelarbeit. Ich habe mich letztendlich für eine zusätzliche Messung mit smappee phasenklemmen entschieden, war einfacher und hat eine 5 Sekunden Auflösung.

Gruß
Unlight

Gesendet von meinem RAINBOW JAM mit Tapatalk

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 01.10.2016, 11:02
von obarni
Hallo nochmal,

danke Unlight für Deine Ausführung.

Ich muss trotzdem nochmal die Frage stellen, ob

https://monitoringapi.solaredge.com/sit ... IN_API_KEY

im Browser aufgerufen nicht zum Abruf und anzeigen von Daten führen müsste. ich bekomme derzeit eine Fehlermeldung ("Access to the specified resource () has been forbidden."). Oder hat sich der Aufruf inzwischen geändert?

Ich würde gerne der Anleitung von Christian folgen und das auf der CCU2 implementieren. Wollte mit dem o.g. Aufruf einen ersten Test machen bevor ich alles umsetzte. und nun hängt es schon :-(


Danke für Eure Rückmeldung!

PS: SMAPPEE scheint mir für den Mehrwert (also für mich das Auslesen der Daten der Solaranlage (Solaredge) zu teuer. Der Rest von SMAPPEE ist für mich unwichtig.

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 01.10.2016, 11:22
von unlight
Ich nehme an das die sitenummer oder der key nicht stimmen, wenn man Phantasiezahlen eingibt kommt die gleiche Fehlermeldung. Mit meinen Daten erhalte ich mit der URL die Übersicht meiner Anlage.

Gesendet von meinem RAINBOW JAM mit Tapatalk

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 01.10.2016, 11:44
von obarni
Ok, thx. Dann werde ich wohl nochmal meinen Solateur kontaktieren müssen.

Re: Integration Photovoltaik-Anlage mit SolarEdge

Verfasst: 22.11.2016, 20:06
von hueni2
Hallo Christian,
vielen Dank für Deine prima Anleitung. Ich lese nun auch meinen Verbrauch aus und berechne dann die Einspeisung. Wenn die Einspeisung hoch genug ist aktiviere ich einen Verbraucher über die Zwischensteckdose von HomeMatic.
Hier das Skript um den Verbrauch auszulesen:

Code: Alles auswählen

load tclrega.so

# Start und Endzeit ermitteln
# ========================================================
		
set date [clock format [clock seconds] -format {%Y-%m-%d}]
set startHour [clock format [clock seconds] -format {%H}]
set endHour $startHour
set startMinute 0
set endMinute $startMinute

if {[clock format [clock seconds] -format {%M}] == 0} {set startMinute 45}
if {[clock format [clock seconds] -format {%M}] == 0} {set endMinute 0}
if {[clock format [clock seconds] -format {%M}] == 0} {set startHour [expr $startHour - 1]}
if {[clock format [clock seconds] -format {%M}] == 0} {set endHour [expr $startHour + 1]}

if {[clock format [clock seconds] -format {%M}] > 15} {set startMinute 15}
if {[clock format [clock seconds] -format {%M}] > 30} {set startMinute 30}
if {[clock format [clock seconds] -format {%M}] > 45} {set startMinute 45}

if {[clock format [clock seconds] -format {%M}] > 0 && [clock format [clock seconds] -format {%M}] <= 45} {set endMinute [expr $startMinute + 15]}
if {[clock format [clock seconds] -format {%M}] > 45} {set endMinute 0}
if {[clock format [clock seconds] -format {%M}] > 45} {set endHour [expr $startHour + 1]}

if {$startMinute < 10} {set startMinute 0$startMinute}
if {$endMinute < 10} {set endMinute 0$endMinute}

set startTime "$date%20$startHour:$startMinute:00"
set endTime "$date%20$endHour:$endMinute:00"


# SolarEdge API User Daten 
# ========================================================

set site <DEINE SITE-ID>
set apiKey <DEIN API-KEY>

		
# Consumption auslesen
# ========================================================

set url "https://monitoringapi.solaredge.com/site/$site/powerDetails.xml?meters=CONSUMPTION&startTime=$startTime&endTime=$endTime&api_key=$apiKey"
exec /usr/bin/wget --no-check-certificate -q -O /usr/local/addons/solaredge/consumption.xml $url
set f [open "/usr/local/addons/solaredge/consumption.xml"]
set input [read $f]
close $f


# Consumption aus XML Datei auslesen
# ========================================================

regexp "<value>(.*?)</value></meterTelemetry>" $input dummy currentv0;


# Consumption in Variable schreiben
# ========================================================

set rega_cmd ""
append rega_cmd "var w0 = dom.GetObject('SolarEdge-Consumption');"
append rega_cmd "w0.State('$currentv0');"


# Daten an die CCU2 übergeben
# ========================================================

rega_script $rega_cmd
[/quote]

Die Einspeisung berechne ich über ein weiteres Programm und speichere den Wert in eine Systemvariable. Dieses Programm wird mit 5 sec. Verzögerung zum Auslesen der SolarEdge Daten gestartet. Hier das Programm Script:

[quote]
real production = dom.GetObject("SolarEdge-Production").Value();
real consumption = dom.GetObject("SolarEdge-Consumption").Value();
real FeedIn = production - consumption;

if (FeedIn < 0) {FeedIn = 0;}

dom.GetObject("SolarEdge-FeedIn").State(FeedIn);