Integration Photovoltaik-Anlage mit SolarEdge

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

blueb6
Beiträge: 118
Registriert: 08.01.2015, 20:22
Wohnort: Neufeld/Leitha
Danksagung erhalten: 3 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von blueb6 » 21.09.2018, 08:28

Guten Morgen

Habe folgendes Problem

Ich schaffe es nicht folgenses XML auszulesen und in Variablen zu schreiben

Code: Alles auswählen

<?xml version="1.0"?>
-<siteCurrentPowerFlow>
<updateRefreshRate>3</updateRefreshRate>
<unit>kW</unit>
-<GRID>
<status>Active</status>
<currentPower>0.16</currentPower>
</GRID>
-<LOAD>
<status>Active</status>
<currentPower>0.21</currentPower>
</LOAD>
-<PV>
<status>Active</status>
<currentPower>0.37</currentPower>
</PV>
-<connections>
-<connection>
<from>LOAD</from>
<to>Grid</to>
</connection>
-<connection>
<from>PV</from>
<to>Load</to>
</connection>
</connections>
</siteCurrentPowerFlow>

so habe ich es probiert um die wichtigsten Sachen auszulesen
ich denke das das Problem ist dass zwischen z.B. GRID zwei Werte zum auslesen sind

bzw wie kann ich die Werte der Connection in eine Variable (Zeichenkette) schreiben, dass dann in der variablen steht z.B. from PV to Load oder from LOAD to Grid?

Code: Alles auswählen

load tclrega.so

    # Daten von SE holen
    # ==================

    set url "https://monitoringapi.solaredge.com/site/xxxxx/currentPowerFlow.xml?api_key=xxxxx"
    exec /usr/bin/wget --no-check-certificate -q -O /usr/local/addons/solaredge/export1.xml $url

    set f [open "/usr/local/addons/solaredge/export1.xml"]
    set input [read $f]
    close $f


    # Werte aus XML Datei auslesen
    # =============================

    regexp "<GRID><currentPower>(.*?)</currentPower></GRID>" $input dummy currentv0  ;
    regexp "<LOAD><currentPower>(.*?)</currentPower></LOAD>" $input dummy currentv1  ;
        regexp "<PV><currentPower>(.*?)</currentPower></PV>" $input dummy currentv3  ;


    # Werte in Variable schreiben
    # =============================

    set rega_cmd ""

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

    append rega_cmd "var w1 = dom.GetObject('SolarEdge-LOAD');"
    append rega_cmd "w1.State('$currentv1');"

    append rega_cmd "var w2 = dom.GetObject('SolarEdge-PV');"
    append rega_cmd "w2.State('$currentv2');"

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

    rega_script $rega_cmd
LG Tom
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten

blueb6
Beiträge: 118
Registriert: 08.01.2015, 20:22
Wohnort: Neufeld/Leitha
Danksagung erhalten: 3 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von blueb6 » 16.01.2019, 19:09

Guten Abend allerseits

Leider noch keine Antwort auf meinen vorherigen Post.

hat wirklich keiner eine Idee dazu?

Danke

lg Tom
LG Tom
________________________________________________________
2 mal CCU3 (Raspberrymatic) 1 mal CCU2, 10 Lan Gateway, und ca. 180 Komponenten

homeoder
Beiträge: 2
Registriert: 28.02.2019, 16:56

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von homeoder » 28.02.2019, 17:01

Hallo,
so mache ich das.
z.B.

Code: Alles auswählen

	regexp "<GRID><status>.*?</status><currentPower>(.*?)</currentPower></GRID>" $input dummy currentv0 ;
	regexp "<LOAD><status>.*?</status><currentPower>(.*?)</currentPower></LOAD>" $input dummy currentv1 ;
	regexp "<PV><status>.*?</status><currentPower>(.*?)</currentPower></PV>" $input dummy currentv2 ;
Gruß Frank

homeoder
Beiträge: 2
Registriert: 28.02.2019, 16:56

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von homeoder » 28.02.2019, 19:31

Hallo,
in der API wird die (Strom-)Richtung durch <from> und <to> angegeben. Ich stelle beim Zukauf den Wert in der Variablen negativ dar!

Code: Alles auswählen

	regexp "<connections><connection><from>(.*?)</from><to>(.*?)</to></connection></connections>" $input dummy from to ;
	
	# Zukauf - Vorzeichen drehen
	if {$from == "GRID"} {set  currentv0 [expr $currentv0 * -1]}
Gruß Frank

Benutzeravatar
tgw
Beiträge: 565
Registriert: 10.10.2013, 22:35
System: CCU
Wohnort: Recklinghausen
Hat sich bedankt: 36 Mal
Danksagung erhalten: 4 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von tgw » 06.05.2019, 22:06

Hallo zusammen,
ich bekomme bei manueller Ausführung des Scripts eine Fehlermeldung. Siehe Anhang.

Ich benutze das originale Scrip mit korrektem API und Standort und bekomme folgende Daten, wenn ich im Webbrowser abfrage:

Code: Alles auswählen

<overview><lastUpdateTime>2019-05-06 21:25:49</lastUpdateTime><lifeTimeData><energy>2290677.0</energy><revenue>632.1977</revenue></lifeTimeData><lastYearData><energy>2289969.0</energy></lastYearData><lastMonthData><energy>189456.0</energy></lastMonthData><lastDayData><energy>23282.0</energy></lastDayData><currentPower><power>0.0</power></currentPower><measuredBy>INVERTER</measuredBy></overview>
Ich habe jetzt mal alles Mögliche getestet. Wenn ich statt in currentv5 in currentv4 schreibe, rennt das scrip. Er stößt sich definitiv auch nicht an den zwei Werten in LifeTimeData. Kann es eine andere Wertdefinition sein?

Für einen Tipp bin ich dankbar.

Und da wäre noch was:
Warum muss ich eine Variable LastDayData definieren und eine Variable ThisDayData, bekomme aber eine von den Variablen überhaupt nicht geliefert und auch nicht gefüllt. Irgendwas stimmt doch nicht.

Gibt es eigentlich eine Abfrage für den Akkustand?
Dateianhänge
2019-05-06 22_02_18-192.168.3.114 - PuTTY.png
2019-05-06 22_02_18-192.168.3.114 - PuTTY.png (8.72 KiB) 4546 mal betrachtet
Viele Grüße aus Recklinghausen im Ruhrpott

Der TGW

CCU3 / Solaredge PV integriert / Daikin Klima WLAN integriert - gerne für Rückfragen offen.

Benutzeravatar
tgw
Beiträge: 565
Registriert: 10.10.2013, 22:35
System: CCU
Wohnort: Recklinghausen
Hat sich bedankt: 36 Mal
Danksagung erhalten: 4 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von tgw » 13.05.2019, 11:30

Keine Lösung?
Viele Grüße aus Recklinghausen im Ruhrpott

Der TGW

CCU3 / Solaredge PV integriert / Daikin Klima WLAN integriert - gerne für Rückfragen offen.

PaulM
Beiträge: 315
Registriert: 16.02.2015, 17:05
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 126 Mal
Danksagung erhalten: 35 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von PaulM » 11.06.2019, 18:37

Warum muss ich eine Variable LastDayData definieren und eine Variable ThisDayData, bekomme aber eine von den Variablen überhaupt nicht geliefert und auch nicht gefüllt. Irgendwas stimmt doch nicht.
wenn in einem Skript eine Variable angesprochen wird, die es in der CCU nicht gibt (oder nicht in dieser Schreibweise, oder nicht im richtigen Wertetyp), führt es in aller Regel zum Abbruch. Wenn man das Skript mit seinen Abhängigkeiten versteht, kann man natürlich das Skript anpassen.
Gruß
Paul
Mit Mut und Entschlossenheit gegen Intoleranz

Benutzeravatar
tgw
Beiträge: 565
Registriert: 10.10.2013, 22:35
System: CCU
Wohnort: Recklinghausen
Hat sich bedankt: 36 Mal
Danksagung erhalten: 4 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von tgw » 02.07.2019, 11:14

Dann wäre es sinnvoll, wenn hier das Beispiel mal korrigiert wird.

Ansonsten Danke für die Hilfe, ich habe meine Anlage jetzt über die API sogar mit Echtzeitwerten perfekt angebunden. Schwachpunkt sind jetzt die häufigen Ausfälle der API. Solaredge möchte mir weißmachen, ich überschreite die maximalen Abfragen. 300 Abfragen pro Tag werden aber bei 10-Minutenintervallen nicht erreicht.

Also falls jemand dahingehend mal Ausfälle hat, den Jungs von Solaredge immer schön entgegentreten. Für die sind Kunden eh nur fehlerhafte Existenzen.

OT:
Ich suche jemandem, mit dem ich abgleichen kann, wenn deren API ausfällt BTW.
Viele Grüße aus Recklinghausen im Ruhrpott

Der TGW

CCU3 / Solaredge PV integriert / Daikin Klima WLAN integriert - gerne für Rückfragen offen.

DneprM750
Beiträge: 4
Registriert: 18.07.2019, 19:12

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von DneprM750 » 25.07.2019, 19:41

Guten Tag,

Ich hätte gern etwas wissen: ist es möglich, außerhalb des Hauses mit SolarEdge Photovoltaikmodulen zu steuern oder ein/ausschalten? Ich hätte gern einen von diesen Häuser in Griechenland kaufen, und einen Heimautomationsystem mit Solarmodulen dort einsetzen. Ich werde natürlich oft da sein, aber ich hätte auch gern die Schlüsseln des Hauses meinen Eltern oder ältesten Sohnen manchmal verleihen. Und im Fall, dass sie einige Problemen mit den Heimautomationsystem haben, hätte ich gern ein Weg, ihm zu helfen, haben.
Zuletzt geändert von alchy am 25.07.2019, 21:29, insgesamt 1-mal geändert.
Grund: Werbelink entfernt

Benutzeravatar
Indi55
Beiträge: 10
Registriert: 03.11.2016, 19:54
Wohnort: Köln
Danksagung erhalten: 5 Mal

Re: Integration Photovoltaik-Anlage mit SolarEdge

Beitrag von Indi55 » 15.01.2020, 20:20

Hallo zusammen,
das Auslesen der Werte geht bei neueren WR von Solaredge auch über Modbus TCP.
ggf. muss die Firmware aus den neusten Stand gebracht werden.
Ohne API immer die aktuellen Werte auslesen. Alle Register des SunSpec Protokolls können
ausgelesen werden. Siehe Solaredge https://www.solaredge.com/sites/defaul ... te-de.pdf

Software:
https://homematic-forum.de/forum/viewt ... solaredge

Klappt super.

Gruß
RaspberryPI 3B+ PivCCU3. LEDs und Taster an GPIO´s, Fenstersensoren, Rolladenaktoren, Sirene,HQ WebUI, CuxD, XML-API, E-Mail, USB Zählersensor am Raspberry, OpenWeatherMap.API, 1 Wire Temperatursensoren.
WallBe Pro Ladebox und Solaredge Solaranalage via ModBus Anbindung. CarWings/NissanEV anbindung.
SMA Sunny Boy Storage.

Antworten

Zurück zu „Projektvorstellungen“