Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS Fronius Wechselrichter by RD

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Wenn der manuelle Link funktioniert, dann ist das ja schon eine gute Sache. Dann müsste man nur die Unterschiede anschauen. Ich bekomme das folgende Resultat:
    Code:
    {
        "Head" : {
            "RequestArguments" : {
                "DataCollection" : "",
                "Scope" : "System"
            },
            "Status" : {
                "Code" : 0,
                "Reason" : "",
                "UserMessage" : ""
            },
            "Timestamp" : "2018-03-03T11:06:23+01:00"
        },
        "Body" : {
            "Data" : {
                "PAC" : {
                    "Unit" : "W",
                    "Values" : {
                        "1" : 257
                    }
                },
                "DAY_ENERGY" : {
                    "Unit" : "Wh",
                    "Values" : {
                        "1" : 619
                    }
                },
                "YEAR_ENERGY" : {
                    "Unit" : "Wh",
                    "Values" : {
                        "1" : 723896
                    }
                },
                "TOTAL_ENERGY" : {
                    "Unit" : "Wh",
                    "Values" : {
                        "1" : 26086500
                    }
                }
            }
        }
    }
    Auf den ersten Blick sieht die Struktur gleich aus. Einziger Unterschied: Bei dir ist jeweils vor dem Wert ein "10", bei mir ein "1".
    Was genau dieser Wert bedeutet, weiss ich grad nicht. Ich vermute aber etwas wie ein Datentyp.
    Möglicherweise hast du in deiner Fronius-Konfiguration etwas anders eingestellt, was dieses 10 erzeugt. (Oder eben eine neue API-Version)

    Ich muss mal kurz den Source-Code anschauen.
    Zuletzt geändert von rdeckard; 03.03.2018, 11:28.

    Kommentar


      #17
      stekna
      Stefan, es ist in der Tat so, dass mein Code von diesem "Datentyp" (oder was immer es bedeutet) 1 ausgeht und bei dir 10 kommt.
      Solange ich nicht die genaue Bedeutung davon kenne, möchte ich den LBS nicht umstellen. Ist ja jetzt nicht ein Bug, da es z.B. bei mir so ja noch einwandfrei funktioniert.
      Evtl. werde ich es in Zukunft über die Parameter anpassbar machen.

      Bis dahin kannst du es aber recht einfach für dich korrigieren:
      1. Gehe in Logikeditor und klicke mit der rechten Maustaste auf die Titelleiste des LBS (Dort wo "Fronius Wechselrichter by RD" drinsteht).
      2. Wähle im Kontextmenü "Logikbaustein bearbeiten".
      3. Klicke auf den "Quelltext bearbeiten" Button.
      4. Suche im Editor den folgenden Textblock (ca. im letzten unteren Viertel):
        $aktLeistung=$json["Body"]["Data"]["PAC"]["Values"]["1"];
        $TagLeistung=$json["Body"]["Data"]["DAY_ENERGY"]["Values"]["1"];
        $JahrLeistung=$json["Body"]["Data"]["YEAR_ENERGY"]["Values"]["1"];
        $TotLeistung=$json["Body"]["Data"]["TOTAL_ENERGY"]["Values"]["1"];
      5. Ersetze bei allen 4 Zeilen die hintere "1" durch ein "10", sodass es so aussieht:
        $aktLeistung=$json["Body"]["Data"]["PAC"]["Values"]["10"];
        $TagLeistung=$json["Body"]["Data"]["DAY_ENERGY"]["Values"]["10"];
        $JahrLeistung=$json["Body"]["Data"]["YEAR_ENERGY"]["Values"]["10"];
        $TotLeistung=$json["Body"]["Data"]["TOTAL_ENERGY"]["Values"]["10"];
      6. Klicke nun auf den "Speichern" Button und lass dein Projekt neu aktivieren.

      Ich hoffe, das löst dein Problem. Bitte dran denken, dass du den LBS damit für dich angepasst hast. Falls du ihn wieder als Original-Version importierst, sind diese Änderungen natürlich weg.
      Falls ich in Zukunft eine neue Version bringe, werde ich dies vermutlich über die Parameter einstellbar machen. Aber dann musst du dran denken, dort von 1 auf 10 zu stellen. (Was immer ich dort dann als Default-Wert eintragen werde)

      Gruss, Hansjörg

      Kommentar


        #18
        Hab noch was dazu rausgefunden. Dieser "Values" ist kein Datentyp, sondern die DeviceID deines Wechselrichters.
        Man kann explizit nur die Werte eines WR anzeigen lassen (über die DeviceID) oder einfach alle. Ich verwende im LBS den Befehl für alle, was eigentlich falsch wäre. Wenn nämlich jemand wirklich mehrere WR hätte, würde der LBS auch nur den mit der DeviceID 1 anzeigen.
        Da ich nur ein WR habe und der (zufällig?) die DeviceID 1 hat, ist mir das natürlich nie aufgefallen.

        Interessanterweise hat dein WR die DeviceID 10, obwohl es offenbar auch nur einen bei dir gibt. Vielleicht hast du aber noch andere Fronius-Geräte, die diese höhere ID erklären würden.
        Mit der folgenden URL kann man die (zurzeit aktiven) Wechselrichter und ihre DeviceID anzeigen lassen:
        http://FRONIUS_IP/solar_api/v1/GetAc...Class=Inverter
        Bei mir kommt das folgende zurück:
        Code:
        {
            "Head" : {
                "RequestArguments" : {
                    "DeviceClass" : "Inverter"
                },
                "Status" : {
                    "Code" : 0,
                    "Reason" : "",
                    "UserMessage" : ""
                },
                "Timestamp" : "2018-03-03T12:30:37+01:00"
            },
            "Body" : {
                "Data" : {
                    "[B][COLOR=#FF0000]1[/COLOR][/B]" : {
                        "DT" : 233
                    }
                }
            }
        }
        Bei Body > Data steht also 1 als DeviceID. Bei dir wird hier vermutlich dann die 10 stehen. (Evtl. hast du aber auch weitere Einträge)

        Ich könnte dann den LBS etwas umstellen, dass er nur über eine vorgegebene DeviceID funktioniert (mehrere gleichzeitig auslesen würde eh keinen Sinn machen, da man dann auch die entsprechenden LBS-Ausgänge braucht).
        Wenn der Anwender die DeviceID nicht kennt oder keine Lust hast, diese über den oberen HTTP-Link auszulesen, würde ich im LBS mittels dieses Befehls einfach jeweils die erste DeviceID verwenden. Ob dann dort 1 oder 10 drinsteht, spielt keine Rolle und würde funktionieren. Das würde den LBS flexibler machen.
        Mal gucken... :-)

        Kommentar


          #19
          Stefan, könntest du mir bitte noch mitteilen, was bei dir unter http://FRONIUS_IP/#/settings/inverter angezeigt wird? (FRONIUS_IP wäre deine lokale IP deines Wechselrichters)
          Bei mir sieht es folgendermassen aus:
          fronius1.jpg

          Es geht mir um diese Nr. und ob die bei dir dann hier auch eine 10 anzeigt? Oder ob du sogar 10 Einträge hast.
          Diese Nummer sollte sich auch mit dem Link aus meiner vorherigen Nachricht decken.

          Ich möchte einfach sicherstellen, dass diese Nummer auch der DeviceID entspricht und nicht einfach eine Index-Nummer ist.

          Danke und Gruss
          Hansjörg

          P.S.: Habe gesehen, dass ich noch eine etwas ältere Software-Version habe (v3.7.x anstatt v3.9.x). Aber sollte keinen Einfluss auf diese DeviceID haben.

          Kommentar


            #20
            Hallo Hansjörg,

            vielen vielen Dank für deine Mühen. War den ganzen Tag am Werkstatt aufbauen daher die späte Rückmeldung. Mein Wechselrichter hat in der Tat die #10
            Leider schläft der Wechselrichter jetzt schon und ich kann dir die Infos nicht mehr schicken. Sobald er morgen früh wach ist schicke ich die Infos durch ;-)

            Besten Dank.

            Gruß
            Stefan

            Kommentar


              #21
              Hallo Hansjörg,

              jetzt funktioniert es. Anbei der gewünschte Screenshot.

              1.PNG

              Viele Grüße
              Stefan

              Kommentar


                #22
                Danke für das Feedback.
                Trotzdem interessant, dass deine ID 10 ist. Man kann die ja nicht selber setzen. Ich gehe davon aus, dass die einfach aufnummeriert werden. Das bedeutet aber, dass bei dir schon mal andere Geräte im System waren.
                Aber zumindest ist es jetzt für mich klarer.

                Ich bin zurzeit daran, den LBS bisschen umzugestalten, damit er etwas flexibler und auch fehlertoleranter wird. Funktioniert schon recht gut.
                Leider funkt mir irgendwie Edomi dazwischen. Habe unregelmässig Array Index Error im Edomi Fehlerlog, was natürlich unschön ist. Vorallem, da ich dies eigentlich bereits im Code prüfe. Und da die Edomi-Fehler nur alle paar Std. auftreten (diese Nacht 3x), ist es schwer zu reproduzieren und zu erkennen, warum genau es passiert.
                Ich habe kein Problem damit, dass sich der LBS evtl. von Zeit zu Zeit beim Auslesen "verschluckt" (ich lese ja alle 10 Sek. die Daten aus), aber ich will das kontrolliert abfangen und auf keinen Fall etwas im Edomi-Fehlerlog sehen.

                Kommentar


                  #23
                  Hi Hansjörg,

                  vielen Dank für den LBS.
                  Funktioniert einwandfrei.

                  besteht auch die Möglichkeit noch mehr Informationen zu bekommen?
                  z.b. unter diesem Link. /solar_api/v1/GetPowerFlowRealtimeData.fcgi

                  bekomme die nur nicht eingebaut.... ;-(

                  Bei mir ist noch ein SmartMeter installiert... Modbus...
                  können auch diese Daten abgerufen werden und wenn ja, wie?

                  können auch Daten von Solarweb abgerufen werden?

                  Danke für deine Hilfe.

                  Grüße
                  Markus
                  Zuletzt geändert von Su8Ze3O; 01.06.2018, 09:46.

                  Kommentar


                    #24
                    Hallo Markus

                    Theoretisch sollten alle diese "solar_api"-Links funktionieren. Ich müsste nur wissen, welche Daten du genau brauchst. Dein Beispiel-Link liefert mir z.B. das folgende Resultat:

                    Code:
                    {
                        "Head" : {
                            "RequestArguments" : {},
                            "Status" : {
                                "Code" : 0,
                                "Reason" : "",
                                "UserMessage" : ""
                            },
                            "Timestamp" : "2018-06-01T11:38:03+02:00"
                        },
                        "Body" : {
                            "Data" : {
                    [COLOR=#FF0000]  "Site" : {
                                    "Mode" : "produce-only",
                                    "P_Grid" : null,
                                    "P_Load" : null,
                                    "P_Akku" : null,
                                    "P_PV" : 9831,
                                    "rel_SelfConsumption" : null,
                                    "rel_Autonomy" : null,
                                    "E_Day" : 26591,
                                    "E_Year" : 4542590,
                                    "E_Total" : 29905200
                                },[/COLOR]
                                "Inverters" : {
                                    "1" : {
                                        "DT" : 233,
                                        "P" : 9831,
                                        "E_Day" : 26591,
                                        "E_Year" : 4542590,
                                        "E_Total" : 29905200
                                    }
                                }
                            }
                        }
                    }
                    Da mein LBS nur für Werte von einem Wechselrichter ausgelegt ist, weil es ansonsten viel zu komplex wird, würde ich mich jetzt in diesem Fall eher auf die Werte aus dem Bereich "Site" (und nicht unten "Inverters") konzentrieren.
                    Gib mir einfach mal an, was für Werte dich interessieren und ich schau, was ich da machen kann.

                    Der LBS ist ausschliesslich für die webbasierenden (JSON) Abfragen des Wechselrichters gedacht. Modbus ist ganz etwas anderes. (Wobei es hier glaub schon einige LBS gibt. Wie flexibel man diese dann anpassen kann, weiss ich nicht.)
                    Solarweb-Abfragen sind ebenfalls nicht geplant, da man dort vermutlich nicht auf strukturierte Daten (JSON etc.) zugreifen kann, sondern im besten Fall die HTML-Seite parsen müsste. Das ist aber sehr aufwändig und fehleranfällig. (ändert Fronius etwas, würde es bereits nicht mehr funktionieren)
                    Grundsätzlich hat ja Solarweb eigentlich die gleichen Daten, die du auch direkt von deinem Wechselrichter zuhause auslesen kannst. Wenns dir um die Statistiken (History) geht, dann musst du halt in Edomi diese Werte in ein Datenarchiv schreiben lassen. (Mit etwas Aufwand könntest du per Excel-Export und DB-Import auch die älteren Daten von solarweb nach Edomi kriegen.)

                    Gruss, Hansjörg

                    Kommentar


                      #25
                      Hallo

                      Darf ich nochmal zu einem Thema von früher nachfragen.
                      Bei mir gibt es eine merkliche Abweichung bei der Tagesproduktion zwischen den Werten aus der API (welche in mit dem LBS in edomi nutze) und den Werten in der Fronius App bzw. dem Online Tool.
                      Gerade eben habe ich die zwei Werte innerhalb von wenigen Sekunden abgegriffen. API Wert: 8,75 und in der App 12,4 KWh.
                      Die Werte der aktuellen Produktion stimmen eigenartiger Weise aber zusammen.
                      Jemand eine Idee woran das liegen könnte?
                      Angehängte Dateien

                      Kommentar


                        #26
                        Ja, das könnte an der Firmware Version des Wechselrichters liegen. Ich hatte auch Abweichungen zwischen WW Homepage, API und Webportal. Die neuste FW hat bei mir geholfen.

                        Kommentar


                          #27
                          Ich werde heute mal die neueste FW einspielen und schauen, ob das eine Änderung bewirkt.

                          Danke.

                          Kommentar


                            #28
                            Hi Hansjörg,

                            sorry für die späte Antwort.....
                            ich habe inzwischen mal etwas mit deinem LBS rumgespielt und siehe da. folgendes funktioniert bei mir.
                            da ich deinen LBS abgewandelt habe, solltest du auch diesen unter deinem Namen veröffentlichen... die Ehre gehört natürlich dir.
                            Bei mir laufen jetzt deiner und meine beiden gleichzeitig... Abfragen jeweils versetzt, damit der WR sich nicht aufhängt.

                            Wollte eigentlich noch mehr rausziehen, hab aber keine funktionierenden Links zum WR mehr gefunden.

                            NR1.
                            __________________________________________________ ________________________________________

                            ###[DEF]###
                            [name =Fronius Wechselrichter Einspeisung]

                            [e#1 =trigger]
                            [e#2 =debug #init=0]
                            [e#3 =IP von Fronius WR]

                            [a#1 =P_Grid]
                            [a#2 =P_Load]
                            [a#3 =rel_Autonomy]
                            [a#4 =rel_SelfConsumption]
                            [a#5 =Auslese Zeitstempel Fronius]
                            [a#6 =Auslese Zeitstempel Edomi]
                            [a#7 =Error]

                            ###[/DEF]###

                            ###[HELP]###
                            Dieser Logikbaustein liest von einem Fronius Wechselrichter die aktuellen Daten aus. Zurzeit sind dies die folgende Werte:
                            - Grid
                            - Load
                            - rel. Autonomy
                            - rel. SelfConsumption
                            - Zeitstempel Fronius

                            Der Fronius Wechselrichter muss vom Edomi-Rechner erreichbar sein. Die im LBS verwendete URL kann vorab manuell getestet werden:
                            URL = http://FRONIUS_IP/solar_api/v1/GetPo...ltimeData.fcgi

                            E1: = !=0 = Trigger
                            E2: = debug (1=true, 0=false / Bei true werden Variablenwerte in das Edomi TraceLog geschrieben. Nur für Tests verwenden!)
                            E3: = IP Adresse (oder Hostname) des Fronius Wechselrichters (z.B. 192.168.1.100)

                            A1: = P_Grid
                            A2: = P_Load
                            A3: = rel_Autonomy
                            A4: = rel_SelfCopnsumption
                            A5: = Auslese Zeitstempel Fronius
                            A6: = Auslese Zeitstempel Edomi
                            A7: = Error (1=true/0=false)

                            ###[/HELP]###


                            ###[LBS]###
                            <?
                            function LB_LBSID($id) {
                            if ($E=getLogicEingangDataAll($id)) {

                            if ($E[2]["value"]==1) {writeToCustomLog("19444441_lbs.log","INFO","*** LBS Fronius Wechselrichter Einspeisung GESTARTET ***");}
                            if ($E[2]["value"]==1) {writeToCustomLog("19444441_lbs.log","INFO","Versi on: 1.2");}

                            if ($E[1]["refresh"]==1) {
                            callLogicFunctionExec(LBSID,$id);
                            }
                            }
                            }
                            ?>
                            ###[/LBS]###


                            ###[EXEC]###
                            <?
                            require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
                            sql_connect();
                            //-------------------------------------------------------------------------------------
                            if ($E=getLogicEingangDataAll($id)) {
                            $debug=$E[2]["value"];
                            $url="http://".$E[3]["value"]."/solar_api/v1/GetPowerFlowRealtimeData.fcgi";
                            $error=0;
                            }

                            setlocale (LC_TIME, 'de_DE');
                            $EdomiTime = date("d.m.Y H:i:s");

                            // Prüfen, ob URL-Pfad gefunden wird. Sonst wird LBS abgebrochen.
                            try {
                            //$url = 'http://192.168.10.53';
                            $ch = curl_init($url);
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                            curl_setopt($ch,CURLOPT_TIMEOUT,1);
                            $result = curl_exec($ch);
                            if (!$result) throw new Exception(curl_error($ch));
                            } catch (Exception $e)
                            {
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","Fron ius Wechselrichter nicht erreichbar!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","*** LBS Fronius Wechselrichter Einspeisung ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR"," ");}
                            exit();
                            }

                            $file_headers = @get_headers($url);
                            if (stripos($file_headers[0],"404 Not Found") >0 || (stripos($file_headers[0], "302 Found") > 0 && stripos($file_headers[7],"404 Not Found") > 0)) {
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","URL Pfad nicht gefunden!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","*** LBS Fronius Wechselrichter Einspeisung ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR"," ");}
                            exit();
                            }

                            //$url = 'http://192.168.10.53/solar_api/v1/GetPowerFlowRealtimeData.fcgi';
                            $content = file_get_contents($url);

                            // Prüfen, ob URL-Content gelesen werden kann. Sonst wird LBS abgebrochen.
                            if ($content === false) {
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","Wech selrichter antwortet nicht!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR","*** LBS Fronius Wechselrichter Einspeisung ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","ERROR"," ");}
                            exit();
                            }

                            $json = json_decode($content, true);

                            //echo "P_Grid: ".$json["Body"]["Data"]["Site"]["P_Grid"]."<br>";
                            //echo "P_Load: ".$json["Body"]["Data"]["Site"]["P_Load"]."<br>";
                            //echo "rel_Autonomy: ".$json["Body"]["Data"]["Site"]["rel_Autonomy"]."<br>";
                            //echo "rel_SelfCopnsumption: ".$json["Body"]["Data"]["Site"]["rel_SelfConsumption"]."<br>";
                            //echo "Timestamp Fronius: ".$json["Head"]["Timestamp"]."<br>";
                            //echo "Timestamp Edomi: ".date()."<br>";

                            $grid=$json["Body"]["Data"]["Site"]["P_Grid"];
                            $load=$json["Body"]["Data"]["Site"]["P_Load"];
                            $auto=$json["Body"]["Data"]["Site"]["rel_Autonomy"];
                            $self=$json["Body"]["Data"]["Site"]["rel_SelfConsumption"];
                            $FroniusTime=$json["Head"]["Timestamp"];

                            //$grid=1351;

                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","P_Gri d: ".$grid);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","P_Loa d: ".$load);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","rel_A utonomy: ".$auto);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","rel_S elfCopnsumption: ".$self);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","Times tamp Fronius: ".$FroniusTime);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","Times tamp Edomi: ".$EdomiTime);}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","Error : ".$error);}


                            setLogicLinkAusgang($id,1,$grid); //P_Grid
                            setLogicLinkAusgang($id,2,$load); //P_Load
                            setLogicLinkAusgang($id,3,$auto); //rel_Autonomy
                            setLogicLinkAusgang($id,4,$self); //rel_SelfCopnsumption
                            setLogicLinkAusgang($id,5,$FroniusTime); //Timestamp Fronius
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = false

                            setLogicElementStatus($id,0);

                            //-------------------------------------------------------------------------------------
                            sql_disconnect();

                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO","*** LBS Fronius Wechselrichter Einspeisung BEENDET ***");}
                            if ($debug==1) {writeToCustomLog("19444441_lbs.log","INFO"," ");}

                            ?>
                            ###[/EXEC]###

                            __________________________________________________ ________________________________________

                            NR2.
                            __________________________________________________ ________________________________________

                            ###[DEF]###
                            [name =Fronius Wechselrichter]

                            [e#1 =trigger]
                            [e#2 =debug #init=0]
                            [e#3 =IP von Fronius WR]

                            [a#1 =EnergyReactive_VArAC_Sum_Consumed]
                            [a#2 =EnergyReactive_VArAC_Sum_Produced]
                            [a#3 =EnergyReal_WAC_Minus_Absolute]
                            [a#4 =EnergyReal_WAC_Plus_Absolute]
                            [a#5 =Auslese Zeitstempel Fronius]
                            [a#6 =Auslese Zeitstempel Edomi]
                            [a#7 =EnergyReal_WAC_Sum_Consumed]
                            [a#8 =EnergyReal_WAC_Sum_Produced]
                            [a#9 =Frequency_Phase_Average]
                            [a#10 =Meter_Location_Current]
                            [a#11 =PowerApparent_S_Phase_1]
                            [a#12 =PowerApparent_S_Phase_2]
                            [a#13 =PowerApparent_S_Phase_3]
                            [a#14 =PowerApparent_S_Sum]
                            [a#15 =PowerFactor_Phase_1]
                            [a#16 =PowerFactor_Phase_2]
                            [a#17 =PowerFactor_Phase_3]
                            [a#18 =PowerFactor_Sum]
                            [a#19 =PowerReactive_Q_Phase_1]
                            [a#20 =PowerReactive_Q_Phase_2]
                            [a#21 =PowerReactive_Q_Phase_3]
                            [a#22 =PowerReactive_Q_Sum]
                            [a#23 =PowerReal_P_Phase_1]
                            [a#24 =PowerReal_P_Phase_2]
                            [a#25 =PowerReal_P_Phase_3]
                            [a#26 =PowerReal_P_Sum]
                            [a#27 =Voltage_AC_PhaseToPhase_12]
                            [a#28 =Voltage_AC_PhaseToPhase_23]
                            [a#29 =Voltage_AC_PhaseToPhase_31]
                            [a#30 =Current_AC_Phase_1]
                            [a#31 =Current_AC_Phase_2]
                            [a#32 =Current_AC_Phase_3]
                            [a#33 =Voltage_AC_Phase_1]
                            [a#34 =Voltage_AC_Phase_2]
                            [a#35 =Voltage_AC_Phase_3]
                            [a#36 =Error]]

                            ###[/DEF]###

                            ###[HELP]###
                            Dieser Logikbaustein liest von einem Fronius Wechselrichter die aktuellen Daten aus. Zurzeit sind dies die folgende Werte:
                            - EnergyReactive_VArAC_Sum_Consumed
                            - EnergyReactive_VArAC_Sum_Produced
                            - EnergyReal_WAC_Minus_Absolute
                            - EnergyReal_WAC_Plus_Absolute
                            - Auslese_Zeitstempel_Fronius
                            - Auslese_Zeitstempel_Edomi
                            - EnergyReal_WAC_Sum_Consumed
                            - EnergyReal_WAC_Sum_Produced
                            - Frequency_Phase_Average
                            - Meter_Location_Current
                            - PowerApparent_S_Phase_1
                            - PowerApparent_S_Phase_2
                            - PowerApparent_S_Phase_3
                            - PowerApparent_S_Sum
                            - PowerFactor_Phase_1
                            - PowerFactor_Phase_2
                            - PowerFactor_Phase_3
                            - PowerFactor_Sum
                            - PowerReactive_Q_Phase_1
                            - PowerReactive_Q_Phase_2
                            - PowerReactive_Q_Phase_3
                            - PowerReactive_Q_Sum
                            - PowerReal_P_Phase_1
                            - PowerReal_P_Phase_2
                            - PowerReal_P_Phase_3
                            - PowerReal_P_Sum
                            - Voltage_AC_PhaseToPhase_12
                            - Voltage_AC_PhaseToPhase_23
                            - Voltage_AC_PhaseToPhase_31
                            - Current_AC_Phase_1
                            - Current_AC_Phase_2
                            - Current_AC_Phase_3
                            - Voltage_AC_Phase_1
                            - Voltage_AC_Phase_2
                            - Voltage_AC_Phase_3
                            - Zeitstempel Fronius

                            Der Fronius Wechselrichter muss vom Edomi-Rechner erreichbar sein. Die im LBS verwendete URL kann vorab manuell getestet werden:
                            URL = http://FRONIUS_IP/solar_api/v1/GetMe...i?Scope=System

                            E1: = !=0 = Trigger
                            E2: = debug (1=true, 0=false / Bei true werden Variablenwerte in das Edomi TraceLog geschrieben. Nur für Tests verwenden!)
                            E3: = IP Adresse (oder Hostname) des Fronius Wechselrichters (z.B. 192.168.1.100)

                            A1: = EnergyReactive_VArAC_Sum_Consumed
                            A2: = EnergyReactive_VArAC_Sum_Produced
                            A3: = EnergyReal_WAC_Minus_Absolute
                            A4: = EnergyReal_WAC_Plus_Absolute
                            A5: = Auslese Zeitstempel Fronius
                            A6: = Auslese Zeitstempel Edomi
                            A7: = EnergyReal_WAC_Sum_Consumed
                            A8: = EnergyReal_WAC_Sum_Produced
                            A9: = Frequency_Phase_Average
                            A10: = Meter_Location_Current
                            A11: = PowerApparent_S_Phase_1
                            A12: = PowerApparent_S_Phase_2
                            A13: = PowerApparent_S_Phase_3
                            A14: = PowerApparent_S_Sum
                            A15: = PowerFactor_Phase_1
                            A16: = PowerFactor_Phase_2
                            A17: = PowerFactor_Phase_3
                            A18: = PowerFactor_Sum
                            A19: = PowerReactive_Q_Phase_1
                            A20: = PowerReactive_Q_Phase_2
                            A21: = PowerReactive_Q_Phase_3
                            A22: = PowerReactive_Q_Sum
                            A23: = PowerReal_P_Phase_1
                            A24: = PowerReal_P_Phase_2
                            A25: = PowerReal_P_Phase_3
                            A26: = PowerReal_P_Sum
                            A27: = Voltage_AC_PhaseToPhase_12
                            A28: = Voltage_AC_PhaseToPhase_23
                            A29: = Voltage_AC_PhaseToPhase_31
                            A30: = Current_AC_Phase_1
                            A31: = Current_AC_Phase_2
                            A32: = Current_AC_Phase_3
                            A33: = Voltage_AC_Phase_1
                            A34: = Voltage_AC_Phase_2
                            A35: = Voltage_AC_Phase_3
                            A36: = Error (1=true/0=false)

                            ###[/HELP]###

                            ###[LBS]###
                            <?
                            function LB_LBSID($id) {
                            if ($E=getLogicEingangDataAll($id)) {

                            if ($E[2]["value"]==1) {writeToCustomLog("19444442_lbs.log","INFO","*** LBS Fronius Wechselrichter GESTARTET ***");}
                            if ($E[2]["value"]==1) {writeToCustomLog("19444442_lbs.log","INFO","Versi on: 1.2");}

                            if ($E[1]["refresh"]==1) {
                            callLogicFunctionExec(LBSID,$id);
                            }
                            }
                            }
                            ?>
                            ###[/LBS]###

                            ###[EXEC]###
                            <?
                            require(dirname(__FILE__)."/../../../../main/include/php/incl_lbsexec.php");
                            sql_connect();
                            //-------------------------------------------------------------------------------------
                            if ($E=getLogicEingangDataAll($id)) {
                            $debug=$E[2]["value"];
                            $url="http://".$E[3]["value"]."/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System";
                            $error=0;
                            }

                            setlocale (LC_TIME, 'de_DE');
                            $EdomiTime = date("d.m.Y H:i:s");

                            // Prüfen, ob URL-Pfad gefunden wird. Sonst wird LBS abgebrochen.
                            try {
                            //$url = 'http://192.168.10.53';
                            $ch = curl_init($url);
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                            curl_setopt($ch,CURLOPT_TIMEOUT,1);
                            $result = curl_exec($ch);
                            if (!$result) throw new Exception(curl_error($ch));
                            } catch (Exception $e)
                            {
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","Fron ius Wechselrichter nicht erreichbar!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","*** LBS Fronius Wechselrichter ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR"," ");}
                            exit();
                            }

                            $file_headers = @get_headers($url);
                            if (stripos($file_headers[0],"404 Not Found") >0 || (stripos($file_headers[0], "302 Found") > 0 && stripos($file_headers[7],"404 Not Found") > 0)) {
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","URL Pfad nicht gefunden!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","*** LBS Fronius Wechselrichter ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR"," ");}
                            exit();
                            }

                            //$url = 'http://192.168.10.53/solar_api/v1/GetInverterRealtimeData.cgi?Scope=System';
                            $content = file_get_contents($url);

                            // Prüfen, ob URL-Content gelesen werden kann. Sonst wird LBS abgebrochen.
                            if ($content === false) {
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","Wech selrichter antwortet nicht!");}
                            $error=1;
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = true
                            setLogicElementStatus($id,0);
                            sql_disconnect();
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR","*** LBS Fronius Wechselrichter ABGEBROCHEN ***");}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","ERROR"," ");}
                            exit();
                            }

                            $json = json_decode($content, true);

                            //echo "EnergyReactive_VArAC_Sum_Consumed: ".$json["Body"]["Data"]["0"]["EnergyReactive_VArAC_Sum_Consumed"]."<br>";
                            //echo "EnergyReactive_VArAC_Sum_Produced: ".$json["Body"]["Data"]["0"]["EnergyReactive_VArAC_Sum_Produced"]."<br>";
                            //echo "EnergyReal_WAC_Minus_Absolute: ".$json["Body"]["Data"]["0"]["EnergyReal_WAC_Minus_Absolute"]."<br>";
                            //echo "EnergyReal_WAC_Plus_Absolute: ".$json["Body"]["Data"]["0"]["EnergyReal_WAC_Plus_Absolute"]."<br>";
                            //echo "Timestamp Fronius: ".$json["Head"]["Timestamp"]."<br>";
                            //echo "Timestamp Edomi: ".date()."<br>";
                            //echo "EnergyReal_WAC_Sum_Consumed: ".$json["Body"]["Data"]["0"]["EnergyReal_WAC_Sum_Consumed"]."<br>";
                            //echo "EnergyReal_WAC_Sum_Produced: ".$json["Body"]["Data"]["0"]["EnergyReal_WAC_Sum_Produced"]."<br>";
                            //echo "Frequency_Phase_Average: ".$json["Body"]["Data"]["0"]["Frequency_Phase_Average"]."<br>";
                            //echo "Meter_Location_Current: ".$json["Body"]["Data"]["0"]["Meter_Location_Current"]."<br>";
                            //echo "PowerApparent_S_Phase_1: ".$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_1"]."<br>";
                            //echo "PowerApparent_S_Phase_2: ".$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_2"]."<br>";
                            //echo "PowerApparent_S_Phase_3: ".$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_3"]."<br>";
                            //echo "PowerApparent_S_Sum: ".$json["Body"]["Data"]["0"]["PowerApparent_S_Sum"]."<br>";
                            //echo "PowerFactor_Phase_1: ".$json["Body"]["Data"]["0"]["PowerFactor_Phase_1"]."<br>";
                            //echo "PowerFactor_Phase_2: ".$json["Body"]["Data"]["0"]["PowerFactor_Phase_2"]."<br>";
                            //echo "PowerFactor_Phase_3: ".$json["Body"]["Data"]["0"]["PowerFactor_Phase_3"]."<br>";
                            //echo "PowerFactor_Sum: ".$json["Body"]["Data"]["0"]["PowerFactor_Sum"]."<br>";
                            //echo "PowerReactive_Q_Phase_1: ".$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_1"]."<br>";
                            //echo "PowerReactive_Q_Phase_2: ".$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_2"]."<br>";
                            //echo "PowerReactive_Q_Phase_3: ".$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_3"]."<br>";
                            //echo "PowerReactive_Q_Sum: ".$json["Body"]["Data"]["0"]["PowerReactive_Q_Sum"]."<br>";
                            //echo "PowerReal_P_Phase_1: ".$json["Body"]["Data"]["0"]["PowerReal_P_Phase_1"]."<br>";
                            //echo "PowerReal_P_Phase_2: ".$json["Body"]["Data"]["0"]["PowerReal_P_Phase_2"]."<br>";
                            //echo "PowerReal_P_Phase_3: ".$json["Body"]["Data"]["0"]["PowerReal_P_Phase_3"]."<br>";
                            //echo "PowerReal_P_Sum: ".$json["Body"]["Data"]["0"]["PowerReal_P_Sum"]."<br>";
                            //echo "Voltage_AC_PhaseToPhase_12: ".$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_12"]."<br>";
                            //echo "Voltage_AC_PhaseToPhase_23: ".$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_23"]."<br>";
                            //echo "Voltage_AC_PhaseToPhase_31: ".$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_31"]."<br>";
                            //echo "Current_AC_Phase_1: ".$json["Body"]["Data"]["0"]["Current_AC_Phase_1"]."<br>";
                            //echo "Current_AC_Phase_2: ".$json["Body"]["Data"]["0"]["Current_AC_Phase_2"]."<br>";
                            //echo "Current_AC_Phase_3: ".$json["Body"]["Data"]["0"]["Current_AC_Phase_3"]."<br>";
                            //echo "Voltage_AC_Phase_1: ".$json["Body"]["Data"]["0"]["Voltage_AC_Phase_1"]."<br>";
                            //echo "Voltage_AC_Phase_2: ".$json["Body"]["Data"]["0"]["Voltage_AC_Phase_2"]."<br>";
                            //echo "Voltage_AC_Phase_3: ".$json["Body"]["Data"]["0"]["Voltage_AC_Phase_3"]."<br>";

                            $EnergyReactive_VArAC_Sum_Consumed=$json["Body"]["Data"]["0"]["EnergyReactive_VArAC_Sum_Consumed"];
                            $EnergyReactive_VArAC_Sum_Produced=$json["Body"]["Data"]["0"]["EnergyReactive_VArAC_Sum_Produced"];
                            $EnergyReal_WAC_Minus_Absolute=$json["Body"]["Data"]["0"]["EnergyReal_WAC_Minus_Absolute"];
                            $EnergyReal_WAC_Plus_Absolute=$json["Body"]["Data"]["0"]["EnergyReal_WAC_Plus_Absolute"];
                            $FroniusTime=$json["Head"]["Timestamp"];
                            $EnergyReal_WAC_Sum_Consumed=$json["Body"]["Data"]["0"]["EnergyReal_WAC_Sum_Consumed"];
                            $EnergyReal_WAC_Sum_Produced=$json["Body"]["Data"]["0"]["EnergyReal_WAC_Sum_Produced"];
                            $Frequency_Phase_Average=$json["Body"]["Data"]["0"]["Frequency_Phase_Average"];
                            $Meter_Location_Current=$json["Body"]["Data"]["0"]["Meter_Location_Current"];
                            $PowerApparent_S_Phase_1=$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_1"];
                            $PowerApparent_S_Phase_2=$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_2"];
                            $PowerApparent_S_Phase_3=$json["Body"]["Data"]["0"]["PowerApparent_S_Phase_3"];
                            $PowerApparent_S_Sum=$json["Body"]["Data"]["0"]["PowerApparent_S_Sum"];
                            $PowerFactor_Phase_1=$json["Body"]["Data"]["0"]["PowerFactor_Phase_1"];
                            $PowerFactor_Phase_2=$json["Body"]["Data"]["0"]["PowerFactor_Phase_2"];
                            $PowerFactor_Phase_3=$json["Body"]["Data"]["0"]["PowerFactor_Phase_3"];
                            $PowerFactor_Sum=$json["Body"]["Data"]["0"]["PowerFactor_Sum"];
                            $PowerReactive_Q_Phase_1=$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_1"];
                            $PowerReactive_Q_Phase_2=$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_2"];
                            $PowerReactive_Q_Phase_3=$json["Body"]["Data"]["0"]["PowerReactive_Q_Phase_3"];
                            $PowerReactive_Q_Sum=$json["Body"]["Data"]["0"]["PowerReactive_Q_Sum"];
                            $PowerReal_P_Phase_1=$json["Body"]["Data"]["0"]["PowerReal_P_Phase_1"];
                            $PowerReal_P_Phase_2=$json["Body"]["Data"]["0"]["PowerReal_P_Phase_2"];
                            $PowerReal_P_Phase_3=$json["Body"]["Data"]["0"]["PowerReal_P_Phase_3"];
                            $PowerReal_P_Sum=$json["Body"]["Data"]["0"]["PowerReal_P_Sum"];
                            $Voltage_AC_PhaseToPhase_12=$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_12"];
                            $Voltage_AC_PhaseToPhase_23=$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_23"];
                            $Voltage_AC_PhaseToPhase_31=$json["Body"]["Data"]["0"]["Voltage_AC_PhaseToPhase_31"];
                            $Current_AC_Phase_1=$json["Body"]["Data"]["0"]["Current_AC_Phase_1"];
                            $Current_AC_Phase_2=$json["Body"]["Data"]["0"]["Current_AC_Phase_2"];
                            $Current_AC_Phase_3=$json["Body"]["Data"]["0"]["Current_AC_Phase_3"];
                            $Voltage_AC_Phase_1=$json["Body"]["Data"]["0"]["Voltage_AC_Phase_1"];
                            $Voltage_AC_Phase_2=$json["Body"]["Data"]["0"]["Voltage_AC_Phase_2"];
                            $Voltage_AC_Phase_3=$json["Body"]["Data"]["0"]["Voltage_AC_Phase_3"];

                            //$EnergyReactive_VArAC_Sum_Consumed=1351;

                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReactive_VArAC_Sum_Consumed: ".$EnergyReactive_VArAC_Sum_Consumed);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReactive_VArAC_Sum_Produced: ".$EnergyReactive_VArAC_Sum_Produced);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReal_WAC_Minus_Absolute: ".$EnergyReal_WAC_Minus_Absolute);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReal_WAC_Plus_Absolute: ".$EnergyReal_WAC_Plus_Absolute);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Times tamp Fronius: ".$FroniusTime);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Times tamp Edomi: ".$EdomiTime);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Error : ".$error);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReal_WAC_Sum_Consumed: ".$EnergyReal_WAC_Sum_Consumed);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Energ yReal_WAC_Sum_Produced: ".$EnergyReal_WAC_Sum_Produced);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Frequ ency_Phase_Average: ".$Frequency_Phase_Average);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Meter _Location_Current: ".$Meter_Location_Current);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Apparent_S_Phase_1: ".$PowerApparent_S_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Apparent_S_Phase_2: ".$PowerApparent_S_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Apparent_S_Phase_3: ".$PowerApparent_S_Phase_3);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Apparent_S_Sum: ".$PowerApparent_S_Sum);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Factor_Phase_1: ".$PowerFactor_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Factor_Phase_2: ".$PowerFactor_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Factor_Phase_3: ".$PowerFactor_Phase_3);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Factor_Sum: ".$PowerFactor_Sum);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Reactive_Q_Phase_1: ".$PowerReactive_Q_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Reactive_Q_Phase_2: ".$PowerReactive_Q_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Reactive_Q_Phase_3: ".$PowerReactive_Q_Phase_3);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Reactive_Q_Sum: ".$PowerReactive_Q_Sum);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Real_P_Phase_1: ".$PowerReal_P_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Real_P_Phase_2: ".$PowerReal_P_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Real_P_Phase_3: ".$PowerReal_P_Phase_3);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Power Real_P_Sum: ".$PowerReal_P_Sum);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_PhaseToPhase_12: ".$Voltage_AC_PhaseToPhase_12);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_PhaseToPhase_23: ".$Voltage_AC_PhaseToPhase_23);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_PhaseToPhase_31: ".$Voltage_AC_PhaseToPhase_31);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Curre nt_AC_Phase_1: ".$Current_AC_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Curre nt_AC_Phase_2: ".$Current_AC_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Curre nt_AC_Phase_3: ".$Current_AC_Phase_3);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_Phase_1: ".$Voltage_AC_Phase_1);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_Phase_2: ".$Voltage_AC_Phase_2);}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","Volta ge_AC_Phase_3: ".$Voltage_AC_Phase_3);}

                            setLogicLinkAusgang($id,1,$EnergyReactive_VArAC_Su m_Consumed); //EnergyReactive_VArAC_Sum_Consumed
                            setLogicLinkAusgang($id,2,$EnergyReactive_VArAC_Su m_Produced); //EnergyReactive_VArAC_Sum_Produced
                            setLogicLinkAusgang($id,3,$EnergyReal_WAC_Minus_Ab solute); //EnergyReal_WAC_Minus_Absolute
                            setLogicLinkAusgang($id,4,$EnergyReal_WAC_Plus_Abs olute); //EnergyReal_WAC_Plus_Absolute
                            setLogicLinkAusgang($id,5,$FroniusTime); //Timestamp Fronius
                            setLogicLinkAusgang($id,6,$EdomiTime); //Timestamp Edomi
                            setLogicLinkAusgang($id,7,$error); //Error = false
                            setLogicLinkAusgang($id,8,$EnergyReal_WAC_Sum_Cons umed); //EnergyReal_WAC_Sum_Consumed
                            setLogicLinkAusgang($id,9,$Frequency_Phase_Average ); //Frequency_Phase_Average
                            setLogicLinkAusgang($id,10,$Meter_Location_Current ); //Meter_Location_Current
                            setLogicLinkAusgang($id,11,$PowerApparent_S_Phase_ 1); //PowerApparent_S_Phase_1
                            setLogicLinkAusgang($id,12,$PowerApparent_S_Phase_ 2); //PowerApparent_S_Phase_2
                            setLogicLinkAusgang($id,13,$PowerApparent_S_Phase_ 3); //PowerApparent_S_Phase_3
                            setLogicLinkAusgang($id,14,$PowerApparent_S_Sum); //PowerApparent_S_Sum
                            setLogicLinkAusgang($id,15,$PowerFactor_Phase_1); //PowerFactor_Phase_1
                            setLogicLinkAusgang($id,16,$PowerFactor_Phase_2); //PowerFactor_Phase_2
                            setLogicLinkAusgang($id,17,$PowerFactor_Phase_3); //PowerFactor_Phase_3
                            setLogicLinkAusgang($id,18,$PowerFactor_Sum); //PowerFactor_Sum
                            setLogicLinkAusgang($id,19,$PowerReactive_Q_Phase_ 1); //PowerReactive_Q_Phase_1
                            setLogicLinkAusgang($id,20,$PowerReactive_Q_Phase_ 2); //PowerReactive_Q_Phase_2
                            setLogicLinkAusgang($id,21,$PowerReactive_Q_Phase_ 3); //PowerReactive_Q_Phase_3
                            setLogicLinkAusgang($id,22,$PowerReactive_Q_Sum); //PowerReactive_Q_Sum
                            setLogicLinkAusgang($id,23,$PowerReal_P_Phase_1); //PowerReal_P_Phase_1
                            setLogicLinkAusgang($id,24,$PowerReal_P_Phase_2); //PowerReal_P_Phase_2
                            setLogicLinkAusgang($id,25,$PowerReal_P_Phase_3); //PowerReal_P_Phase_3
                            setLogicLinkAusgang($id,26,$PowerReal_P_Sum); //PowerReal_P_Sum
                            setLogicLinkAusgang($id,27,$Voltage_AC_PhaseToPhas e_12); //Voltage_AC_PhaseToPhase_12
                            setLogicLinkAusgang($id,28,$Voltage_AC_PhaseToPhas e_23); //Voltage_AC_PhaseToPhase_23
                            setLogicLinkAusgang($id,29,$Voltage_AC_PhaseToPhas e_31); //Voltage_AC_PhaseToPhase_31
                            setLogicLinkAusgang($id,30,$Current_AC_Phase_1); //Current_AC_Phase_1
                            setLogicLinkAusgang($id,31,$Current_AC_Phase_2); //Current_AC_Phase_2
                            setLogicLinkAusgang($id,32,$Current_AC_Phase_3); //Current_AC_Phase_3
                            setLogicLinkAusgang($id,33,$Voltage_AC_Phase_1); //Voltage_AC_Phase_1
                            setLogicLinkAusgang($id,34,$Voltage_AC_Phase_2); //Voltage_AC_Phase_2
                            setLogicLinkAusgang($id,35,$Voltage_AC_Phase_3); //Voltage_AC_Phase_3

                            setLogicElementStatus($id,0);

                            //-------------------------------------------------------------------------------------
                            sql_disconnect();

                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO","*** LBS Fronius Wechselrichter BEENDET ***");}
                            if ($debug==1) {writeToCustomLog("19444442_lbs.log","INFO"," ");}

                            ?>
                            ###[/EXEC]###




                            __________________________________________________ ________________________________________















                            Kommentar


                              #29
                              Zitat von Hannes17 Beitrag anzeigen
                              Ich werde heute mal die neueste FW einspielen und schauen, ob das eine Änderung bewirkt.

                              Danke.
                              Nachdem ich die neueste Firmware eingespielt habe, passen die Werte der API und der App jetzt zusammen.

                              Kommentar


                                #30
                                Hallo Zusammen,

                                ich habe einen Symo und das Fronius Smart Meter... der LBS funktioniert soweit super, Danke hierfür.
                                Da ich die Werte in eine Datenbank wegschreibe würde ich aber auch gerne Stromverbrauch etc. auch ausgeben wenn gerade nichts produziert wird.
                                Sobald der WR schläft schreibt er auch keine Daten mehr in die Datenbank.
                                Gibts hierfür eine Lösung?

                                Danke im Voraus und VG

                                Kommentar

                                Lädt...
                                X