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

      @jp@risum.de:

      wie kann ich diese Infoliation von Dir in IOBroker integrieren. `
      Im Javascript-Adapter.

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

        Super 🙂 ich mach mich gleich mal ran DANKE

        1 Reply Last reply Reply Quote 0
        • 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

                            506
                            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