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
    217

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

                              549

                              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