Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Homoran last edited by OliverIO

      @Homoran
      da könnte ich dir schon helfen.
      wir machen das Schritt für Schritt
      wir können ins skript auch erst mal testdaten reinschießen, damit ein Ergebnis kommt.

      Damit du siehst, das da die Daten auch kommen kannst du das mal in einem Browser in den developer Tools in die Konsole kopieren:
      Ich hab dir die Werte aus dem array schon mal eingesetzt.
      als Ergebnis müssten genau die Werte aus deinem Screenshot rauskommen.
      Die Uhrzeit habe allerdings nicht reingepackt

      (63 << 0) + (16 << 8)
      

      und

      ("0000"+((2 << 0) + (0 << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h'
      
      Homoran 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @OliverIO last edited by Homoran

        @OliverIO sagte in Parser:

        wir machen das Schritt für Schritt

        Das klingt gut!

        @OliverIO sagte in Parser:

        das mal in einem Browser in den developer Tools in die Konsole kopieren:

        Ich wusste gar nicht, dass das auch so rum geht o.o

        Wenn ich das richtig verstanden habe muss ich jetzt hier
        Piko_history.png
        am Prompt etwas reinkopieren und dann....?

        EDIT:
        COOOOOOL
        Piko_Browser_console_001.png

        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @Homoran last edited by

          @Homoran ja genau, jeweils eine Zeile und dann return drücken

          so sieht das bei mir im chrome aus

          93887033-d15e-4f65-a5b1-407ae8f8c008-image.png

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @OliverIO last edited by

            @OliverIO sagte in Parser:

            @Homoran ja genau, jeweils eine Zeile und dann return drücken

            so sieht das bei mir im chrome aus

            93887033-d15e-4f65-a5b1-407ae8f8c008-image.png

            bei mir auch!
            siehe edit

            OliverIO 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @OliverIO last edited by

              @OliverIO sagte in Parser:

              ("0000"+((2 << 0) + (0 << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h'

              ergibt 0002h, also den Hex-Wert des Errorcodes

              1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Homoran last edited by OliverIO

                @Homoran
                Als nächstes sollten wir mal den Datenabruf nochmal testen.
                Öffne nochmal die Seite genau wie oben beschrieben.

                Dann suchst du genau den Datenabruf mit den oben genannten Codes

                Dann machst du einmal rechte Maustaste im Network Reiter der Devtools
                und rufst das in einem neuen Tab auf. Evtl siehst du nur eine leere Seite

                Wenn das funktioniert, dann nochmal wiederholen, aber vorher explizit von deiner Platform abmelden.
                Verwendest du da ein UserID/Passwort um dich auf der Oberfläche anzumelden?

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @OliverIO last edited by

                  @OliverIO sagte in Parser:

                  Öffne nochmal die Seite genau wie oben beschrieben.

                  meinst du die mit den ganzen dxsEntries?

                  OliverIO 1 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Homoran last edited by

                    @Homoran
                    Nein nur den einen Abruf,
                    der das Ergebnis hatte, was du im Post#29 gesendet hast

                    https://forum.iobroker.net/topic/30628/parser/29

                    Homoran 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO last edited by

                      1afd5f05-ac07-4a72-8298-24eea03506b9-image.png

                      in deinem screenshot oben sehe ich davon mehrere zeilen.
                      wenn der fehlercode in der oberfläche nach angezeigt wird, dann sind dieses aufrufe auch noch da

                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @OliverIO last edited by Homoran

                        @OliverIO sagte in Parser:

                        Nein nur den einen Abruf,
                        der das Ergebnis hatte, was du im Post#29 gesendet hast

                        oops,
                        da hatten sich unsere Posts (meiner und dein Edit) überschnitten.
                        ich hatte den Inhalt, als ich auf einen Eintrag im Networkprotokoll geklickt hatte.

                        Der Eintrag hieß:

                        http://192.168.138.103/api/dxs.json?dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546&sessionId=3341479126
                        

                        das Ergebnis:

                        {"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
                        

                        @OliverIO sagte in Parser:

                        Verwendest du da ein UserID/Passwort um dich auf der Oberfläche anzumelden?

                        Ja

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @Homoran last edited by OliverIO

                          @Homoran sagte in Parser:

                          http://192.168.138.103/api/dxs.json?dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546&sessionId=3341479126

                          genau das kopieren
                          dann ein neuen tab öffen
                          die dev tools öffnen (F12)
                          dann das in die adresszeile des browsers eintragen
                          dann schauen, ob im networkreiter der dev tools ein fehler auftaucht

                          dann genau das selbe am besten im inkognito modus des browser wiederholen
                          mich interessiert, ob dann ein fehler kommt und ob wir uns um authentifizierung (anmelden) kümmern müssen.

                          Homoran 1 Reply Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @OliverIO last edited by

                            @OliverIO
                            I'll try my very best 😉

                            Nochmals den Link geöffnet. Network:
                            Fehler_nein.png

                            dann im Incognito:
                            incognito.png

                            In dem Reiter Console vom Incognito:
                            Console_Incognito.png

                            Hinweis auf die Credentials kam ja schon hier:
                            Piko_history.png

                            scheint sich aber nur auf die WebUI zu beziehen

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @Homoran last edited by

                              @Homoran
                              Sieht super aus, für Json benötigen wir kein Passwort,
                              Die Daten kommen auch so.

                              Für heut machen wir Schluss, ich Bau dir morgen einen rudimentären skriptrahmen, der die Daten abruft und als debug ausgibt.
                              Und dann sind wir schon recht schnell bei der Ausgabe als datenpunkt.

                              Du musst mir mal noch erklären was die beiden Zahlen bedeuten.
                              Eins ist der Fehler Code, aber was ist die 2. Zahl die hier 2 heißt?

                              Weil du willst die Zahlen ja in irgendeinen Text umwandeln.
                              Du hast da ein Verzeichnis?

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @OliverIO last edited by Homoran

                                @OliverIO sagte in Parser:

                                Für heut machen wir Schluss, ich Bau dir morgen einen rudimentären skriptrahmen, der die Daten abruft und als debug ausgibt.
                                Und dann sind wir schon recht schnell bei der Ausgabe als datenpunkt.

                                Klingt gut,
                                Ab morgen muss ich aber für ein paar Tage auf Dienstreise. Mal sehen ob ich heute abend noch Zeit finde.

                                @OliverIO sagte in Parser:

                                was ist die 2. Zahl die hier 2 heißt?

                                meinst du die 00002h ??
                                ich nahm an, dass das auch ein Fehlercode in Hex sei

                                @OliverIO sagte in Parser:

                                Du hast da ein Verzeichnis?

                                Ja, leider nur als Scan vom Solarteur, müsste also alle Zahlen und Beschreibungen abtippen.
                                Ich werde das genau so machen wie bei den Betriebsstatusmeldungen (https://www.loxwiki.eu/pages/viewpage.action?pageId=28803569) und sukzessive das Übersetzungsskript erweitern.
                                Die verlinkte Seite kannte ich damals nicht - 7 ist übrigens Isolationsmessung 😉 )

                                EDIT: vielleicht ist das aber auch die Dauer?? Aber das ging etwa von 09:00 bis 13:00

                                OliverIO 2 Replies Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @Homoran last edited by

                                  @Homoran

                                  Musst nicht tippen, konnte die Tabelle aus dem PDF extrahieren

                                  3000	Störung Updateprozess	Interne Systemstörung	Update des Wechselrichters durchführen. 
                                  3003	Interne Kommunikationsstörung	Interne Kommunikationsstörung	zwischen Netzüberwachung und Steuerung Internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten kontrollieren1 
                                  3006	Interne Systemstörung 	Interne Systemstörung bzgl. Leistungsabregelung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf. Support1 
                                  3010	Interne Kommunikationsstörung	Interne Kommunikationsstörung	zwischen Steuerung und Kommunkationsplatine Kontrollieren Sie die Uhrzeiteinstellung, Funktionalität der Kommunikationsplatine und weiterer Kommunikationseinstellungen. Wechselrichter schaltet trotz fehlerhaftem Zeitstempel auf1 
                                  3011	Interne Temperaturstörung	Interne Systemstörung	Support1 
                                  3012	Störung Varistor	DC-Varistor defekt	Defekten Varistor tauschen1 
                                  3013	Interne Temperaturstörung	Übertemperatur AC/DC an Leistungsstufe	Installationsbedingungen und Lüfter kontrollieren1 
                                  3014	Interne Temperaturstörung	Übertemperatur Prozessor	Installationsbedingungen und Lüfter kontrollieren1 
                                  3017	Externe Generatorstörung	Überspannung am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3018	Information	Leistungsabregelung durch externe Vorgaben (Netzbetreiber)	Keine Maßnahme Notwendig. 
                                  3019	Externe Netzstörung	Leistungsabregelung aufgrund eines Netzfehlers (erhöhte Netzfrequenz)	Support1 
                                  3020	Externe Generatorstörung	Überstrom am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3021	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3022	Externe Generatorstörung	Überspannung am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3023	Externe Generatorstörung	Überstrom am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3024	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3025	Externe Generatorstörung	Überspannung am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3026	Externe Generatorstörung	Überstrom am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3027	Interne Temperaturstörung	Interne Systemstörung	Support1
                                  3028	Externe Generatorstörung	Überspannung am PV-Generator	Generatorinstallation/ -auslegung kontrollieren 
                                  3029	Externe Generatorstörung	Überstrom am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3030	Interne Temperaturstörung	Übertemperatur AC/DC an Leistungsstufe	Installationsbedingungen und Lüfter kontrollieren1 
                                  3031	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach Prüfung durch und schaltet generell auf1 
                                  3032	Externe Generatorstörung	Überstrom am PV-Generator	Generatorinstallation/ -auslegung kontrollieren1 
                                  3033	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3034	Interne Systemstörung 	Interner Zwischenkreisfehler	Das Gerät neu starten1 
                                  3035	Interne Systemstörung 	Interner Zwischenkreisfehler	Das Gerät neu starten1 
                                  3036	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  3037	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  3038	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  3039	Interne Parametrierungsstörung	Interne Systemstörung	Support kontaktieren 
                                  3045	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach Prüfung durch und schaltet generell auf1 
                                  3046	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach Prüfung durch und schaltet generell auf.1 
                                  3047	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3048	Interne Kommunikationsstörung	Interner Kommunikationsfehler	Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten1 
                                  3049	Interne Kommunikationsstörung	Interner Kommunikationsfehler	Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten1 
                                  3050	Interne Kommunikationsstörung	Interner Kommunikationsfehler	Kontrollieren Sie die internen Kommunikationsleitungen zwischen den einzelnen Leiterplatten1 
                                  3051	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3052	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3053	Interne Systemstörung 	Interne Systemstörung	Support1
                                  3054	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  3055	Interne Systemstörung 	Interne Systemstörung	Das Gerät neu starten1 
                                  3056	Interne Parametrierungsstörung	Interne Systemstörung	Support kontaktieren 
                                  3057	Interne Systemstörung 	Interne Systemstörung	Generatorinstallation/ -auslegung kontrollieren1 
                                  3059	Interne Parametrierungsstörung	Falsche Parametrierung	Ggf. falsche Ländereinstellung. Support kontaktieren 
                                  3060	Interne Parametrierungsstörung	Falsche Parametrierung	Support kontaktieren 
                                  3061	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3062	Interne Temperaturstörung	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3063	Interne Parametrierungsstörung	Interne Systemstörung	Support kontaktieren 
                                  3064	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3065	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3066	Interne Parametrierungsstörung	Interne Systemstörung	Support kontaktieren 
                                  3068	Interne Systemstörung 	Interne Systemstörung	Das Gerät neu starten1 
                                  3070	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3071	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3072	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3073	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3074	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3075	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3076	Interne Systemstörung 	Interne AC-Systemstörung	Die AC-Spannung ist gegebenenfalls zu niedrig. 
                                  3079	Interne Systemstörung 	Interne Systemstörung	Das Gerät neu starten1 
                                  3080	Interne Systemstörung 	Interne Systemstörung	Das Gerät neu starten1
                                  3082	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  3083	Information	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3084	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  3085	Interne Temperaturstörung	Übertemperatur Prozessor	Installationsbedingungen und Lüfter kontrollieren1 
                                  3086	Information	Leistungsabregelung aufgrund eines Netzfehlers (erhöhte AC-Spannung)	Support1 
                                  3087	Interne Systemstörung 	Interner Systemfehler	Support kontaktieren 
                                  3088	Interne Systemstörung 	Lüftereinheit verschmutzt	Lüftereinheit reinigen 
                                  3089	Interne Systemstörung 	Lüftereinheit verschmutzt	Lüftereinheit reinigen 
                                  3090	Interne Systemstörung 	Interner Systemfehler	Support kontaktieren 
                                  3091	Interne Systemstörung 	Lüfter nicht korrekt angeschlossen	Lüfter-Steckverbindungen prüfen 
                                  3092	Interne Systemstörung 	Lüfter nicht korrekt angeschlossen	Lüfter-Steckverbindungen prüfen 
                                  3093	Interne Parametrierungsstörung	Falsche Parametrierung	Support kontaktieren 
                                  3094	Interne Parametrierungsstörung	Falsche Parametrierung	Support kontaktieren 
                                  3095	Interne Parametrierungsstörung	Falsche Kalibrierung	Support kontaktieren 
                                  3096	Information	Falsche Dimensionierung der PV-Generator	Generatorinstallation/ -auslegung kontrollieren 
                                  3097	Interne Parametrierungsstörung	Falsche Parametrierung	Support kontaktieren 
                                  3098	Information	Netz nicht vorhanden	Keine Maßnahme notwendig1 
                                  3101	Information	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3102	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3103	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1 
                                  3104	Interne Systemstörung 	Interne AC-Systemstörung	Gerät führt mehrfach eine Prüfung durch und schaltet generell auf1 
                                  3105	Interne Systemstörung 	Interne Systemstörung	Keine Maßnahme notwendig1
                                  3106	Information	Falsche Eingabe am KomBoard oder falsche Verdrahtung	Eingabe oder Verdrahtung korriegieren1 
                                  4100	Interne Systemstörung 	Interner Softwarefehler	Support1 
                                  4101	Interne Systemstörung 	Erhöhter DC-Strom L1	Support1 
                                  4102	Interne Systemstörung 	Erhöhter DC-Strom L2	Support1 
                                  4103	Interne Systemstörung 	Erhöhter DC-Strom L3	Support1 
                                  4104	Interne Systemstörung 	Erhöhter DC-Strom L1	Support1 
                                  4105	Interne Systemstörung 	Erhöhter DC-Strom L2	Support1 
                                  4106	Interne Systemstörung 	Erhöhter DC-Strom L3	Support1 
                                  4110	Interne Systemstörung 	Interner Softwarefehler	Support1 
                                  4121	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4122	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4130	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4131	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4150	Information	Erhöhte Netzfrequenz. Oft gehäuftes Auftreten am Morgen und am Abend.	Installation kontrollieren1 
                                  4151	Externe Netzstörung	Zu niedrige Netzfrequenz	Installation kontrollieren1 
                                  4157	Externe Netzstörung	Erhöhte Netzfrequenz	Keine Maßnahme notwendig1 
                                  4158	Externe Netzstörung	Erhöhte Netzfrequenz	Installation kontrollieren1 
                                  4159	Externe Netzstörung	Erhöhte Netzfrequenz	Installation kontrollieren1 
                                  4160	Externe Netzstörung	Erhöhte Netzfrequenz	Installation kontrollieren1 
                                  4161	Externe Netzstörung	Zu niedrige Netzfrequenz	Installation kontrollieren1 
                                  4170	Information	Eine Phase ist nicht angeschlossen. Ein Sicherungsautomat wurde nicht eingeschaltet.	Installation kontrollieren1 
                                  4180	Externe Netzstörung	PE-Leitung nicht angeschlossen	Installation kontrollieren1
                                  4181	Externe Netzstörung	PE-Leitung nicht angeschlossen	Installation kontrollieren1 
                                  4185	Interne Systemstörung 	Interner Softwarefehler	Support1 
                                  4200	Externe Netzstörung	Erhöhte Netzspannung	Installation kontrollieren1 
                                  4201	Externe Netzstörung	Zu niedrige Netzspannung	Installation kontrollieren1 
                                  4210	Externe Netzstörung	Erhöhte Netzspannung	Installation kontrollieren1 
                                  4211	Externe Netzstörung	Zu niedrige Netzspannung	Installation kontrollieren1 
                                  4220	Externe Netzstörung	Spannungsmittelwert der letzten 10 Min. zu groß	Installation kontrollieren1 
                                  4221	Externe Netzstörung	Spannungsmittelwert der letzten 10 Min. zu groß	Installation kontrollieren1 
                                  4290	Externe Netzstörung	Die Netzfrequenz hat sich zu schnell verändert.	Generatorinstallation kontrollieren1 
                                  4300	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4301	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4302	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4303	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4304	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4321	Interne Parametrierungsstörung	Defektes EEPROM, unerlaubte Speicherzugriffe	Support1 
                                  4322	Interne Parametrierungsstörung	Softwarefehler	Support kontaktieren 
                                  4323	Interne Parametrierungsstörung	Fehlerstrom	Support1 
                                  4324	Interne Parametrierungsstörung	Parameterfehler	Support1 
                                  4325	Interne Parametrierungsstörung	Parameterfehler	Support1 
                                  4340	-		
                                  4354	Externer Fehlerstrom	Fehlerstrom	Generatorinstallation kontrollieren1 
                                  4360	-		
                                  4421	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4422	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren. 
                                  4424	Interne Systemstörung 	Interne Systemstörung	Support1
                                  4425	Interne Parametrierungsstörung	Parameterfehler	Support1 
                                  4450	Externe Isolationsfehler	Isolationsfehler	Generatorinstallation kontrollieren1 
                                  4451	Interne Systemstörung 	Interne Systemstörung	Support kontaktieren 
                                  4475	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4476	Information	Schwache PV-Versorgung (z.B. morgens)	Keine Maßnahme notwendig1 
                                  4800	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4801	Interne Systemstörung 	Isolationsfehler	Support1 
                                  4802	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4803	Interne Systemstörung 	Isolationsfehler	Support1 
                                  4804	Interne Systemstörung 	Isolationsfehler	Support1 
                                  4805	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4810	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  4850	Interne Systemstörung 	EVU	Support1 
                                  4870	-		
                                  7500	Interne Systemstörung 	Interne Systemstörung	Support1 
                                  7503	Information	Interne Systemstörung	Keine Maßnahme notwendig1
                                  
                                  Homoran 1 Reply Last reply Reply Quote 1
                                  • OliverIO
                                    OliverIO @Homoran last edited by

                                    @Homoran
                                    die Dauer ist es nicht. Die Variable nennt sich oben env. Was eher auf environment=Umgebung schließt

                                    1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @OliverIO last edited by

                                      @OliverIO sagte in Parser:

                                      Musst nicht tippen, konnte die Tabelle aus dem PDF extrahieren

                                      Super - Danke!

                                      Da ist sie:
                                      @OliverIO sagte in Parser:

                                      4157 Externe Netzstörung Erhöhte Netzfrequenz Keine Maßnahme notwendig1

                                      @OliverIO sagte in Parser:

                                      Die Variable nennt sich oben env. Was eher auf environment=Umgebung schließt

                                      klingt logisch - aber was bedeutet sie?
                                      Da braucht es big data um den Zusammenhang zu erkennen

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Homoran last edited by

                                        @Homoran

                                        so jetzt kannst mal probieren:

                                        Neues Skript anlegen,
                                        den folgenden Block reinkopieren
                                        und am Anfang bei der variable domain
                                        die IP-Adresse deiner Anlage eintragen (bei dir müsste das 192.168.138.103 sein.

                                        Dann skript starten. Wenn der Fehlercode bei dir in der html-oberfläche noch angezeigt wird,
                                        dann müsste da em ende der protokollausgabe in der Skript engine so etwas wie folgt rauskommen

                                        message01: 28 Feb 2020 10:13:51 4159 0002h
                                        
                                        var domain = '192.168.1.20'; // domain or ip without http:// or https:// 
                                        var url = '/api/dxs.json';
                                        
                                        function getEvents() {
                                            log('getEvents');
                                            var keys = [];
                                            var key1 = 234881792;
                                            var key2 = 234881537;  
                                            keys.push(key1);
                                            for (var i=0;i<10;i++) {
                                                keys.push(key2+i);
                                            }
                                        
                                            pikorequest(keys, function(response){
                                                log('events: '+ JSON.stringify(response));
                                                var item,len
                                                item = getResponseId(response,234881792);
                                                len = item.value;
                                                for (var i=0;i<len;i++) {
                                                    item = getResponseId(response,234881537+i);
                                                    var d,date,code,env;
                                                    d = item.value;
                                                    date = timeConverter((d[0] << 0) + (d[1] << 8) + (d[2] << 16) + (d[3] << 24));
                                                    code = (d[4] << 0) + (d[5] << 8);
                                                    env = ("0000"+((d[6] << 0) + (d[7] << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h';
                                                    log('message' + i+1 + ': ' + date + ' '  + code + ' '  + env + ' ');
                                                }
                                            });
                                        }
                                        
                                        function pikorequest(keys,callback) {
                                            log('pikorequest');
                                            if (keys.length==0) {
                                                log('request error: No keys ');
                                                return;     
                                            }
                                        
                                            var query = '';
                                        
                                            for (var i = 0; i < keys.length; i++) { 
                                                query += '&dxsEntries=' + keys[i];
                                            }
                                        
                                            var req_url = 'http://' + domain + url + '?sessionid=iobroker' + query;
                                            log ('query: '+req_url);
                                        
                                            request(
                                                { method: 'GET',
                                                uri: req_url,
                                                }
                                            , function (error, response, body) {
                                                        log('error: ' + error);
                                                        log('Status: '+ response.statusCode);
                                                        log('response: '+ JSON.stringify(response));
                                                        //response = {"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
                                                        //response.statusCode = 200;
                                        
                                                    if (!error && response.statusCode == 200) {
                                                        //log('Status: '+ response.statusCode);
                                                        //log('response: '+ JSON.stringify(response));
                                                        callback(response);
                                                    } else {
                                                        //log('Status: '+ response.statusCode);
                                                        //log('error: ' + error);
                                                    }
                                                }
                                            );
                                        }
                                        function getResponseId(response,id) {
                                            return response.dxsEntries.find( item => item.dxsId === id );
                                        }
                                        function timeConverter(UNIX_timestamp){
                                          var a = new Date(UNIX_timestamp * 1000);
                                          var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
                                          var year = a.getFullYear();
                                          var month = months[a.getMonth()];
                                          var date = a.getDate();
                                          var hour = a.getHours();
                                          var min = a.getMinutes();
                                          var sec = a.getSeconds();
                                          var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
                                          return time;
                                        }
                                        getEvents();
                                        
                                        
                                        Homoran 1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @OliverIO last edited by Homoran

                                          @OliverIO sagte in Parser:

                                          dann müsste da em ende der protokollausgabe in der Skript engine so etwas wie folgt rauskommen

                                          sorry nein:

                                          18:07:44.048	info	javascript.0 (27541) Stop script script.js.Helios_ErrorTest
                                          18:07:44.152	info	javascript.0 (27541) Start javascript script.js.Helios_ErrorTest
                                          18:07:44.158	info	javascript.0 (27541) script.js.Helios_ErrorTest: getEvents
                                          18:07:44.159	info	javascript.0 (27541) script.js.Helios_ErrorTest: pikorequest
                                          18:07:44.159	info	javascript.0 (27541) script.js.Helios_ErrorTest: query: http://192.168.138.103/api/dxs.json?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546
                                          18:07:44.161	info	javascript.0 (27541) script.js.Helios_ErrorTest: registered 0 subscriptions and 0 schedules
                                          18:07:44.189	info	javascript.0 (27541) script.js.Helios_ErrorTest: error: null
                                          18:07:44.190	info	javascript.0 (27541) script.js.Helios_ErrorTest: Status: 200
                                          18:07:44.190	info	javascript.0 (27541) script.js.Helios_ErrorTest: response: {"statusCode":200,"body":"{\"dxsEntries\":[{\"dxsId\":234881792,\"value\":1},{\"dxsId\":234881537,\"value\":[207,217,88,94,63,16,2,0]},{\"dxsId\":234881538,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881539,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881540,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881541,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881542,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881543,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881544,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881545,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881546,\"value\":[0,0,0,0,0,0,0,0]}],\"session\":{\"sessionId\":0,\"roleId\":0},\"status\":{\"code\":0}}","headers":{"content-type":"text/plain","expires":"Sun, 02 Jan 2000 11:11:11 GMT"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.138.103","port":80,"hostname":"192.168.138.103","hash":null,"search":"?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","query":"sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","pathname":"/api/dxs.json","path":"/api/dxs.json?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","href":"http://192.168.138.103/api/dxs.json?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546"},"method":"GET","headers":{}}}
                                          18:07:44.191	info	javascript.0 (27541) script.js.Helios_ErrorTest: events: {"statusCode":200,"body":"{\"dxsEntries\":[{\"dxsId\":234881792,\"value\":1},{\"dxsId\":234881537,\"value\":[207,217,88,94,63,16,2,0]},{\"dxsId\":234881538,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881539,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881540,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881541,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881542,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881543,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881544,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881545,\"value\":[0,0,0,0,0,0,0,0]},{\"dxsId\":234881546,\"value\":[0,0,0,0,0,0,0,0]}],\"session\":{\"sessionId\":0,\"roleId\":0},\"status\":{\"code\":0}}","headers":{"content-type":"text/plain","expires":"Sun, 02 Jan 2000 11:11:11 GMT"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.138.103","port":80,"hostname":"192.168.138.103","hash":null,"search":"?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","query":"sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","pathname":"/api/dxs.json","path":"/api/dxs.json?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546","href":"http://192.168.138.103/api/dxs.json?sessionid=iobroker&dxsEntries=234881792&dxsEntries=234881537&dxsEntries=234881538&dxsEntries=234881539&dxsEntries=234881540&dxsEntries=234881541&dxsEntries=234881542&dxsEntries=234881543&dxsEntries=234881544&dxsEntries=234881545&dxsEntries=234881546"},"method":"GET","headers":{}}}
                                          18:07:44.192	error	javascript.0 (27541) script.js.Helios_ErrorTest: TypeError: Cannot read property 'find' of undefined
                                          18:07:44.193	error	javascript.0 (27541) at getResponseId (script.js.Helios_ErrorTest:70:32)
                                          18:07:44.193	error	javascript.0 (27541) at script.js.Helios_ErrorTest:17:16
                                          18:07:44.193	error	javascript.0 (27541) at Request._callback (script.js.Helios_ErrorTest:61:17)
                                          

                                          Das ganze kam mir nicht ganz unbekannt vor.
                                          Das Skript mit dem ich die aktuellen Werte auslese sieht so aus:

                                          // Ausleseskript Wechselrichter Kostal Piko ab Firmware v05.31 (12.10.2015)
                                          
                                          //Variable
                                          
                                          //Leistungswerte
                                             ID_DCEingangGesamt = 33556736;         // in W
                                             ID_Ausgangsleistung = 67109120;        // in W
                                             ID_Eigenverbrauch = 83888128;          // in W
                                             //Status
                                             ID_Status = 16780032;                  // 0:Off
                                             //Statistik - Tag
                                             ID_Ertrag_d = 251658754;               // in Wh
                                             ID_Hausverbrauch_d = 251659010;        // in Wh
                                             ID_Eigenverbrauch_d = 251659266;       // in Wh
                                             ID_Eigenverbrauchsquote_d = 251659278; // in %
                                             ID_Autarkiegrad_d = 251659279;         // in %
                                             //Statistik - Gesamt
                                             ID_Ertrag_G = 251658753;               // in kWh
                                             ID_Hausverbrauch_G = 251659009;        // in kWh
                                             ID_Eigenverbrauch_G = 251659265;       // in kWh
                                             ID_Eigenverbrauchsquote_G = 251659280; // in %
                                             ID_Autarkiegrad_G = 251659281;         // in %
                                             ID_Betriebszeit = 251658496;           // in h
                                             //Momentanwerte - PV Genertor
                                             ID_DC1Spannung = 33555202;             // in V
                                             ID_DC1Strom = 33555201;                // in A
                                             ID_DC1Leistung = 33555203;             // in W
                                             ID_DC2Spannung = 33555458;             // in V
                                             ID_DC2Strom = 33555457;                // in A
                                             ID_DC2Leistung = 33555459;             // in W
                                             //Momentanwerte Haus
                                             ID_HausverbrauchSolar = 83886336;      // in W
                                             ID_HausverbrauchBatterie = 83886592;   // in W
                                             ID_HausverbrauchNetz = 83886848;       // in W
                                             ID_HausverbrauchPhase1 = 83887106;     // in W
                                             ID_HausverbrauchPhase2 = 83887362;     // in W
                                             ID_HausverbrauchPhase3 = 83887618;     // in W
                                             //Netz Netzparameter
                                             ID_NetzAusgangLeistung = 67109120;     // in W
                                             ID_NetzFrequenz = 67110400;            // in Hz
                                             ID_NetzCosPhi = 67110656;
                                             //Netz Phase 1
                                             ID_P1Spannung = 67109378;              // in V
                                             ID_P1Strom = 67109377;                 // in A
                                             ID_P1Leistung = 67109379;              // in W
                                             //Netz Phase 2
                                             ID_P2Spannung = 67109634;              // in V
                                             ID_P2Strom = 67109633;                 // in A
                                             ID_P2Leistung = 67109635;              // in W
                                             //Netz Phase 3
                                             ID_P3Spannung = 67109890;              // in V
                                             ID_P3Strom = 67109889;                 // in A
                                             ID_P3Leistung = 67109891;              // in W
                                          
                                          
                                          
                                          var IPAnlage = '192.168.138.103/api/dxs.json';   // IP der Photovoltaik-Anlage
                                          
                                          
                                          
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d',0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G',0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit',0);
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell',0);
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch',0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d');
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', 0);
                                          createState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', 0);
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung');
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung');
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom');
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom');
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung');
                                          createState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung');
                                          
                                          
                                          var logging = false;
                                          var request = require('request');
                                          
                                          function Piko() {
                                             if (logging) log("Piko 5.5 auslesen");
                                             request('http://' + IPAnlage + 
                                             '?dxsEntries=' + ID_DCEingangGesamt +
                                             '&dxsEntries=' + ID_Ausgangsleistung +
                                             '&dxsEntries=' + ID_Eigenverbrauch +
                                             '&dxsEntries=' + ID_Eigenverbrauch_d +
                                             '&dxsEntries=' + ID_Eigenverbrauch_G +
                                             '&dxsEntries=' + ID_Eigenverbrauchsquote_d +
                                             '&dxsEntries=' + ID_Eigenverbrauchsquote_G +
                                             '&dxsEntries=' + ID_Ertrag_d +
                                             '&dxsEntries=' + ID_Ertrag_G +
                                             '&dxsEntries=' + ID_Hausverbrauch_d +
                                             '&dxsEntries=' + ID_Hausverbrauch_G +
                                             '&dxsEntries=' + ID_Autarkiegrad_G +
                                             '&dxsEntries=' + ID_Autarkiegrad_d +
                                             '&dxsEntries=' + ID_Betriebszeit +
                                             '&dxsEntries=' + ID_P1Spannung +
                                             '&dxsEntries=' + ID_P2Spannung +
                                             '&dxsEntries=' + ID_P1Strom +
                                             '&dxsEntries=' + ID_P2Strom +
                                             '&dxsEntries=' + ID_P1Leistung +
                                             '&dxsEntries=' + ID_P2Leistung +
                                             '&dxsEntries=' + ID_Status +
                                             '&dxsEntries=' + ID_DC1Leistung +
                                             '&dxsEntries=' + ID_DC2Leistung,
                                             
                                             function (error, response, body) {
                                                 if(!error && response.statusCode ==200) {
                                                     if(logging) log(body);
                                                     var result = JSON.parse(body).dxsEntries;
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_DC_aktuell', result[0].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_AC_aktuell', result[1].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Eigenverbrauch', result[2].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_d', result[3].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauch_G', result[4].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_d', result[5].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Eigenverbrauchsquote_G', result[6].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Tagesertrag', result[7].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Gesamtertrag', result[8].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_d', result[9].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Hausverbrauch_G', result[10].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_G', result[11].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Autarkiegrad_d', result[12].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Summenwerte.Betriebszeit', result[13].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P1Spannung', result[14].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P2Spannung', result[15].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P1Strom', result[16].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P2Strom', result[17].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P1Leistung', result[18].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.P2Leistung', result[19].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Status', result[20].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String1', result[21].value || 0, true);
                                                     setState('Messwerte.0.Solaranlage.Momentanwerte.Leistung_String2', result[22].value || 0, true);
                                                 } else {
                                                     log("Fehler: " + error + " bei Abfrage von: " + url, "warn");
                                                 }
                                             });
                                          }
                                          
                                          //schedule("*/11 * 5-23 * * *", Piko);
                                          on('smartmeter.0.1-0:16_7_0__255.value', Piko); // triggert bei Wertänderung;
                                          

                                          Hat auch jemand hier aus dem Forum gemacht

                                          OliverIO 1 Reply Last reply Reply Quote 0
                                          • OliverIO
                                            OliverIO @Homoran last edited by

                                            @Homoran

                                            so nochmal probieren.

                                            var domain = '192.168.1.20'; // domain or ip without http:// or https:// 
                                            var url = '/api/dxs.json';
                                             
                                            function getEvents() {
                                                log('getEvents');
                                                var keys = [];
                                                var key1 = 234881792;
                                                var key2 = 234881537;  
                                                keys.push(key1);
                                                for (var i=0;i<10;i++) {
                                                    keys.push(key2+i);
                                                }
                                             
                                                pikorequest(keys, function(response){
                                                    log('events: '+ JSON.stringify(response));
                                                    var item,len
                                                    item = getResponseId(response,234881792);
                                                    len = item.value;
                                                    for (var i=0;i<len;i++) {
                                                        item = getResponseId(response,234881537+i);
                                                        var d,date,code,env;
                                                        d = item.value;
                                                        date = timeConverter((d[0] << 0) + (d[1] << 8) + (d[2] << 16) + (d[3] << 24));
                                                        code = (d[4] << 0) + (d[5] << 8);
                                                        env = ("0000"+((d[6] << 0) + (d[7] << 8)).toString(16)).toLocaleUpperCase().substr(-4,4)+'h';
                                                        log('message' + i+1 + ': ' + date + ' '  + code + ' '  + env + ' ');
                                                    }
                                                });
                                            }
                                             
                                            function pikorequest(keys,callback) {
                                                log('pikorequest');
                                                if (keys.length==0) {
                                                    log('request error: No keys ');
                                                    return;     
                                                }
                                             
                                                var query = '';
                                             
                                                for (var i = 0; i < keys.length; i++) { 
                                                    query += '&dxsEntries=' + keys[i];
                                                }
                                             
                                                var req_url = 'http://' + domain + url + '?sessionid=iobroker' + query;
                                                log ('query: '+req_url);
                                             
                                                request(
                                                    { method: 'GET',
                                                    uri: req_url,
                                                    }
                                                , function (error, response, body) {
                                                            log('error: ' + error);
                                                            log('Status: '+ response.statusCode);
                                                            log('response: '+ JSON.stringify(response));
                                                            //response = {"dxsEntries":[{"dxsId":234881792,"value":1},{"dxsId":234881537,"value":[207,217,88,94,63,16,2,0]},{"dxsId":234881538,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881539,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881540,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881541,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881542,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881543,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881544,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881545,"value":[0,0,0,0,0,0,0,0]},{"dxsId":234881546,"value":[0,0,0,0,0,0,0,0]}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}
                                                            //response.statusCode = 200;
                                             
                                                        if (!error && response.statusCode == 200) {
                                                            //log('Status: '+ response.statusCode);
                                                            //log('response: '+ JSON.stringify(response));
                                                            callback(JSON.parse(body));
                                                        } else {
                                                            //log('Status: '+ response.statusCode);
                                                            //log('error: ' + error);
                                                        }
                                                    }
                                                );
                                            }
                                            function getResponseId(response,id) {
                                                return response.dxsEntries.find( item => item.dxsId === id );
                                            }
                                            function timeConverter(UNIX_timestamp){
                                              var a = new Date(UNIX_timestamp * 1000);
                                              var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
                                              var year = a.getFullYear();
                                              var month = months[a.getMonth()];
                                              var date = a.getDate();
                                              var hour = a.getHours();
                                              var min = a.getMinutes();
                                              var sec = a.getSeconds();
                                              var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
                                              return time;
                                            }
                                            getEvents();
                                             
                                            
                                            
                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            601
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            parser
                                            3
                                            108
                                            6482
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo