Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Folder anlegen unter mqtt.1.

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Folder anlegen unter mqtt.1.

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @Sven Schumacher last edited by

      @sven-schumacher

      eigentlich sollte der Broker von deinem DTU alle Ordner anlegen. Wenn er das nicht macht, ist eventuell in deine MQTT Einstellungen etwas falsch. zeig diese doch mal.

      Samson71 1 Reply Last reply Reply Quote 0
      • Samson71
        Samson71 Global Moderator @TT-Tom last edited by

        @tt-tom sagte in Folder anlegen unter mqtt.1.:

        eigentlich sollte der Broker von deinem DTU alle Ordner anlegen.

        Das kommt u.U. auf den Broker an. Der ioBroker eigene MQTT-Adapter macht das zum Beispiel völlig korrekt (bei mir für AhoyDTU). Als ich auf Mosquitto umgestellt habe, gab es den Ordner mit den Datenpunkten aber nicht mehr. Die mußte ich tatsächlich erst selber anlegen. Das habe ich aber mit dem MQTT Explorer auf dem Mosquitto angelegt mit publish. Das wird dann ja automatisch in den ioBroker Adapter übertragen.

        Sven Schumacher 1 Reply Last reply Reply Quote 0
        • Sven Schumacher
          Sven Schumacher @Samson71 last edited by

          @samson71 ich habe mqtt mit den Einstellungen laufen, die Default für eine neue Instanz sind.

          Es werden automatisch alle toppics angelegt und mit Daten versorgt, die von der DTU in Richtung iobroker gehen.

          Die 4 cmd toppics werden nicht erstellt. Wenn ich die erstelle sind es zunächst state/state. Aber auch wenn ich sie zu state/value mache oder zu state/variable (<- so erstellt die DTU die ankommenden Daten) werden die Werte von der DTU nicht ausgeführt. Hin und wieder taucht dann in der DTU ein "DTU command failed" auf, ohne weitere Informationen.

          Vielleicht sind die Attribute für den state falsch? Kann jemand mit funktionierender cmd Mal die Attribute hier zeigen?

          bahnuhr Samson71 Marc Berg 3 Replies Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @Sven Schumacher last edited by

            @sven-schumacher

            Schreib ein Script und sende den Befehl per http request.

            Sven Schumacher 1 Reply Last reply Reply Quote 0
            • Samson71
              Samson71 Global Moderator @Sven Schumacher last edited by Samson71

              @sven-schumacher
              Auch wenn es blöd klingt. Ich habe immer noch nicht begriffen, ob Du den ioBroker selber als MQTT Server benutzt oder nur als Client von einem anderen MQTT Broker die Daten bekommst. Das machte nämlich bei mir den entscheidenden Unterschied aus.

              Mir hat auch der MQTT Explorer sehr weitergeholfen. Ich hatte damit die fehlenden Topics per publish angelegt.

              Sven Schumacher 1 Reply Last reply Reply Quote 0
              • Marc Berg
                Marc Berg Most Active @Sven Schumacher last edited by

                @sven-schumacher sagte in Folder anlegen unter mqtt.1.:

                Aber auch wenn ich sie zu state/value mache oder zu state/variable (<- so erstellt die DTU die ankommenden Daten) werden die Werte von der DTU nicht ausgeführt.

                Dass da jemand mal ein sehr ähnliches Problem hatte, hast du schon gesehen?

                https://github.com/tbnobody/OpenDTU/discussions/748

                Sven Schumacher 1 Reply Last reply Reply Quote 0
                • Sven Schumacher
                  Sven Schumacher @Marc Berg last edited by

                  @marc-berg Ja, nur das dort der Reset der DTU geholfen hat.
                  Bei mir nicht.

                  1 Reply Last reply Reply Quote 0
                  • Sven Schumacher
                    Sven Schumacher @Samson71 last edited by

                    @samson71 Ich benutze den IOBroker als Sammelzentrale und für einfache Steuerungen.
                    Darauf läuft dann als Adapter: MQTT-Server/Client, NodeRed , SQL und HMIP.
                    Außerdem läuft da die Wettervorhersage rein und bald auch der Stromzähler im Keller.

                    Und wenn ich im IOBroker nun etwas über MQTT an die openDTU senden will, dann klappt das eben nicht.

                    Samson71 1 Reply Last reply Reply Quote 0
                    • Sven Schumacher
                      Sven Schumacher @bahnuhr last edited by

                      @bahnuhr Dafür gibt es einen extra Adapter, den jemand für die DTU gebaut hat.
                      Allerdings würde ich hier gerne darauf verzichten. Sonst blicke ich später selbst nicht mehr durch.

                      MQTT ist dafür gedacht und es sollte über den Weg gehen.

                      1 Reply Last reply Reply Quote 0
                      • Samson71
                        Samson71 Global Moderator @Sven Schumacher last edited by

                        @sven-schumacher sagte in Folder anlegen unter mqtt.1.:

                        Darauf läuft dann als Adapter: MQTT-Server/Client

                        Das verstehe ich nicht. Es laufen also 2 Instanzen? Eine Instanz kann ja nur als Server/Broker ODER als Client/Subscriber fungieren.

                        7ab1d091-c95b-4542-83ba-8bab0543ae81-image.png

                        Um diesen Unterschied ging es mir in meinen Ausführungen.

                        Als ich AhoyDTU unter Server/Broker, also "direkt" betrieben habe, hatte ich auch die notwendigen cmd-Datenpunkte für die Steuerung. Diese wurden automatisch mit angelegt.

                        Als ich AhoyDTU auf Client/Subscriber umgestellt hatte (Daten kommen jetzt von einem Mosquitto-MQTT-Server), haben diese cmd-Datenpunkte gefehlt. Sie wurden nicht automatisch mit angelegt. Diese habe ich dann mittels MQTT-Explorer auf dem Mosquitto angelegt (publish) und dieser hat sie dann auch in den Adapter vom ioBroker übertragen.

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

                          @mickym Also grundsätzlich ist es falsch wenn man behauptet die DTU legt selbst die Ordner an. Es werden IMMER nur die Ordner und states angelegt, deren topics die DTU veröffentlicht (published). Alle states auf die das Gerät hört müssen immer selbst angelegt werden. Die cmd Punkte werden NIE angelegt - da das zu Endlosschleifen führen würde!!!
                          Wie man die Punkte anlegt, in dem man über einen Mqtt-Explorer die entsprechenden topics published, die Datenpunkte manuell im Admin anlegt, mit NodeRed published, mit Blockly und SendTo oder JS mit SendTo anlegt ist dabei völlig WURSCHT. Sie werden nur NIE von Gerät selbst angelegt.

                          Wenn ich mir die Doku anschaue, müssen deshalb alle Datenpunkte unter mqtt.x.serienno.cmd angelegt werden:

                          4ac976e3-9e58-477b-b6e8-ab7fca96d22e-image.png

                          Nun nur noch darauf achten, dass in die Datenpunkte "unbestätigt" bzw. als command (NodeRed) oder mit steuere(Blockly) beschrieben werden.

                          Der mqtt-Adapter als Broker benötigt, dass die Punkte unbestätigt gepublished werden und das man KEINE Zustände published, sonst hat wieder diese Endlosschleifen, da der Adapter dann nicht mehr unterscheiden kann, was von aussen kommt und was er selbst angelegt, aktualisiert hat.
                          Trotzdem macht der Adapter manchmal Probleme. (Sieht man meist im Log - message 123 wurde nach 11 retries gelöscht oder ähnliches).
                          Ich nutze deswegen auch mqtt-Broker den mosquitto und den Adapter als Client. Aber das muss nicht unbedingt, wenn alles OK ist. Aber manchmal macht der Adapter eben auch nicht das was er soll.

                          Sven Schumacher Samson71 2 Replies Last reply Reply Quote 0
                          • Sven Schumacher
                            Sven Schumacher @mickym last edited by Sven Schumacher

                            @mickym Danke. So habe ich es auch verstanden.
                            Nur habe ich das soweit auch gemacht und für mich sieht es richtig aus.
                            Der Name und die Struktur stimmt. Aber der Wert erreicht nicht das Ziel.

                            Und es gibt ja noch einige Möglichkeiten da was zu konfigurieren.

                            Es würde halt helfen, wenn jemand da eine funktionierende Konfiguration hätte. Dann könnte man vergleichen, wo meine anders ist.

                            Fehler im Log habe ich nicht. Ich sende unbestätigt. Dann wird der Wert kurz grün angezeigt und dann rot und er wird ignoriert.

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

                              @sven-schumacher Mach in deiner mqtt Konfig deines Brokers ALLE Haken weg und schreibe - wenn die Struktur stimmt unbestätigt in die cmd Datenpunkte.

                              1 Reply Last reply Reply Quote 0
                              • Samson71
                                Samson71 Global Moderator @mickym last edited by

                                @mickym sagte in Folder anlegen unter mqtt.1.:

                                Also grundsätzlich ist es falsch wenn man behauptet die DTU legt selbst die Ordner an.

                                Habe ich auch so nicht behauptet. OpenDTU kenne ich auch gar nicht. Fakt ist aber, dass bei AhoyDTU auch die Steuerdatenpunkte vorhanden waren im Adapter als dieser Server/Broker war. Erst bei der Umstellung auf Mosquitto und Nutzung als Client haben diese gefehlt und ich musste diese selber anlegen.

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

                                  @samson71 War auch nicht an Dich gerichtet - da gab es aber jemand weiter unten im Thread. 😉 - Im Übrigen ist es wie gesagt völlig egal, welches System angebunden ist. Topics auf die ein Gerät hört werden NIE von dem Gerät selbst gepublished. Wer die Datenpunkte angelegt hat - kann ich Dir nicht sagen, aber sicher nicht das Gerät selbst. Wie soll das denn sonst bitte unterscheiden, ob es was machen soll oder nicht. Sobald ein Gerät ein topic gepublished hat, merkt sich das Gerät nicht, dass es dieses Topic gepublished hat. Wenn eine Bestätigung gewünscht ist muss man es über QoS Level 2 schicken, aber bei Level 0 (Standard) wird einfach gefeuert und das wars. Im MQTT gibts kein ACK Flag.

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

                                    @sven-schumacher sagte in Folder anlegen unter mqtt.1.:

                                    Fehler im Log habe ich nicht. Ich sende unbestätigt. Dann wird der Wert kurz grün angezeigt und dann rot und er wird ignoriert.

                                    Das ist verkehrt dann wurde bestätigt gesendet. GRÜN im Admin ist ein BESTÄTIGTER Wert, ROT im Admin ist ein UNBESTÄTIGTER Wert. ROT ist also kein Fehler.
                                    und wie gesagt alle Haken raus:

                                    59035dbe-845a-4d0b-9491-4ccc45900907-image.png

                                    Prüfen, ob bei eigenen States die richtige Maske eingetragen ist. Am Besten ist man STELLT da gar nichts EIN - dann macht man am wenigsten kaputt.

                                    Als Broker sammelst Du Daten - da muss nichts gepublished werden, weder beim Verbinden noch sollte man das Publishen einschränken - das muss man nur wenn man dummerweise auch noch die Zustände angeklickt hat. Diese Kombi ist aber nur dafür gedacht, wenn man aus anderen iobroker Instanzen publishen will und dann empfiehlt es sich, dies auch über eigene Instanzen zu machen.

                                    Sven Schumacher 1 Reply Last reply Reply Quote 0
                                    • Sven Schumacher
                                      Sven Schumacher @mickym last edited by Sven Schumacher

                                      @mickym Es sind alle Haken raus und auch der beim Senden (Bestätigt) ist kein Haken.
                                      Die Maske ist mqtt.1.* weil das Instanz 1 ist. Also alles wird angeboten, was unter dieser Instanz liegt und sonst nichts.

                                      Der Datenpunkt ist so definiert:

                                      {
                                        "common": {
                                          "name": "limit_persistent_absolute",
                                          "desc": "Manuell erzeugt",
                                          "role": "variable",
                                          "type": "number",
                                          "read": true,
                                          "write": true,
                                          "def": 0
                                        },
                                        "type": "state",
                                        "native": {},
                                        "_id": "mqtt.1.1141123456789.cmd.limit_persistent_absolute",
                                        "acl": {
                                          "object": 1638,
                                          "state": 1638,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        },
                                        "from": "system.adapter.admin.0",
                                        "user": "system.user.admin",
                                        "ts": 1685033551820
                                      }
                                      

                                      ich hab nur die SN hier verändert wegen Datenschutz.

                                      Und so sieht das Logfile aus:

                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.652	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/restart" with regex /mqtt\.1\.[^.]*\.cmd\.restart/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.650	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/restart" with regex /^[^\.]*\.cmd\.restart/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.631	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/power" with regex /mqtt\.1\.[^.]*\.cmd\.power/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.629	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/power" with regex /^[^\.]*\.cmd\.power/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.625	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_nonpersistent_absolute" with regex /mqtt\.1\.[^.]*\.cmd\.limit_nonpersistent_absolute/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.623	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_nonpersistent_absolute" with regex /^[^\.]*\.cmd\.limit_nonpersistent_absolute/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.619	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_nonpersistent_relative" with regex /mqtt\.1\.[^.]*\.cmd\.limit_nonpersistent_relative/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.617	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_nonpersistent_relative" with regex /^[^\.]*\.cmd\.limit_nonpersistent_relative/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.613	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_persistent_absolute" with regex /mqtt\.1\.[^.]*\.cmd\.limit_persistent_absolute/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.612	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_persistent_absolute" with regex /^[^\.]*\.cmd\.limit_persistent_absolute/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.606	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_persistent_relative" with regex /mqtt\.1\.[^.]*\.cmd\.limit_persistent_relative/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.604	info	Client [OpenDTU-11820156] subscribes on "DTU/+/cmd/limit_persistent_relative" with regex /^[^\.]*\.cmd\.limit_persistent_relative/
                                      
                                      mqtt.1
                                      2023-05-30 13:21:07.260	info	Client [OpenDTU-11820156] connected with secret xxx
                                      
                                      mqtt.1
                                      2023-05-30 13:21:05.544	info	Starting MQTT-WebSocket authenticated server on 0.0.0.0:1886
                                      
                                      mqtt.1
                                      2023-05-30 13:21:05.541	info	Starting MQTT authenticated server on 0.0.0.0:1885
                                      
                                      Marc Berg 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active last edited by

                                        @sven-schumacher Das schaut in meinen Augen alles gut aus. Funktioniert power und restart auch nicht?

                                        Sven Schumacher 1 Reply Last reply Reply Quote 0
                                        • Sven Schumacher
                                          Sven Schumacher @mickym last edited by

                                          @mickym Es ist egal welchen Befehl ich senden will.
                                          Es wird alles ignoriert.

                                          ich habe in der dtu das Base-Topic "DTU/" gesetzt ... das sorgt auch dafür, dass alle States mit "DTU/" anfangen.

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

                                            @sven-schumacher sagte in Folder anlegen unter mqtt.1.:

                                            @mickym Es ist egal welchen Befehl ich senden will.
                                            Es wird alles ignoriert.

                                            ich habe in der dtu das Base-Topic "DTU/" gesetzt ... das sorgt auch dafür, dass alle States mit "DTU/" anfangen.

                                            Na das ist der Fehler - weil dann der Pfad ja heißt:

                                            DTU/seriennr/cmd/limit_nonpersistent_absolute - sehe ich jetzt gerade erst.

                                            Also Deine gesamte Struktur darf nicht unter mqtt.1.seriennr.cmd liegen sondern unter
                                            mqtt.1.DTU.seriennr.cmd

                                            Sven Schumacher 2 Replies 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

                                            872
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            77
                                            4123
                                            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