Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT)

Scheduled Pinned Locked Moved Einsteigerfragen
11 Posts 3 Posters 904 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    hualex
    wrote on last edited by
    #1

    Ich habe folgende Frage:
    An welche Stelle (welcher Adapter ist hier zuständig) gehört folgender Fehler adressiert/gemeldet?

    Kurze Beschreibung:
    Ich verarbeite Sensordaten aus Tasmota per Objekte.Alias (nicht Alias-Manager) weiter, indem ich die Sensorwerte aus dem jeweiligen JSON-Objekt der MQTT-Message parse. (z.B. so: JSON.parse(val).ADS1115.A0) das funktioniert soweit super, solange nur ein Sensor gleichen Typs existiert. Ab dem 2. Sensor sendet Tasmota zur Identifizierung des entsprechenden Sensors im Property die I2C-Adresse des Sensors mit, also statt ADS1115 nun z.B. ADS1115-48 (0x48 ist die I2C-Adresse). Dummerweise kann man den Sensornamen in Tasmota nicht ohne Eingriffe im Quellcode ändern (soweit mir bekannt). Iobroker wiederum stößt sich (wahrscheinlich) am Bindestrich im Property.
    Wenn ich die Lesefunktion unter Objekte/Alias nun auf das korrekte Property ADS1115-48.A0 ändere, schlägt das Lesen des Wertes fehl.

    das steht im Protokoll (Pfad gekürzt):

    2024-05-16 17:31:24.315 - error: admin.0 (607) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token
    2024-05-16 17:31:24.315 - error: javascript.0 (637) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token

    Wohin muss ich den Fehler melden? JS-Adapter? Admin-Adapter? Welcher Bereich in Iobroker ist für das Parsen in den Alias-Objekten zuständig.

    Vielleicht kann mir jemand einen Tipp geben, Vielen Dank schon mal.

    paul53P HomoranH 2 Replies Last reply
    0
    • H hualex

      Ich habe folgende Frage:
      An welche Stelle (welcher Adapter ist hier zuständig) gehört folgender Fehler adressiert/gemeldet?

      Kurze Beschreibung:
      Ich verarbeite Sensordaten aus Tasmota per Objekte.Alias (nicht Alias-Manager) weiter, indem ich die Sensorwerte aus dem jeweiligen JSON-Objekt der MQTT-Message parse. (z.B. so: JSON.parse(val).ADS1115.A0) das funktioniert soweit super, solange nur ein Sensor gleichen Typs existiert. Ab dem 2. Sensor sendet Tasmota zur Identifizierung des entsprechenden Sensors im Property die I2C-Adresse des Sensors mit, also statt ADS1115 nun z.B. ADS1115-48 (0x48 ist die I2C-Adresse). Dummerweise kann man den Sensornamen in Tasmota nicht ohne Eingriffe im Quellcode ändern (soweit mir bekannt). Iobroker wiederum stößt sich (wahrscheinlich) am Bindestrich im Property.
      Wenn ich die Lesefunktion unter Objekte/Alias nun auf das korrekte Property ADS1115-48.A0 ändere, schlägt das Lesen des Wertes fehl.

      das steht im Protokoll (Pfad gekürzt):

      2024-05-16 17:31:24.315 - error: admin.0 (607) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token
      2024-05-16 17:31:24.315 - error: javascript.0 (637) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token

      Wohin muss ich den Fehler melden? JS-Adapter? Admin-Adapter? Welcher Bereich in Iobroker ist für das Parsen in den Alias-Objekten zuständig.

      Vielleicht kann mir jemand einen Tipp geben, Vielen Dank schon mal.

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2

      @hualex sagte: einen Tipp

      JSON.parse(val)['ADS1115-48'].A0
      

      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

      H 2 Replies Last reply
      1
      • paul53P paul53

        @hualex sagte: einen Tipp

        JSON.parse(val)['ADS1115-48'].A0
        
        H Offline
        H Offline
        hualex
        wrote on last edited by
        #3

        @paul53

        das werde ich sofort ausprobieren, Danke schon mal!

        1 Reply Last reply
        0
        • paul53P paul53

          @hualex sagte: einen Tipp

          JSON.parse(val)['ADS1115-48'].A0
          
          H Offline
          H Offline
          hualex
          wrote on last edited by
          #4

          @paul53 said in Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT):

          JSON.parse(val)['ADS1115-48'].A0

          Habe meine Platine kurz umgebaut und: Das funktioniert! Vielen lieben Dank!!!

          Jetzt wüsste ich nur gern, warum... Was macht ['xxx']?

          paul53P 1 Reply Last reply
          0
          • H hualex

            @paul53 said in Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT):

            JSON.parse(val)['ADS1115-48'].A0

            Habe meine Platine kurz umgebaut und: Das funktioniert! Vielen lieben Dank!!!

            Jetzt wüsste ich nur gern, warum... Was macht ['xxx']?

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @hualex sagte: Was macht ['xxx']?

            Das ist eine alternative Schreibweise zur Punkt-Notation, die erforderlich ist, wenn unzulässige Zeichen enthalten sind. Man kann auch schreiben

            JSON.parse(val)['ADS1115-48']['A0']
            

            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

            H 1 Reply Last reply
            0
            • paul53P paul53

              @hualex sagte: Was macht ['xxx']?

              Das ist eine alternative Schreibweise zur Punkt-Notation, die erforderlich ist, wenn unzulässige Zeichen enthalten sind. Man kann auch schreiben

              JSON.parse(val)['ADS1115-48']['A0']
              
              H Offline
              H Offline
              hualex
              wrote on last edited by
              #6

              @paul53

              Das werde ich mir "sowas" von einprägen ;-)
              Nochmal ganz herzlichen Dank, du hast mir meinen Abend gerettet und mehrere Probleme gelöst.

              HomoranH 1 Reply Last reply
              0
              • H hualex

                @paul53

                Das werde ich mir "sowas" von einprägen ;-)
                Nochmal ganz herzlichen Dank, du hast mir meinen Abend gerettet und mehrere Probleme gelöst.

                HomoranH Do not disturb
                HomoranH Do not disturb
                Homoran
                Global Moderator Administrators
                wrote on last edited by
                #7

                @hualex als Zusatz zu @hualex das - würde sonst als Rechenzeichen interpretiert werden können

                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                H 1 Reply Last reply
                0
                • HomoranH Homoran

                  @hualex als Zusatz zu @hualex das - würde sonst als Rechenzeichen interpretiert werden können

                  H Offline
                  H Offline
                  hualex
                  wrote on last edited by
                  #8

                  @homoran
                  an das "Rechenzeichen" hatte ich noch gar nicht gedacht, macht das Verhalten von iob für mich aber plausibel(er)

                  paul53P 1 Reply Last reply
                  0
                  • H hualex

                    @homoran
                    an das "Rechenzeichen" hatte ich noch gar nicht gedacht, macht das Verhalten von iob für mich aber plausibel(er)

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    @hualex sagte: das Verhalten von iob

                    Das Verhalten von Javascript.

                    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 Reply Last reply
                    0
                    • H hualex

                      Ich habe folgende Frage:
                      An welche Stelle (welcher Adapter ist hier zuständig) gehört folgender Fehler adressiert/gemeldet?

                      Kurze Beschreibung:
                      Ich verarbeite Sensordaten aus Tasmota per Objekte.Alias (nicht Alias-Manager) weiter, indem ich die Sensorwerte aus dem jeweiligen JSON-Objekt der MQTT-Message parse. (z.B. so: JSON.parse(val).ADS1115.A0) das funktioniert soweit super, solange nur ein Sensor gleichen Typs existiert. Ab dem 2. Sensor sendet Tasmota zur Identifizierung des entsprechenden Sensors im Property die I2C-Adresse des Sensors mit, also statt ADS1115 nun z.B. ADS1115-48 (0x48 ist die I2C-Adresse). Dummerweise kann man den Sensornamen in Tasmota nicht ohne Eingriffe im Quellcode ändern (soweit mir bekannt). Iobroker wiederum stößt sich (wahrscheinlich) am Bindestrich im Property.
                      Wenn ich die Lesefunktion unter Objekte/Alias nun auf das korrekte Property ADS1115-48.A0 ändere, schlägt das Lesen des Wertes fehl.

                      das steht im Protokoll (Pfad gekürzt):

                      2024-05-16 17:31:24.315 - error: admin.0 (607) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token
                      2024-05-16 17:31:24.315 - error: javascript.0 (637) Invalid read function for "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0" => Invalid or unexpected token

                      Wohin muss ich den Fehler melden? JS-Adapter? Admin-Adapter? Welcher Bereich in Iobroker ist für das Parsen in den Alias-Objekten zuständig.

                      Vielleicht kann mir jemand einen Tipp geben, Vielen Dank schon mal.

                      HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by Homoran
                      #10

                      @hualex sagte in Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT):

                      "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0"

                      du hattest hier ja weder eckige Klammern noch Hochkommata drin

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      H 1 Reply Last reply
                      0
                      • HomoranH Homoran

                        @hualex sagte in Problem beim Parsen eines JSON-Objektes aus Tasmota (MQTT):

                        "alias.0.xxxx.Zisterne_Messwert": "JSON.parse(val).ADS1115-48.A0"

                        du hattest hier ja weder eckige Klammern noch Hochkommata drin

                        H Offline
                        H Offline
                        hualex
                        wrote on last edited by
                        #11

                        @homoran
                        man (ich) muss die mögliche Fehlinterpretation nur eben erst einmal erkennen ;-) und wissen, wie man dem begegnet... ich habe heute gelernt, dass hinter einem fx... nicht nur ein schnöder Pfad zum gewünschten Wert erwartet werden kann.
                        Vielen Dank nochmal an euch für die schnelle und lehrreiche Hilfe!

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        792

                        Online

                        32.5k

                        Users

                        81.7k

                        Topics

                        1.3m

                        Posts
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        logo
                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Home
                        • Recent
                        • Tags
                        • Unread 0
                        • Categories
                        • Unreplied
                        • Popular
                        • GitHub
                        • Docu
                        • Hilfe