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. ioBroker Allgemein
  4. Besser MQTT einsetzen für Spark Core und ESP8266?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Besser MQTT einsetzen für Spark Core und ESP8266?

Scheduled Pinned Locked Moved ioBroker Allgemein
45 Posts 5 Posters 7.8k Views
  • 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.
  • V Offline
    V Offline
    vader722
    wrote on last edited by
    #21

    Ich hatte schon eine (verschiedene Masken eingegeben, Effekt war aber der selbe).

    Daraufhin habe ich die neue Version mal ausprobiert und es sieht folgendermassen aus:

    157_bildschirmfoto_2015-05-16_um_09.16.56.png

    Subscription, dieses mal mit Mosquitto:

    157_bildschirmfoto_2015-05-16_um_09.19.07.png

    Zuerst werden alle States brav übertragen. Danach kommt jedoch nur eine Message von "system/adapter/hm-rpc/1/connected" und diese zyklisch. Alle anderen Werte, welche sich laut "Ereignisse" ändern kommen anscheinend nicht an:

    157_bildschirmfoto_2015-05-16_um_09.18.42.png
    (Ich habe ein paar Leerzeilen eingefügt, nachdem die Übertragung aller Werte durch ist)

    Wenn ich das recht verstehe müssten doch alle, sich ändernden Werte in meiner Subscription auftauchen ?

    @StefSign

    ` > MQTT.fx sieht nett aus, aber probier doch mal Mosquitto. Interessant ist der letzte Teil von http://nthn.me/posts/2012/mqtt.html.

    Welchen Vorteil hat ioBroker als MQTT Broker? `
    Du hast den Zugriff auf die ioBroker Objekte/Ereignisse. Wenn ioBroker Client wäre, müsstest Du erstmal die Stati auf den Mosquitto Server pushen..so geht das aus ioBroker heraus.

    Gruss Marco

    1 Reply Last reply
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      wrote on last edited by
      #22

      .

      ich muss noch einmal nachfragen…

      seit ein paar Tagen erhalte ich über mqtt (sowohl im mqtt Adapter, als auch im mqtt Node in Node-red) keinen lesbaren Text mehr, sondern nur noch eine Zahlenkolonne, mit Komma getrennt.

      So fängt z.B. so eine Kolonne an:

      123,34,116,115,116,34...usw.,
      

      Liegt das an der neuen Version des mqtt Adapters?

      Zu dem Zeitpunkt fing das ungefähr an.

      Wenn ich so Zahlen gespeichert habe…

      Kann ich diese irgendwie umwandeln?

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Reply Last reply
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        wrote on last edited by
        #23

        @ruhr70:

        .

        ich muss noch einmal nachfragen…

        seit ein paar Tagen erhalte ich über mqtt (sowohl im mqtt Adapter, als auch im mqtt Node in Node-red) keinen lesbaren Text mehr, sondern nur noch eine Zahlenkolonne, mit Komma getrennt.

        So fängt z.B. so eine Kolonne an:

        123,34,116,115,116,34...usw.,
        

        Liegt das an der neuen Version des mqtt Adapters?

        Zu dem Zeitpunkt fing das ungefähr an.

        Wenn ich so Zahlen gespeichert habe…

        Kann ich diese irgendwie umwandeln? `

        OK, mit diversen Versuchen habe ich nun rausbekommen, dass es sich dabei um die einzelnen Zeichen in utf-8 dezimal und durch Komma getrennt handelt.

        Über die Seite http://software.hixie.ch/utilities/cgi/ … f8-decoder bekomme ich die Zahlenkolonnen decodiert, wenn ich beim EIngabeformat Freeform Numeric auswähle.

        Dann habe ich immer noch zwei Fragen ;-) nun etwas anders:

        1.) liegt nun ein "Fehler" beim mqtt vor? Oder muss ich bei mir suchen (hab da nichts dran geändert).

        2.) wenn das so gewollt ist. Hat jemand einen Code parat, mit dem man de Stream im obigen Format wandeln kann?

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Reply Last reply
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          wrote on last edited by
          #24

          @ruhr70:

          1.) liegt nun ein "Fehler" beim mqtt vor? Oder muss ich bei mir suchen (hab da nichts dran geändert).

          2.) wenn das so gewollt ist. Hat jemand einen Code parat, mit dem man de Stream im obigen Format wandeln kann? `
          Wo bei dir? SparkCore mit C?

          Wie betreibst du MQTT Adapter als Server oder als Client?

          1 Reply Last reply
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            wrote on last edited by
            #25

            @vader722:

            Ich hatte schon eine (verschiedene Masken eingegeben, Effekt war aber der selbe).

            Daraufhin habe ich die neue Version mal ausprobiert und es sieht folgendermassen aus:

            filename="Bildschirmfoto 2015-05-16 um 09.16.56.png" index="3">~~

            Subscription, dieses mal mit Mosquitto:

            filename="Bildschirmfoto 2015-05-16 um 09.19.07.png" index="1">~~

            Zuerst werden alle States brav übertragen. Danach kommt jedoch nur eine Message von "system/adapter/hm-rpc/1/connected" und diese zyklisch. Alle anderen Werte, welche sich laut "Ereignisse" ändern kommen anscheinend nicht an:

            filename="Bildschirmfoto 2015-05-16 um 09.18.42.png" index="2">~~
            (Ich habe ein paar Leerzeilen eingefügt, nachdem die Übertragung aller Werte durch ist)

            Wenn ich das recht verstehe müssten doch alle, sich ändernden Werte in meiner Subscription auftauchen ?

            @StefSign

            ` > MQTT.fx sieht nett aus, aber probier doch mal Mosquitto. Interessant ist der letzte Teil von http://nthn.me/posts/2012/mqtt.html.

            Welchen Vorteil hat ioBroker als MQTT Broker? `
            Du hast den Zugriff auf die ioBroker Objekte/Ereignisse. Wenn ioBroker Client wäre, müsstest Du erstmal die Stati auf den Mosquitto Server pushen..so geht das aus ioBroker heraus.

            Gruss Marco `
            48_mqttsettings.jpg

            Mach bitte Flag AN. Dann wirst du auch Zustände und nicht nur Befehle bekommen.

            1 Reply Last reply
            0
            • ruhr70R Offline
              ruhr70R Offline
              ruhr70
              wrote on last edited by
              #26

              @Bluefox:

              @ruhr70:

              1.) liegt nun ein "Fehler" beim mqtt vor? Oder muss ich bei mir suchen (hab da nichts dran geändert).

              2.) wenn das so gewollt ist. Hat jemand einen Code parat, mit dem man de Stream im obigen Format wandeln kann? `
              Wo bei dir? SparkCore mit C?

              Wie betreibst du MQTT Adapter als Server oder als Client? `

              Ne… das hat bei mir mit dem Spark Core nichts zu tun...

              Ich hatte mich da mal drangehangen, da ungefähr zum Zeitpunkt der Änderungen am mqtt Adapter ich die Meldungen über mqtt nur noch als Dezimalzahlen mit utf-8 Werten erhalte.

              Vorher war es lesbarer Text. Siehe: http://forum.iobroker.org/viewtopic.php … =708#p5230

              Und das über zwei Wege gleichzeitig:

              1.) mqtt- Adapter schreibt in eine ioBroker Variable (mqtt.0.owntracks. …)

              2.) Node-red mqtt Node liefert ebenfalls nur noch Dezimalzahlen

              Komisch ist, dass es sowohl Node-red, als auch den mqtt-Adapter betrifft.

              Daher würde ich technisch den Fehler eher bei der iOS App Owntracks sehen.

              Komisch ist aber auch der zeitliche Zusammenhang mit der mqtt-Adapter Version und an der iOS App habe ich nichts geändert.

              Kann natürlich Zufall sein...

              Adapter: Fritzbox, Unify Circuit
              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

              1 Reply Last reply
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                wrote on last edited by
                #27

                Ich kenne doch deine Anlage nicht. Kannst du mir ein paar Details geben?

                Ich habe nur Vermutungen.

                • Du hast owntracks iOS App als MQTT Client

                • Du hast node-red als Broker/Server auf dem port 1883

                • Und parallel dazu mqtt-ioBroker-Adapter als Server auf einem Anderem port?

                Stimmt das?

                1 Reply Last reply
                0
                • BluefoxB Offline
                  BluefoxB Offline
                  Bluefox
                  wrote on last edited by
                  #28

                  @ruhr70:

                  .

                  Ich weiss nicht, ob es da einen Zusammenhang gibt.

                  Ungefähr seit der Zeit, seit dem der mqtt Adapter geändert wurde, wirft mein owntracks Flow (nutzt in einer Variante den mqtt Adapter) nur noch Fehler raus.

                  Ich habe das gleiche Thema aber auch mit dem mqtt Node in Node red. Da dürfte es ja eigentlich kein Zusammenhang geben.

                  Wo vorher die Daten reinkamen und dann über ein JSON Node liefen, bekomme ich heute nur Zahlenkolonnen.

                  123,34,116,115,116,34,58,34,49,...
                  

                  Die letzten verwertbaren Daten kamen vom 13.05. gegen 20:00 Uhr.

                  Komisch… da die mqtt node-red Node auch nicht funktioniert, würde ich ja sagen, dass es nicht am Adapter liegt.

                  An Owntracks dürfte sich aber auch nichts geändert haben.

                  Sowohl der ioBroker mqtt Adapter, als auch die Node in Node-red sind beide auf Port 1883 eingestellt.

                  Das hat bisher funktioniert. `
                  Im /opt/iobroker/node_modules/iobroker.mqtt/main.js

                  gibt es Zeile 434 (oder in der Nähe)

                  if (typeof packet.payload == 'object') packet.payload = packet.payload.toString();
                  

                  Kannst du die Zeile auf

                  if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                  

                  Ändern und Adapter neu starten?

                  1 Reply Last reply
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    wrote on last edited by
                    #29

                    @Bluefox:

                    .

                    Im /opt/iobroker/node_modules/iobroker.mqtt/main.js

                    gibt es Zeile 434 (oder in der Nähe)

                    if (typeof packet.payload == 'object') packet.payload = packet.payload.toString();
                    

                    Kannst du die Zeile auf

                    if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                    

                    Ändern und Adapter neu starten? `

                    Zeile habe ich geändert und beide Adapter (mqtt und Node-red) neu gestartet.

                    Es kommen weiterhin die Dezimalzahlen an.

                    @Bluefox:

                    Ich kenne doch deine Anlage nicht. Kannst du mir ein paar Details geben?

                    Ich habe nur Vermutungen.

                    • Du hast owntracks iOS App als MQTT Client

                    • Du hast node-red als Broker/Server auf dem port 1883

                    • Und parallel dazu mqtt-ioBroker-Adapter als Server auf einem Anderem port?

                    Stimmt das? `

                    • stimmt: Owntracks iOS App als MQTT Client. Seit einiger Zeit erfolgreich in Betrieb (bis zum 13.05.).

                    • Du hast node-red als Broker/Server auf dem port 1883

                    -> ich nutze eineNode-red mqtt Input Node auf Port 1883 (dürfte dann der Server sein)

                    • Und parallel dazu mqtt-ioBroker-Adapter als Server auf einem Anderem port?

                    -> und hier wird es kurios. der mqtt Adapter ist ebenfalls aktiv auf Port 1883, was ja nicht sein kann.

                    dazu unten mehr.

                    Ursprünglich hatte ich den mqtt Adapter aus ioBroker genutzt und als Trigger die Änderungen in Node-red verarbeitet.

                    Das hat wunderbar funktioniert. Der ganze Flow hing an der ioBroker EIngangs-Node. Den Node-red mqtt Input hatte ich davor versucht, das funktionierte nicht.

                    Dann habe ichspäter noch einmal den mqtt Input aus Node red funktioniert.

                    Auch auf Port 1883 (localhost), was sich eigentlich mit dem, noch aktiven, mqtt Adapter beissen müsste.

                    Da wurde der mqtt Node direkt grün (connection). So lief es dann einige Tag, bis nur noch die Zahlen kamen.

                    Wenn ich in der Konstellation den mqtt Adapter aus ioBroker stoppe, wird der mqtt Node aus Node-red rot (Disconnected).

                    327_2015-05-16_mqtt_adapter_einstellungen.png

                    327_2015-05-16_mqtt_in_node-red.png

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Reply Last reply
                    0
                    • V Offline
                      V Offline
                      vader722
                      wrote on last edited by
                      #30

                      Hi Bluefox

                      > Mach bitte Flag AN. Dann wirst du auch Zustände und nicht nur Befehle bekommen.

                      das wars ! Danke Dir. Das Flag hatte ich irgendwie völlig ignoriert :oops:

                      Gruss Marco

                      1 Reply Last reply
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        wrote on last edited by
                        #31

                        @ruhr70:

                        -> ich nutze eineNode-red mqtt Input Node auf Port 1883 (dürfte dann der Server sein)

                        • Und parallel dazu mqtt-ioBroker-Adapter als Server auf einem Anderem port?

                        -> und hier wird es kurios. der mqtt Adapter ist ebenfalls aktiv auf Port 1883, was ja nicht sein kann.

                        dazu unten mehr. `
                        Sorry aber zwei Server können nicht auf einem Port laufen. (mindestens wenn beide TCP oder UDP sind).

                        Der erste gewinnt, zweite soll dann die Fehler schreiben.

                        Kannst du einen Stoppen und das zum laufen bringen?

                        1 Reply Last reply
                        0
                        • ruhr70R Offline
                          ruhr70R Offline
                          ruhr70
                          wrote on last edited by
                          #32

                          @Bluefox:

                          Sorry aber zwei Server können nicht auf einem Port laufen. (mindestens wenn beide TCP oder UDP sind).

                          Der erste gewinnt, zweite soll dann die Fehler schreiben.

                          Kannst du einen Stoppen und das zum laufen bringen? `

                          Ja, das ist bekannt. Lässt der tvp/ip Stack nicht zu.

                          Da beide eine Verbindung angezeigt haben und Daten rausgeschmissen habe, war meine Vermutung, dass die mqtt Node den mqtt Adapter benötigt und nicht selbst auf Port1883 lauscht.

                          Die Vermutung wurde auch daher gestützt, dass die Node-red mqtt Input Node nur grün wurde, wenn auf dem Port auch der mqtt Adapter aktiv ist.

                          Wie dem auch sei…

                          Habe die Node-red Node nun auf Port 8883 geändert. Ist rot, da keine Gegenstelle.

                          Der mqtt Adapter ist aktiv. Schmeisst aber nur Dezimalzahlen raus...

                          Adapter: Fritzbox, Unify Circuit
                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                          1 Reply Last reply
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            wrote on last edited by
                            #33

                            Ich kann natürlich einbauen, dass wenn zwei Dezimalzahlen (oder mehr) da sind, dann wird es als Buffer interpretiert….

                            if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                            if (typeof packet.payload == 'string' && packet.payload.match(/(\d)+,\s?(\d)+/)) {
                                var parts = packet.payload.split(',');
                                var str = '';
                                for (var p = 0; p < parts.length; p++) {
                                      str += String.fromCharCode(parseInt(parts.trim(), 10));
                                }
                                packet.payload = str;
                            }
                            
                            

                            Kannst du das ausprobieren?
                            620_bildschirmfoto_2017-03-15_um_16.19.01.png
                            620_bildschirmfoto_2017-03-15_um_16.19.14.png

                            1 Reply Last reply
                            0
                            • ruhr70R Offline
                              ruhr70R Offline
                              ruhr70
                              wrote on last edited by
                              #34

                              @Bluefox:

                              Ich kann natürlich einbauen, dass wenn zwei Dezimalzahlen (oder mehr) da sind, dann wird es als Buffer interpretiert….

                              Kannst du das ausprobieren? `

                              Guten Morgen,

                              Ich habe den Code in main.js unter opt/iobroker/node_modules/iobroker.mqtt eingesetzt.

                              Anstelle von:

                              //            if (typeof packet.payload == 'object') packet.payload = packet.payload.toString();
                              //		if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                              

                              mqtt.Adapter in ioBroker neu gestartet. Log:

                              ! ` > mqtt-0 2015-05-17 08:18:25 info Client [iPhone 6] connected

                              mqtt-0 2015-05-17 08:18:25 info Client [iPhone 6] closed

                              mqtt-0 2015-05-17 08:18:24 info Client [iPhone 6] disconnected

                              mqtt-0 2015-05-17 08:13:20 info Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt.0.owntracks.ruhr..*/

                              mqtt-0 2015-05-17 08:13:20 info Client [iPhone 6] subscribes on "owntracks.ruhr.#" with regex /^owntracks.ruhr..*/

                              mqtt-0 2015-05-17 08:13:20 info Client [iPhone 6] subscribes on "mqtt.0.owntracks.+.+" with regex /mqtt.0.owntracks.[^.].[^.].$/

                              mqtt-0 2015-05-17 08:13:20 info Client [iPhone 6] subscribes on "owntracks.+.+" with regex /owntracks.[^.].[^.].$/

                              mqtt-0 2015-05-17 08:13:20 info Client [iPhone 6] connected

                              mqtt-0 2015-05-17 08:13:03 info Starting MQTT authenticated server on port 1883

                              mqtt-0 2015-05-17 08:13:03 info starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.mqtt

                              mqtt-0 2015-05-17 08:12:58 info terminating

                              mqtt-0 2015-05-17 08:12:58 info Client [iPhone 6] closed

                              mqtt-0 2015-05-17 08:12:42 info Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt.0.owntracks.ruhr..*/ `

                              Es werden weiterhin nur Dezimalzahlen ausgegeben.

                              123,34,116,115,116,34,58,34,49,52,51,49,53,52,51,50,55,48,34,44,34,97,99,99,...
                              

                              entspricht:

                              {"tst":"1431543270","acc
                              

                              Wenn ich mir tst ansehe, ergibt dies:

                              13.05.2015 20:54:30 (also ein altes Datum, wo owntracks noch funktioniert hat).

                              Schickt Owntracks eine alte Meldung, die noch quittiert werden muss?

                              Die Dezimalzahlen sehe ich in Node-red in folgender Konstellation:

                              • ioBroker Input mit Topic mqtt.0.owntracks.ruhr, Payload = Value.

                              • Verbunden mit einem Debug Node.

                              In dem Moment, bei dem ich in Owntracks auf "Publish Now" drücke, kommt im Debug Node die Zahlenkolonne an.

                              Warum mit einem alten Timestamp?

                              In Historie von mqtt.0.owntracks.ruhr sehe ich die Dezimalzahlen ebenfalls als aktuellen Eintrag.

                              Gruß,

                              Michael

                              Adapter: Fritzbox, Unify Circuit
                              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                              1 Reply Last reply
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                wrote on last edited by
                                #35

                                @ruhr70:

                                In dem Moment, bei dem ich in Owntracks auf "Publish Now" drücke, kommt im Debug Node die Zahlenkolonne an.

                                Warum mit einem alten Timestamp? `
                                Warum im Debug Node???? Und nicht im Log von ioBroker?

                                1 Reply Last reply
                                0
                                • ruhr70R Offline
                                  ruhr70R Offline
                                  ruhr70
                                  wrote on last edited by
                                  #36

                                  @Bluefox:

                                  @ruhr70:

                                  In dem Moment, bei dem ich in Owntracks auf "Publish Now" drücke, kommt im Debug Node die Zahlenkolonne an.

                                  Warum mit einem alten Timestamp? Warum im Debug Node???? Und nicht im Log von ioBroker?

                                  Das Log habe ich oben unter Spoiler dabei.

                                  Dort sind keine Meldungen. Ich wüsste auch nicht woher.

                                  Der mqtt Adapter schreibt direkt in die Variable mqtt.0.owntracks.ruhr

                                  Da stehen die Dezimalzahlen schon drin.

                                  Ich hatte es mir nur in Rode-Ned angesehen, da ich dort in Debug direkt sehe, was passiert.

                                  ioBroker Input mqtt.0.owntracks.ruhr-> Debug

                                  Adapter: Fritzbox, Unify Circuit
                                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                  1 Reply Last reply
                                  0
                                  • BluefoxB Offline
                                    BluefoxB Offline
                                    Bluefox
                                    wrote on last edited by
                                    #37

                                    Kannst du folgenden Kode erweitern?

                                    adapter.log.info('Type: ' + typeof packet.payload);
                                    if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                                    if (typeof packet.payload == 'string' && packet.payload.match(/(\d)+,\s?(\d)+/)) {
                                        adapter.log.info('Try to convert ' + packet.payload);
                                    
                                        var parts = packet.payload.split(',');
                                        var str = '';
                                        for (var p = 0; p < parts.length; p++) {
                                              str += String.fromCharCode(parseInt(parts.trim(), 10));
                                        }
                                        packet.payload = str;
                                        adapter.log.info('Converted ' + packet.payload);
                                    }
                                    

                                    Und natürlich den Adapter neu starten.

                                    1 Reply Last reply
                                    0
                                    • ruhr70R Offline
                                      ruhr70R Offline
                                      ruhr70
                                      wrote on last edited by
                                      #38

                                      @Bluefox:

                                      Kannst du folgenden Kode erweitern?

                                      adapter.log.info('Type: ' + typeof packet.payload);
                                      if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                                      if (typeof packet.payload == 'string' && packet.payload.match(/(\d)+,\s?(\d)+/)) {
                                          adapter.log.info('Try to convert ' + packet.payload);
                                      
                                          var parts = packet.payload.split(',');
                                          var str = '';
                                          for (var p = 0; p < parts.length; p++) {
                                                str += String.fromCharCode(parseInt(parts.trim(), 10));
                                          }
                                          packet.payload = str;
                                          adapter.log.info('Converted ' + packet.payload);
                                      }
                                      

                                      Und natürlich den Adapter neu starten. `

                                      Code ausgetauscht. mqtt Adapter neu gestartet.

                                      Mehrmals bei Owntracks "Publish now" gedrückt.

                                      Log:

                                      	Zeit		Nachricht
                                      x
                                      mqtt-0	2015-05-17 09:16:23	info	Type: object
                                      mqtt-0	2015-05-17 09:15:57	info	Type: object
                                      mqtt-0	2015-05-17 09:15:32	info	Type: object
                                      mqtt-0	2015-05-17 09:15:30	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt\.0\.owntracks\.ruhr\..*/
                                      mqtt-0	2015-05-17 09:15:30	info	Client [iPhone 6] subscribes on "owntracks.ruhr.#" with regex /^owntracks\.ruhr\..*/
                                      mqtt-0	2015-05-17 09:15:30	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.+.+" with regex /mqtt\.0\.owntracks\.[^.]*\.[^\.].*$/
                                      mqtt-0	2015-05-17 09:15:30	info	Client [iPhone 6] subscribes on "owntracks.+.+" with regex /owntracks\.[^.]*\.[^\.].*$/
                                      mqtt-0	2015-05-17 09:15:30	info	Type: object
                                      mqtt-0	2015-05-17 09:15:30	info	Client [iPhone 6] connected
                                      mqtt-0	2015-05-17 09:15:12	info	Client [iPhone 6] closed
                                      mqtt-0	2015-05-17 09:15:12	info	Client [iPhone 6] disconnected
                                      mqtt-0	2015-05-17 09:15:05	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt\.0\.owntracks\.ruhr\..*/
                                      mqtt-0	2015-05-17 09:15:05	info	Client [iPhone 6] subscribes on "owntracks.ruhr.#" with regex /^owntracks\.ruhr\..*/
                                      mqtt-0	2015-05-17 09:15:05	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.+.+" with regex /mqtt\.0\.owntracks\.[^.]*\.[^\.].*$/
                                      mqtt-0	2015-05-17 09:15:05	info	Client [iPhone 6] subscribes on "owntracks.+.+" with regex /owntracks\.[^.]*\.[^\.].*$/
                                      mqtt-0	2015-05-17 09:15:05	info	Client [iPhone 6] connected
                                      mqtt-0	2015-05-17 09:14:53	info	Starting MQTT authenticated server on port 1883
                                      mqtt-0	2015-05-17 09:14:53	info	starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.mqtt
                                      mqtt-0	2015-05-17 09:01:39	info	Client [iPhone 6] closed
                                      mqtt-0	2015-05-17 09:01:39	info	Client [iPhone 6] disconnected
                                      

                                      327_2017-06-17_historie_mqtt.png

                                      Adapter: Fritzbox, Unify Circuit
                                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                      1 Reply Last reply
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        wrote on last edited by
                                        #39

                                        Und noch mal ausprobieren.

                                        adapter.log.info('Type: ' + typeof packet.payload);
                                        if (typeof packet.payload == 'object') packet.payload = packet.payload.toString('utf8');
                                        adapter.log.info('Type: ' + typeof packet.payload +'; Payload: ' + packet.payload);
                                        if (typeof packet.payload == 'string' && packet.payload.match(/(\d)+,\s?(\d)+/)) {
                                            adapter.log.info('Try to convert ' + packet.payload);
                                        
                                            var parts = packet.payload.split(',');
                                            var str = '';
                                            for (var p = 0; p < parts.length; p++) {
                                                  str += String.fromCharCode(parseInt(parts.trim(), 10));
                                            }
                                            packet.payload = str;
                                            adapter.log.info('Converted ' + packet.payload);
                                        }
                                        
                                        1 Reply Last reply
                                        0
                                        • ruhr70R Offline
                                          ruhr70R Offline
                                          ruhr70
                                          wrote on last edited by
                                          #40
                                          mqtt-0	2015-05-17 09:38:47	info	Type: string; Payload: {"cog":-1,"batt":"100","lon":"7.92283","acc":"65","vel":-1,"vac":10,"lat":"52.3427","t":"u","tst":"1431848304","alt":43,"_type":"location","tid":"MH"}
                                          mqtt-0	2015-05-17 09:38:47	info	Type: object
                                          mqtt-0	2015-05-17 09:38:41	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt\.0\.owntracks\.ruhr\..*/
                                          mqtt-0	2015-05-17 09:38:41	info	Client [iPhone 6] subscribes on "owntracks.ruhr.#" with regex /^owntracks\.ruhr\..*/
                                          mqtt-0	2015-05-17 09:38:41	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.+.+" with regex /mqtt\.0\.owntracks\.[^.]*\.[^\.].*$/
                                          mqtt-0	2015-05-17 09:38:41	info	Client [iPhone 6] subscribes on "owntracks.+.+" with regex /owntracks\.[^.]*\.[^\.].*$/
                                          mqtt-0	2015-05-17 09:38:41	info	Client [iPhone 6] connected
                                          mqtt-0	2015-05-17 09:38:27	info	Client [iPhone 6] closed
                                          mqtt-0	2015-05-17 09:38:27	info	Client [iPhone 6] disconnected
                                          mqtt-0	2015-05-17 09:38:26	info	Type: string; Payload: {"cog":-1,"batt":"100","lon":"7.92283","acc":"65","vel":-1,"vac":10,"lat":"52.2427","t":"u","tst":"1431848304","alt":43,"_type":"location","tid":"MH"}
                                          mqtt-0	2015-05-17 09:38:26	info	Type: object
                                          mqtt-0	2015-05-17 09:38:24	info	Type: string; Payload: {"tst":"1431848304","acc":"65","_type":"location","alt":43,"lon":"7.92283","vac":10,"vel":-1,"lat":"52.3427","cog":-1,"tid":"MH","batt":"100"}
                                          mqtt-0	2015-05-17 09:38:24	info	Type: object
                                          mqtt-0	2015-05-17 09:38:20	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.ruhr.#" with regex /^mqtt\.0\.owntracks\.ruhr\..*/
                                          mqtt-0	2015-05-17 09:38:20	info	Client [iPhone 6] subscribes on "owntracks.ruhr.#" with regex /^owntracks\.ruhr\..*/
                                          mqtt-0	2015-05-17 09:38:20	info	Client [iPhone 6] subscribes on "mqtt.0.owntracks.+.+" with regex /mqtt\.0\.owntracks\.[^.]*\.[^\.].*$/
                                          mqtt-0	2015-05-17 09:38:20	info	Client [iPhone 6] subscribes on "owntracks.+.+" with regex /owntracks\.[^.]*\.[^\.].*$/
                                          mqtt-0	2015-05-17 09:38:20	info	Client [iPhone 6] connected
                                          mqtt-0	2015-05-17 09:38:11	info	Starting MQTT authenticated server on port 1883
                                          mqtt-0	2015-05-17 09:38:10	info	starting. Version 0.2.7 in /opt/iobroker/node_modules/iobroker.mqtt
                                          

                                          Im Log steht die Zeichenkette. Im Historie stehen trotzdem die Dezimahlzahlen.

                                          Adapter: Fritzbox, Unify Circuit
                                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          334

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          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