Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Mit js an internen MQTT broker publishen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mit js an internen MQTT broker publishen

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TobyK last edited by

      Hallo zusammen,

      ich habe den internen iobroker.MQTT als Broker installiert und würde nun gerne aus JS heraus auf ein (noch nicht) bestehendes Topic publishen und dieses somit erstellen. "SetState" entfällt ja somit und "setObject" ist mir hierfür zu komplex.

      Mein Weg war daher über

      sendTo('mqtt.0', 'sendMessage2Client', {topic: 'SmartHome/Text', message: message});
      

      In meinen Test war es nun aber immer so, dass die Funktion zwar die Werte an die Clienten verteilt, der Wert im Broker selber aber nicht aktualisiert wird. Es scheint für mich also eine Art Bypass zu sein.

      Frage: Ist diese Annahme korrekt? Gibt es eine sinnvolle Alternative um an den Broker zu publishen und dieser verteilt diese dann weiter?

      PS: Kann man eigentlich die Kommandos für die "sendTo"-Funktion der einzelnen Adapter irgendwo konkret nachschlagen? Haben die eine feste Position im Adapter-Quellcode, so dass man die erkennt?

      Besten Dank und Grüße
      TobyK

      UncleSam 1 Reply Last reply Reply Quote 0
      • UncleSam
        UncleSam Developer @TobyK last edited by

        @TobyK sagte in Mit js an internen MQTT broker publishen:

        Gibt es eine sinnvolle Alternative um an den Broker zu publishen und dieser verteilt diese dann weiter?

        Du hast es oben erwähnt: setState respektive createState. Es kann aber sein, dass der Adapter danach neu gestartet werden muss. Grundsätzlich gibt es ja wahrscheinlich nicht beliebig viele States, also würde ich die einfach einmal erstellen und dann aus dem JavaScript setzen.

        PS: Kann man eigentlich die Kommandos für die "sendTo"-Funktion der einzelnen Adapter irgendwo konkret nachschlagen? Haben die eine feste Position im Adapter-Quellcode, so dass man die erkennt?

        Etwas in der Art adapter.on('message, ...); wird es immer sein. Je nachdem ob der Adapter in JS oder TS geschrieben ist und ob Klassen oder Funktionen verwendet werden, kann es sein, dass es dann this.on('message', ...) ist. Beispiele:

        • JavaScript
        • TypeScript (Klasse)

        Danach wirst du dich allerdings immer durch den Code hangeln müssen (in beiden Fällen oben wird dann ja eine weitere Methode/Funktion aufgerufen).

        1 Reply Last reply Reply Quote 0
        • T
          TobyK last edited by

          Danke für die Antwort,

          ich hatte schon vermutet, dass es derzeit keinen einfachen Weg als Einzeiler gibt. Hätte halt gerne einfach nur den Wert gepublished. Ich werde versuchen mir einen Workaround zu basteln.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          923
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          javascript
          2
          3
          542
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo