Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. MQTT Befehl nach Alexa Sprachkommando senden

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT Befehl nach Alexa Sprachkommando senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU @jolu1705 last edited by MCU

      @jolu1705 sagte in MQTT Befehl nach Alexa Sprachkommando senden:

      ich habe einen MQTT Broker (mosquitto) installiert und eine Verbindung zu Alexa hergestellt, sprich ich kann nun über Sprachkommandos Datenpunkte steuern.

      Beschreibe mal den Vorgang, da du es ja schon kannst?

      Vielleicht hilft dir das ein wenig?

      https://forum.iobroker.net/topic/43226/mqtt-remote-commands-für-owntracks-adapter/7

      jolu1705 1 Reply Last reply Reply Quote 0
      • jolu1705
        jolu1705 @MCU last edited by

        @mcu Hallo MCU,

        ich habe den iot Adapter installiert und kann da nun schon eigene Sprachbefehle eintragen die z.B. irgendwelche Lampen triggern.

        Ich suche halt jetzt den richtigen Weg in Blockly anstelle eines Lampendatenpunktes "0/1" zu setzen, einen MQTT Befehl meiner Wahl abzusetzen. Wenn ich den irgendwie speichern kann, kann ich den sicher auch mit Alexa verknüpfen wie alles andere auch.
        Ich bin sicher ich denk nur zu kompliziert und das ist total einfach, aber ich lerne ja noch 🙂

        M 1 Reply Last reply Reply Quote 0
        • M
          MCU @jolu1705 last edited by MCU

          @jolu1705 Du hast doch gesagt du kannst schon über Alexa einen Datenpunkt steuern. Wie hast du das gemacht? Welche Datenpunkt sind in ioBroker , wo? Zeigen.
          Wie steuerst du Deine ESP8266 Platine mit MQTT. Wer sendet welche Befehle?
          Du sendest irgendwelche Befehle über mosquitto. Wie steuerst du den mosquitto-MQTT an aus ioBroker?
          Um den PC auszuschalten, schreibst du ja jetzt irgendwo ein Wert (MQTT-Befehl) rein, wo in welchem Datenpunkt (ioBroker) oder im System (raspi)??

          jolu1705 1 Reply Last reply Reply Quote 0
          • jolu1705
            jolu1705 @MCU last edited by

            @mcu Der Adapter reagiert auf die Kommandos "on" (schaltet ein und auch aus), "reset" und "force_off".

            "Alexa, schalte ABC an", soll mit dem ping Adatper prüfen ob ein bestimmtes Gerät an ist.
            Falls es an ist, antwort "Gerät ist bereits an"
            Falls es aus ist, mqtt befehl senden und sagen "gerät wird eingeschaltet".

            Egal was ich mache, in Blockly will der SEND block zu mqtt.0 nichts senden.
            Ebenso führt der Exec block nicht das Kommando aus.

            Gehe ich per SSH auf das gerät und mache ein publish, funktioniert es.

            Ich versuche seit 3 Wochenenden den Knoten zu lösen und wette das ist total dämlich und einfach. Hab da nur einen Knoten im Hirn 😄

            M 1 Reply Last reply Reply Quote 0
            • M
              MCU @jolu1705 last edited by

              @jolu1705 Zeig doch mal die mqtt.0 Struktur.

              jolu1705 1 Reply Last reply Reply Quote 0
              • jolu1705
                jolu1705 @MCU last edited by jolu1705

                @mcu wBitte sehr

                mqtt1.PNG

                mqtt2.PNG

                mqtt3.PNG

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @jolu1705 last edited by MCU

                  @jolu1705 Du musst doch jetzt nur noch den Wert in dem Objekt ändern:

                  be4c937b-249b-4654-a878-e0f6c14dbfcd-image.png

                  oder reset oder force_off anstelle von on in dem Block setzen.

                  Wer füllt die Datenpunkte:? Adpater? ESP?
                  5e70e279-1701-44dd-9d42-c87e73c949ec-image.png

                  jolu1705 2 Replies Last reply Reply Quote 0
                  • jolu1705
                    jolu1705 @MCU last edited by

                    @mcu Die Datenpunkte werden nicht automatisch gefüllt, die habe ich manuell angelegt.
                    Ich hab mir gedacht ich lege die einmal an um den aktuellen Status da später erfassen zu können.

                    Der Eintrag unter mqtt.0 kam automatisch und ist wohl der der gesteuert werden soll.

                    Du machst die Steuerung mit "steuere....".... warum?

                    Ich habe es immer über diesen Baustein probiert.
                    mqtt4.PNG

                    M BananaJoe 2 Replies Last reply Reply Quote 0
                    • M
                      MCU @jolu1705 last edited by

                      @jolu1705 Funktioniert es?
                      Das Objekt wird geändert und den Rest publishen macht dann der Adapter.

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

                        @jolu1705

                        Im Normalfall melden sich die Geräte am MQTT-Broker (aka Server) als Client an.
                        Dann "publishen" die Ihre Werte die sie der Welt mitteilen wollen. Zum Beispiel ob sie gerade an oder aus sind (ON / OFF), oder wie die Temperatur ist oder aber ob ein Kontakt geschlossen ist oder nicht (is Opened = true)

                        Gleichzeitig können dieses Geräte auch MQTT Einträge abonnieren. Im einfachsten Fall meldet ein Gerät z.B.

                        mqtt.0.MyDevice.Stehlampe.POWER = ON
                        

                        Gleichzeitig hat das Gerät aber genau diesen Datenpunkt (Topic in MQTT genannt) abonniert. Das bedeutet das bei Änderungen das Gerät über eben diese Änderung informiert wird.
                        Das bedeutet das du in ioBroker diesen Datenpunkt einfach mit dem neuen Wert OFF beschreiben kannst und das Gerät sich dann ausschaltet.

                        So sendet man Befehle per MQTT an Geräte.

                        Was das Gerät sendet und was es abonniert hängt vom Gerät ab. Manchmal sind es auch unterschiedliche Datenpunkte. Tasmota-Geräte senden Ihren Status z.B. unter mqtt.0.stat.Gerätename und lauschen aber unter mqtt.0.cmnd.Gerätename

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

                          @bananajoe Bei normalen Geräten würde ich dir recht geben, aber das ist eine Selbstbauplatine mit einem eigenen Programm das scheinbar seinen Status nicht meldet (oder ich habe noch nicht rausgefunden wie) 🙂
                          Mir reicht es aber völlig wenn ich Befehle senden kann und das Teil dann was tut, für mehr ist es auch nicht gedacht.

                          @MCU Ich werde deine Option probieren. Kannst du mir sagen warum mein Ansatz über den sendTo Block falsch ist? Ich hab gedacht genau dafür ist das Teil da? Könnte ich das auch damit realisieren und wie würde das dann aussehen müssen?

                          Danke übrigens generell für die Hilfe hier. Ich lerne täglich dazu.

                          1 Reply Last reply Reply Quote 0
                          • M
                            MCU last edited by

                            @jolu1705
                            Hier kannst du nachlesen, wie man es über den Sendto Befehl machen kann:
                            https://github.com/ioBroker/ioBroker.mqtt

                            Zeig doch mal Dein eigenes Programm hier.
                            (Ab der 2. Zeile -> Spoiler (Auge), direkt danach CodeTags (</>) und dann das Programm mit STRG+V einfügen).

                            Danke.

                            jolu1705 1 Reply Last reply Reply Quote 0
                            • jolu1705
                              jolu1705 @MCU last edited by

                              @mcu Der Quellcode für den Adapter ist hier: https://github.com/ct-Open-Source/wake-on-esp

                              1 Reply Last reply Reply Quote 1
                              • jolu1705
                                jolu1705 @MCU last edited by jolu1705

                                @mcu said in MQTT Befehl nach Alexa Sprachkommando senden:

                                @jolu1705 Du musst doch jetzt nur noch den Wert in dem Objekt ändern:

                                be4c937b-249b-4654-a878-e0f6c14dbfcd-image.png

                                oder reset oder force_off anstelle von on in dem Block setzen.

                                Wer füllt die Datenpunkte:? Adpater? ESP?
                                5e70e279-1701-44dd-9d42-c87e73c949ec-image.png

                                Das habe ich gerade bei mir gemacht.
                                Ein Cron der um 15:40 Uhr den Befehl ausführen sollte.
                                Es ist genau - gar nichts - passiert.

                                Das bringt mich noch zur Verzweiflung haha

                                Ich vermute mittlerweile das sich der Adapter nicht korrekt am MQTT anmeldet und deshalb sich da auch nicht steuern lässt. Trage ich nämlich den Status manuell um, passiert auch nichts, und spätestens dann müsste es gehen.
                                Sende ich via SSH den Publish Befehl über Mosquitto funktioniert es sofort.
                                Also ist der Fehler weiter eingekreist.

                                jolu1705 1 Reply Last reply Reply Quote 0
                                • jolu1705
                                  jolu1705 @jolu1705 last edited by

                                  @jolu1705 Klicke ich im mqtt.0 Adapter (der als Client läuft) auf "Teste Verbindung zum Server" kommt da nur "error".
                                  Name und Passwort sind aber 100% korrekt. Wo kann ich nachsehen was da für ein Problem besteht.
                                  "error" ist ein wenig dürftig 🙂

                                  jolu1705 1 Reply Last reply Reply Quote 0
                                  • jolu1705
                                    jolu1705 @jolu1705 last edited by

                                    @jolu1705 Er scheint sich zu verbinden, aber nur der Test klappt scheinbar nicht.

                                    mqtt.0	2021-03-23 16:25:39.880	warn	(4493) Error on mqtt test: Error: Connection refused: Not authorized
                                    mqtt.0	2021-03-23 16:25:28.699	info	(4493) All states published
                                    mqtt.0	2021-03-23 16:25:28.626	info	(4493) Subscribe on: "mqtt.0/#"
                                    mqtt.0	2021-03-23 16:25:28.625	info	(4493) Subscribe on: "ESP-996412/#"
                                    mqtt.0	2021-03-23 16:25:28.621	info	(4493) Subscribe on: "#"
                                    mqtt.0	2021-03-23 16:25:28.618	info	(4493) Connected to localhost
                                    mqtt.0	2021-03-23 16:25:28.520	info	(4493) Try to connect to mqtt://iobroker:*******************@localhost:1883?clientId=iobroker_mqtt_client
                                    mqtt.0	2021-03-23 16:25:28.183	info	(4493) starting. Version 2.3.5 in /opt/iobroker/node_modules/iobroker.mqtt, node: v12.21.0, js-controller: 3.2.16
                                    
                                    jolu1705 1 Reply Last reply Reply Quote 0
                                    • jolu1705
                                      jolu1705 @jolu1705 last edited by

                                      @jolu1705 Update 2342 🙂

                                      Wenn ich das Topic für den mqtt.0 Client ändere, sehe ich das auf dem Server d.h. er hat eine Verbindung.
                                      Warum dann das "Teste Verbindung zum Server" nur "error" zeigt, bleibt ein Geheimnis.

                                      jolu1705 1 Reply Last reply Reply Quote 0
                                      • jolu1705
                                        jolu1705 @jolu1705 last edited by

                                        @jolu1705 oha ich werde besser........zumindest kann ich nun Anleitungen lesen 🙂

                                        Gebe ich - wie in der Dokumentation - in der URL broker.mqttdashboard.com ein, steht da "verbunden".
                                        Der Verbindungstest funktioniert d.h. es gibt ein Problem den mqtt.0 mit mosquitto zu verbinden.
                                        Ich muss da wohl mal den mosquitto neu installieren oder mal da nach einen Fehler suchen.
                                        Seltsam ist aber das per SSH ein Befehl direkt funktioniert, allerdings melde ich mich da auch nicht mit Username und Passwort an.

                                        Es bleibt spannend 🙂

                                        jolu1705 1 Reply Last reply Reply Quote 0
                                        • jolu1705
                                          jolu1705 @jolu1705 last edited by

                                          @jolu1705

                                          ok ich habe nun mit

                                          sudo lsof -i -P -n | grep 1883
                                          

                                          mal nachgesehen was auf Port 1883 horcht.

                                          mosquitto 17004 mosquitto    5u  IPv4 4737237      0t0  TCP *:1883 (LISTEN)
                                          mosquitto 17004 mosquitto    6u  IPv6 4737238      0t0  TCP *:1883 (LISTEN)
                                          

                                          Soweit so gut,.

                                          Starte ich den mqtt.0 Adapter kommt das:

                                          mosquitto 17004 mosquitto    5u  IPv4 4737237      0t0  TCP *:1883 (LISTEN)
                                          mosquitto 17004 mosquitto    6u  IPv6 4737238      0t0  TCP *:1883 (LISTEN)
                                          mosquitto 17004 mosquitto    8u  IPv4 4777854      0t0  TCP 127.0.0.1:1883->127.0.0.1:36750 (ESTABLISHED)
                                          node      21952  iobroker   27u  IPv4 4776682      0t0  TCP 127.0.0.1:36750->127.0.0.1:1883 (ESTABLISHED)
                                          
                                          

                                          Da werde ich nun nicht mehr schlau draus und weiß nicht ob das so korrekt ist.

                                          Mit der Windows Software MQTT Explorer kann ich mich zum Mosquitto Server verbinden, nur mit dem mqtt.0 Adapter auf dem iobroker nicht.

                                          Jemand noch eine Idee?

                                          jolu1705 1 Reply Last reply Reply Quote 0
                                          • jolu1705
                                            jolu1705 @jolu1705 last edited by

                                            @jolu1705 Ok, ich habe die Authentication vom mosquitto mal abgeschaltet und es funktioniert.
                                            Also habe ich die User neu angelegt und die Authentication wieder aktiviert.
                                            Im Windows MQTT Explorer kann ich mich mit einem Benutzer anmelden, der mqtt.0 Adapter vom iobroker verbindet sich allerdings nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            809
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            33
                                            4857
                                            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