Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19000182 - Fronius Wechselrichter by RD - nur ca. 1 von 5 Anfragen geht durch

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

    #16
    Hast du die Device ID fix als Eingang übergeben? (Wobei ich dachte, wenn der Eingang leer ist, nimmt er einfach die ID 1)
    Abgesehen von deinem ersten Log-Eintrag (wo hinten noch die Abfrage steht), scheinen die nachfolgenden an einer anderen Stelle rauszufliegen. Aber nicht bei jedem Zugriff, sondern unregelmässig. (Ich hatte früher beim alten Timeout = 1 wirklich jede Minute den Fehler im Log, obwohl die Daten sauber reinkamen.)

    Kommentar


      #17
      Ja, ID wird am Eingang fix übergeben. Habe mal ein paar Stunden ohne Fixwert laufen lassen, da kommt aber weiterhin der gleiche Fehler.

      Ich stelle den Timeout nochmal hoch auf 15...

      Kommentar


        #18
        Also mit 15 wird es auch nicht besser. Ich habe selbst mal etwas gedebugged, die Meldung wird immer aus dem gleichen Code-Block geworfen, nämlich aus dem hier (aus dem Bereich "Read Inverter Data"):

        PHP-Code:
        $json json_decode($contenttrue);

        if (
        $json["Head"]["Status"]["Code"]>0) {
        LB_LBSID_tracelog($id,0,$loglevel,"Fehler bei Device ID: ".$json["Head"]["Status"]["Reason"]);
        $error=1;
        logic_setOutput($id,6,$EdomiTime); //Timestamp Edomi
        logic_setOutput($id,7,$error); //Error = true
        setLogicElementStatus($id,0);
        sql_disconnect();
        LB_LBSID_tracelog($id,0,$loglevel,"*** 7 LBS Fronius Wechselrichter by RD ABGEBROCHEN ***");
        LB_LBSID_tracelog($id,0,$loglevel," ");
        exit(); 
        Hilft dir das weiter?

        Kommentar


          #19
          Ich werds mal anschauen. Aber Daten bekommst du trotzdem alle?
          Wenn du die URL dieses Blocks manuell im Browser eingibst, was bekommst du da zurück?

          http://FRONIUS_IP/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId= 1&DataCollection=CumulationInverterData

          Bei mir kommt folgendes zurück:
          Code:
          {
            "Body": {
              "Data": {
                "DAY_ENERGY": {
                  "Unit": "Wh",
                  "Value": 68650
                },
                "DeviceStatus": {
                  "ErrorCode": 0,
                  "LEDColor": 2,
                  "LEDState": 0,
                  "MgmtTimerRemainingTime": -1,
                  "StateToReset": false,
                  "StatusCode": 7
                },
                "PAC": {
                  "Unit": "W",
                  "Value": 753
                },
                "TOTAL_ENERGY": {
                  "Unit": "Wh",
                  "Value": 54803700
                },
                "YEAR_ENERGY": {
                  "Unit": "Wh",
                  "Value": 4152653
                }
              }
            },
            "Head": {
              "RequestArguments": {
                "DataCollection": "CumulationInverterData",
                "DeviceClass": "Inverter",
                "DeviceId": "1",
                "Scope": "Device"
              },
              "Status": {
                [COLOR=#e74c3c]"Code": 0,[/COLOR]
                "Reason": "",
                "UserMessage": ""
              },
              "Timestamp": "2020-05-09T19:34:23+02:00"
            }
          }
          Insbesondere der Head > Status > Code wäre interessant. Die von dir oben zitierte Stelle würde ja error=1 erzeugen, wenn der Code > 0 wäre.


          Kommentar


            #20
            Sowas bekomme ich auch:

            Code:
            {
            
               "Body" : {
            
                  "Data" : {
            
                     "DAY_ENERGY" : {
            
                        "Unit" : "Wh",
            
                        "Value" : 59830
            
                     },
            
                     "DeviceStatus" : {
            
                        "ErrorCode" : 0,
            
                        "LEDColor" : 2,
            
                        "LEDState" : 0,
            
                        "MgmtTimerRemainingTime" : -1,
            
                        "StateToReset" : false,
            
                        "StatusCode" : 7
            
                     },
            
                     "PAC" : {
            
                        "Unit" : "W",
            
                        "Value" : 788
            
                     },
            
                     "TOTAL_ENERGY" : {
            
                        "Unit" : "Wh",
            
                        "Value" : 11726130
            
                     },
            
                     "YEAR_ENERGY" : {
            
                        "Unit" : "Wh",
            
                        "Value" : 3185412.5
            
                     }
            
                  }
            
               },
            
               "Head" : {
            
                  "RequestArguments" : {
            
                     "DataCollection" : "CumulationInverterData",
            
                     "DeviceClass" : "Inverter",
            
                     "DeviceId" : "1",
            
                     "Scope" : "Device"
            
                  },
            
                  "Status" : {
            
                     "Code" : 0,
            
                     "Reason" : "",
            
                     "UserMessage" : ""
            
                  },
            
                  "Timestamp" : "2020-05-09T20:09:33+02:00"
            
               }
            
            }
            Ich habe den LBS mal etwas angepasst, damit er mir auswirft, welchen Fehlercode er dann produziert. Das ist immer Fehlercode 8, was lt. API-Beschreibung "LNRequestTimeout" bedeutet.

            Kann natürlich sein, dass das auch ein persönliches Problem von mir und meinem Wechselrichter ist, wenn das bei anderen so nicht auftritt.

            Kommentar


              #21
              Wenn du trotzdem Daten bekommst, kannst du ja einfach an der Stelle den $error=0 (anstatt 1) setzen. Dann hast du nichts mehr im Log.
              Diese Fehlerabfragen sind ja bei einem Lesezugriff eh nicht so kritisch (und es hat im LBS noch genug andere Fehlerabfragen).

              Zumindest die manuelle Abfrage sieht ja sehr ähnlich mit meiner aus. An dem scheint es nicht zu liegen.

              Ich habe die hier gepostete v1.3a des LBS nur auf einem Testsystem am Laufen (nicht dauernd). Ich werde es morgen mal auf meinem Produktiv-System installieren. Vielleicht bekomme ich den Fehler ja dann auch und ich habe einfach etwas übersehen.

              Du kannst übrigens im Code noch weitere Log-Zeilen einfügen (temporär zum Testen), dann siehst du im Log eher, bis wohin er im Code erfolgreich ist.

              LB_LBSID_tracelog($id,0,$loglevel,"Irgendein Text, den du im Log sehen willst.");

              Kommentar


                #22
                Ich habe mal bei Fronius angefragt, was diese Fehlermeldung überhaupt für einen Hintergrund hat. Im Netz findet man überhaupt nichts dazu. Ich wüsste nicht mal, wofür "LN" steht in diesem Kontext.

                Allerdings scheint mir Fronius nicht wirklich daran interessiert zu sein, Support (für Endkunden) zu leisten. Kein Forum, kein Support-Bereich, keine FAQs. Ich hab's mal über das Standard-Kontaktformular versucht...

                Kommentar


                  #23
                  Hi rdeckard ,

                  kleines Update: Meine Anfrage an Fronius kam zurück mit "bitte wenden Sie sich an den Installateur und der soll sich an uns wenden". Gesagt, getan. Antwort vom Insti war cool: "Könnten Sie das in unserem Namen selbst machen, wir kennen uns mit der API nicht aus...". Also ich in deren Namen nochmal Kontakt aufgenommen.

                  LNTimeoutRequest deutet auf ein Kommunikationsproblem zwischen Datamanager und WR hin, also intern im Gerät. LN steht dabei für LocalNet.

                  Aus der Ferne konnte Fronius aber auch nicht auffälliges erkennen. Sie haben nen Ticket dafür aufgemacht und forschen nach.

                  Sie hätten gerne einen Screenshot der fehlgeschlagenen http-Request-Antwort. Also genau die Antwort, wo der Fehlercode 8 dann im JSON-Text mit auftaucht.

                  Lässt sich das über den Baustein irgendwie realisieren? Wird die gesamte JSON-Antwort irgendwo gepuffert und man kann die irgendwohin wegschreiben genau in dem Fall, wo der Statuscode 8 ist?

                  Kommentar


                    #24
                    Wie oft bekommst du denn diesen Fehlercode 8? D.h. im JSON-Text steht dann code 8 und deshalb bringt meine Abfrage wegen dem >0 ein error? Sind denn in diesem JSON-Text trotz Fehler 8 WR-Energie-Daten drin?
                    Weil sonst könntest du einfach beim >0 Check noch den Code 8 rausfiltern. So hättest du zumindest im Edomi keine Fehler mehr drin und der LBS liefert dir ja trotzdem Daten.
                    Warum dein WR ab und zu Code 8 bringt, ist dann zwar immer noch unbekannt. Aber scheint ja auf die ganze Funktion keinen Einfluss zu haben. (Du hast es ja vorher auch nicht gewusst)

                    Gebuffert wird der JSON-Text nicht. Es ist ja einfach das, was du auch direkt mit der URL abfragen kannst. Das ist das, was der WR halt in diesem Moment zurückliefert. Ich könnte in einem LBS Ausgang noch den Original JSON RAW-Text ausgeben, dann könntest du den irgendwie abspeichern, falls dir das was bringt. Andererseits weisst du halt dann einfach, wann der Fehler 8 aufgetreten ist. Aber das wüsstest du jetzt ja auch schon, weil der LBS einen Fehler ins Error Log schreibt. (Halt dann ohne JSON Text).
                    Oder vielleicht noch einfacher. Ich schreibe einfach den ganzen JSON-RAW Text ins Error Log (nur bei max. Debug-Level). Dann hast du den JSON immer dann, wenn auch Fehler 8 gekommen ist. Was meinst du? (macht zwar das Error Log hässlich, aber wäre ja nur temporär...)

                    Kommentar


                      #25
                      Bei einer Abfrage pro Minute kommt der Fehler im Schnitt ca. alle 90 Minuten. Bei einer 5-Minuten-Abfrage natürlich dementsprechend seltener. Aber grundsätzlich immer unregelmäßig.

                      Ja, der Status-Wert ist dann 8 und ich habe den LBS so angepasst, dass mir nicht nur "error" angezeigt wird im Log, sondern eben auch den Wert selbst. Und das ist immer die 8.

                      Ob dann trotzdem Daten gesendet werden, bei einer Abfrage mit Status 8, kann ich nicht sagen. Die Werte landen auf der Visu und im Archiv. Das kriege ich dann ja nie genau in dieser Sekunde mit. Und ich weiß nicht, ob ich die Archiv-Daten im Nachhinein so granular einsehen kann, um zu sehen, ob genau bei der fehlerhaften Abfrage was geliefert wurde.

                      Das mit dem JSON-RAW Text im Error-Log bei Debug-Level wäre tatsächlich ein guter Weg. Dann würde ich sehen, ob trotzdem Daten enthalten sind oder nicht. Und ich könnte die gesamte JSON-Rückmeldung Fronius zur Verfügung stellen. Wäre cool, wenn du das implementieren könntest. Oder mir einfach sagen, welche Zeilen Code ich wie ändern soll.

                      Tausend Dank,
                      Stefan

                      Kommentar


                        #26
                        jaydee73 Ich hab mal den LBS so angepasst, dass im Debug-Log (nur Level 3) und im Ausgang A19 der JSON-Text angezeigt wird (Bei error und auch ohne).
                        Der JSON-Text wird auf einer einzigen Zeile ausgegeben (keine Zeilenumbrüche).
                        (Deine manuellen Anpassungen in der Version 1.3a müsstest du halt nochmals machen.)
                        Angehängte Dateien

                        Kommentar


                          #27
                          Tausend Dank! Ich befürchte allerdings, die Anpassung ist noch nicht ganz vollständig. Ich bekomme im Log "nur" die Daten (inkl. der RAW-Daten) der Abfrage

                          http://IP/solar_api/v1/GetPowerFlowRealtimeData.fcgi

                          angezeigt.

                          Die Daten der Abfrage

                          http://IP/solar_api/v1/GetInverterRe...onInverterData

                          werden nicht ausgegeben. Kann das sein?

                          Wenn ich mich recht entsinne, kam der Fehler immer bei der Inverter-Abfrage. Bei der PowerFlow-Abfrage hatte ich nie einen Fehler.

                          Magst du da nochmal schauen?

                          Gruß,
                          Stefan

                          Kommentar


                            #28
                            Update: Ich habe doch Code-8-Fehler im Log. Die schaue ich mir heute mal an. Brauchst also erstmal nicht weiter aktiv werden.

                            Kommentar


                              #29
                              Guten Morgen zusammen,

                              Ich wollte meine beiden Fronius Symo in Edomi einbinden leider klappt das nicht

                              Code:
                               [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
                               	 		[TR]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:17[/TD]
                               			[TD]077280[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD GESTARTET ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:17[/TD]
                               			[TD]077388[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]Version: 1.2[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:18[/TD]
                               			[TD]138772[/TD]
                               			[TD]3302[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]Fronius Wechselrichter nicht erreichbar![/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:18[/TD]
                               			[TD]140218[/TD]
                               			[TD]3302[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD ABGEBROCHEN ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:18[/TD]
                               			[TD]140290[/TD]
                               			[TD]3302[/TD]
                               			[TD]ERROR[/TD]
                               			[TD] [/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:22[/TD]
                               			[TD]127867[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD GESTARTET ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:22[/TD]
                               			[TD]127978[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]Version: 1.2[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:23[/TD]
                               			[TD]187848[/TD]
                               			[TD]3310[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]Fronius Wechselrichter nicht erreichbar![/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:23[/TD]
                               			[TD]189553[/TD]
                               			[TD]3310[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD ABGEBROCHEN ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:23[/TD]
                               			[TD]189632[/TD]
                               			[TD]3310[/TD]
                               			[TD]ERROR[/TD]
                               			[TD] [/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:27[/TD]
                               			[TD]178050[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD GESTARTET ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:27[/TD]
                               			[TD]178160[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]Version: 1.2[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:28[/TD]
                               			[TD]239221[/TD]
                               			[TD]3320[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]Fronius Wechselrichter nicht erreichbar![/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:28[/TD]
                               			[TD]240746[/TD]
                               			[TD]3320[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD ABGEBROCHEN ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:28[/TD]
                               			[TD]240824[/TD]
                               			[TD]3320[/TD]
                               			[TD]ERROR[/TD]
                               			[TD] [/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:32[/TD]
                               			[TD]227706[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD GESTARTET ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:32[/TD]
                               			[TD]227854[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]Version: 1.2[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:33[/TD]
                               			[TD]287166[/TD]
                               			[TD]3330[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]Fronius Wechselrichter nicht erreichbar![/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:33[/TD]
                               			[TD]288606[/TD]
                               			[TD]3330[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD ABGEBROCHEN ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:33[/TD]
                               			[TD]288683[/TD]
                               			[TD]3330[/TD]
                               			[TD]ERROR[/TD]
                               			[TD] [/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:37[/TD]
                               			[TD]285021[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD GESTARTET ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:37[/TD]
                               			[TD]285125[/TD]
                               			[TD]2452[/TD]
                               			[TD]INFO[/TD]
                               			[TD]Version: 1.2[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:38[/TD]
                               			[TD]346020[/TD]
                               			[TD]3337[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]Fronius Wechselrichter nicht erreichbar![/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:38[/TD]
                               			[TD]347527[/TD]
                               			[TD]3337[/TD]
                               			[TD]ERROR[/TD]
                               			[TD]*** LBS Fronius Wechselrichter by RD ABGEBROCHEN ***[/TD]
                               		[/TR]
                               		[TR]
                               			[TD]2020-06-01 06:43:38[/TD]
                               			[TD]347604[/TD]
                               			[TD]3337[/TD]
                               			[TD]ERROR
                              			 [/TD]
                               		[/TR]
                               	 [/TABLE]
                              Wechselrichter ist jedoch erreichbar per EDOMI Rechner(Docker Container)
                              Gruss Oliver

                              Projektleiter Technische Gebäudeausrüstung

                              Kommentar


                                #30
                                Dieser Fehler heisst nicht immer, dass der WR nicht erreichbar gewesen ist.
                                Probier mal diese etwas neuere Testversion.

                                Bekommst du denn Daten auf den Ausgängen? (Trotz Fehler im Log)
                                Und wenn du die URL manuell im Browser eingibst, funktioniert alles? (URL steht glaub in der LBS-Hilfe)

                                Da du von 2 WR sprichst, weiss ich nicht, wie sich der LBS da verhält, da ich nur einen WR habe. Über die Device ID sollte man aber fix den jeweiligen WR auswählen können. (Standardmässig nimmt er die ID 1, also zumindest den ersten WR sollte er immer auslesen)
                                Zuletzt geändert von rdeckard; 01.06.2020, 10:40.

                                Kommentar

                                Lädt...
                                X