Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT Befehl an Tasmota senden

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    MQTT Befehl an Tasmota senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • BananaJoe
      BananaJoe Most Active @tomlei last edited by 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

      mickym T D 4 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @BananaJoe last edited by

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

        BananaJoe 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @mickym last edited by

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

          1 Reply Last reply Reply Quote 0
          • T
            tomlei @BananaJoe last edited by

            @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 Reply Last reply Reply Quote 0
            • T
              tomlei @BananaJoe last edited by

              @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 Reply Last reply Reply Quote 0
              • R
                Revobobo last edited by Revobobo

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

                T 1 Reply Last reply Reply Quote 0
                • T
                  tomlei @Revobobo last edited by

                  @revobobo
                  Hand gegen die Stirn.mp4

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

                  Gruß

                  1 Reply Last reply Reply Quote 0
                  • D
                    Dieter_P @BananaJoe last edited by

                    @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

                    Ralla66 1 Reply Last reply Reply Quote 0
                    • Ralla66
                      Ralla66 Most Active @Dieter_P last edited by 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 1 Reply Last reply Reply Quote 1
                      • D
                        Dieter_P @Ralla66 last edited by Dieter_P

                        @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 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        660
                        Online

                        31.6k
                        Users

                        79.5k
                        Topics

                        1.3m
                        Posts

                        8
                        28
                        5283
                        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