Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Problem JSON string mit Klammer in Objektnamen

    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

    Problem JSON string mit Klammer in Objektnamen

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Neumis last edited by

      Hallo zusammen,
      ich bekomme von einem Sensor folgenden string per MQTT übermittelt:

      {"temperature":"12.69","humidity":"49","move count":"2","moving state":"0","pitch":"-4","roll":"2","voltage(mV)":"3040"}
      

      Jetzt möchte ich einzelne Werte aufteilen und in Datenpunkte schreiben.
      Dafür habe ich das folgende JS script, welches für temperatur und humidity wunderbar funktioniert.

      const AussenSensor = 'mqtt.0.Wohnwagen.Sensor_Aussen'		/*Daten von Wohnwagen Sensor Aussenbereich*/;
      
      const AussenTemp = '0_userdata.0.Wohnwagen.AussenTemp'	/*Temperatur Aussenbereich*/;
      const AussenHumi = '0_userdata.0.Wohnwagen.AussenHumidity'	/*Humidity Aussenbereich*/;
      const AussenBatt  = '0_userdata.0.Wohnwagen.AussenSensorBatterie'		/*Batterie mV Sensor Aussenbereich*/;
      
      on(AussenSensor, function(dp) { // triggert bei Wertänderung
      
         let obj = JSON.parse(dp.state.val);
         setState(AussenTemp, obj.temperature, true);
         setState(AussenHumi, obj.humidity, true);
         setState(AussenBatt, obj.voltage(mV), true); 
      
      });
      

      Allerdings wird in dem String die Spannung mit der Bezeichung "voltage(mV)" geliefert. Und hiermit hat das script wohl wegen dem (mV) seine Probleme.
      In den Datenpunkt wird hier {"ack":true} geschrieben anstelle des Wertes. Leider kann ich das am Sensor auch nicht ändern.
      Hat einer eine Idee wie ich das Script anpassen muss damit ich den Wert in den Datenpunkt geschrieben bekomme?

      Danke schon mal

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Neumis last edited by

        @neumis sagte in Problem JSON string mit Klammer in Objektnamen:

        {"temperature":"12.69","humidity":"49","move count":"2","moving state":"0","pitch":"-4","roll":"2","voltage(mV)":"3040"}

        Schreib mal

        obj["voltage(mV)"]
        

        ohne Punkt dazwischen.

        N 1 Reply Last reply Reply Quote 0
        • N
          Neumis @mickym last edited by

          @mickym
          Klasse! Das ist es 👍

          Danke für den Tipp und schöne Ostern.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          838
          Online

          31.8k
          Users

          80.1k
          Topics

          1.3m
          Posts

          2
          3
          147
          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