Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Regex Ergebnis Problem

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    912

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Regex Ergebnis Problem

Geplant Angeheftet Gesperrt Verschoben JavaScript
16 Beiträge 4 Kommentatoren 764 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A AndreasE112

    Ich gebs ja zu... ich kann eigentlich nur C programmieren.... ;) .... so modernes "Zeug" ist zwar cool übersteigt aber mein wissen.

    entries wird vom editor vorgeschlagen... deswegen hab ich es mal probiert.

    Ich hab keine Ahnung von JSON.

    Vielleicht könnt ihr mir ja sagen wie ich das am Besten auflöse:
    ich bekomme von "Tasmota" den folgenden String:

    {"Time":"2021-09-28T10:26:32","DS18B20-1":{"Id":"01131B932F1C","Temperature":85.0},"DS18B20-2":{"Id":"01131E9BA79C","Temperature":85.0},"DS18B20-3":{"Id":"0213169562AA","Temperature":21.6},"DS18B20-4":{"Id":"021316AF66AA","Temperature":73.2},"DS18B20-5":{"Id":"02131692A9AA","Temperature":69.9},"DS18B20-6":{"Id":"01131E80E9A7","Temperature":27.1},"DS18B20-7":{"Id":"01131E6FB0FF","Temperature":30.4},"ESP32":{"Temperature":53.3},"TempUnit":"C"}

    und möchte diese in einzelne Objekte zerlegen.
    Javascript.Tasmotaxxx.DS18B20-1.id und temp

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von liv-in-sky
    #7

    @andrease112

    jetzt muss du aber noch definieren, was du mit den einzelnen werten machen willst - in eine tabelle schreiben - in ein json-widget ausgeben (vis) oder datenpunkte erstellen für jeden einzelnen sensor, ...

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • mickymM mickym

      @andrease112 sagte in Regex Ergebnis Problem:

      {"Time":"2021-09-28T10:26:32","DS18B20-1":{"Id":"01131B932F1C","Temperature":85.0},"DS18B20-2":{"Id":"01131E9BA79C","Temperature":85.0},"DS18B20-3":{"Id":"0213169562AA","Temperature":21.6},"DS18B20-4":{"Id":"021316AF66AA","Temperature":73.2},"DS18B20-5":{"Id":"02131692A9AA","Temperature":69.9},"DS18B20-6":{"Id":"01131E80E9A7","Temperature":27.1},"DS18B20-7":{"Id":"01131E6FB0FF","Temperature":30.4},"ESP32":{"Temperature":53.3},"TempUnit":"C"}

      Du nimmst immer als erstes einen JSON Formatierer.

      Mit

      var obj = parse("{"Time":"2021-09-28T10:26:32","DS18B20-1":{"Id":"01131B932F1C","Temperature":85.0},"DS18B20-2":{"Id":"01131E9BA79C","Temperature":85.0},"DS18B20-3":{"Id":"0213169562AA","Temperature":21.6},"DS18B20-4":{"Id":"021316AF66AA","Temperature":73.2},"DS18B20-5":{"Id":"02131692A9AA","Temperature":69.9},"DS18B20-6":{"Id":"01131E80E9A7","Temperature":27.1},"DS18B20-7":{"Id":"01131E6FB0FF","Temperature":30.4},"ESP32":{"Temperature":53.3},"TempUnit":"C"}");
      

      oder falls das direkt als Objekt rausgenommen kommt und nicht als String - brauchst die Umwandlung natürlich nicht.
      https://www.w3schools.com/js/js_json_parse.asp

      Am Besten nutzt Du so einen JSON Formatter. Ich nehm den hier: https://jsonformatter.org/

      Im Tree-View kannst Du dann wunderbar die Hierachie erkennen:

      8c5bd006-2571-462f-99d4-275cb4e9aa33-image.png

      Auf den grünen Wert greifst dann mit

      obj.DS18B20-1.ID
      

      zu bzw. mit

      obj.DS18B20-1.Temperature
      

      auf die Temperatur usw.

      A Offline
      A Offline
      AndreasE112
      schrieb am zuletzt editiert von
      #8

      @mickym Hallo Micky... der Weg gefällt mir, leider funktioniert es noch nicht, ich hab nen compiler error.
      woher weiss denn der Compiler dass es Id gibt ?

      on({id: 'mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR', change: 'any'}, function (obj) {
      var  Tasmota_Sensor_result =  getState('mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR').val;
      console.log(Tasmota_Sensor_result);
      var test = JSON.parse(Tasmota_Sensor_result);
      var ergebnis = test.DS18B20-1.Id;
      console.log(ergebnis);
      
      });
      

      script.js.Heizung.Pufferspeicher_temperaturen compile failed: at script.js.Heizung.Pufferspeicher_temperaturen:5

      liv-in-skyL OliverIOO 2 Antworten Letzte Antwort
      0
      • A AndreasE112

        @mickym Hallo Micky... der Weg gefällt mir, leider funktioniert es noch nicht, ich hab nen compiler error.
        woher weiss denn der Compiler dass es Id gibt ?

        on({id: 'mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR', change: 'any'}, function (obj) {
        var  Tasmota_Sensor_result =  getState('mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR').val;
        console.log(Tasmota_Sensor_result);
        var test = JSON.parse(Tasmota_Sensor_result);
        var ergebnis = test.DS18B20-1.Id;
        console.log(ergebnis);
        
        });
        

        script.js.Heizung.Pufferspeicher_temperaturen compile failed: at script.js.Heizung.Pufferspeicher_temperaturen:5

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #9

        @andrease112 sagte in Regex Ergebnis Problem:

        ergebnis = test.DS18B20-1.Id;

        probier mal

        ergebnis = test['DS18B20-1'].Id;
        

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        A 1 Antwort Letzte Antwort
        0
        • liv-in-skyL liv-in-sky

          @andrease112 sagte in Regex Ergebnis Problem:

          ergebnis = test.DS18B20-1.Id;

          probier mal

          ergebnis = test['DS18B20-1'].Id;
          
          A Offline
          A Offline
          AndreasE112
          schrieb am zuletzt editiert von
          #10

          @liv-in-sky
          das geht auch nicht, aber

          var ergebnis = test.DS18B20-1.['Id']; 
          

          geht.

          Das Ergebnis ist aber leider NaN.

          liv-in-skyL 1 Antwort Letzte Antwort
          0
          • A AndreasE112

            @liv-in-sky
            das geht auch nicht, aber

            var ergebnis = test.DS18B20-1.['Id']; 
            

            geht.

            Das Ergebnis ist aber leider NaN.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von liv-in-sky
            #11

            @andrease112

            das geht nicht , weil das -1 im namen als math-operation gesehen wird - das sieht man im editor - die "-1" von "DS18B20-1" ist eine berechnung. es ist immer doof, wenn object-keys einen bindestrich enthalten

            bei mir geht es mit :

            log( myObjText['DS18B20-1'].Id); 
            

            Image 6.png

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              AndreasE112
              schrieb am zuletzt editiert von
              #12

              @andrease112 sagte in Regex Ergebnis Problem:

              var ergebnis = test.DS18B20-1.['Id'];

              Ja ich hatte einen . zu viel nach dem Variablennamen... jetzt funktionierts . Super :+1:

              1 Antwort Letzte Antwort
              0
              • A AndreasE112

                @mickym Hallo Micky... der Weg gefällt mir, leider funktioniert es noch nicht, ich hab nen compiler error.
                woher weiss denn der Compiler dass es Id gibt ?

                on({id: 'mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR', change: 'any'}, function (obj) {
                var  Tasmota_Sensor_result =  getState('mqtt.'+instance+'.tele.tasmota_5D68E4.SENSOR').val;
                console.log(Tasmota_Sensor_result);
                var test = JSON.parse(Tasmota_Sensor_result);
                var ergebnis = test.DS18B20-1.Id;
                console.log(ergebnis);
                
                });
                

                script.js.Heizung.Pufferspeicher_temperaturen compile failed: at script.js.Heizung.Pufferspeicher_temperaturen:5

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #13

                @andrease112 said in Regex Ergebnis Problem:

                woher weiss denn der Compiler dass es Id gibt ?

                Weiß er nicht, javascript wird teilweise kompiliert und teilweise interpretiert.
                Er weiß es zur Laufzeit und wirft dann den Fehler aus.
                Die Meckerlinien im javascript-adapter darf man nicht immer so vertrauen.
                Die Meckern manchmal auch wenn es richtig ist.
                Nur der Fehler der unten im log angezeigt wird ist dann real

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

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  AndreasE112
                  schrieb am zuletzt editiert von
                  #14

                  Hallo nochmal,
                  ich versuche gerade eine Website mit Regex zu parsen.
                  Ich finde auch die passenden Elemente, aber wie kann ich abfragen wieviele matches es gibt ?

                  .lenght funktioniert nicht...

                                  var reg = new RegExp('(?:[0-9].[0-9]{1,4} °C)',"g");
                                  var ergebnis_temperaturen = body.match(reg);
                                  console.log( ergebnis_temperaturen);
                  log --> ['3.9 °C','3.4 °C','2.1 °C','3.4 °C','1.9 °C']
                                  console.log( ergebnis_temperaturen.lenght );
                  log--> undefined
                  
                  liv-in-skyL 1 Antwort Letzte Antwort
                  0
                  • A AndreasE112

                    Hallo nochmal,
                    ich versuche gerade eine Website mit Regex zu parsen.
                    Ich finde auch die passenden Elemente, aber wie kann ich abfragen wieviele matches es gibt ?

                    .lenght funktioniert nicht...

                                    var reg = new RegExp('(?:[0-9].[0-9]{1,4} °C)',"g");
                                    var ergebnis_temperaturen = body.match(reg);
                                    console.log( ergebnis_temperaturen);
                    log --> ['3.9 °C','3.4 °C','2.1 °C','3.4 °C','1.9 °C']
                                    console.log( ergebnis_temperaturen.lenght );
                    log--> undefined
                    
                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #15

                    @andrease112 sagte in Regex Ergebnis Problem:

                    lenght

                    length

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    A 1 Antwort Letzte Antwort
                    0
                    • liv-in-skyL liv-in-sky

                      @andrease112 sagte in Regex Ergebnis Problem:

                      lenght

                      length

                      A Offline
                      A Offline
                      AndreasE112
                      schrieb am zuletzt editiert von
                      #16

                      @liv-in-sky Danke .... es war natütlich der Typo... besser nicht mit Erkältung programmieren....

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      665

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe