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. Temperatur aus JSON auslesen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    337

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Temperatur aus JSON auslesen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
18 Beiträge 6 Kommentatoren 6.4k Aufrufe 1 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.
  • paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #5

    @Feuer001:

    kann ich mit dem script nur Temperaturen so zerlegen oder auch andere informationen wie z.B. batteriespannung und wlan signalstärke, `
    Ja, wenn der JSON-String die gewünschten Informationen enthält. Jeder JSON-String ist anders aufgebaut; man muss also die Objekt-Struktur darin erkennen, um zum gewünschten Wert zu kommen. Dafür gibt es http://jsonviewer.stack.hu/.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      Feuer001
      schrieb am zuletzt editiert von
      #6

      Hab da nochmal eine frage,

      es läuft soweit alles, nur ist mir aufgefallen

      wenn eine Temperatur z.B 24,0°C ist

      wird mir aber nur 24 angezeigt und nicht 24,0.

      Bei 24,1 wird mir auch 24,1 angezeigt.

      Gibt es da noch einen Trick wie man sich auch die ,0 anzeigen lassen kann?

      Im JSON wird auch 24,0 übertragen!?

      1 Antwort Letzte Antwort
      0
      • DutchmanD Offline
        DutchmanD Offline
        Dutchman
        Developer Most Active Administrators
        schrieb am zuletzt editiert von
        #7

        @Feuer001:

        Hab da nochmal eine frage,

        es läuft soweit alles, nur ist mir aufgefallen

        wenn eine Temperatur z.B 24,0°C ist

        wird mir aber nur 24 angezeigt und nicht 24,0.

        Bei 24,1 wird mir auch 24,1 angezeigt.

        Gibt es da noch einen Trick wie man sich auch die ,0 anzeigen lassen kann?

        Im JSON wird auch 24,0 übertragen!? `

        wo moechtest du das drin visualisieren ?

        Die objecten runden immer ab, in vis kannst du im widget angeben wieviel stellen immer hinterm comma gezeigt werden muessen.

        So habe ich auch diese view hier gebaut:

        979_screen_shot_2017-06-15_at_12.10.26.png
        979_screen_shot_2017-06-15_at_12.10.53.png
        979_screen_shot_2017-06-15_at_11.57.54.png

        • Dutch
        1 Antwort Letzte Antwort
        0
        • F Offline
          F Offline
          Feuer001
          schrieb am zuletzt editiert von
          #8

          Hey,

          in der Vis ist das ja Problemlos möglich,

          aber ich habe noch ein ESP8266 mit LCD-Display,

          das dann eben nur 24 °C anzeigt, dachte man könnte da noch etwas am Script ändern….

          1 Antwort Letzte Antwort
          0
          • paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #9

            @Feuer001:

            … ich habe noch ein ESP8266 mit LCD-Display, das dann eben nur 24 °C anzeigt, dachte man könnte da noch etwas am Script ändern.... `
            An das LCD-Display als String mit Wert.toFixed(1) ausgeben.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • F Offline
              F Offline
              Feuer001
              schrieb am zuletzt editiert von
              #10

              Wäre ne möglichkeit, aber dann müsste ich das koplette ESP-Programm ändern,

              denn es werden char an das LCD-geschickt.

              Kann ich da nix im Javascript beim ioBroker ändern?

              Wäre für mich einfacher.

              Hab beim ESP-Display schon ehwigkeiten gebraucht, bis ich es hinbekommen habe

              zwei Topics anzeigen zu lassen….

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #11

                @Feuer001:

                Kann ich da nix im Javascript beim ioBroker ändern? `
                Wie gelangen die Zeichen von ioBroker an das ESP8266 ? Das Wandeln mit Wert.toFixed(1) ist Javascript-Code für ioBroker-JS-Adapter..

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #12

                  Wenn die beiden Datenpunkte idTemp1 und idTemp2 nur zur Anzeige dienen, ändere den Typ von 'number' in 'string' und ergänze das setState

                      ...
                      setState(idTemp1, Temp1.toFixed(1) + ' °C');
                      setState(idTemp2, Temp2.toFixed(1) + ' °C');
                  }
                  

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • F Offline
                    F Offline
                    Feuer001
                    schrieb am zuletzt editiert von
                    #13

                    Besten Dank!!

                    Hab beim ioBroker JS das ".toFixed(1)" nachgetragen und damit funktioniert es wunderbar!

                    Das ESP8266-Display-Modul holt sich die Topic via MQTT-Callback

                    und die Callback Daten werden als char ans I2C-Display gereicht.

                    1 Antwort Letzte Antwort
                    0
                    • R Offline
                      R Offline
                      ryan88
                      schrieb am zuletzt editiert von
                      #14

                      Ich denke, das könnte hilfreich sein: https://jsonformatter-online.com/

                      1 Antwort Letzte Antwort
                      0
                      • V Offline
                        V Offline
                        vtwo
                        schrieb am zuletzt editiert von
                        #15

                        @Dutchman:

                        @Feuer001:

                        Hab da nochmal eine frage,

                        Die objecten runden immer ab, in vis kannst du im widget angeben wieviel stellen immer hinterm comma gezeigt werden muessen.

                        • Dutch

                        Hi,

                        ich muss das alte Thema nochmal aufgreifen. Welches Widget nutzt du dafür? Bei mir kann ich keine Kommastellen ausgeben bzw habe die Auswahl nicht. Ich nutze zum Anzeigen von Temperten Basic Strick dort gibt es aber das Feld erweitert mit den Komma stellen nicht? Gerade in Bezug auf Xiaomi dort werden mir 2 komme stellen ausgegeben aber es reicht eine

                        Grüße

                        Clemens

                        <size size="85">ioBroker und Homebridge auf Mac OSX - Raspberry PI3 für RaspBee Premium und einen für unsere Fotobox - div. Hue, Tradfri, Osram, Wifilight, Tado, Netgear Arlo, Xiaomi und Sonoff krims krams - Sonos, Bose, Echo Show, e…</size>

                        1 Antwort Letzte Antwort
                        0
                        • F Feuer001

                          Hallo,

                          ich bin ganz neu in dem Thema Mqtt-ioBroker.

                          Ich habe mir den ioBroker mit dem Modul MQTT-Adapter (auf Server Konfiguriert) auf einem Raspi3 installiert.

                          Als Aktor habe ich ein Sonoff-Basic mit der Tasmota Firmware.

                          Das läuft auch soweit, nur leider bekomme ich die Daten aus dem Sonoff-Modul fast alle im JSON-Format.

                          Welches wie für die Temperatur-Sensoren in der Variable "SENSOR" zu finden ist und wie folgt aussieht:

                          {"Time":"2017-05-19T11:33:10", "DS18x20":{"DS1":{"Type":"DS18B20", "Address":"28FFB2AD621603FE", "Temperature":19.8}, "DS2":{"Type":"DS18B20", "Address":"28FF598A621603A2", "Temperature":13.5}}, "TempUnit":"C"}
                          

                          Jetzt wäre meine Frage, wie ich die beiden Temperaturen in einzelne Variablen bekomme?

                          Soweit ich das bis jetzt verstanden habe muss ich irgendwo einen Code hinschreiben, der das irgendwie auseinander fummelt und dann z.B. in die Var Temp1 und Temp2 schreibt…

                          F Offline
                          F Offline
                          Feuer001 0
                          schrieb am zuletzt editiert von
                          #16

                          @feuer001
                          Leider muss ich nochmal fragen, ich habe die ganze Zeit dieses Script benutzt um Temperaturen aus einem JSON auszulesen, was auch sehr lange Zeit funktioniert hat. Nach einem defekt meiner Speicherkarte muss ich jetzt leider alles neu einrichten und auch alle meine Scripts neu erstellen. Jetzt habe ich dieses Forum wiedergefunden wo damals schonmal fragen musste. Und da ich jetzt auch auf den aktuellen iobroker aktualisiert habe, läuft leider dieses Script nicht mehr. Könnte vielleicht einer nochmal so nett sein und mir nochmals helfen??
                          Gruß
                          Feuer001

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • F Feuer001 0

                            @feuer001
                            Leider muss ich nochmal fragen, ich habe die ganze Zeit dieses Script benutzt um Temperaturen aus einem JSON auszulesen, was auch sehr lange Zeit funktioniert hat. Nach einem defekt meiner Speicherkarte muss ich jetzt leider alles neu einrichten und auch alle meine Scripts neu erstellen. Jetzt habe ich dieses Forum wiedergefunden wo damals schonmal fragen musste. Und da ich jetzt auch auf den aktuellen iobroker aktualisiert habe, läuft leider dieses Script nicht mehr. Könnte vielleicht einer nochmal so nett sein und mir nochmals helfen??
                            Gruß
                            Feuer001

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #17

                            @feuer001-0 sagte in Temperatur aus JSON auslesen:

                            läuft leider dieses Script nicht mehr.

                            Die drei Datenpunkte vom Typ "string" mit den folgenden IDs exisitieren?

                            const idJSON = 'mqtt.0.SENSOR';  // Datenpunkt-ID mit JSON-String
                            const idTemp1 = 'mqtt.0.Temperatur1';
                            const idTemp2 = 'mqtt.0.Temperatur2';
                            
                            function JSONtoTemp(json) {
                                let obj = JSON.parse(json);
                                let Temp1 = obj.DS18x20.DS1.Temperature;
                                let Temp2 = obj.DS18x20.DS2.Temperature;
                                setState(idTemp1, Temp1.toFixed(1) + ' °C');
                                setState(idTemp2, Temp2.toFixed(1) + ' °C');
                            }
                             
                            JSONtoTemp(getState(idJSON).val);  // Script start
                             
                            on(idJSON, function(dp) {  // triggern bei Wertänderung
                                JSONtoTemp(dp.state.val);
                            });
                            

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            F 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @feuer001-0 sagte in Temperatur aus JSON auslesen:

                              läuft leider dieses Script nicht mehr.

                              Die drei Datenpunkte vom Typ "string" mit den folgenden IDs exisitieren?

                              const idJSON = 'mqtt.0.SENSOR';  // Datenpunkt-ID mit JSON-String
                              const idTemp1 = 'mqtt.0.Temperatur1';
                              const idTemp2 = 'mqtt.0.Temperatur2';
                              
                              function JSONtoTemp(json) {
                                  let obj = JSON.parse(json);
                                  let Temp1 = obj.DS18x20.DS1.Temperature;
                                  let Temp2 = obj.DS18x20.DS2.Temperature;
                                  setState(idTemp1, Temp1.toFixed(1) + ' °C');
                                  setState(idTemp2, Temp2.toFixed(1) + ' °C');
                              }
                               
                              JSONtoTemp(getState(idJSON).val);  // Script start
                               
                              on(idJSON, function(dp) {  // triggern bei Wertänderung
                                  JSONtoTemp(dp.state.val);
                              });
                              
                              F Offline
                              F Offline
                              Feuer001 0
                              schrieb am zuletzt editiert von
                              #18

                              @paul53
                              Vielen Herzlichen Dank
                              Läuft wieder, hat sich mal wieder was geändert.
                              Und sorry, für die späte Rückmeldung.

                              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

                              713

                              Online

                              32.5k

                              Benutzer

                              81.7k

                              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