Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Mqtt best practice

    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 best practice

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @dos1973 last edited by

      @dos1973 sagte in Mqqt best practice:

      @mickym sagte in Mqqt best practice:

      0.command

      aber ich kann nur "Verzeichnis" auswählen
      Bildschirmfoto 2021-09-22 um 20.21.26.png

      Bildschirmfoto 2021-09-22 um 20.21.36.png

      Wieder löschen - Du hast Dich nicht genau an meine Vorgehensweise gehalten.

      1. Du markierst den Relay Datenpunkt und NICHT die 0 !!!!

      2a1fe6fb-56fe-499f-b1b7-6c90fa66d881-image.png

      1. Jetzt + drücken

      2. Und als Name: 0.command eingeben

      a6f0516f-72e7-4816-9f7f-1ea717e3e3ef-image.png

      Ansonsten gehst halt auf den Admin4 zurück erstellst die Datenpunkte und stellst dann wieder um.

      7a436a9e-59cc-4005-9258-fdf1beb8ed40-image.png

      Anhaken, Browser refreshen und dann alle benötigten DP anlegen. Ist leider so mit dem S..Admin5 😠 😠 😠

      B D 2 Replies Last reply Reply Quote 0
      • D
        dos1973 @Barnie2017 last edited by

        @barnie2017
        das klappt!

        Bildschirmfoto 2021-09-22 um 20.28.24.png

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

          @barnie2017 sagte in Mqqt best practice:

          @dos1973 probiere mal folgendes:

          hast du einen MQTT Client auf deiner Maschine? Ich habe unter Windows den MQTT.fx
          Dort die Adresse des Mosquittos eintragen:
          dann verbinden und bei publish den publish string eintragen. Bei mir z.B.:

          31c2a010-a830-44cf-b07e-77d2f5c12374-image.png

          dann auf publish klicken. Der Shelly sollte schalten. Bei mir wurden damit auch die Datenpunkte dafür angelegt...

          evt. muss ON auch on sein... Wenn der Shelly schaltet bei den Datenpunkten schauen... Geht auch im 5er Admin...

          RUDI

          Das geht natürlich - aber geht auch mit direkten publishen im MQTT-Adapter. Das wurde nur mit dem Admin 5 nicht berücksichtigt und scheint wohl auch nicht so schnell behoben zu werden.

          1 Reply Last reply Reply Quote 0
          • B
            Barnie2017 @mickym last edited by Barnie2017

            @mickym schon mal meinen Weg probiert? siehe Post vorher... Damit konnte ich allen fehlenden Datenpunkte im 5er Admin anlegen. Kein Aufwand und man sieht gleich, ob der Befehl stimmt...

            RUDI

            D mickym 2 Replies Last reply Reply Quote 0
            • D
              dos1973 @Barnie2017 last edited by dos1973

              @barnie2017 sagte in Mqqt best practice:

              Damit konnte ich allen fehlenden Datenpunkte im 5er Admin anlegen

              RUDI

              wieviel DP brauchst denn eigentlich?
              ich dachte ja damit wird's einfacher 😉

              wenn ich 50 Shelly habe...puhh.
              Ich merke erst jetzt welche Service so eine Adapter ist 🙂

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

                @barnie2017 Das ist schon logisch - Du kannst über jeden Client alle Topics publishen 😉 - Dafür brauchst aber einen extra Client, den man eigentlich nicht braucht, wenn der Admin 5 hier nicht dazwischen funken würde.

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

                  @dos1973 Wie gesagt stell auf die alte Oberfläche um und erstelle die Datenpunkte das geht schon. In 20 Minuten bist fertig und ist nur Einmalaufwand.

                  1 Reply Last reply Reply Quote 0
                  • D
                    dos1973 @mickym last edited by

                    @mickym sagte in Mqqt best practice:

                    0.command

                    ich habe genau das befolgt, meine ich zumindest.
                    ich habe "relay" Markiert dann + "0.command"
                    aber es wird immer ein Verzeichnis angelegt

                    D mickym 2 Replies Last reply Reply Quote 0
                    • D
                      dos1973 @dos1973 last edited by

                      .command habe ich verstanden

                      was macht den Set und Status?

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

                        @dos1973 OK - dann muss man den relay Datenpunkt als Folder definieren. Kannst Du mal schauen, ob das Stiftsymbol hinter dem relay DP steht?

                        91d9a46f-def8-4fe5-97ca-b2a52e70af63-image.png

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dos1973 @mickym last edited by

                          @mickym
                          nein, relay hat nur den Mülleimer

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

                            @dos1973 status musst nicht anlegen.

                            Wie gesagt schau Dir die Doku ggf. an.
                            91d0db31-a185-4829-9439-4c0f37cb8ed5-image.png
                            Wenn Du einen Dimmer hast dann dimmst Du über das set Kommando diesen.

                            92cc477e-1e4f-4f40-85f4-14dc52da83a9-image.png

                            Den Vorteil, den Du mit reinem MQTT-hast, ist dass Du nicht wie beim Shelly Adapter darauf warten musst, dass das Gerät mit den entsprechenden Funktionen implementiert wird.

                            • So um das Problem mit den fehlenden Objekten im mqtt Adapter zu lösen, lass mal folgendes Skript laufen:
                            /**
                            * Zweck:       Korrigiert übergeordnete Ordnerstrukturen eines Datenpunkts
                            * Datum:      07.08.2021
                            * Autor:       @fastfoot
                            */
                             
                            //              In den Settings der Javascript-Instanz muss setObject erlaubt sein!!!
                             
                            let arr = [],
                               id = '';
                             
                            const ids = $('mqtt.0.*');
                            ids.each(idTmp => {
                               arr=idTmp.split('.');
                               arr.splice(arr.length-1);
                               id=arr.join('.');
                               if(arr[0] === '0_userdata' || arr[0] === 'alias' || arr[0] === 'mqtt' || arr[0] === 'javascript'){
                                   correctObject(id, arr);
                               }
                            })
                             
                            function correctObject(id,arr){
                               if(arr.length === 2) return;
                               if(!existsObject(id)){
                                   let obj = {};
                                   obj = {
                                       type: 'folder',
                                       common:{
                                           name: arr[arr.length - 1]
                                       }
                                   }
                                   extendObject(id, obj, e => {
                                       if (e) log('Fehler beim Schreiben des Objektes: '+ id + ' ' + e);
                                   })
                               }
                               arr.splice(arr.length - 1);
                               id = arr.join('.');
                               correctObject(id, arr);
                            }
                            

                            Empfehle Dir aber zum Erstellen erst mal auf admin4 umzustellen (bleibt ja der Admin5 Adapter nur mit alter Oberfläche - kannst ja dann wieder umstellen).

                            D 1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 @mickym last edited by

                              @mickym sagte in Mqqt best practice:

                              Den Vorteil, den Du mit reinem MQTT-hast, ist dass Du nicht wie beim Shelly Adapter darauf warten musst, dass das Gerät mit den entsprechenden Funktionen implementiert wird.

                              das ist genau der Grund warum ich das machen wollte.

                              command und Set habe ich auch begriffen... 🙂 ich brauche nochmals ein Bsp für den Status?

                              und ich weiß leider nicht wieder der admin von 5 auf 4 gewechselt werden kann, lese ich heute das erste mal.

                              btw. Vielen Dank für deine Hilfestellung!

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

                                @dos1973 Gehe auf Instanzen und in die Einstellungen Deiner Admin Instanz:
                                Mach den Haken Alte Benutzeroberfläche an, dann Browserrefresh

                                448a60c6-19dd-49b9-b733-fcf865d0d946-image.png

                                Dann legst die Datenpunkte wie früher an.
                                Dann machst den Haken wieder raus und hast wieder die Admin5 Oberfläche.

                                Anschließend lässt Du das Skript drüber laufen, das legt dann aus den fehlenden Objekten Verzeichnisobjekte an.

                                Status meldet der Shelly von selbst den brauchst nicht anlegen. Über den Status sendet der Shelly einen JSON mit Einstellungen

                                939230e7-bde7-4dcf-96af-31323b06dd31-image.png

                                Den status scheint es nur bei dem DImmer zu geben.

                                D mickym 2 Replies Last reply Reply Quote 0
                                • D
                                  dos1973 @mickym last edited by dos1973

                                  @mickym
                                  Ok, danke erstmal. Das kann ich erst morgen wieder versuchen.

                                  Melde mich morgen abend nochmals

                                  Noch eine Frage:
                                  Das script führe ich script Adapter aus?

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

                                    @dos1973

                                    Falls Dich das interessiert, hier habe ich die Problematik mit dem Admin5 und mqtt ausführlich diskutiert:

                                    https://forum.iobroker.net/topic/46851/datenpunkte-allgemein-und

                                    https://forum.iobroker.net/topic/46814/admin5-ich-kann-keine-objekte-mehr-manuell-anlegen/289?_=1632336730226

                                    und gibt inzwischen auch ein github issue

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

                                    Ich hoffe nur nicht - dass das Prio 99 bekommt, da nur als "Enhancement" und nicht als Bug akzeptiert.

                                    Speedbreaker12 created this issue in ioBroker/ioBroker.admin

                                    open Keine eigenen Datenpunkte in mqtt.X mehr #1067

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

                                      @dos1973 sagte in Mqqt best practice:

                                      @mickym

                                      Noch eine Frage:
                                      Das script führe ich script Adapter aus?

                                      e59d97a3-9324-42cd-896d-d2c4a7771d19-image.png

                                      Ja unter Scripts

                                      D 1 Reply Last reply Reply Quote 1
                                      • D
                                        dos1973 @mickym last edited by

                                        @mickym
                                        ich muss nochmals fragen, was das script macht?!?

                                        nachdem ich den admin vom 5 auf 4 umgestellt habe, kann ich die states anlegen welche ich benötige. ich hab zwar das script ausgeführt - aber ich habe nicht verstanden warum ich das machen muss.

                                        bei shelly 2.5 als Rollo habe ich jetzt noch diese DP angelegt
                                        mqtt.0.shellies.Wohnzimmer_Rollo_links.roller.0.command.pos
                                        command: für hoch/runter/stop
                                        pos: für die genaue Positionsfahrt

                                        mir gefällt nicht so gut dass ich states manuell anlegen muss um die gerate zu steuern.
                                        Wenn ich irgendwann mal eine Baum lösche und vergesse mir zu notieren was da war, dann geht die Suche wieder los...

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

                                          @dos1973

                                          @dos1973 sagte in Mqqt best practice:

                                          @mickym
                                          ich muss nochmals fragen, was das script macht?!?

                                          nachdem ich den admin vom 5 auf 4 umgestellt habe, kann ich die states anlegen welche ich benötige. ich hab zwar das script ausgeführt - aber ich habe nicht verstanden warum ich das machen muss.

                                          Das Skript legt fehlende Objekte an, die erst seit Admin5 nötig sind. Das heißt, wo vorher das Stift-Symbol gefehlt hat (hast Du ja bestätigt), sollte nun ein Stiftsymbol vorhanden sein.
                                          Dann ist relay nun auch als Objekt Verzeichnis und Du solltest nun wie von mir ursprünglich beschrieben durch Markieren des relay Datenpunktes über das + Datenpunkte hinzufügen können.
                                          Das Skript legt also bei fehlende Objekten, Objekte vom Typ "Folder" an.

                                          6f4ba1af-bcea-401d-a7d8-6253d5be4f8e-image.png

                                          bei shelly 2.5 als Rollo habe ich jetzt noch diese DP angelegt
                                          mqtt.0.shellies.Wohnzimmer_Rollo_links.roller.0.command.pos
                                          command: für hoch/runter/stop
                                          pos: für die genaue Positionsfahrt

                                          Ja das passt:

                                          b61625aa-c065-40bc-96df-3a726ec078c4-image.png

                                          mir gefällt nicht so gut dass ich states manuell anlegen muss um die gerate zu steuern.
                                          Wenn ich irgendwann mal eine Baum lösche und vergesse mir zu notieren was da war, dann geht die Suche wieder los...

                                          Nun das ist generell bei mqtt so. Es werden nur die Topics geschrieben, die auch veröffentlicht wurden und ein Gerät veröffentlicht nicht die Topics auf die es hört, da dies zu einer Endlosschleife führen würde.

                                          Generell empfiehlt es sich, dass Du ggf. noch Aliase anlegst, damit hast Du auch dokumentiert, welche Datenpunkte Du zum steuern verwendest und kannst die Geräte im Fall eines Austauschs einfach austauschen.

                                          Du kannst ja auch jeden Shelly Typ - die Objektstruktur exportieren, um quasi eine Vorlage zu haben.

                                          Wenn Du willst kannst Dir ja auch ein kleines Script schreiben, dass Dir über den mosquitto Client alle Datenpunkte anlegt oder Du legst die Datenpunkte über Deine Logikmaschine an, wenn das geht.

                                          Im NodeRed kannst zum Beispiel einfach angeben, dass Datenpunkte erstellt werden, wenn sie nicht existieren.

                                          Alles nur ein paar Anregungen. Und wie gesagt ist ja nur Einmalaufwand. 😉

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            dos1973 @mickym last edited by

                                            @mickym

                                            das mit den Skripten ist so eine Sache 🙂
                                            bin da nicht so bewandert.

                                            das mit den Alias wäre natürlich jetzt noch am Anfang sinnvoll... muss ich mir auch mal ansehen, welches da der beste Adapter ist, da gibts ja, meine ich auch inzwischen verschiedene Optionen.

                                            mickym 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

                                            559
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            mosquitto mqtt shellys
                                            6
                                            136
                                            9927
                                            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