Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    10
    1
    206

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    768

[gelöst] MQTT nur bestimmte Werte auslesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
15 Beiträge 2 Kommentatoren 1.9k 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: Asus PN 42 / N100 / 8 GB / 500 GB

      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: Asus PN 42 / N100 / 8 GB / 500 GB

          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: Asus PN 42 / N100 / 8 GB / 500 GB

              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: Asus PN 42 / N100 / 8 GB / 500 GB

                  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: Asus PN 42 / N100 / 8 GB / 500 GB

                      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: Asus PN 42 / N100 / 8 GB / 500 GB

                        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: Asus PN 42 / N100 / 8 GB / 500 GB

                            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: Asus PN 42 / N100 / 8 GB / 500 GB

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                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

                                560

                                Online

                                32.9k

                                Benutzer

                                83.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