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. ioBroker Allgemein
  4. [gelöst] MQTT nur bestimmte Werte auslesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    244

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

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

[gelöst] MQTT nur bestimmte Werte auslesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 2 Kommentatoren 1.8k Aufrufe
  • Ä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.
  • J Offline
    J Offline
    jprisum.de
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich bin Anfänger (boar nun ist es raus)

    Ich bekomme aus MQTT /leaf/status/raw diese Werte:

    {"status": 200, "BatteryStatusRecords": {"BatteryStatus": {"BatteryRemainingAmountkWH": "", "SOC": {"Value": "51"}, "BatteryChargingStatus": "NORMAL_CHARGING", "BatteryRemainingAmount": "124", "BatteryCapacity": "240", "BatteryRemainingAmountWH": "20320"}, "TimeRequiredToFull200_6kW": {"MinutesRequiredToFull": "30", "HourRequiredToFull": "4"}, "OperationResult": "START", "NotificationDateAndTime": "2018/12/10 10:21", "CruisingRangeAcOff": "124000", "OperationDateAndTime": "10.Dez 2018 11:21", "CruisingRangeAcOn": "119000", "PluginState": "CONNECTED", "TargetDate": "2018/12/10 10:21"}, "VoltLabel": {"HighVolt": "240", "LowVolt": "120"}}
    

    Möchte aber nur "CruisingRangeAcOff": "124000" auslesen, geht so etwas ?

    Vielen Dank im voraus

    JP

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

      Das ist offenbar ein JSON-String.
      @jp@risum.de:

      Möchte aber nur "CruisingRangeAcOff": "124000" auslesen, geht so etwas ? `

      Das sollte so funktionieren:

      const idRaw = '...'; // Datenpunkt-ID MQTT
      
      on(idRaw, function(dp) {
         var obj = JSON.parse(dp.state.val);
         var range = parseFloat(obj.BatteryStatusRecords.CruisingRangeAcOff);
         ...
      });
      

      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
      • J Offline
        J Offline
        jprisum.de
        schrieb am zuletzt editiert von
        #3

        @paul53:

        Das ist offenbar ein JSON-String.
        @jp@risum.de:

        Möchte aber nur "CruisingRangeAcOff": "124000" auslesen, geht so etwas ? `

        Das sollte so funktionieren:

        const idRaw = '...'; // Datenpunkt-ID MQTT
        
        on(idRaw, function(dp) {
           var obj = JSON.parse(dp.state.val);
           var range = parseFloat(obj.BatteryStatusRecords.CruisingRangeAcOff);
           ...
        });
        ```` `  
        

        Vielen Dank für die schnelle Antwort, wie kann ich diese Infoliation von Dir in IOBroker integrieren.

        Mfg

        JP

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

          @jp@risum.de:

          wie kann ich diese Infoliation von Dir in IOBroker integrieren. `
          Im Javascript-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
          • J Offline
            J Offline
            jprisum.de
            schrieb am zuletzt editiert von
            #5

            Super :-) ich mach mich gleich mal ran DANKE

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

              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);
              });
              

              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
              • J Offline
                J Offline
                jprisum.de
                schrieb am zuletzt editiert von
                #7

                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 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8
                  /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.

                  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
                  • J Offline
                    J Offline
                    jprisum.de
                    schrieb am zuletzt editiert von
                    #9

                    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 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #10

                      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';
                      

                      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
                        #11

                        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);
                        });
                        
                        

                        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
                        • J Offline
                          J Offline
                          jprisum.de
                          schrieb am zuletzt editiert von
                          #12

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

                          leider weiß ich noch nicht was du damit meinst :-(

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

                            @jp@risum.de:

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

                            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
                            • J Offline
                              J Offline
                              jprisum.de
                              schrieb am zuletzt editiert von
                              #14

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

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

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

                                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
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

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

                                598

                                Online

                                32.7k

                                Benutzer

                                82.5k

                                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