Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Parser Regex

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

      @Wuffi26
      Mit javascript?

      let dpInhalt = { 
          "val": "{\"InverterStatus\":5,\"InputPower\":270,\"PV1Voltage\":362.9,\"PV1InputCurrent\":0.7,\"PV1InputPower\":257.9,\"PV2Voltage\":288.4,\"PV2InputCurrent\":0,\"PV2InputPower\":20.9,\"OutputPower\":496.7,\"GridFrequency\":49.98,\"L1ThreePhaseGridVoltage\":241.5,\"L1ThreePhaseGridOutputCurrent\":2.3,\"L1ThreePhaseGridOutputPower\":492.9,\"L2ThreePhaseGridVoltage\":0,\"L2ThreePhaseGridOutputCurrent\":0,\"L2ThreePhaseGridOutputPower\":0,\"L3ThreePhaseGridVoltage\":0,\"L3ThreePhaseGridOutputCurrent\":0,\"L3ThreePhaseGridOutputPower\":0,\"TodayGenerateEnergy\":27.9,\"TotalGenerateEnergy\":6828.3,\"TWorkTimeTotal\":5.903158e7,\"PV1EnergyToday\":12.3,\"PV1EnergyTotal\":3153.6,\"PV2EnergyToday\":17.1,\"PV2EnergyTotal\":3378.2,\"PVEnergyTotal\":6554.4,\"InverterTemperature\":36,\"TemperatureInsideIPM\":33.3,\"BoostTemperature\":35.9,\"DischargePower\":0,\"ChargePower\":0,\"BatteryVoltage\":53.3,\"SOC\":100,\"ACPowerToUser\":0,\"ACPowerToUserTotal\":0,\"ACPowerToGrid\":81,\"ACPowerToGridTotal\":81,\"INVPowerToLocalLoad\":200,\"INVPowerToLocalLoadTotal\":200,\"BatteryTemperature\":26,\"BatteryState\":5,\"EnergyToUserToday\":1.2,\"EnergyToUserTotal\":8244.3,\"EnergyToGridToday\":0.8,\"EnergyToGridTotal\":217.9,\"DischargeEnergyToday\":8.8,\"DischargeEnergyTotal\":3086.6,\"ChargeEnergyToday\":10.8,\"ChargeEnergyTotal\":3092.5,\"LocalLoadEnergyToday\":27.8,\"LocalLoadEnergyTotal\":14574.9,\"ACChargeEnergyToday\":0.4,\"ACChargeEnergyTotal\":840.4,\"Mac\":\"48:55:19:68:30:C9\",\"Cnt\":100808}", 
          "ack": true, 
          "ts": 1719331820944, 
          "q": 0, 
          "from": "system.adapter.mqtt.0", 
          "user": "system.user.admin", 
          "lc": 1719331820944, 
          "_id": "mqtt.0.SPH4600", 
          "common": { "name": "SPH4600", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "string" }, 
          "native": { "topic": "SPH4600" }, 
          "type": "state", 
          "acl": { "object": 1636, "state": 1636, "owner": "system.user.dressman79", "ownerGroup": "system.group.user" } 
          }
      
      let val = dpInhalt.val
      let parsedVal = JSON.parse(val)
      log(parsedVal.SOC)
      log(parsedVal.Cnt)
      

      DP holen

      let val = getState('mqtt.0.SPH4600').val
      let parsedVal = JSON.parse(val)
      log(parsedVal.SOC)
      log(parsedVal.Cnt)
      

      fe904bd5-1ab3-4ef0-b77d-096368dfcc5b-image.png

      1 Reply Last reply Reply Quote 0
      • W
        Wuffi26 last edited by

        Danke für die schnelle, aber mit JS habe ich keinen Plan. In der Parser Instanz kann man eine Regex eingeben, da der string sich immer wieder aktualisiert, wolle eigentlich diesen Weg nehmen. Wie könnte man das noch realisieren?

        M OliverIO 2 Replies Last reply Reply Quote 0
        • M
          MCU @Wuffi26 last edited by MCU

          @wuffi26 Keine Ahnung ob es funktioniert
          Regex

          \"SOC\":(\d+(\.\d+)?)
          
          /\"SOC\":(\d+(\.\d+)?)/
          
          1 Reply Last reply Reply Quote 0
          • W
            Wuffi26 last edited by

            OK danke werde es gleich mal probieren.

            1 Reply Last reply Reply Quote 0
            • W
              Wuffi26 last edited by

              @mcu said in Parser Regex:

              /"SOC":(\d+(.\d+)?)/

              Leider keine Ergebnisse.

              1 Reply Last reply Reply Quote 0
              • W
                Wuffi26 last edited by

                Wenn ich nur SOC eingebe findet er logischerweise Nur das Wort.

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

                  @wuffi26

                  oder so

                  \\\"SOC\\\":([\d\.\,]+),
                  

                  das regex brücksichtigt auch, das die zahl auch mal punkt und komma enthält
                  snsonsten reicht auch

                  \\\"SOC\\\":([\d]+),
                  
                  1 Reply Last reply Reply Quote 0
                  • W
                    Wuffi26 last edited by

                    @oliverio said in Parser Regex:

                    \"SOC\":([\d.,]+),

                    Ein Regex Experte, es fontioniert. Ich werde daraus einfach nicht schlau. Vielen Dank.

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

                      @wuffi26

                      ja regex ist hart.
                      habe auch mehrere anläufe über die jahre gebraucht bis ich es kapiert habe

                      die folgende seite hilft da enorm.
                      da habe ich genau deinen fall mal gespeichert.
                      oben rechts steht die beschreibung welche zeichen da was genau was matcht.
                      die größte schwierigkeit besteht ein stop zeichen zu finden, da regex als greedy gilt und lieber mehr zeichen anzeiht als zu wenig.
                      aber hier haben wir das , nach der zahl
                      https://regex101.com/r/WiCynN/1

                      1 Reply Last reply Reply Quote 0
                      • W
                        Wuffi26 last edited by

                        Ok vielen Dank für Deine Hilfe.

                        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

                        652
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        344
                        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