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. JavaScript
  5. Mit js an internen MQTT broker publishen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    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.5k

Mit js an internen MQTT broker publishen

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
3 Beiträge 2 Kommentatoren 589 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.
  • T Offline
    T Offline
    TobyK
    schrieb am zuletzt editiert von
    #1

    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

    UncleSamU 1 Antwort Letzte Antwort
    0
    • T TobyK

      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

      UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #2

      @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).

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        TobyK
        schrieb am zuletzt editiert von
        #3

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

        662

        Online

        32.5k

        Benutzer

        81.7k

        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