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. JSON Parse ohne vorherige Änderung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

JSON Parse ohne vorherige Änderung

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 2 Kommentatoren 203 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.
  • Steffen KüllmerS Offline
    Steffen KüllmerS Offline
    Steffen Küllmer
    schrieb am zuletzt editiert von
    #1

    Hi

    Ich habe einige Tasmota-Senoren per MQTT laufen. Nun wollte ich einen Datenpunkt erstellen, der die aktuelle IP aus "INFO2" herauslöst und im Userbereich speichert.

    Leider finde ich nur Skripte die auf eine Änderung triggern, und mit Java hab ich zuvor noch nie zu tun gehabt, warscheinlich steige ich deßhalb auch nicht mit der Syntax durch.

    Mein Anstatz war folgender:

            const idSensor_01_Info2       = 'mqtt.0.Tasmota.01_BME680.INFO2';
            var Tasmota_01_IP_Address     = '0_userdata.0.Datenpunkte.Tasmota.Tasmota_01_IP_Address';
    
               on(idSensor_01_Info2, function(dp) {          // triggert bei Wertänderung
                let obj = JSON.parse(dp.state.val);
                           
                setState(Tasmota_01_IP_Address,   obj.IPAddress, true);
                });
    

    Bei allen Messwerten funktioniert das, jedoch ändert sich INFO2 nie, außer man ändert die IP manuell im Sensor.

    paul53P 1 Antwort Letzte Antwort
    0
    • Steffen KüllmerS Steffen Küllmer

      Hi

      Ich habe einige Tasmota-Senoren per MQTT laufen. Nun wollte ich einen Datenpunkt erstellen, der die aktuelle IP aus "INFO2" herauslöst und im Userbereich speichert.

      Leider finde ich nur Skripte die auf eine Änderung triggern, und mit Java hab ich zuvor noch nie zu tun gehabt, warscheinlich steige ich deßhalb auch nicht mit der Syntax durch.

      Mein Anstatz war folgender:

              const idSensor_01_Info2       = 'mqtt.0.Tasmota.01_BME680.INFO2';
              var Tasmota_01_IP_Address     = '0_userdata.0.Datenpunkte.Tasmota.Tasmota_01_IP_Address';
      
                 on(idSensor_01_Info2, function(dp) {          // triggert bei Wertänderung
                  let obj = JSON.parse(dp.state.val);
                             
                  setState(Tasmota_01_IP_Address,   obj.IPAddress, true);
                  });
      

      Bei allen Messwerten funktioniert das, jedoch ändert sich INFO2 nie, außer man ändert die IP manuell im Sensor.

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

      @steffen-küllmer sagte: ändert sich INFO2 nie

      Dann ohne Trigger bei Skriptstart:

      const idSensor_01_Info2     = 'mqtt.0.Tasmota.01_BME680.INFO2';
      const Tasmota_01_IP_Address = '0_userdata.0.Datenpunkte.Tasmota.Tasmota_01_IP_Address';
       
      const obj = JSON.parse(getState(idSensor_01_Info2).val);                  
      setState(Tasmota_01_IP_Address, obj.IPAddress, true);
      

      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

      Steffen KüllmerS 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @steffen-küllmer sagte: ändert sich INFO2 nie

        Dann ohne Trigger bei Skriptstart:

        const idSensor_01_Info2     = 'mqtt.0.Tasmota.01_BME680.INFO2';
        const Tasmota_01_IP_Address = '0_userdata.0.Datenpunkte.Tasmota.Tasmota_01_IP_Address';
         
        const obj = JSON.parse(getState(idSensor_01_Info2).val);                  
        setState(Tasmota_01_IP_Address, obj.IPAddress, true);
        
        Steffen KüllmerS Offline
        Steffen KüllmerS Offline
        Steffen Küllmer
        schrieb am zuletzt editiert von
        #3

        Vielen Dank @paul53!!!
        Ich hab mir echt Stunden lang die Finger wund gegoogelt, aber diese elegante Lösung hab ich nicht gefunden.

        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

        757

        Online

        32.6k

        Benutzer

        82.0k

        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