NEWS
Parser Werte lesen blockiert Datenlogger [gelöst]
-
Hallo zusammen.
Nach langer Zeit habe ich mal wieder versucht das Auslesen meines Datenloggers STL200 von Solarworld für die Photovoltaik zu realisieren. Ziel ist es die aktuelle erzeugte Arbeit auszulesen.
Erst habe ich das mit javascript und regex versucht. Da bin ich aber daran gescheitert das ich mit Regex den ersten Wert lesen kann aber kein zweites Ergebnis erfassen konnte (benötige 2 werte aus dem Logger um diese dann zu addieren.)
Also habe ich den Parser Adapter installiert.
Parser Adapter 1.1.4 auf iobroker mit Admin 5.3.4 auf nem Pi4 und java Adapter 5.4.4Die abzufragende Seite im lokalem Netz ist http://xxx.xxx.xxx.11/days.js
Im Browser kommt dann
da[dx++]="18.04.22|3731;2288|6142;3620"
Im Parser sieht das dann so aus
und die zweite Regel dann einfach Num 1
Solange die Anlage produziert funktioniert auch alles.
Wenn die Anlage vom Netz geht kommen ja keine DAten mehr.
irgend wann in der Nacht scheint es dann aber zu einem blockieren zu kommen.meine Vermutung ist das um 2:00 der Backitup Adapter ein iobroker backup durchführt. Da der Parser alle stunde fragen soll kommt dann um 4:02 noch mal ein Wert . Hier schon mal die Frage warum 4.02 ein Parser Wert?
Erst als ich dann heute gegen 8:30 am iobroker gearbeitet habe, klemmt auch vis. Der STL200 war nciht erreichbar.
Als der STL200 hart gestartet wurde kamen die Werte in den Objekten wieder und auch VIS lief wieder.Am liebsten würde ich das mit dem Regex hinbekommen um den 2. Wert abzufragen. Dann ich ich mein Javascript benutzen und die abfrage and den Logger nur bei Betrieb steuern. Der Parser läuft ja rund um die Uhr.
Oder kann mir jemand das Problem mit dem Parser erklären oder lösen.
In den Log File habe ich nichtgefunden.
Habe heut die Logstufe für den Parser, Backitup und Admin auf alles gestellt und ein paar kleine Änderungen gemacht. Muß jetzt wieder die Nacht abwarten.Hier noch mein regex für das script um den ersten wert zu lesen :
/(\|)((\d?\d+);)/m;
Wo genau der Klemmer der Blockade jetzt liegt habe ich auch noch nicht verstanden.
-
@sonnenschein
Aktueller Stand:In der Nacht macht der Datenlogger wohl ein Update. Während dieser Zeit ist die Seite natürlich nicht erreichbar. Ein normaler Reset über die cron Funtkion der Parser Instanz bringt nichts, da der Datenlogger nicht mehr erreichbar ist.
Jetzt habe ich per Javascript die Parser Instanz abhängig vom Sonnenauf / Sonnenuntergang gestartet / gestopt.
Ich beobachte das mal ob das die finale Lösung ist./*Mit diesem Script soll die Instanz des Parser Adapter mit Sonnenaufgang gestartet und mit Sonnenuntergang gestoppt werden shift zieht den Schaltpunkt vor bzw nach Version 0.0.1 Stand 25.04.2022 */ schedule({astro: 'sunrise', shift: +30}, Parser_starten_bei_Sonnenaufgang ); // 30Minuten nach Sonnenaufgang function Parser_starten_bei_Sonnenaufgang(){ setState("system.adapter.parser.0.alive", true); }; schedule({astro: "sunset", shift: -10}, Parser_stoppen_beim_Sonnenuntergang );//10 Minuten vor Sonnenuntergang function Parser_stoppen_beim_Sonnenuntergang() { setState("system.adapter.parser.0.alive", false); };