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. JavaScript
  5. Zugriff auf Object mit Sonderzeichen (-)

NEWS

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

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

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

Zugriff auf Object mit Sonderzeichen (-)

Scheduled Pinned Locked Moved JavaScript
10 Posts 3 Posters 577 Views 2 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.
  • B Offline
    B Offline
    Blockmove
    wrote on last edited by
    #1

    Hallo zusammen

    ich komme gerade bei einem Script nicht weiter.
    Über MQTT bekomme ich Daten von OneWire-Temperatursensoren.

    var objdata = {
        "Time":"2023-08-05T06:52:00",
        "DS18B20":{
            "Id":"22E0071E64FF",
            "Temperature":20.9
        },
        "DS18B20-1":{
            "Id":"16F6071E64FF",
            "Temperature":20.8
        },
        "TempUnit":"C"
    };
    
    console.log(objdata.Time);
    console.log(objdata.DS18B20.Temperature);
    console.log(objdata.DS18B20-1.Temperature);
    
    

    In Zeile 16 bekomme ich einen Fehler, da der Sensorname ein "-" enthält.
    Wie kann ich in dem Fall auf die Werte zugreifen?

    Vielen Dank und Viele Grüße
    Blockmove

    The difference beetween Man and Boys:
    The price of their toys 😀

    liv-in-skyL 1 Reply Last reply
    0
    • B Blockmove

      Hallo zusammen

      ich komme gerade bei einem Script nicht weiter.
      Über MQTT bekomme ich Daten von OneWire-Temperatursensoren.

      var objdata = {
          "Time":"2023-08-05T06:52:00",
          "DS18B20":{
              "Id":"22E0071E64FF",
              "Temperature":20.9
          },
          "DS18B20-1":{
              "Id":"16F6071E64FF",
              "Temperature":20.8
          },
          "TempUnit":"C"
      };
      
      console.log(objdata.Time);
      console.log(objdata.DS18B20.Temperature);
      console.log(objdata.DS18B20-1.Temperature);
      
      

      In Zeile 16 bekomme ich einen Fehler, da der Sensorname ein "-" enthält.
      Wie kann ich in dem Fall auf die Werte zugreifen?

      Vielen Dank und Viele Grüße
      Blockmove

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      wrote on last edited by liv-in-sky
      #2

      @blockmove

      probier mal

      
      console.log(objdata["DS18B20-1"].Temperature);
       
      
      

      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

      B 1 Reply Last reply
      2
      • liv-in-skyL liv-in-sky

        @blockmove

        probier mal

        
        console.log(objdata["DS18B20-1"].Temperature);
         
        
        
        B Offline
        B Offline
        Blockmove
        wrote on last edited by
        #3

        @liv-in-sky
        Vielen Dank. Aber leider funktioniert das nicht. 😧

        The difference beetween Man and Boys:
        The price of their toys 😀

        liv-in-skyL bahnuhrB 2 Replies Last reply
        0
        • B Blockmove

          @liv-in-sky
          Vielen Dank. Aber leider funktioniert das nicht. 😧

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          wrote on last edited by
          #4

          @blockmove sicher ?

          Image 010.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

          B 1 Reply Last reply
          1
          • B Blockmove

            @liv-in-sky
            Vielen Dank. Aber leider funktioniert das nicht. 😧

            bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            wrote on last edited by
            #5

            @blockmove sagte in Zugriff auf Object mit Sonderzeichen (-):

            @liv-in-sky
            Vielen Dank. Aber leider funktioniert das nicht. 😧

            Das funktioniert genau so wie beschrieben !
            Und wurde hier im Forum bestimmt schon 100x gelöst.

            Achtung:
            Wenn du mehrere Sensoren dran hast dann zusätzlich die ID prüfen.
            Tasmota z.B. kann die Sensoren beim Start verschiedener Reihenfolge zuordnen.

            Da wir zwecks fehlender Info nicht wissen, welche Geräte/Software du hast einen Verweis auf folgende Doku:
            https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            B 1 Reply Last reply
            0
            • liv-in-skyL liv-in-sky

              @blockmove sicher ?

              Image 010.png

              B Offline
              B Offline
              Blockmove
              wrote on last edited by
              #6

              @liv-in-sky

              Kaum macht man's richtig funktioniert es.
              Ich hatte den "." nicht gelöscht.
              Sorry für meine Dummheit.

              The difference beetween Man and Boys:
              The price of their toys 😀

              1 Reply Last reply
              1
              • bahnuhrB bahnuhr

                @blockmove sagte in Zugriff auf Object mit Sonderzeichen (-):

                @liv-in-sky
                Vielen Dank. Aber leider funktioniert das nicht. 😧

                Das funktioniert genau so wie beschrieben !
                Und wurde hier im Forum bestimmt schon 100x gelöst.

                Achtung:
                Wenn du mehrere Sensoren dran hast dann zusätzlich die ID prüfen.
                Tasmota z.B. kann die Sensoren beim Start verschiedener Reihenfolge zuordnen.

                Da wir zwecks fehlender Info nicht wissen, welche Geräte/Software du hast einen Verweis auf folgende Doku:
                https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

                B Offline
                B Offline
                Blockmove
                wrote on last edited by
                #7

                @bahnuhr said in Zugriff auf Object mit Sonderzeichen (-):

                Achtung:
                Wenn du mehrere Sensoren dran hast dann zusätzlich die ID prüfen.
                Tasmota z.B. kann die Sensoren beim Start verschiedener Reihenfolge zuordnen.

                Da wir zwecks fehlender Info nicht wissen, welche Geräte/Software du hast einen Verweis auf folgende Doku:
                https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

                Vielen Dank für den Hinweis.
                Aber mal ganz ehrlich: Weder die Geräte noch die Software noch die Geräte spielen da eine Rolle.
                Es war ein simples Javascript-Problem. Ich hatte sogar schon die "[]" probiert, aber schlicht einen "." vergessen zu löschen.
                Die Probleme sitzen halt in den meisten Fällen vor dem Computer.

                Ich weiß, dass ich bei OneWire die ID brauche.
                Das ist ja auch einer der Gründe warum ich Script erstelle.
                Ich will längerfristig von meiner Gasheizung auf eine Wärmepumpe wechseln.
                Und dafür sammle ich Daten von div. Quellen (Siemens Logo, Homematic, Tasmota, ...) und schreibe sie in eine Influx-DB.

                Viele Grüße
                Blockmove

                The difference beetween Man and Boys:
                The price of their toys 😀

                bahnuhrB 1 Reply Last reply
                0
                • B Blockmove

                  @bahnuhr said in Zugriff auf Object mit Sonderzeichen (-):

                  Achtung:
                  Wenn du mehrere Sensoren dran hast dann zusätzlich die ID prüfen.
                  Tasmota z.B. kann die Sensoren beim Start verschiedener Reihenfolge zuordnen.

                  Da wir zwecks fehlender Info nicht wissen, welche Geräte/Software du hast einen Verweis auf folgende Doku:
                  https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge

                  Vielen Dank für den Hinweis.
                  Aber mal ganz ehrlich: Weder die Geräte noch die Software noch die Geräte spielen da eine Rolle.
                  Es war ein simples Javascript-Problem. Ich hatte sogar schon die "[]" probiert, aber schlicht einen "." vergessen zu löschen.
                  Die Probleme sitzen halt in den meisten Fällen vor dem Computer.

                  Ich weiß, dass ich bei OneWire die ID brauche.
                  Das ist ja auch einer der Gründe warum ich Script erstelle.
                  Ich will längerfristig von meiner Gasheizung auf eine Wärmepumpe wechseln.
                  Und dafür sammle ich Daten von div. Quellen (Siemens Logo, Homematic, Tasmota, ...) und schreibe sie in eine Influx-DB.

                  Viele Grüße
                  Blockmove

                  bahnuhrB Online
                  bahnuhrB Online
                  bahnuhr
                  Forum Testing Most Active
                  wrote on last edited by
                  #8

                  @blockmove

                  Na, wenn du das gewusst hast dann ist ja alles gut.
                  Ich wusste es nicht und hatte dann Werte in falschen DP.

                  Nur durch nachlesen auf der tasmota Seite war es dann klar.

                  Aber wenn es dir bekannt war, dann bist du weiter als ich damals.

                  P.S.
                  War ja nur ein gut gemeinter Ratschlag, dass es dir nicht ergeht wie mir damals.


                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                  Danke.
                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                  ScreenToGif :https://www.screentogif.com/downloads.html

                  B 1 Reply Last reply
                  1
                  • bahnuhrB bahnuhr

                    @blockmove

                    Na, wenn du das gewusst hast dann ist ja alles gut.
                    Ich wusste es nicht und hatte dann Werte in falschen DP.

                    Nur durch nachlesen auf der tasmota Seite war es dann klar.

                    Aber wenn es dir bekannt war, dann bist du weiter als ich damals.

                    P.S.
                    War ja nur ein gut gemeinter Ratschlag, dass es dir nicht ergeht wie mir damals.

                    B Offline
                    B Offline
                    Blockmove
                    wrote on last edited by
                    #9

                    @bahnuhr said in Zugriff auf Object mit Sonderzeichen (-):

                    @blockmove

                    Na, wenn du das gewusst hast dann ist ja alles gut.
                    Ich wusste es nicht und hatte dann Werte in falschen DP.

                    Nur durch nachlesen auf der tasmota Seite war es dann klar.

                    Aber wenn es dir bekannt war, dann bist du weiter als ich damals.

                    P.S.
                    War ja nur ein gut gemeinter Ratschlag, dass es dir nicht ergeht wie mir damals.

                    Naja tasmota ist wirklich eine super Lösung.
                    Unglaublich flexibel und auch mächtig besonders in der Kombination mit ioBroker.
                    Nutze ich schon einige Jahre. Teilweise mit fertiger Hardware, teilweise baue ich mir auch selber mit den ESPs Geräte.
                    Aber so hin- und wieder stolpert man eben auch über Fallstricke.

                    Nochmals Danke für die Unterstützung und schönes Wochenende

                    The difference beetween Man and Boys:
                    The price of their toys 😀

                    bahnuhrB 1 Reply Last reply
                    0
                    • B Blockmove

                      @bahnuhr said in Zugriff auf Object mit Sonderzeichen (-):

                      @blockmove

                      Na, wenn du das gewusst hast dann ist ja alles gut.
                      Ich wusste es nicht und hatte dann Werte in falschen DP.

                      Nur durch nachlesen auf der tasmota Seite war es dann klar.

                      Aber wenn es dir bekannt war, dann bist du weiter als ich damals.

                      P.S.
                      War ja nur ein gut gemeinter Ratschlag, dass es dir nicht ergeht wie mir damals.

                      Naja tasmota ist wirklich eine super Lösung.
                      Unglaublich flexibel und auch mächtig besonders in der Kombination mit ioBroker.
                      Nutze ich schon einige Jahre. Teilweise mit fertiger Hardware, teilweise baue ich mir auch selber mit den ESPs Geräte.
                      Aber so hin- und wieder stolpert man eben auch über Fallstricke.

                      Nochmals Danke für die Unterstützung und schönes Wochenende

                      bahnuhrB Online
                      bahnuhrB Online
                      bahnuhr
                      Forum Testing Most Active
                      wrote on last edited by
                      #10

                      @blockmove

                      wie im chat besprochen anbei mal das Script:

                      // Temperatur der Heizungsrohre
                          var Id, Temp, z;
                          on({id: "mqtt.2.Wemos_Heizung_Rohre.SENSOR", change: "ne"}, function(obj){
                              obj = JSON.parse(obj.state.val); 
                              for (z = 1; z <= 8; z++) {
                                  Id = obj["DS18B20-"+z].Id;
                                  Temp = obj["DS18B20-"+z].Temperature;
                                  Temp_schreiben(Id,Temp);
                              }
                          var sdatum = formatDate(obj.Time,"DD.MM.YYYY");
                          var szeit = formatDate(obj.Time,"SS:mm");
                          //log ("Temperatur Heizungsrohre aktualisiert am " + sdatum + " um " + szeit + " Uhr");
                          setState("javascript.0.Geräte.Heizung.Rohre.Aenderung",(sdatum + " um " + szeit + " Uhr"));
                          }); 
                      
                          function Temp_schreiben(Id,Temp) {
                              if (Id == "0117B37A48FF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Kaltwasser", Temp);
                              if (Id == "0117B38548FF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Vorlauf", Temp);
                              if (Id == "0117B38B14FF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Umwaelz", Temp);
                              if (Id == "0417A2D62CFF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Ruecklauf", Temp);
                              if (Id == "0517C0E88FFF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Waermetauscher", Temp);
                              if (Id == "0517C0EA1CFF") setState("javascript.0.Geräte.Heizung.Rohre.Temp_Warmwasser", Temp);
                              if (Id == "0517C0EAF2FF") setState("javascript.0.Geräte.Heizung.Rohre.Fussbodenheizung_Ruecklauf", Temp);
                              if (Id == "0517C0EB6FFF") setState("javascript.0.Geräte.Heizung.Rohre.Fussbodenheizung_Vorlauf", Temp);
                          }
                      

                      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                      Danke.
                      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                      ScreenToGif :https://www.screentogif.com/downloads.html

                      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

                      463

                      Online

                      32.4k

                      Users

                      81.4k

                      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