Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. RegEx: Daten aus Wärmepumpe auslesen und setzen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    RegEx: Daten aus Wärmepumpe auslesen und setzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      SegaPro last edited by

      Hallo zusammen,

      ich wünsche euch ein frohes neues Jahr und hoffe, dass ich hier mit meinem Anliegen richtig bin.

      Ich versuche gerade, die Daten meiner Remko-Wärmepumpe via "Parser" auszulesen und stehe vor dem Problem, dass ich gerade nicht so recht weiß, wie ich an die einzelnen Daten komme.

      Ich versuche es mal so gut wie möglich zu erklären:

      Die Übersichtsseite der Wärmepumpe gibt einige Infos wie Betriebsstatus, Aussentemp, etc an. Technisch funktioniert das ganze so, dass folgende URL aufgerufen wird:

      http://192.168.1.102/cgi-bin/index.cgi?read

      Der Aufruf erfolgt alle 3 Sekunden. Das Ergebnis sieht dann so aus:

      6,5.1,0,2,0,0,0,1,

      Die Erklärung zu den einzelnen Modis ist dann so (verkürzt):

      6,Betriebsmous

      5.1, Aussentemp

      0, Partymodus

      2,

      0,0,0,1, usw

      Hinter jedem Komma beginnt also ein neuer Status.

      Jetzt möchte ich diese gerne einzeln erhalten. Am besten in ein eigenes Objekt. RegEx ist für mich eine absolute Blackbox, daher komme ich hier nicht weiter.

      Ziel des Ganzen soll dann sein, dass ich via JS die Werte des Status ( 6 steht zb. für Heizen, 0 für Standby) entsprechend leserlich übersetze (dies bekomme ich selbst hin, habe ich schon bei meinen Heizungsaktoren gemacht)

      Weiß jemand, wie die Regex aussehen müsste?

      Es gibt noch diverse Unterseiten, wo die Zahlenreihe den selben Aufbau hat, aber noch erheblich länger ist, da wesentlich mehr Daten dargestellt werden. Allerdings benötige ich auch nicht alle. Am schönsten wäre es, wenn ich es so bauen könnte, dass ich sage:

      • Den Bereich vor dem ersten Komma

      • Den Bereich zwischen dem zwischen dem dritten und vierten Komma

      usw….

      Wenn ich einen Status ändere, beispiel von Heizbetrieb auf Kühlung, dann sieht das so aus:

      http://192.168.1.102/cgi-bin/index.cgi?ID1088=2

      Vielleicht bin ich ja auch auf dem Holzweg und ich könnte auf RegEx verzichten und das mit nem Explode oder ähnliches unter JS machen..

      Kann mir jemand helfen?

      Viele Grüße

      1 Reply Last reply Reply Quote 0
      • K
        Karl_999 last edited by

        @SegaPro:

        Weiß jemand, wie die Regex aussehen müsste? `
        für die "6"````
        ^(\d),

        für die 5.1````
        .,(-*\d+\.\d)
        

        für die erste 0````
        .,...,(\d)

        Zum Ausprobieren empfiehlt sich [https://regex101.com/r/8hQnSE/1](https://regex101.com/r/8hQnSE/1)
        1 Reply Last reply Reply Quote 0
        • S
          SegaPro last edited by

          Hi,

          das hat funktioniert. Den Rest bekomme ich selbst hin, denke ich.

          Vielen vielen Dank. 🙂

          1 Reply Last reply Reply Quote 0
          • S
            SegaPro last edited by

            @Karl_999:

            @SegaPro:

            Weiß jemand, wie die Regex aussehen müsste? `
            für die "6"````
            ^(\d),

            für die 5.1````
            .,(-*\d+\.\d)
            

            für die erste 0````
            .,...,(\d)

            Zum Ausprobieren empfiehlt sich [https://regex101.com/r/8hQnSE/1](https://regex101.com/r/8hQnSE/1) `  
            

            Jetzt hab ich doch noch ein Problem:

            4.6,29.1,20.0,300.0,10.4,

            Kannst Du mir sagen, wie ich an die 10.4 am Ende komme? Ich fummel jetzt seit fast 2 Stunden… 😞

            Alles andere hat so gut geklappt.

            Viele Grüße

            1 Reply Last reply Reply Quote 0
            • A
              AKerschbaum last edited by

              Hi SegaPro,

              hast du auf deiner Rmeko WP SmartWeb laufen oder "den alten" Webserver zugriff?

              Gruß Andre

              1 Reply Last reply Reply Quote 0
              • S
                SegaPro last edited by

                Den "alten" Webserver, nehme ich an.

                Ich wusste bis eben gar nicht, dass es was anderes gibt? SmarT-control schimpft sich das Ding.

                Leider kommt man ja auch nicht als root ran - ich hätte das Ding gerne mal etwas modifiziert.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @SegaPro:

                  Das Ergebnis sieht dann so aus:

                  6,5.1,0,2,0,0,0,1, `
                  Das sieht nach einem String mit durch Kommata getrennten Werte aus.
                  @SegaPro:

                  Vielleicht bin ich ja auch auf dem Holzweg und ich könnte auf RegEx verzichten und das mit nem Explode oder ähnliches unter JS machen.. `
                  Ja. Suche mal im Forum nach "request" zum Einlesen des Strings in Javascript. Dann den String mit .split(',') in ein Array wandeln, auf deren Elemente über den Index zugegriffen werden kann. Die Werte können dann mit setState() in Datenpunkte geschrieben werden. Beispiel:

                     setState(idAussentemp, parseFloat(arr[1]), true);
                  
                  1 Reply Last reply Reply Quote 0
                  • A
                    AKerschbaum last edited by

                    @SegaPro:

                    Den "alten" Webserver, nehme ich an.

                    Ich wusste bis eben gar nicht, dass es was anderes gibt? SmarT-control schimpft sich das Ding.

                    Leider kommt man ja auch nicht als root ran - ich hätte das Ding gerne mal etwas modifiziert. `

                    hi,

                    ich hatte auch erst smart conrtrol. Hab dann nach nachfrage von Remko ein kostenloses update bekommen.

                    Bei Smart web sind alle Parameter wie auch am Display der WP vorhanden. Auch Online übers Web.

                    Leider habe ich noch keine Weg gefunden diese in den IoBroker zu laden. Parser funktioniert glaub ich nicht, da auf der Webseite dynamisch verschieden Funktionen aufgerufen werden.

                    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

                    894
                    Online

                    32.0k
                    Users

                    80.5k
                    Topics

                    1.3m
                    Posts

                    4
                    8
                    968
                    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