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

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

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 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 Do not disturb
                                        HomoranH Do not disturb
                                        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
                                        • HomoranH Homoran

                                          @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!

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

                                          @homoran Ich hatte ein RS485 auf USB also Comm Ersatz. Wurde auch von IOBroker gefunden. Ich habe das aber nie zum laufen gebracht.

                                          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

                                          398

                                          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