Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) Ikea FB, Wert erkennen und MQTT Befehl 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

    (gelöst) Ikea FB, Wert erkennen und MQTT Befehl senden

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      thrusty last edited by thrusty

      Hallo zusammen, ich bin blutiger Anfänger in Bezug auf Blockly und hoffe hier Hilfe zu bekommen.
      Ich möchte die Werte, die die 5 Tasten Fernbedienung von IKEA sendet auswerten und jeweils einen anderen Befehl per MQTT an einen mit Tasmota geflashten D1 mini senden.
      Die Werte der einzelnen Tasten (1002, 2002 usw.) werden an einem Datenpunkt empfangen.
      Nun meine Fragen:
      Ich vermute, ich benötige 5 einzelne Blockly Scripte um 5 unterschiedliche Ergebnisse zu bekommen, ist das richtig?
      Wie, also mit welchen Blöcken, kann ich die Auswertung der Werte vornehmen? (ich habe schon etliches versucht, leider ohne Erfolg 😢 )
      Wie bekomme ich es hin, dass das Ergebniss der Auswertung dann per mqtt an den D1 mini gesendet wird? Auch dafür wäre es schön, wenn mir jemand denn benötigten Block sagen könnte.
      Optimal wäre es wenn vielleicht jemand so einen oder ähnlichen Aufbau hat und mir einen Sceenshot zeigen könnte.

      M paul53 2 Replies Last reply Reply Quote 0
      • M
        Muchul @thrusty last edited by

        @thrusty
        Darf ich fragen warum man immst du nicht den sonoff Adapter?
        Dann müsstest du dich nicht mit MQTT rumschlagen.
        Geht sicher auch, aber damit kenne ich mich nicht aus.

        T 1 Reply Last reply Reply Quote 0
        • T
          thrusty @Muchul last edited by

          @muchul
          Denn Sonoff Adapter habe ich installiert. Das hilft mir aber nicht weiter. Ich möchte je nach gemeldeten Wert der FB ein anderes Ergebnis erzielen, also einen jeweils anderen Befehl an den D1 mine senden, bzw. an die Console des Tasmota Gerätes.

          M 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @thrusty last edited by paul53

            @thrusty sagte: benötige 5 einzelne Blockly Scripte um 5 unterschiedliche Ergebnisse zu bekommen, ist das richtig?

            Nein, Du benötigst einen Trigger auf den Datenpunkt und vergleichst innerhalb des Trigger-Blockes die Tastenwerte. Beispiel

            T 1 Reply Last reply Reply Quote 0
            • M
              Muchul @thrusty last edited by

              @thrusty
              Jep das machst du mit dem blokly ja dann auch.
              Input x=Output x
              Es sei denn du hast dafür am sonoff keine Datenpunkte.

              1 Reply Last reply Reply Quote 0
              • T
                thrusty @paul53 last edited by

                @paul53
                Danke, das ist schon mal eine Teilantwort für meine Probleme.
                Ich werde das mal so versuchen.
                Nun müsste ich nur noch wissen wie ich das Ergebnis dann per mqtt weiter senden kann.
                An dem Tasmota Gerät, wohin das Ergebnis gesendet werden soll, hängt ein Display (ssdssd1351). Dieses Display hat keinen Datenpunkt, also scheint es im muss zwingent mqtt verwenden, bloß wie?
                Ich finde keinen Ansatz wie das geht.

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

                  @thrusty Du sendest über mqtt nichts an Dein Tasmota Gerät, sondern Du sendest via Blockly etwas an Deinen MQTT-Broker. Das Tasmota Gerät hört auf bestimmte Datenpunkte in Deinem MQTT-Broker und zwar auf alle die unter dem CMND Ast liegen.

                  Die musst Du falls sie fehlen ggf. neu anlegen und zwar unter der Instanz Deines mqtt Adapters als Broker oder im mqtt-Broker

                  ae491b97-4630-4c59-885d-2b36c18a3ed3-image.png

                  Falls kein geeigneter DP verfügbar ist, dann kannst Du jeden Tasmota-Befehl im backlog Datenpunkt absetzen, das ist als ob Du unter Tasmota den Befehl in der Konsole absetzt. Du kannst damit auch mehrere Befehle auf einmal absetzen, in dem Du die Befehle mit Strichpunkt trennst. Diese werden dann quasi im Batch Betrieb nacheinander abgearbeitet.

                  Dieses Display hat keinen Datenpunkt, also scheint es im muss zwingent mqtt verwenden, bloß wie?

                  Das ist schon nun mehrfach hier thematisiert worden, dass man auch im mqtt-Adapter selbst Datenpunkte anlegen können muss - da diese ja nicht von Anfang an da sind.

                  Die Namen unter dem cmnd Ast für die verschiedenen Datenpunkte entsprechen in der Regel immer den Commandos - wie im Tasmota beschrieben: https://tasmota.github.io/docs/Commands/

                  In Deinem Fall musst Du wahrscheinlich einen Datenpunkt: DisplayText anlegen und dort den Text reinschreiben, den Du anzeigen willst:

                  ab828f83-e088-4a6c-94ce-4f97d4ee53f4-image.png

                  Ausserdem musst Du anscheinend auch Dein Display Modell setzen:

                  4d837e49-8795-484c-a705-dacb1e3c8bc9-image.png

                  Hier findest DU unter Pkt. 9 wohl, das von Dir verwendete Model.

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    thrusty @mickym last edited by thrusty

                    @mickym
                    Danke für deine Antwort.
                    Inzwischen habe ich das ganze nochmal mit dem mqtt Adapter ausprobiert und siehe da, dort gibt es einen Ordner Namens CMND. Und in diesem Ordner existiert auch mein Display mit dem Datenpunkt "Displaytext".

                    Das mit dem Display und Tasmota funktioniert schon länger. Ich nutzte es bisher von pimatic aus. Wenn ich in der Console zB folgendes eingebe:

                    DisplayText [zOs2c1l1f0Ci2]Rolladen 2[s2c1l3f0Ci3]Schlaf-[s2c1l5f0Ci10]zimmer
                    

                    Dann bekomme ich die formatierte Ausgabe auf dem Display.
                    Wie sollte die Eingabe an dem Datenpunkt aussehen? Bisher habe ich über den Datenpunkt keine Anzeige auf dem Display hinbekommen.
                    Wenn du mir vielleicht mal die korekte Eingabe zeigen würdest?

                    Edit:
                    Ich habe gerade festgestellt, auch an keinem anderen mqtt Gerät kann ich über den Datenpunkt ein Payload senden. Das Problem muss irgendwo anders liegen. Stehe gerade auf dem Schlauch was das Problem angeht. Der mqtt Adapter ist als Client mit einem externen Mosquitto Broker verbunden. Und die Verbindung steht, laut des VerbindungsTests.

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

                      @thrusty Ich habe auch den mqtt-Adapter als Client eingerichtet. Wenn man den Adapter als Frontend verwendet, dann kannst nochmal Deine mqtt-Einstellungen überprüfen. Bei mir sind in diesem Fall, alle Optionen aus:

                      df8666c4-93d7-4a4e-8cd9-5dd98ab6ac80-image.png

                      Die States die Du publizierst, müssen halt Deiner Instanz entsprechen. Also wenn Deine mqtt-Instanz 0 ist ,dann ist die Maske zum Publizieren bei Dir mqtt.*.0

                      Wenn Du dann im iobroker - den Datenpunkt selbst eingibst, dann musst halt auch im Log schauen, ob es Fehler gibt.

                      Um zu überprüfen, ob die Daten Dein mosquitto Broker erreichen, musst halt ggf. noch mit einem weiteren mqtt-Client überprüfen.

                      In dem DisplayText Punkt unter dem cmnd Ast - sollte dann nur der Inhalt geschrieben werden - also ohne DisplayText voran:

                      [zOs2c1l1f0Ci2]Rolladen 2[s2c1l3f0Ci3]Schlaf-[s2c1l5f0Ci10]zimmer
                      

                      Wenn Du den ganzen Befehl eingeben willst, so wie Du es oben beschrieben hast, dann musst Du diesen in den backlog Datenpunkt eingeben.

                      DisplayText [zOs2c1l1f0Ci2]Rolladen 2[s2c1l3f0Ci3]Schlaf-[s2c1l5f0Ci10]zimmer
                      

                      9b489210-c85f-494b-a4eb-f8426dd87c33-image.png

                      In der Regel siehst Du auch auf der Tasmota Konsole welche mqtt-Punkte dann nach Befehlseingabe aktualisiert werden.

                      eda06b8a-36e7-4e4f-80da-aa47edfb7022-image.png

                      Sprich Du siehst welches Kommando (CMD) ich eingegeben habe und darauf spukt die Konsole aus, welche Datenpunkte im mqtt dann aktualisiert werden.

                      Und wie gesagt, fehlende Datenpunkte unter dem CMND Ast musst halt manuell anlegen.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        thrusty @mickym last edited by thrusty

                        @mickym
                        Das mit dem Display habe ich nun hin bekommen. Das Problem lag an der Maske zum Publizieren. Meine mqtt Instanz ist 1, in der Maske stand 0. Danke für den Tip. Das Display kann ich nun über den Datenpunkt ansteuern. Vielen Dank.

                        Nun habe ich noch eine Fragen.
                        Bildschirmfoto 2021-09-05 um 13.00.09.png
                        Das mit den Datenpunkten anlegen habe ich hinbekommen. Zumindest für das Display hat es geklappt.
                        Nur warum ich die beiden Shutter nicht über die CMND Datenpunkte erreiche ist mir ein Rätsel. Der eigegebene Wert bei ShutterPosition wird nicht übermittelt. Hast du vielleicht noch einen Tip? Unter den Punkt "state" sehe ich das beide online sind und die aktuelle Position.

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

                          @thrusty Nun ehrlich gesagt verstehe ich die Struktur nicht. Eigentlich darf in dem Pfad nicht Eigene Punkte drinstehen, die Struktur müsste eigentlich wie im Namen aussehen. Mich wundert, dass das mit dem Display funktioniert. Hast Du den mqtt-Adapter, der nur als Client funktioniert oder den, den ich unten im Screenshot gezeigt habe und der sowohl als Client wie als Broker definiert werden kann?

                          Wichtig ist halt zu prüfen:

                          1. Kommt aus dem iobroker das was Du dort in einem DP änderst auch im mosquitto an?
                          2. Ist der mqtt-Pfad richtig, da das Tasmota -Gerät ja nur auf einen bestimmten Pfad hört:
                            Der Name und der Pfad müssen natürlich über einstimmen mit dem, was Du bei den Clients eingetragen hast, also %topic%/%prefix usw.

                          Nachdem Du nun gepostet hast, was Du für einen Adapter nutzt, dann muss die Struktur natürlich so sein, wie von Tasmota erwartet und nicht in einem Verzeichnis "Eigene Punkte" liegen. Auch wenn der Name passt, wundert mich das eher, dass es bei Display funktioniert hat. Also meines Erachtens muss backlog etc. immer eine Ebene höher. Das auf was Tasmota hört ist ja fix in der Struktur und richtet sich danach, was Du im Tasmota konfiguriert hast.

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            thrusty @mickym last edited by

                            @mickym
                            Direkt unter den jeweiligen Ordner (zb ssd1351) konnte ich kein Datenpunkte anlegen, da hatte ich als einzige Option einen Ordner zu erstellen.

                            Ich benutze diesen mqtt Broker:
                            Bildschirmfoto 2021-09-05 um 13.16.03.png
                            Bildschirmfoto 2021-09-05 um 13.16.51.png
                            Denn kann ich als Client und als Host einstellen.

                            mickym 2 Replies Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @thrusty last edited by

                              @thrusty Poste auch nochmal Deine mqtt-Einstellungen, so wie ich unten.

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

                                @thrusty sagte in Ikea Fernbedinung, Wert erkennen und MQTT Befehl senden:

                                Direkt unter den jeweiligen Ordner (zb ssd1351) konnte ich kein Datenpunkte anlegen, da hatte ich als einzige Option einen Ordner zu erstellen.

                                Oh das ist dieser schreckliche Admin5 Mist. 😞 - Dazu gibt es schon ein Issue. Dann bleibt Dir nichts anderes übrig, als nochmal Deinen Admin zumindest bis das gelöst ist auf Admin4 umzustellen.

                                7dcd4e00-507b-493a-9338-a0e678a513ad-image.png

                                Browser Refresh - dann kannst die Datenpunkte wieder richtig erstellen. Kannst wenn Du das gemacht hast - wieder zurückdrehen. Ansonsten musst Du über einen anderen mqtt-Client diese Datenpunkte erstellen. Wenn Du unter Windows arbeitest - kannst Du das ggf- auch mit dem Tasmota Device Manager den nutze ich

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  thrusty @mickym last edited by

                                  @mickym
                                  Du hast recht, mit diesem Topic kann es nicht funktionieren.
                                  Bildschirmfoto 2021-09-05 um 13.29.06.png
                                  Hier sind die Einstellungen:
                                  Bildschirmfoto 2021-09-05 um 13.29.47.png

                                  Ich werde die Admin Einstellungen mal ändern. Danke dafür.

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

                                    @thrusty Ich hab das hier schon lang und breit moniert: https://forum.iobroker.net/topic/46814/admin5-ich-kann-keine-objekte-mehr-manuell-anlegen/367

                                    und hier nochmal weiter ausführlich diskutiert: https://forum.iobroker.net/topic/46851/datenpunkte-allgemein-und

                                    und inzwischen gibt es auch ein issue diesbezgl.

                                    https://github.com/ioBroker/ioBroker.admin/issues/1067

                                    Tut mir leid, dass Dich das nun so getroffen hat.😠 😖

                                    Ansonsten passen Deine Einstellungen 👍 - ich habe exakt diesselben und bei mir funktioniert es, wenn die Datenpunkte an der richtigen Stelle sind. 😉

                                    Speedbreaker12 created this issue in ioBroker/ioBroker.admin

                                    open Keine eigenen Datenpunkte in mqtt.X mehr #1067

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      thrusty @mickym last edited by

                                      @mickym
                                      Muss dir ja nicht leid tun. Jedenfalls nett das du mir da in Gange hilfst 👍 .

                                      Bildschirmfoto 2021-09-05 um 13.48.00.png
                                      Shutter2 (da war der Punkt ShutterPosition vom System angelegtworden) funktioniert nun. Bei Shutter1 habe ich den Punkt angelegt, das läuft noch nicht.
                                      Bei dem funktioniert es aber über Backlog. Hatte ich auch selbst angelegt.

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

                                        @thrusty Schau mal, dass der Name auch den MQTT Regeln entspricht - Slash statt Punkt

                                        3a9b9c58-ce74-4eee-ba5d-f45f6fad414f-image.png

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          thrusty @mickym last edited by

                                          @mickym
                                          Oh ja, du hast Recht. Hatte ich übersehen 🙄 .

                                          Ok, die Ikea FB funktioniert, die Rolläden funktionieren, das Display funktioniert, nun will ich mal schauen dass ich das ganze mit Blockly verbinde.

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

                                            @thrusty Na wenn Du manuell was da reinschreibst und es funktioniert, dann sollte es auch mit Deiner Logikmaschine (Blockly, JS, NR) gehen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            886
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            26
                                            2110
                                            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