Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Regex Ergebnis Problem

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Regex Ergebnis Problem

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @AndreasE112 last edited by liv-in-sky

      @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"}

      beispiel:

      let myObjText={"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"}
      
       var keys = Object.keys(myObjText);
       
      for(let u=0;u<keys.length;u++){
          if(keys[u].includes('DS18'))
          log(myObjText[keys[u]].Id)
      }
      
      for(let u=0;u<keys.length;u++){
          if(keys[u].includes('DS18'))
          log(myObjText[keys[u]].Temperature)
      }
      
      
      

      Image 5.png

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @AndreasE112 last edited by liv-in-sky

        @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, ...

        1 Reply Last reply Reply Quote 0
        • A
          AndreasE112 @mickym last edited by

          @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-sky OliverIO 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @AndreasE112 last edited by

            @andrease112 sagte in Regex Ergebnis Problem:

            ergebnis = test.DS18B20-1.Id;

            probier mal

            ergebnis = test['DS18B20-1'].Id;
            
            A 1 Reply Last reply Reply Quote 0
            • A
              AndreasE112 @liv-in-sky last edited by

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

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

              geht.

              Das Ergebnis ist aber leider NaN.

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @AndreasE112 last edited by liv-in-sky

                @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

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

                  @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 Reply Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @AndreasE112 last edited by

                    @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

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

                      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}&nbsp;&deg;C)',"g");
                                      var ergebnis_temperaturen = body.match(reg);
                                      console.log( ergebnis_temperaturen);
                      log --> ['3.9&nbsp;&deg;C','3.4&nbsp;&deg;C','2.1&nbsp;&deg;C','3.4&nbsp;&deg;C','1.9&nbsp;&deg;C']
                                      console.log( ergebnis_temperaturen.lenght );
                      log--> undefined
                      
                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @AndreasE112 last edited by

                        @andrease112 sagte in Regex Ergebnis Problem:

                        lenght

                        length

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          AndreasE112 @liv-in-sky last edited by

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

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          780
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          4
                          16
                          450
                          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