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. Skripten / Logik
  4. MQTT String aufteilen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

MQTT String aufteilen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
18 Beiträge 4 Kommentatoren 1.7k Aufrufe 2 Watching
  • Ä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.
  • A Offline
    A Offline
    albi_63
    schrieb am zuletzt editiert von
    #3

    Hallo paul

    Besten Dank für dein script. Ich habe dieses in JS implementiert, allerdings sehe ich im IoBroker keine weiteren Datenpunkte und das script sendet mir fortlaufend falsche Werte:

    22:00:15.124	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
    22:00:15.128	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
    22:00:15.133	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
    22:00:15.138	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
    22:00:25.118	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
    22:00:25.126	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
    22:00:25.140	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
    22:00:25.150	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
    22:00:35.159	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
    22:00:35.167	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
    22:00:35.175	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
    22:00:35.178	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
    22:00:45.126	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
    22:00:45.132	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
    22:00:45.137	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
    22:00:45.142	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
    22:00:55.101	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
    22:00:55.108	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
    22:00:55.114	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
    22:00:55.120	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
    

    Das sind die aktuellen Werte:
    Sonoff.jpg

    Leider stehe ich hier voll an......
    Was muss ich anpassen damit das script funktioniert?

    Danke dir

    paul53P 1 Antwort Letzte Antwort
    0
    • A albi_63

      Hallo paul

      Besten Dank für dein script. Ich habe dieses in JS implementiert, allerdings sehe ich im IoBroker keine weiteren Datenpunkte und das script sendet mir fortlaufend falsche Werte:

      22:00:15.124	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
      22:00:15.128	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
      22:00:15.133	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
      22:00:15.138	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
      22:00:25.118	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
      22:00:25.126	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
      22:00:25.140	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
      22:00:25.150	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
      22:00:35.159	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
      22:00:35.167	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
      22:00:35.175	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
      22:00:35.178	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
      22:00:45.126	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
      22:00:45.132	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
      22:00:45.137	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
      22:00:45.142	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
      22:00:55.101	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:17:4)
      22:00:55.108	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:19:4)
      22:00:55.114	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:21:4)
      22:00:55.120	warn	javascript.0 (768) at Object.<anonymous> (script.js.common.Wassertank.WemosD1:23:4)
      

      Das sind die aktuellen Werte:
      Sonoff.jpg

      Leider stehe ich hier voll an......
      Was muss ich anpassen damit das script funktioniert?

      Danke dir

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #4

      @albi_63 sagte:

      Was muss ich anpassen damit das script funktioniert?

      Du must die 4 Datenpunkte erstellen (z.B. manuell im Tab "Objekte" unter "0_userdata.0") und die IDs dieser Datenpunkte oben im Script eintragen.

      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
      • A Offline
        A Offline
        albi_63
        schrieb am zuletzt editiert von
        #5

        Hoi Paul
        Bitte entschuldige aber ich komme nicht weiter.
        Bitte mache mir ein Beispiel für einen Datenpunkt.
        Ich bin noch am Anfänger....:anguished:

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          albi_63
          schrieb am zuletzt editiert von
          #6

          Hoi Paul
          Jetzt habe ich es geschnallt, hat ein weilchen gedauert. Habe null Ahnung von JS.......
          Hier ein Datenpunkt:
          idDSTemp.jpg
          Vielen Dank dir.
          :+1: :laughing:

          J 1 Antwort Letzte Antwort
          0
          • A albi_63

            Hoi Paul
            Jetzt habe ich es geschnallt, hat ein weilchen gedauert. Habe null Ahnung von JS.......
            Hier ein Datenpunkt:
            idDSTemp.jpg
            Vielen Dank dir.
            :+1: :laughing:

            J Offline
            J Offline
            Jan.S100
            schrieb am zuletzt editiert von
            #7

            @albi_63 Hallo.
            Benutzt du eigentlich nur Sonoff Geräte?
            Wenn ja probiere Mal den Sonoff Adapter.

            Aber bitte darauf achten, das entweder der MQTT Adapter läuft oder der Sonoff Adapter.

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              albi_63
              schrieb am zuletzt editiert von
              #8

              Hallo Jan

              Ich habe ein Wemos D1 mit Sonos geflasht auf welchem ich die Zustände des Wassertanks abfrage, ansonsten habe ich gar keine Sonosgeräte am laufen.

              Gruss Albi

              J 1 Antwort Letzte Antwort
              0
              • A albi_63

                Hallo Jan

                Ich habe ein Wemos D1 mit Sonos geflasht auf welchem ich die Zustände des Wassertanks abfrage, ansonsten habe ich gar keine Sonosgeräte am laufen.

                Gruss Albi

                J Offline
                J Offline
                Jan.S100
                schrieb am zuletzt editiert von Jan.S100
                #9

                @albi_63 Dann solltest du mit dem Sonoff Adapter besser zu recht kommen.
                Hast du es schon ausprobiert?

                So sieht die Datenstruktur aus.
                Screenshot_2020-06-12-16-11-47~2.png

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  albi_63
                  schrieb am zuletzt editiert von
                  #10

                  Hallo Jan
                  Wenn ich die Sonoff Instanz starte bleibt die Rot. Wenn ich den Port von 1883 auf 1884 ändere und in den MQTT Einstellungungen des NodeMCU die Einstellungen vom Port und Passwort ändere geht der Adapter auf grün, allerdings sehe ich unter Objekte nur:

                  Sonos.jpg

                  und keine weiteren Datenpunkte.
                  Temperatur, Distanz , Humidity ect nicht vorhanden.

                  Das kommt vom Nodemcu:

                  nodemcu.png

                  Was mache ich falsch?
                  Brauche ich die MQTT Instanz nicht mehr?

                  J 1 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    albi_63
                    schrieb am zuletzt editiert von
                    #11

                    @paul53
                    Hallo Paul
                    Wie definiere ich dein Script wenn ich zwei Temperatursensoren am laufen habe?
                    Ich habe da was versucht allerdings geht das in die Hose....

                    const idSensor = 'mqtt.0.Smarthome.Wassertank.tele.SENSOR';
                    
                    // const idDSTemp1 = '0_userdata.0.Objekte.Wassertank.Temp_DS18B20-1';
                    
                    // const idDSTemp2 = '0_userdata.0.Objekte.Wassertank.Temp_DS18B20-2';
                    
                    const idDHTemp = '0_userdata.0.Objekte.Wassertank.idDHTemp';
                    
                    const idDHHum  = '0_userdata.0.Objekte.Wassertank.idDSTemp';
                    
                    const idDist = '0_userdata.0.Objekte.Wassertank.SR04_Distance';
                    
                     
                    
                    on(idSensor, function(dp) { // triggert bei Wertänderung
                    
                       let obj = JSON.parse(dp.state.val);
                    
                      // setState(idDSTemp1, obj.DS18B20-1.Temperature, true);
                    
                       // setState(idDSTemp2, obj.DS18B20-2.Temperature, true);
                    
                       setState(idDHTemp, obj.DHT11.Temperature, true);
                    
                       setState(idDHHum, obj.DHT11.Humidity, true);
                    
                       setState(idDist, obj.SR04.Distance, true);
                    

                    Der String kommt folgendermassen an:

                    {"Time":"2020-06-12T18:56:00","DS18B20-1":{"Id":"01192A390A6C","Temperature":24.8},"DS18B20-2":{"Id":"0301A279895F","Temperature":22.4},"DHT11":{"Temperature":27.2,"Humidity":44.0},"SR04":{"Distance":30.000},"TempUnit":"C"}
                    

                    Danke für dein Feedback

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • A albi_63

                      @paul53
                      Hallo Paul
                      Wie definiere ich dein Script wenn ich zwei Temperatursensoren am laufen habe?
                      Ich habe da was versucht allerdings geht das in die Hose....

                      const idSensor = 'mqtt.0.Smarthome.Wassertank.tele.SENSOR';
                      
                      // const idDSTemp1 = '0_userdata.0.Objekte.Wassertank.Temp_DS18B20-1';
                      
                      // const idDSTemp2 = '0_userdata.0.Objekte.Wassertank.Temp_DS18B20-2';
                      
                      const idDHTemp = '0_userdata.0.Objekte.Wassertank.idDHTemp';
                      
                      const idDHHum  = '0_userdata.0.Objekte.Wassertank.idDSTemp';
                      
                      const idDist = '0_userdata.0.Objekte.Wassertank.SR04_Distance';
                      
                       
                      
                      on(idSensor, function(dp) { // triggert bei Wertänderung
                      
                         let obj = JSON.parse(dp.state.val);
                      
                        // setState(idDSTemp1, obj.DS18B20-1.Temperature, true);
                      
                         // setState(idDSTemp2, obj.DS18B20-2.Temperature, true);
                      
                         setState(idDHTemp, obj.DHT11.Temperature, true);
                      
                         setState(idDHHum, obj.DHT11.Humidity, true);
                      
                         setState(idDist, obj.SR04.Distance, true);
                      

                      Der String kommt folgendermassen an:

                      {"Time":"2020-06-12T18:56:00","DS18B20-1":{"Id":"01192A390A6C","Temperature":24.8},"DS18B20-2":{"Id":"0301A279895F","Temperature":22.4},"DHT11":{"Temperature":27.2,"Humidity":44.0},"SR04":{"Distance":30.000},"TempUnit":"C"}
                      

                      Danke für dein Feedback

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #12

                      @albi_63 sagte:

                      zwei Temperatursensoren am laufen habe?

                      DS18B20-1 und DS18B20-2 enthalten unzulässige Zeichen (-) für die Punkt-Notation. Der Zugriff muss dann anders erfolgen:

                         setState(idDSTemp1, obj['DS18B20-1'].Temperature, true);
                         setState(idDSTemp2, obj['DS18B20-2'].Temperature, 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
                      • A Offline
                        A Offline
                        albi_63
                        schrieb am zuletzt editiert von
                        #13

                        @paul53
                        Hallo Paul,
                        Ich danke dir vielmals. Es klappt wunderbar.:blush:

                        1 Antwort Letzte Antwort
                        0
                        • A albi_63

                          Hallo Jan
                          Wenn ich die Sonoff Instanz starte bleibt die Rot. Wenn ich den Port von 1883 auf 1884 ändere und in den MQTT Einstellungungen des NodeMCU die Einstellungen vom Port und Passwort ändere geht der Adapter auf grün, allerdings sehe ich unter Objekte nur:

                          Sonos.jpg

                          und keine weiteren Datenpunkte.
                          Temperatur, Distanz , Humidity ect nicht vorhanden.

                          Das kommt vom Nodemcu:

                          nodemcu.png

                          Was mache ich falsch?
                          Brauche ich die MQTT Instanz nicht mehr?

                          J Offline
                          J Offline
                          Jan.S100
                          schrieb am zuletzt editiert von
                          #14

                          @albi_63
                          Screenshot_2020-06-12-20-36-16~2.png

                          Alle drei Sachen angehakt?

                          Du kannst nur den Sonoff oder den MQTT Adapter laufen lassen.
                          Sonst kommen sie sich ins Gehege.
                          Oder wie du es gemacht hast, die Ports zu ändern.

                          1 Antwort Letzte Antwort
                          0
                          • A Offline
                            A Offline
                            albi_63
                            schrieb am zuletzt editiert von
                            #15

                            @Jan-S100
                            Hy Jan
                            Hatte alles schon so angeklickt wie du mir gesendet hast. Bekomme keine Daten.
                            Kann es an der alten Firmware "Sonoff-Tasmota 6.7.1" liegen? Wenn ich die aktuellste mit "8.x.x" aufspiele, bekomme ich meinen SR04 Sensor nicht mehr zur Auswahl. Allerdings habe ich mit der neusten Firmware jetzt noch nicht getestet, ob mir die Daten übermittelt werden.

                            J harrymH 2 Antworten Letzte Antwort
                            0
                            • A albi_63

                              @Jan-S100
                              Hy Jan
                              Hatte alles schon so angeklickt wie du mir gesendet hast. Bekomme keine Daten.
                              Kann es an der alten Firmware "Sonoff-Tasmota 6.7.1" liegen? Wenn ich die aktuellste mit "8.x.x" aufspiele, bekomme ich meinen SR04 Sensor nicht mehr zur Auswahl. Allerdings habe ich mit der neusten Firmware jetzt noch nicht getestet, ob mir die Daten übermittelt werden.

                              J Offline
                              J Offline
                              Jan.S100
                              schrieb am zuletzt editiert von
                              #16

                              @albi_63 Tja, da müssen wohl die Spezialisten ran. 🤔 So tief stecke ich dann doch nicht in der Materie.

                              1 Antwort Letzte Antwort
                              0
                              • A albi_63

                                @Jan-S100
                                Hy Jan
                                Hatte alles schon so angeklickt wie du mir gesendet hast. Bekomme keine Daten.
                                Kann es an der alten Firmware "Sonoff-Tasmota 6.7.1" liegen? Wenn ich die aktuellste mit "8.x.x" aufspiele, bekomme ich meinen SR04 Sensor nicht mehr zur Auswahl. Allerdings habe ich mit der neusten Firmware jetzt noch nicht getestet, ob mir die Daten übermittelt werden.

                                harrymH Offline
                                harrymH Offline
                                harrym
                                schrieb am zuletzt editiert von
                                #17

                                @albi_63 also 8.3.1.3 ist derzeit die aktuelleste (abseits von stable) .... und von 6.x auf 8.x ist ein großer sprung. andererseits werden da auch viele fehler behoben ;)

                                ASRock FM2A88X-ITX+ mit 32GB RAM, 128GB SSD mit Proxmox, 3x1 TB SSD als RAID mit CT und VMs.

                                1 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  albi_63
                                  schrieb am zuletzt editiert von
                                  #18

                                  @harrym
                                  Hy harrim
                                  Danke für dein Feedback.
                                  Ich hatte die 8.3.1 zu Anfang aufgespielt, bekam allerdings nicht mehr meinen Sensor SR04, danach ging ich Version um Version zurück bis mein Sensor wieder auftauchte und das bei der 6.7.1.
                                  Wenn ich jetzt die aktuellste wieder aufspiele funktioniert es vielleicht mit dem Sonos. Allerdings bringt mir das nichts, da ja die Werte vom SR04 nicht abesetzt werden können. Somit arbeite ich mit MQTT und dem Script von Paul. Das funktioniert soweit.
                                  Danke euch allen für die Unterstützung.

                                  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

                                  631

                                  Online

                                  32.7k

                                  Benutzer

                                  82.4k

                                  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