Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. [gelöst] ioBroker als MQTT Client, wie?

    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] ioBroker als MQTT Client, wie?

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

      @mickym Wie legt man eigentlich unter Userdata "sauber" einen Datenpunkt/Gerät/..? an, welcher einen DP von mqtt spiegelt und/oder quasi-kopiert?

      Sinn in meinen Augen ist nicht nur, dass man eine übersichtliche Struktur über alle Verwendeten Protokolle-Grenzen hinweg erstellen kann, sondern vor allem auch die Archivierung/History?
      Es ist doch bestimmt nicht sinn, dass man unzählige Scripts erstellt, die den Kram immer rüber kopieren.

      zB bei Device-Reset oder ioBroker.Adapter update/tausch gehen ja ggf diverse Daten verloren (Stromverbrauch oder Meßwerte, die man zwar real-/in-time abfragen kann, welche jedoch nicht public archiviert werden

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

        @chris-1 Um Teile oder auch um einzelne Werte aus JSON von den Originalpunkten zu entkoppeln legst Du Dir Alias an.

        Willst Du beispielsweise einen Wert aus JSON in einem einzelnen Datenpunkt speichern, weil Du die Historie speichern möchtest, dann siehst Du hier ein Beispiel.
        https://forum.iobroker.net/post/864336

        Wenn Du mit Node-Red als Logikmaschine arbeitest, dann habe ich einen Flow, der Dir aus von Dir gewählten JSONs oder Du kannst theoretisch auch einen Baum nutzen in einzelne Datenpunkte unter userdata_0 anlegt und auch aktualisiert.

        Hier mein Flow - kannst Dir ja mal durchlesen, was der kann: https://forum.iobroker.net/topic/43856/json-oder-javascript-objekt-in-iobroker-datenpunkte-zerlegen

        Generell -

        Archivierung findet nicht im direkt im iobroker statt. Der iobroker verwaltet nur aktuelle Zustände. Für die Archivierung für irgendwelche Grafen gibt es diverse Adapter: History, SQL-Adapter, Influx Adapter die dann eine Historie der Datenpunkte aufzeichnen und in den entsprechenden Datenbanken speichern.

        Chris 1 2 Replies Last reply Reply Quote 1
        • Chris 1
          Chris 1 @mickym last edited by

          @mickym Bis Node-Red und NOCH weitere Ergänzungen ist noch Weg zu gehen. Ich versuche erstmal mehr hier in ioBroker zu verstehen und bin heil froh, dass der temp voll aufgedrehte Debuglevel bei mosquitto schon einen guten Austausch (mosquitto, zigbee2mqtt service, zigbee2mqtt ioBroker.Adaper und mqtt ioBroker.Client) anzeigt

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

            @chris-1 Ich habe Dir ja nur angeboten, dass Du damit schnell JSONS in einzelne Datenpunkte unter userdata erstellen kannst. Da helfe ich gerne - ist nicht so kompliziert.

            Das mit den Alias - ist Bestandteil der Basis Iobroker - Funktionalität.

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

              @mickym said in ioBroker als MQTT Client, wie?:

              Archivierung findet nicht im direkt im iobroker statt. Der iobroker verwaltet nur aktuelle Zustände. Für die Archivierung für irgendwelche Grafen gibt es diverse Adapter: History, SQL-Adapter, Influx Adapter die dann eine Historie der Datenpunkte aufzeichnen und in den entsprechenden Datenbanken speichern.

              sql-Adapter ist schon installiert, damit werd ich mich auch noch beschäftigen (postgreSQL)

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

                @mickym Das mit dem Alias war ein echt guter Tipp!

                Habe an diversen Stellen nochmal nachgelesen und auch ein Video von "verdrahtet" gesehen, in welchem ein darauf aufsetzendes Plugin (Adapter) vorgestellt wird.

                Was ich im Endeffekt wohl am meisten daraus mit genommen habe, ist mal diese Objektbeschreibung (Alias über Plugin erstellt), die hoffendlich ein paar gedankliche Lücken schliesst

                Bildschirmfoto vom 2022-11-22 20-11-00.png

                Diese 18 Zeilen sind echt mächtig hilfreich!

                Danke, dass Du mich auf den richtigen Pfad gesetzt hast!

                Ich hatte mit sowas (vgl Screenshot) schon herum experimentiert, aber wohl an den falschen stellen gedreht

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

                  @chris-1 Na wenn Du den Thread, den ich gepostet habe, hat der Alias ein im Moment schon gutes Interface. Da brauchst Du keinen Adapter mehr. Da ist ja ein neuer Alias Tab dabei - mehr braucht es da nicht. da brauchst Du nicht das common-JSON zu bearbeiten.

                  Du musst aufpassen, dass Du gerade das was im Netz seit mehr als 1 Jahr rumsteht, heute nicht mehr aktuell ist und man heute anders macht.

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

                    @mickym Dieser Plugin/Adapter ist für mich als Neuling recht praktisch, um mir sozusagen erstmal Templates zu schaffen.
                    Allein schon diese erste, um zu verstehen, was der Alias bzw. selbst erzeugte DP (auch Gerät?) ist und wo das ganze hin zeigt bzw seinen Ursprung hat, allein diese kleine Info (id, _id, from, user) hilft wohl viel für das Verständnis.

                    Hiernach kann ich auf Deinem Weg schneller gehen 🙂

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

                      @chris-1 sagte in ioBroker als MQTT Client, wie?:

                      @mickym Dieser Plugin/Adapter ist für mich als Neuling recht praktisch, um mir sozusagen erstmal Templates zu schaffen.
                      Allein schon diese erste, um zu verstehen, was der Alias bzw. selbst erzeugte DP (auch Gerät?) ist und wo das ganze hin zeigt bzw seinen Ursprung hat, allein diese kleine Info hilft wohl viel für das verständnis.

                      Hiernach kann ich auf Deinem Weg schneller gehen 🙂

                      Du musst auch überlegen, ob das unbedingt notwendig ist. Im Zigbee2mqtt gibts Du ja den friendlyName an. Wenn Du also die Hardware tauschen musst, kannst Du die neue Hardware immer noch unter dem gleichen Namen anlegen. Genauso bei den Shellies.

                      Im Moment ist es mehr interessant, um gezielt einzelne Werte als eigenen Datenpunkt aus dem JSON zu extrahieren, für die History.

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

                        @mickym said in ioBroker als MQTT Client, wie?:

                        Du musst auch überlegen, ob das unbedingt notwendig ist. Im Zigbee2mqtt gibts Du ja den friendlyName an. Wenn Du also die Hardware tauschen musst, kannst Du die neue Hardware immer noch unter dem gleichen Namen anlegen.

                        Nach Tunlichkeit möchte ich ja zigbee2mqtt in der Zukunft durch plain mqtt ersetzen (ESP32 der Gate macht)
                        Ich mag es aufgeräumt und wenn für 20-25€ der ganze Zigbee-Kram sich in mqtt verwandelt, dann will ich zufrieden sein.

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

                          @chris-1 Na mit ESP32 kenn ich mich nicht aus. Aber zigbee2mqtt wandelt ja alles in reines mqtt um. Wie gesagt JSON sind eine sehr effiziente Art viele Informationen in einem Objekt zu speichern.

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

                            @chris-1 said in ioBroker als MQTT Client, wie?:

                            @mickym said in ioBroker als MQTT Client, wie?:

                            Du musst auch überlegen, ob das unbedingt notwendig ist. Im Zigbee2mqtt gibts Du ja den friendlyName an. Wenn Du also die Hardware tauschen musst, kannst Du die neue Hardware immer noch unter dem gleichen Namen anlegen.

                            Nach Tunlichkeit möchte ich ja zigbee2mqtt in der Zukunft durch plain mqtt ersetzen (ESP32 der Gate macht)
                            Ich mag es aufgeräumt und wenn für 20-25€ der ganze Zigbee-Kram sich in mqtt verwandelt, dann will ich zufrieden sein.

                            Dein Vietnamesisch wird nicht viel besser sein als meins, aber es gibt dazu eine englische Blogseite mit wesendlichen Informationen und den Rest kann man bildlich übernehmen.

                            https://www.youtube.com/watch?v=7aVa0YRDiSk

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

                              @chris-1 Na wie gesagt musst Du wissen - glaube nicht, dass das viele hier nutzen und ich sehe auch kein Vorteil darin - eher eine weitere Blackbox für mich. Für mich reicht was der Koordinator und die Software mir liefern.

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

                                @mickym Noch ne frag:

                                Was genau ist "ts" in der Objekt-Definition? Ist dies ein uniq-Object-Identifyer oder ist das nochmals ein externer Bezug?

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

                                  @chris-1 ts im Objekt enthält den Timestamp - also Zeitstempel. Wahrscheinlich letzte Aktualisierung. Musst halt schauen. Ist das UNIX Zeitformat in ms.

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

                                    @mickym 🤣 Also kann ich da reinschreiben was ich will?

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

                                      @chris-1 Du sollst da gar nichts reinschreiben. Diese Eigenschaften müssen aber vorhanden sein, damit der iobroker die Verwalten kann. Wie gesagt - Du solltest eigentlich nicht selbst in den Objektdefinitionen rumschreiben. 😉 - Das kann zum ganz absonderlichen Verhalten des iobrokers führen. Deswegen halte ich diese alten Videos nicht für sinnvoll, weil man da für die Aliase noch selbst im common-Objekt rumfuhrwerken musste, weil es noch keine Oberfläche für gab.

                                      Chris 1 1 Reply Last reply Reply Quote 1
                                      • Chris 1
                                        Chris 1 @mickym last edited by

                                        @mickym In dem Video wurde garnix daran gemacht, das war rein GUI/Adapter.
                                        Ich hab mir halt nur angeschaut, was das Ergenis war, was dann in Alias auftauchte.

                                        Der letztlich springende Punkt ist wohl

                                        "alias": {
                                          "id": "das.kommt.von.hier"
                                        }
                                        
                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Chris 1 last edited by mickym

                                          @chris-1 Na wie gesagt mach halt mal den Alias Tab auf.

                                          Da kannst Du bequem über die 3 Punkte den Quelldatenpunkt auswählen für Deinen Alias

                                          b177813f-5a35-4727-8f55-2c785b155182-image.png

                                          Da musst du nicht in dem common Objekt rumfuhrwerken. Dann vergisst ein Komma oder sonst was. Das ist doch viel komfortabler.

                                          Die Aliase definiterst Du alle unter alias.0

                                          b9c2b605-0179-4145-bf71-86ca407ae623-image.png

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

                                            @mickym Ach huch... da ist ja ein Menue-Punkt oben dazu gekommen.

                                            Ja das erspart ja Plugin und herumgefummel vollkommen!

                                            Danke!

                                            Wenn man als Anfänger nicht mit der Nase drauf gestubst wird,
                                            dann übersieht man solche "Kleinigkeiten" gern

                                            mickym 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            931
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            153
                                            11072
                                            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