Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Werte aus JS auslesen und in Datenpunkte einfügen

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    214

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Werte aus JS auslesen und in Datenpunkte einfügen

Werte aus JS auslesen und in Datenpunkte einfügen

Scheduled Pinned Locked Moved Skripten / Logik
127 Posts 8 Posters 11.7k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    fimoknete
    wrote on last edited by fimoknete
    #1

    Hallo alle,

    ich habe ein HTML File, das augenscheinlich von JS Werte der Batterie gefüttert bekommt.

    Die Frage ist, wie bekomme ich den Wert SOC aus dem HTML oder JS in einen Datenpunkt in IoBroker um mit dem SOC der Batterie zu arbeiten? Also wie kann ich Werte aus JS oder der HTML extrahieren?

    5f89d949-607e-4b35-b06b-e9177bb88a8d-image.png

    611452d2-ca63-41e8-8e62-58537a115d30-image.png

    e3076fba-25ba-4ea4-b144-826b74d7866d-image.png

    6a5f0a91-8e96-4e13-a89f-bfc6ecf5470e-image.png

    6adf313a-1883-4e15-9f9e-4570b2e97861-image.png

    M 1 Reply Last reply
    0
    • F fimoknete

      Hallo alle,

      ich habe ein HTML File, das augenscheinlich von JS Werte der Batterie gefüttert bekommt.

      Die Frage ist, wie bekomme ich den Wert SOC aus dem HTML oder JS in einen Datenpunkt in IoBroker um mit dem SOC der Batterie zu arbeiten? Also wie kann ich Werte aus JS oder der HTML extrahieren?

      5f89d949-607e-4b35-b06b-e9177bb88a8d-image.png

      611452d2-ca63-41e8-8e62-58537a115d30-image.png

      e3076fba-25ba-4ea4-b144-826b74d7866d-image.png

      6a5f0a91-8e96-4e13-a89f-bfc6ecf5470e-image.png

      6adf313a-1883-4e15-9f9e-4570b2e97861-image.png

      M Offline
      M Offline
      meloneA
      wrote on last edited by
      #2

      @fimoknete der Parser Adapter ( https://github.com/ioBroker/ioBroker.parser ) wäre dafür eine simple Lösung.

      F 1 Reply Last reply
      0
      • M meloneA

        @fimoknete der Parser Adapter ( https://github.com/ioBroker/ioBroker.parser ) wäre dafür eine simple Lösung.

        F Offline
        F Offline
        fimoknete
        wrote on last edited by
        #3

        @melonea Könntest du mir da ein wenig unter die Arme greifen? Hab das noch nie benutzt.

        CodierknechtC M 2 Replies Last reply
        0
        • F fimoknete

          @melonea Könntest du mir da ein wenig unter die Arme greifen? Hab das noch nie benutzt.

          CodierknechtC Offline
          CodierknechtC Offline
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #4

          @fimoknete
          Viel interessanter wäre herauszufinden, wie die Seite an die Daten kommt.
          Da wird ja vermutlich eine Art API dahinterstecken, das man per Request abfragen könnte.

          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

          Proxmox 8.2.4 LXC|8 GB|Core i7-6700
          HmIP|ZigBee|Tasmota|Unifi + dies & das
          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

          F 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @fimoknete
            Viel interessanter wäre herauszufinden, wie die Seite an die Daten kommt.
            Da wird ja vermutlich eine Art API dahinterstecken, das man per Request abfragen könnte.

            F Offline
            F Offline
            fimoknete
            wrote on last edited by
            #5

            @codierknecht im ersten Bild kann man sehen, dass die HTML einen progress txt aus dem Script bekommt. Keine Ahnung wie das funktioniert.
            Kann man nicht irgendwie die Variable aus dem JS von extern mit Blocky order so auslesen?
            Parser geht im iobroker nicht, GUI error.

            CodierknechtC 1 Reply Last reply
            0
            • F fimoknete

              @codierknecht im ersten Bild kann man sehen, dass die HTML einen progress txt aus dem Script bekommt. Keine Ahnung wie das funktioniert.
              Kann man nicht irgendwie die Variable aus dem JS von extern mit Blocky order so auslesen?
              Parser geht im iobroker nicht, GUI error.

              CodierknechtC Offline
              CodierknechtC Offline
              Codierknecht
              Developer Most Active
              wrote on last edited by
              #6

              @fimoknete
              Das ist nur der Name des CSS-Klasse.
              Um was für ein Gerät handelt es sich?

              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

              Proxmox 8.2.4 LXC|8 GB|Core i7-6700
              HmIP|ZigBee|Tasmota|Unifi + dies & das
              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

              F 1 Reply Last reply
              0
              • CodierknechtC Codierknecht

                @fimoknete
                Das ist nur der Name des CSS-Klasse.
                Um was für ein Gerät handelt es sich?

                F Offline
                F Offline
                fimoknete
                wrote on last edited by
                #7

                @codierknecht LiFePo4 Batterie

                CodierknechtC 1 Reply Last reply
                0
                • F fimoknete

                  @melonea Könntest du mir da ein wenig unter die Arme greifen? Hab das noch nie benutzt.

                  M Offline
                  M Offline
                  meloneA
                  wrote on last edited by
                  #8

                  @fimoknete said in Werte aus JS auslesen und in Datenpunkte einfügen:

                  @melonea Könntest du mir da ein wenig unter die Arme greifen? Hab das noch nie benutzt.

                  Du installierst den Adapter, fügst die passende URL und Regex ein. Für die SOC Werte müsste folgendes funktionieren:

                  c35a2708>(.*?)%</p>

                  F 1 Reply Last reply
                  0
                  • M meloneA

                    @fimoknete said in Werte aus JS auslesen und in Datenpunkte einfügen:

                    @melonea Könntest du mir da ein wenig unter die Arme greifen? Hab das noch nie benutzt.

                    Du installierst den Adapter, fügst die passende URL und Regex ein. Für die SOC Werte müsste folgendes funktionieren:

                    c35a2708>(.*?)%</p>

                    F Offline
                    F Offline
                    fimoknete
                    wrote on last edited by
                    #9

                    @melonea Vielen Dank, werde ich mal probieren wenn der iobroker adapter parser wieder läuft. produziert nur einen gui error zur zeit. ich hoffe das wird mal gelöst.

                    1 Reply Last reply
                    0
                    • F fimoknete

                      @codierknecht LiFePo4 Batterie

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      wrote on last edited by
                      #10

                      @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                      LiFePo4 Batterie

                      Na wer hätte damit gerechnet?
                      Verrätst Du uns auch den Hersteller?

                      Irgendwie muss das Ding ja auch kommunizieren.
                      Hängt da ein BMS dran, das man ggf. anzapfen könnte?
                      Wie kommen denn die HTML-Dateien auf Deinen Rechner? Vom Hersteller? Ist da JS-Code drin, der irgendwie mit der Batterie kommuniziert?
                      Dann wäre das komplette Script interessant. Aber bitte nicht als Screenshot, sondern in Code-Tags </> oder gleich das ganze Script als Datei anhängen (wenn zu lang).

                      Hat da eine Komponente eine IP, zu der man vielleicht die Kommunikation per WireShark mitschneiden kann?

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi + dies & das
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      F 1 Reply Last reply
                      0
                      • CodierknechtC Codierknecht

                        @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                        LiFePo4 Batterie

                        Na wer hätte damit gerechnet?
                        Verrätst Du uns auch den Hersteller?

                        Irgendwie muss das Ding ja auch kommunizieren.
                        Hängt da ein BMS dran, das man ggf. anzapfen könnte?
                        Wie kommen denn die HTML-Dateien auf Deinen Rechner? Vom Hersteller? Ist da JS-Code drin, der irgendwie mit der Batterie kommuniziert?
                        Dann wäre das komplette Script interessant. Aber bitte nicht als Screenshot, sondern in Code-Tags </> oder gleich das ganze Script als Datei anhängen (wenn zu lang).

                        Hat da eine Komponente eine IP, zu der man vielleicht die Kommunikation per WireShark mitschneiden kann?

                        F Offline
                        F Offline
                        fimoknete
                        wrote on last edited by fimoknete
                        #11

                        @codierknecht Batterie mit BMS. Hat can und rs485 connectoren. Aktuell hängt es via can-bus und USB am Rechner. Das Monitoring Tool bekommt die Daten via serial schnittstelle com10. Die software wurde mitgeliefert.

                        Den Quelltext hänge ich bei Zeiten mal mit ran. Aktuell habe ich nur die Screenshots. Wenn ich wieder an der Batterie bin, extrahiere ich mal den Quelltext.

                        parser bringt mit kopierten Quelltext der html

                        1970dfa7-682e-4c74-b34e-d572f5689775-image.png

                        in IoBroker aber
                        98864c5d-7a86-4400-aeed-3886e1a9cbf0-image.png

                        Die HTML sieht so aus. "file:///C:/Program%20Files%20(x86)/Batterie2/source/dist/index.html#/"
                        17557109-9790-429a-80f3-09699a0f0cdc-image.png

                        die untersuchte quelle hat aber einen anderen text. wie komme ich an die wirkliche HTML mit dem Text?

                        01ba07cb-a4b0-4fb1-b7cf-8b4a1d040248-image.png

                        692cb67c-af5b-4514-8530-4c33996e4464-image.png

                        1 Reply Last reply
                        0
                        • CodierknechtC Offline
                          CodierknechtC Offline
                          Codierknecht
                          Developer Most Active
                          wrote on last edited by
                          #12

                          @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                          Hat can und rs485 connectoren

                          Das klingt doch irgendwie vielversprechend.
                          Meine PV + Speicher kommt erst im kommenden Jahr. Darum bin da sicher nicht der richtige Ansprechpartner. Aber ich bin ziemlich zuversichtlich, dass da was geht:

                          https://www.google.com/search?q=iobroker+batterie+rs485

                          Hier wird es sicher so einige geben, die Dir da weiterhelfen können.

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi + dies & das
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          F 1 Reply Last reply
                          0
                          • CodierknechtC Codierknecht

                            @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                            Hat can und rs485 connectoren

                            Das klingt doch irgendwie vielversprechend.
                            Meine PV + Speicher kommt erst im kommenden Jahr. Darum bin da sicher nicht der richtige Ansprechpartner. Aber ich bin ziemlich zuversichtlich, dass da was geht:

                            https://www.google.com/search?q=iobroker+batterie+rs485

                            Hier wird es sicher so einige geben, die Dir da weiterhelfen können.

                            F Offline
                            F Offline
                            fimoknete
                            wrote on last edited by fimoknete
                            #13

                            @codierknecht also irgendwie verstehe ich die logik hinter dem ganzen nicht.

                            die html sieht in einem text editor so aus.

                            11f44ca9-da7d-4a88-87b1-70ca53a0285e-image.png

                            kein wunder das der parser nichts findet.

                            wo kommt denn der unterschied zu dem untersuchten quelltext der selben datei her?
                            27bb818a-e361-4a64-adaf-ccb87420ca47-image.png

                            hier kann ich noch Daten aufklappen und die Information abfischen.

                            CodierknechtC 1 Reply Last reply
                            0
                            • F fimoknete

                              @codierknecht also irgendwie verstehe ich die logik hinter dem ganzen nicht.

                              die html sieht in einem text editor so aus.

                              11f44ca9-da7d-4a88-87b1-70ca53a0285e-image.png

                              kein wunder das der parser nichts findet.

                              wo kommt denn der unterschied zu dem untersuchten quelltext der selben datei her?
                              27bb818a-e361-4a64-adaf-ccb87420ca47-image.png

                              hier kann ich noch Daten aufklappen und die Information abfischen.

                              CodierknechtC Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              wrote on last edited by Codierknecht
                              #14

                              @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                              also irgendwie verstehe ich die logik hinter dem ganzen nicht.
                              wo kommt denn der unterschied zu dem untersuchten quelltext der selben datei her?

                              Da wird wohl das JavaScript das DOM erst zur Laufzeit verändern.
                              Wenn der Parser keine JS-Engine mitliefert, wird das nix.

                              Batterie mit BMS

                              Ich frage nochmal nach dem Hersteller. Damit hättest Du wesentlich bessere Chancen, hier Hilfe zu erhalten.

                              https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge
                              Informationen nur scheibchenweise zu liefern ist nicht unbedingt hilfreich.

                              <Edit>
                              Und noch ein Tipp: Denk mal darüber nach, den Titel Deines Post zu ändern.
                              Diejenigen die sich evtl. mit der verwendeten Technik auskennen (dazu müsste man den Hersteller kennen) werden aufgrund des Titels nicht unbedingt den Weg in diesen Thread finden.
                              Ein "Batteriesystem XYZ per CAN/RS485 auslesen" wäre da z.B. etwas verständlicher.

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi + dies & das
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              1 Reply Last reply
                              0
                              • OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                wrote on last edited by
                                #15

                                @fimoknete

                                @Codierknecht hat wahrscheinlich recht. da werden zur Laufzeit Daten nachgeladen und dann direkt ins html eingetragen.

                                Du könntest mal in die Web developer tools deines Browser gehen (F12),
                                auf den Netzwerk-Tab, dann zur Sicherheit mit F5 die Seite neu laden, dann den Suchdialog (mit STRG+F) aufrufen und nach deinem Wert suchen. Beachte, das Fließkommazahlen in javascript mit Punkt notiert werden (also anstatt 123,456 ist das dann 123.456)
                                Als Ergebnis erhälst du wahrscheinlich viele Fundstellen. Die musst du dann einzeln durchschauen um den eigentlichen Übertragungsort zu finden. Dann können wir weiter mit dem parser-adapter schauen.

                                e6cb63f7-6c10-41ef-98cf-f9abe163358b-image.png

                                Im Sceenshot habe ich das mal mit dem Forum und dem aktuellen Thread gemacht. Da werden die Daten auch per JSON übertragen und dann erst im Browser die Seite generiert.

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                F 1 Reply Last reply
                                0
                                • OliverIOO OliverIO

                                  @fimoknete

                                  @Codierknecht hat wahrscheinlich recht. da werden zur Laufzeit Daten nachgeladen und dann direkt ins html eingetragen.

                                  Du könntest mal in die Web developer tools deines Browser gehen (F12),
                                  auf den Netzwerk-Tab, dann zur Sicherheit mit F5 die Seite neu laden, dann den Suchdialog (mit STRG+F) aufrufen und nach deinem Wert suchen. Beachte, das Fließkommazahlen in javascript mit Punkt notiert werden (also anstatt 123,456 ist das dann 123.456)
                                  Als Ergebnis erhälst du wahrscheinlich viele Fundstellen. Die musst du dann einzeln durchschauen um den eigentlichen Übertragungsort zu finden. Dann können wir weiter mit dem parser-adapter schauen.

                                  e6cb63f7-6c10-41ef-98cf-f9abe163358b-image.png

                                  Im Sceenshot habe ich das mal mit dem Forum und dem aktuellen Thread gemacht. Da werden die Daten auch per JSON übertragen und dann erst im Browser die Seite generiert.

                                  F Offline
                                  F Offline
                                  fimoknete
                                  wrote on last edited by fimoknete
                                  #16

                                  @oliverio danke, werde ich mal probieren. Ich kenne den Hersteller des BMS aber nicht. Die Batterie ist von Lanni. Ich finde den button nicht zum Titel ändern.

                                  CodierknechtC 1 Reply Last reply
                                  0
                                  • F fimoknete

                                    @oliverio danke, werde ich mal probieren. Ich kenne den Hersteller des BMS aber nicht. Die Batterie ist von Lanni. Ich finde den button nicht zum Titel ändern.

                                    CodierknechtC Offline
                                    CodierknechtC Offline
                                    Codierknecht
                                    Developer Most Active
                                    wrote on last edited by
                                    #17

                                    @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                                    Ich kenne den Hersteller des BMS aber nicht. Die Batterie ist von Lanni

                                    Gibt's da einen Link, oder hast Du das selbst zusammengeklöppelt?

                                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                    Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                                    HmIP|ZigBee|Tasmota|Unifi + dies & das
                                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                    F 1 Reply Last reply
                                    0
                                    • CodierknechtC Codierknecht

                                      @fimoknete sagte in Werte aus JS auslesen und in Datenpunkte einfügen:

                                      Ich kenne den Hersteller des BMS aber nicht. Die Batterie ist von Lanni

                                      Gibt's da einen Link, oder hast Du das selbst zusammengeklöppelt?

                                      F Offline
                                      F Offline
                                      fimoknete
                                      wrote on last edited by
                                      #18

                                      @codierknecht Das ist eine Rack mounted BAtterie aus China. Die kam so wie sie ist.

                                      a39690d2-c43a-433a-b777-114344a6266c-image.png

                                      Anleitung sagt zum BMS: Ich rate mal, dass es ein Daren BMS ist. Steht aber nirgends.

                                      a05220e0-2115-41be-9857-7ad954fb8be6-image.png

                                      Es gibt noch ein ModBus protokoll mit den ganze Registern. Ich weis aber nicht, wie ich das auslesen soll. Ich kapiere nicht mal den parity check in dem Manual.
                                      BMS_Protocol_ModBus_V1_0_2_beta1 (1).pdf

                                      CodierknechtC Ralla66R 2 Replies Last reply
                                      0
                                      • F fimoknete

                                        @codierknecht Das ist eine Rack mounted BAtterie aus China. Die kam so wie sie ist.

                                        a39690d2-c43a-433a-b777-114344a6266c-image.png

                                        Anleitung sagt zum BMS: Ich rate mal, dass es ein Daren BMS ist. Steht aber nirgends.

                                        a05220e0-2115-41be-9857-7ad954fb8be6-image.png

                                        Es gibt noch ein ModBus protokoll mit den ganze Registern. Ich weis aber nicht, wie ich das auslesen soll. Ich kapiere nicht mal den parity check in dem Manual.
                                        BMS_Protocol_ModBus_V1_0_2_beta1 (1).pdf

                                        CodierknechtC Offline
                                        CodierknechtC Offline
                                        Codierknecht
                                        Developer Most Active
                                        wrote on last edited by
                                        #19

                                        @fimoknete
                                        Na das ist zumindest schon mal etwas, mit dem vielleicht die ModBus-Experten hier etwas anfangen können.
                                        Frag' mich aber nicht, wer sich da gut auskennt - ich jedenfalls leider nicht.

                                        Vielleicht können da @apollon77, @Bluefox oder @haus-automatisierung weiterhelfen?

                                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                        Proxmox 8.2.4 LXC|8 GB|Core i7-6700
                                        HmIP|ZigBee|Tasmota|Unifi + dies & das
                                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                        1 Reply Last reply
                                        0
                                        • HomoranH Offline
                                          HomoranH Offline
                                          Homoran
                                          Global Moderator Administrators
                                          wrote on last edited by
                                          #20

                                          @fimoknete
                                          Wo ist das Problem?

                                          Wie hast du versucht die Batterie zu verdrahten, und wie hast du den Modbusadapter konfiguriert.

                                          Dann brauchst du einen HEX->Dec Rechner und danach müsdte es laufen.

                                          immer erst mit nur einer Adresse beginnen!

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          F 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          49

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe