Integration Photovoltaik-Anlage mit SolarEdge

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

blueb6
Beiträge: 93
Registriert: 08.01.2015, 20:22
Wohnort: Neufeld/Leitha

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
________________________________________________________
1 Zentrale CCU3 (Raspberrymatic), 1 Lan Gateway, 6 Funk-Heizkörperthermostat, 11 Funk-Tür-/Fensterkontakt optisch, 1 RGBW Controller, 1 Funk-Schaltaktor 4-fach, Hutschienenmontage, 3 Funk-Schaltaktor 1-fach, Hutschienenmontage 1 Funk-Temperatur-/ Feuchtesensor außen, 5 Funk-Wandthermostat, 5 Funk-Schaltaktor 1-fach, Unterputzmontage, 1 Funk Bewegungsmelder Außen, 1 Funk-Temperaturdifferenz-Sensor, 1 Funk-Fernbedienung mit Display, 1 Funk-Schaltaktor 1-fach, Platine Batterie, 1 Funk-Sender für Energiezähler-Sensor, 2 Funk-Wandtaster 2-fach im 55er Rahmen
1 Homematic IP Schalt-Mess-Steckdose, 1 IP Schaltsteckdose, 1 Sirenensteuerung, 1 Innensirene,
und Zwei weitere Häuser mit Yahm, 7 LAN Gateways, 5 Energiemesser, 48 Heizkörperthermostate und 48 Fensterkontakte

Antworten

Zurück zu „Projektvorstellungen“