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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    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

      @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
                                    • jolu1705
                                      jolu1705 @jolu1705 last edited by

                                      @jolu1705
                                      Mosquitto Server neu installiert und Benutzer eingerichtet
                                      MQTT.0 Adapter neu installiert und Benutzer eingetragen

                                      über tail -f /var/log/mosquitto/mosquitto.log sehe ich nun wie der iobroker Adapter sich verbindet.

                                      1616521874: New connection from 127.0.0.1 on port 1883.
                                      1616521874: New client connected from 127.0.0.1 as iobroker_mqtt_client (c1, k1000, u'mqttadapter').
                                      

                                      Ich kann mich auch über die Windows Software MQTT Explorer zum Mosquitto verbinden.

                                      Der Knopf "Teste Verbindung zum Server" funktioniert aber immer noch nicht und quittiert mit "error".
                                      Ich glaube mittlerweile das die Testfunktion nicht mit Usernamen und Passwörtern umgehen kann und es sich hier schlichtweg um einen Adapterbug handelt.

                                      Sobald ich die Testfunktion benutzte kommt im Logfile

                                      1616521981: Socket error on client <unknown>, disconnecting.
                                      
                                      BananaJoe 1 Reply Last reply Reply Quote 0
                                      • BananaJoe
                                        BananaJoe Most Active @jolu1705 last edited by BananaJoe

                                        @jolu1705

                                        Bei mir sagt er auch error, es funktioniert aber alles,
                                        wird ein Fehler im Adapter sein:

                                        4c2bd822-e3eb-4c86-a40d-2f4fa0a2189a-image.png

                                        Also einrichten und unter den Datenpunkten schauen ob das was ist bzw. ob neue Dinge dort erscheinen, z.B. ein Testwert mit dem MQTT-Explorer

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

                                          Nachtrag:
                                          29234e7e-fb97-4db2-b573-fce4134d59d7-image.png
                                          steht im log, ich vermute beim Testen übernimmt der die Anmeldung nicht richtig.
                                          früher ging das mal / Hat schon mal funktioniert. Im Moment aber nicht. Der Rest geht aber bei mir (und ich mache alles per MQTT)

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

                                            @bananajoe said in MQTT Befehl nach Alexa Sprachkommando senden:

                                            Nachtrag:
                                            29234e7e-fb97-4db2-b573-fce4134d59d7-image.png
                                            steht im log, ich vermute beim Testen übernimmt der die Anmeldung nicht richtig.
                                            früher ging das mal / Hat schon mal funktioniert. Im Moment aber nicht. Der Rest geht aber bei mir (und ich mache alles per MQTT)

                                            Ich habe auf Github einen Report dazu erstellt:
                                            https://github.com/ioBroker/ioBroker.mqtt/issues/147

                                            jolu1705 created this issue in ioBroker/ioBroker.mqtt

                                            closed Teste Verbindung zum Server nicht mit Username und Passwort möglich #147

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            549
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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