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. ioBroker Allgemein
  4. MQTT Befehl an Tasmota senden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    351

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

MQTT Befehl an Tasmota senden

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
28 Beiträge 8 Kommentatoren 6.9k Aufrufe 8 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 tomlei

    @bananajoe & @alle

    Danke für Eure Nachfragen. Ich war ein paar Tage außer Haus.

    Die Lösung für den http request habe ich mitgeteilt. Aber ja, ich wollte ursprünglich vom IOB per True/False oder ON/OFF oder was auch immer den Steuerbefehl absetzen. Das hatte zunächst nicht funktioniert. Ich sah in der MQTT Instanz nur die Statuszustände - Cmnd Befehle konnte ich nicht absetzen.
    Dann habe ich mit dem MQTT Explorer geschaut, welche Informationen mit welchen Topics eigentlich ankommen und habe dann die Befehle vom MQTT Explorer abgesetzt. Da kam zunächst in der Konsole von Tasmota die Meldung Befehl unbekannt. Nach einigen hin und her sah ich plötzlich im IOB zusätzliche Objekte im Pfad cmnd und dann konnte ich von dort aus die Befehle normal setzen.
    Was ich nicht verstehe, ist, dass ich mit den manuell über skript angelegten Topic Objekten in dem gleichen Pfad (gleiches Topic+Name usw.) keinen Erfolg hatte. Die konnte ich anschließend, nachdem die vom Explorer initiiert angelegten Objekte funktionierten, löschen.
    Irgendwie verstehe ich die Systematik nicht so richtig. Zumal die Reproduzierbarkeit dieser Lösung auch nicht so einfach war. Ich habe auf der Platine zwei Kanäle / Relais und brauchte noch den zweiten DP. Diesen anzulegen war ebenfalls eine Fummelei.

    Ist das möglicherweise eine Frage der Zugriffsrechte / Ownerrechte?

    Ich hatte den Punkt gesucht wo man den Eintrag auf erledigen setzen kann, aber nicht gefunden.

    BananaJoeB Online
    BananaJoeB Online
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von BananaJoe
    #19

    @tomlei also,

    mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

    Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

    Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

    per Blockly
    a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

    per JavaScript

    // Beispiel für SendTo von https://github.com/ioBroker/ioBroker.mqtt
    // Test ob ich das zum Anlegen von neuen MQTT-Topics etc. nutzen kann
    /*
     * @param {string}  MQTT instance     Specify MQTT instance to send message through (may be either server or client)
     * @param {string}  action            Action to use (always 'sendMessage2Client' for sending plain messages)
     * @param {object}  payload         
     * @param {string}  payload.topic     Topic to publish message on
     * @param {string}  payload.message   Message to be published on specified topic
     *
     */
    sendTo('mqtt.0', 'sendMessage2Client', {topic: 'znil/Tests/Testnachricht', message: '42'});
    

    Mit dem SendTo Befehlen wird der Datenpunkt angelegt und es funktioniert einwandfrei.
    Nach dem anlegen kann man auch die herkömmlichen SetState-Befehle verwenden

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    mickymM T D 4 Antworten Letzte Antwort
    0
    • BananaJoeB BananaJoe

      @tomlei also,

      mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

      Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

      Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

      per Blockly
      a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

      per JavaScript

      // Beispiel für SendTo von https://github.com/ioBroker/ioBroker.mqtt
      // Test ob ich das zum Anlegen von neuen MQTT-Topics etc. nutzen kann
      /*
       * @param {string}  MQTT instance     Specify MQTT instance to send message through (may be either server or client)
       * @param {string}  action            Action to use (always 'sendMessage2Client' for sending plain messages)
       * @param {object}  payload         
       * @param {string}  payload.topic     Topic to publish message on
       * @param {string}  payload.message   Message to be published on specified topic
       *
       */
      sendTo('mqtt.0', 'sendMessage2Client', {topic: 'znil/Tests/Testnachricht', message: '42'});
      

      Mit dem SendTo Befehlen wird der Datenpunkt angelegt und es funktioniert einwandfrei.
      Nach dem anlegen kann man auch die herkömmlichen SetState-Befehle verwenden

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #20

      @bananajoe Das geht auch mit dem normalen Anlegen von Punkten im Objekte - View - das Problem ist nur, dass der neue Adamin5 es verbietet weitere Punkte anzulegen, wenn keine Objekte existieren. Das habe ich alles schon öfters moniert, dass man diese ganzen Prüfungen da raus nimmt, aber das will man halt nicht machen.

      Was Du mit dem sendTo machst, kann man auch mit einem pub von mosquitto machen. Das Anlegen der Datenpunkte macht dann der Adapter selbst auch ohne Abprüfung des Vorhandenseins von Objekten. Wenn man das nämlich auch noch unterbunden hätte, hätte man die Adapter gleich wegschmeissen können.

      Ich hoffe nur - wahrscheinlich vergebens - dass man die beiden Namensräume, mqtt und userdata von diesen ganzen Überprüfungen der Objektestruktur ausnimmt.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      BananaJoeB 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @bananajoe Das geht auch mit dem normalen Anlegen von Punkten im Objekte - View - das Problem ist nur, dass der neue Adamin5 es verbietet weitere Punkte anzulegen, wenn keine Objekte existieren. Das habe ich alles schon öfters moniert, dass man diese ganzen Prüfungen da raus nimmt, aber das will man halt nicht machen.

        Was Du mit dem sendTo machst, kann man auch mit einem pub von mosquitto machen. Das Anlegen der Datenpunkte macht dann der Adapter selbst auch ohne Abprüfung des Vorhandenseins von Objekten. Wenn man das nämlich auch noch unterbunden hätte, hätte man die Adapter gleich wegschmeissen können.

        Ich hoffe nur - wahrscheinlich vergebens - dass man die beiden Namensräume, mqtt und userdata von diesen ganzen Überprüfungen der Objektestruktur ausnimmt.

        BananaJoeB Online
        BananaJoeB Online
        BananaJoe
        Most Active
        schrieb am zuletzt editiert von
        #21

        @mickym sagte in MQTT Befehl an Tasmota senden:

        @bananajoe Das geht auch mit dem normalen Anlegen von Punkten im Objekte - View - das Problem ist nur, dass der neue Adamin5 es verbietet weitere Punkte anzulegen, wenn keine Objekte existieren. Das habe ich alles schon öfters moniert, dass man diese ganzen Prüfungen da raus nimmt, aber das will man halt nicht machen.

        Hat bei mir nie geklappt, kann aber auch am falschen Datentyp gelegen haben oder etwas anderes.
        Ich nutze noch die alte Oberfläche (so zu 95%) daher wäre das kein Problem. Für die manuelle Erstellung von Datenpunkten nutze ich aber nur noch die neue Admin5 Oberfläche da man dort die Eigenschaften mit mehr Optionen etc. festlegen kann.

        Der Umbau zu 0_userdata.0hat begonnen, dauert aber noch.

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        1 Antwort Letzte Antwort
        0
        • BananaJoeB BananaJoe

          @tomlei also,

          mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

          Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

          Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

          per Blockly
          a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

          per JavaScript

          // Beispiel für SendTo von https://github.com/ioBroker/ioBroker.mqtt
          // Test ob ich das zum Anlegen von neuen MQTT-Topics etc. nutzen kann
          /*
           * @param {string}  MQTT instance     Specify MQTT instance to send message through (may be either server or client)
           * @param {string}  action            Action to use (always 'sendMessage2Client' for sending plain messages)
           * @param {object}  payload         
           * @param {string}  payload.topic     Topic to publish message on
           * @param {string}  payload.message   Message to be published on specified topic
           *
           */
          sendTo('mqtt.0', 'sendMessage2Client', {topic: 'znil/Tests/Testnachricht', message: '42'});
          

          Mit dem SendTo Befehlen wird der Datenpunkt angelegt und es funktioniert einwandfrei.
          Nach dem anlegen kann man auch die herkömmlichen SetState-Befehle verwenden

          T Offline
          T Offline
          tomlei
          schrieb am zuletzt editiert von
          #22

          @bananajoe said in MQTT Befehl an Tasmota senden:

          @tomlei also,

          mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

          Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

          Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

          per Blockly
          a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

          Danke für den Hinweis mit dieser Lösung.
          Gruß und schönes WE

          1 Antwort Letzte Antwort
          0
          • BananaJoeB BananaJoe

            @tomlei also,

            mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

            Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

            Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

            per Blockly
            a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

            per JavaScript

            // Beispiel für SendTo von https://github.com/ioBroker/ioBroker.mqtt
            // Test ob ich das zum Anlegen von neuen MQTT-Topics etc. nutzen kann
            /*
             * @param {string}  MQTT instance     Specify MQTT instance to send message through (may be either server or client)
             * @param {string}  action            Action to use (always 'sendMessage2Client' for sending plain messages)
             * @param {object}  payload         
             * @param {string}  payload.topic     Topic to publish message on
             * @param {string}  payload.message   Message to be published on specified topic
             *
             */
            sendTo('mqtt.0', 'sendMessage2Client', {topic: 'znil/Tests/Testnachricht', message: '42'});
            

            Mit dem SendTo Befehlen wird der Datenpunkt angelegt und es funktioniert einwandfrei.
            Nach dem anlegen kann man auch die herkömmlichen SetState-Befehle verwenden

            T Offline
            T Offline
            tomlei
            schrieb am zuletzt editiert von
            #23

            @bananajoe said in MQTT Befehl an Tasmota senden:

            per Blockly
            a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

            Bei mir sieht das so aus:
            0c4186bc-40be-40b3-b22d-9ddb8cff837f-image.png
            Ich kann dort keine Message eintragen. Gibt es noch etwas anderes mit Message?

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              Revobobo
              schrieb am zuletzt editiert von Revobobo
              #24

              ...
              Über das Zahnrad kannst du die Parameter erweitern:
              screenshot063.png

              T 1 Antwort Letzte Antwort
              0
              • R Revobobo

                ...
                Über das Zahnrad kannst du die Parameter erweitern:
                screenshot063.png

                T Offline
                T Offline
                tomlei
                schrieb am zuletzt editiert von
                #25

                @revobobo
                Hand gegen die Stirn.mp4

                Danke, hätte ich auch darauf kommen können. Funktioniert einwandfrei.

                Gruß

                1 Antwort Letzte Antwort
                0
                • BananaJoeB BananaJoe

                  @tomlei also,

                  mit war auch schon aufgefallen das ich im MQTT-Adapter nicht einfach neue Datenpunkte anlegen kann und diese dann funktionieren. Gibt es diese schon, z.B. weil ich diese mit dem MQTT Explorer erzeugt hatte, so kann ich die nutzen.

                  Aber einfach anlegen im Objekt-Explorer oder per Skript hat nicht funktioniert.

                  Ich habe mir auf GitHub die Beschreibung des MQTT-Adapters angesehen und dabei die folgende Lösung gefunden:

                  per Blockly
                  a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

                  per JavaScript

                  // Beispiel für SendTo von https://github.com/ioBroker/ioBroker.mqtt
                  // Test ob ich das zum Anlegen von neuen MQTT-Topics etc. nutzen kann
                  /*
                   * @param {string}  MQTT instance     Specify MQTT instance to send message through (may be either server or client)
                   * @param {string}  action            Action to use (always 'sendMessage2Client' for sending plain messages)
                   * @param {object}  payload         
                   * @param {string}  payload.topic     Topic to publish message on
                   * @param {string}  payload.message   Message to be published on specified topic
                   *
                   */
                  sendTo('mqtt.0', 'sendMessage2Client', {topic: 'znil/Tests/Testnachricht', message: '42'});
                  

                  Mit dem SendTo Befehlen wird der Datenpunkt angelegt und es funktioniert einwandfrei.
                  Nach dem anlegen kann man auch die herkömmlichen SetState-Befehle verwenden

                  D Offline
                  D Offline
                  Dieter_P
                  schrieb am zuletzt editiert von
                  #26

                  @bananajoe said in MQTT Befehl an Tasmota senden:

                  per Blockly
                  a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

                  Hi

                  scheiter gerade den Befehl von der Kommandozeile in Tasmota:

                  ModBusSend {"deviceaddress": 1, "functioncode": 4, "startaddress": 1, "type":"float", "count":1}
                  

                  in das Blockly topic und message zu bringen und erhalte in Tasmota Fehler:

                  08:30:44.334 MQT: stat/tasmota_E24E5C/RESULT = {"Command":"Error"}
                  

                  Verschedene Aufteilungen scheitern bisher:
                  8eb9a23e-7ee2-47be-8ee7-7de768394cf3-grafik.png

                  Jemand einen Tip?

                  Danke

                  Ralla66R 1 Antwort Letzte Antwort
                  0
                  • D Dieter_P

                    @bananajoe said in MQTT Befehl an Tasmota senden:

                    per Blockly
                    a46f7add-5cd2-4277-8f7a-46f133f314a4-image.png

                    Hi

                    scheiter gerade den Befehl von der Kommandozeile in Tasmota:

                    ModBusSend {"deviceaddress": 1, "functioncode": 4, "startaddress": 1, "type":"float", "count":1}
                    

                    in das Blockly topic und message zu bringen und erhalte in Tasmota Fehler:

                    08:30:44.334 MQT: stat/tasmota_E24E5C/RESULT = {"Command":"Error"}
                    

                    Verschedene Aufteilungen scheitern bisher:
                    8eb9a23e-7ee2-47be-8ee7-7de768394cf3-grafik.png

                    Jemand einen Tip?

                    Danke

                    Ralla66R Offline
                    Ralla66R Offline
                    Ralla66
                    Most Active
                    schrieb am zuletzt editiert von Ralla66
                    #27

                    @dieter_p

                    dein Payload richtig ?
                    "type":"float"
                    type sollte value sein nicht Text

                    JSON payload
                    {"deviceAddress":<value>, "functionCode":<value>, "startAddress":<value>, "type":"<value>","count":<value> "endian":<value>}

                    Link

                    D 1 Antwort Letzte Antwort
                    1
                    • Ralla66R Ralla66

                      @dieter_p

                      dein Payload richtig ?
                      "type":"float"
                      type sollte value sein nicht Text

                      JSON payload
                      {"deviceAddress":<value>, "functionCode":<value>, "startAddress":<value>, "type":"<value>","count":<value> "endian":<value>}

                      Link

                      D Offline
                      D Offline
                      Dieter_P
                      schrieb am zuletzt editiert von Dieter_P
                      #28

                      @ralla66 said in MQTT Befehl an Tasmota senden:

                      @dieter_p

                      dein Payload richtig ?
                      "type":"float"
                      type sollte value sein nicht Text

                      JSON payload
                      {"deviceAddress":<value>, "functionCode":<value>, "startAddress":<value>, "type":"<value>","count":<value> "endian":<value>}

                      Link

                      Danke. Die JSON Payload scheint mir korrekt. Frag nicht was ich geändert hab (k.A.), aber nun funktioniert es:

                      11:01:59.642 SRC: MQTT
                      11:01:59.643 CMD: Grp 0, Cmd 'MODBUSSEND', Idx 1, Len 85, Pld -99, Data '{"deviceaddress": 1, "functioncode": 4, "startaddress": 0, "type":"float", "count":1}'
                      11:01:59.651 MQT: stat/tasmota_E24E5C/RESULT = {"ModbusSend":"Done"}
                      11:01:59.811 MQT: tele/tasmota_E24E5C/RESULT = {"ModbusReceived":{"DeviceAddress":1,"FunctionCode":4,"StartAddress":0,"Length":9,"Count":1,"Values":[232.3000030518]}}
                      

                      a96285f4-4dc7-48d6-8715-368e5118569c-grafik.png

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

                      556

                      Online

                      32.5k

                      Benutzer

                      81.8k

                      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