Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] MQTT nur bestimmte Werte auslesen

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] MQTT nur bestimmte Werte auslesen

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

      Dann werde ich das Skript noch um den Datenpunkt für das Ergebnis erweitern.

      const idRaw = '...'; // Datenpunkt-ID MQTT: Eintragen !
      const idRangeOff = 'USV.RangeOff'; // Datenpunkt-ID für Ergebnis (bitte anpassen)
      
      // Datenpunkt erzeugen
      createState(idRangeOff, 0, {
         type: 'number',
         name: 'Batterie Range AC Aus',
         unit: '?'  // Bitte anpassen
      });
      
      on(idRaw, function(dp) {
         var obj = JSON.parse(dp.state.val);
         var range = parseFloat(obj.BatteryStatusRecords.CruisingRangeAcOff);
         setState(idRangeOff, range, true);
      });
      
      1 Reply Last reply Reply Quote 0
      • J
        jprisum.de last edited by

        Ich habe dein zweites Script eingefügt leider zeigt er mir nur 0 km an.

        2 = ist das so gemeint ?

        3 = das wäre der Wert den ich gerne hätte.
        12372_io-skript.png

        Mfg

        JP

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          /leaf/status/raw
          

          ist sicher nicht die Datenpunkt-ID, vielleicht ist es der Name ? Die Datemumkt-ID beginnt wahrscheinlich mit mqtt.0. Du kannst

          "ID einfügen" rechts oben im JS-Editor verwenden.

          Bevor die initiale 0 mit dem Wert aus dem JSON ersetzt wird, muss sich der Inhalt des JSON erst einmal ändern. Es kann also eine Weile dauern.

          1 Reply Last reply Reply Quote 0
          • J
            jprisum.de last edited by

            12372_km-script.jpg

            so sieht es bei mir aus !

            Und geändert habe ich jetzt

            const idRaw = "mqtt.0"; // Datenpunkt-ID MQTT: Eintragen !

            const idRangeOff = "mqtt.0.leaf.status.raw"/leaf/status/raw/;

            Danke das du mir dabei hilfst, da muss ich noch viel lernen. (:-o)

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Javascript-Code bitte in Code tags (5. Button oben) einfügen !

              Richtig:

              const idRaw = "mqtt.0.leaf.status.raw"/*leaf/status/raw*/; // Datenpunkt-ID MQTT: Eintragen !
              const idRangeOff = 'CruisingRangeAcOff';
              // oder besser mit Ordnerstruktur
              const idRangeOff = 'Battery.CruisingRangeAcOff';
              
              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                Wenn der richtige Wert gleich bei Skriptstart in den Ergebnis-Datenpunkt geschrieben werden soll, dann so

                const idRaw = "mqtt.0.leaf.status.raw"/*leaf/status/raw*/; // Datenpunkt-ID MQTT
                const idRangeOff = 'Battery.CruisingRangeAcOff';
                
                // Datenpunkt erzeugen
                createState(idRangeOff, 0, {
                   type: 'number',
                   name: 'Batterie Range AC Aus',
                   unit: 'km'  
                });
                
                function battery(json) {
                   var obj = JSON.parse(json);
                   var range = parseFloat(obj.BatteryStatusRecords.CruisingRangeAcOff);
                   setState(idRangeOff, range/1000, true);
                }
                
                battery(getState(idRaw).val); // Skriptstart
                
                on(idRaw, function(dp) {
                   battery(dp.state.val);
                });
                
                
                1 Reply Last reply Reply Quote 0
                • J
                  jprisum.de last edited by

                  > Javascript-Code bitte in Code tags (5\. Button oben) einfügen !

                  leider weiß ich noch nicht was du damit meinst 😞

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    @jp@risum.de:

                    leider weiß ich noch nicht was du damit meinst `
                    493_code_tags.jpg

                    1 Reply Last reply Reply Quote 0
                    • J
                      jprisum.de last edited by

                      Vielen Dank für deine schnelle und Erfolgreiche Hilfe
                      12372_finale.jpg

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        Bitte das Thema im Betreff des ersten Beitrags als [gelöst] markieren.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        573
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        2
                        15
                        1528
                        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