Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. zigbee2mqtt über MQTT-Adapter einbinden

    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

    zigbee2mqtt über MQTT-Adapter einbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • hydrotec
      hydrotec @Mariatschi0815 last edited by hydrotec

      @Mariatschi0815

      ... Leider wäre es dann der current_heatsetpoint den zigbee2mqtt ja schon liefert...

      Dann einfach den Topic zu dem "current_heatsetpoint" nehmen.
      Bspl.
      Topic: "zigbee2mqtt/ThermostatWZ/current_heatsetpoint/set"
      payload: "{"current_heating_setpoint": 22}"

      Hier kannst du noch einmal nachlesen, zu welchem Topic-set der jeweilige payload auszusehen hat.

      M 1 Reply Last reply Reply Quote 0
      • M
        Mariatschi0815 @hydrotec last edited by Mariatschi0815

        @hydrotec Wenn ich das jetzt alles richtig verstanden habe, bringt das nicht viel, weil es nur ein "expose" ist. Also wird nur der Datenpunkt im ioBroker aktualisiert, aber eben nicht in zigbee2mqtt und somit nicht am Thermostat selber. Habs probiert.

        @arteck said in zigbee2mqtt über MQTT-Adapter einbinden:

        @mariatschi0815

        solltest aber im zuge dessen den adapter von GIT installieren

        Würdest du mir trotzdem noch erklären was das nun genau macht? Ich versteh das (noch) nicht so ganz.

        hydrotec arteck 2 Replies Last reply Reply Quote 0
        • hydrotec
          hydrotec @Mariatschi0815 last edited by

          Guten Morgen Martin

          @mariatschi0815 sagte in zigbee2mqtt über MQTT-Adapter einbinden:

          @hydrotec Wenn ich das jetzt alles richtig verstanden habe, bringt das nicht viel, weil es nur ein "expose" ist. Also wird nur der Datenpunkt im ioBroker aktualisiert, aber eben nicht in zigbee2mqtt und somit nicht am Thermostat selber. Habs probiert.

          Das kann ich jetzt nicht ganz nachvollziehen, eventuell war es doch nicht so ganz verständlich erklärt.
          Ich versuche es mal anhand eines bei mir funktionierendem Beispiel mit einem Wandschalter.
          Beschreibung zigbee2mqtt.

          Topics
          Status: "zigbee2mqtt/mo_wall_switch_01/state_l1"
          Wird automatisch unter den Objekten angelegt.

          Schalten: "zigbee2mqtt/mo_wall_switch_01/l1/set"
          Muss unter den Objekten angelegt werden.
          (wie schon geschrieben, am einfachsten mit einem Tool, bei mir MQTT.fx)
          mqtt_topic_payload_02.png

          Wenn der DP zum Schalten angelegt ist, wird zukünftig der payload darüber gesendet.
          mqtt_topic_payload_01.png
          Entweder direkt im Datenpunkt-Wert
          mqtt_topic_payload_03.png
          oder z.B. blockly
          mqtt_topic_payload_04.png

          Ich habe, nach diesem Muster, schon mehrere mqtt-clients und devices (nicht nur zigbee2mqtt) in ioBroker eingepflegt.
          Die Topics, und den payload, musst eben an deine Umgebung anpassen.

          Vielleicht auch noch nützlich, die Einstellungen der mqtt Instanz
          Instanz_debug_mqtt1_02.png Instanz_debug_mqtt1_03.png

          Hoffentlich hilft dir das etwas weiter, falls du die Lust an MQTT noch nicht verloren hast. 😉

          -----------------------------------------------------------------------------------------------------------------------

          @arteck said in zigbee2mqtt über MQTT-Adapter einbinden:

          @mariatschi0815

          solltest aber im zuge dessen den adapter von GIT installieren

          Würdest du mir trotzdem noch erklären was das nun genau macht? Ich versteh das (noch) nicht so ganz.

          Zum Adapter iobroker.zigbee findest du hier Informationen.
          (auch wie der Adapter über GIT installiert wird)
          -----------------------------------------------------------------------------------------------------------------------

          Gruß, Karsten

          M 2 Replies Last reply Reply Quote 0
          • M
            Mariatschi0815 @hydrotec last edited by

            @hydrotec Guten Morgen Karsten,

            nein habe noch nicht die Lust daran verloren. Vielen Dank für die ausführliche Erklärung. Ich glaube ich werde mir mal MQTT.fx runter laden. Ich glaube der Explorer ist eher suboptimal. Dann versuch ich es nochmal.

            Gruß Martin

            1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active @Mariatschi0815 last edited by

              @mariatschi0815 damit werden die Geräte wie im zigbee2mqtt angelgt und direkt angesprochen..

              M 1 Reply Last reply Reply Quote 0
              • M
                Mariatschi0815 @arteck last edited by Mariatschi0815

                @arteck Ah okay, besten Dank. Da ich mich vorher noch nicht mit der Thematik beschäftigt habe gibt es viel Nachholbedarf. Darum bin ich immer sehr dankbar für Erklärungen die auch über die Anwendung hinaus gehen.

                1 Reply Last reply Reply Quote 0
                • M
                  Mariatschi0815 @hydrotec last edited by

                  @hydrotec So, ich habe nochmal ein wenig rum probiert. Mit MQTT.fx geht es tatsächlich schonmal besser.

                  Jetzt folgendes:
                  Nach deiner Anleitung klappt es, hat aber den Haken, dass mir der Datenpunkt set in die Ordnerstruktur der exposes mit angelegt wird.

                  8ee4aea2-4d70-43bf-9a51-a9cd2cf71de8-grafik.png

                  Wenn ich jetzt aber noch einen Datenpunkt brauche überschreibt er mir natürlich das "set".

                  Ändere ich jetzt das Topic, sodass ich z.B. für meine Zieltemperatur einen extra Ordner anlege in dem das set laufen soll, subscribed z2m das Topic nicht mehr.

                  b4aa279b-cc12-42d7-a17a-0195882c2e02-grafik.png

                  oder müsste ich hier noch im z2m was ändern?

                  Über den DP current_heating_setpoint der von z2m geliefert wird werden Änderungen nicht zurück geschickt.

                  Wenn ich das

                  @hydrotec said in zigbee2mqtt über MQTT-Adapter einbinden:

                  Topic: "zigbee2mqtt/ThermostatWZ/current_heatsetpoint/set"
                  payload: "{"current_heating_setpoint": 22}"

                  mache, wird der DP zwar bei beiden clients (also ioBroker und z2m) geändert. Wenn ich dann aber den DP im ioBroker ändere wird die Änderung nicht von z2m subscribed.

                  Die Instanzeinstellungen vom MQTT-Adapter hab ich genauso, bis auf die Client ID ist die wichtig? Was macht die?

                  hydrotec 1 Reply Last reply Reply Quote 0
                  • hydrotec
                    hydrotec @Mariatschi0815 last edited by

                    @mariatschi0815

                    Versuch doch mal bitte folgendes.
                    Bei mqtt.fx unter publish

                    topic:

                    zigbee2mqtt/ThermoWZ/current_heating_setpoint/set
                    

                    payload:

                    {"current_heating_setpoint": 22}
                    

                    Danach sollte es in ioBroker ungefähr so aussehen.
                    mqtt_topic_payload_05.png
                    Unter dem DP "ThermoWZ.current_heating_setpoint" wird die eingestellte Temperatur angezeigt.
                    Und unter dem DP "ThermoWZ.current_heating_setpoint.set" stellst du dann die gewünschte Temperatur ein.

                    Was die topics, und die entsprechenden payloads angeht, die kann ich dir nur Beispielhaft aufzeigen.
                    (ich habe dieses Thermostat nicht zur Verfügung 😉 )
                    Lies dir bitte diese Anleitung zu deinem Thermostat in Ruhe durch.
                    Da ist es ausführlich beschrieben, wie sich topic und payload zusammensetzen.
                    Keine Angst vor Fehlversuchen, mqtt ist am Anfang nicht ganz einfach zu verstehen.
                    Zudem, wenn etwas schief geht, kannst du die Objekte in ioBroker löschen, und wieder neu anlegen lassen.
                    (würde ich dir eh raten, wenn deine ganzen Versuche erfolgreich waren, und du nichts mehr ändern musst)

                    ... bis auf die Client ID ist die wichtig? Was macht die?

                    Die ist sogar sehr wichtig.
                    Wie die lautet, ist prinzipiell egal.
                    Wichtig ist, das sie nur einmal in deiner mqtt-Umgebung vorkommt.

                    An deiner config in zigbee2mqtt brauchst du vermutlich nichts ändern.
                    Beispielhaft meine config in zigbee2mqtt.
                    Bitte nicht 1:1 übernehmen, vor allem nicht, wenn du nicht genau weißt was die Einstellungen bedeuten sollen.

                    homeassistant: false
                    permit_join: false
                    mqtt:
                     base_topic: zigbee2mqtt
                     server: mqtt://192.168.XXX.XXX:1883
                     user: '!secret user'
                     password: '!secret password'
                    serial:
                     port: /dev/ttyUSB0
                    advanced:
                     pan_id: XXXXX
                     network_key: '!secret network_key'
                     homeassistant_legacy_entity_attributes: false
                     legacy_api: false
                     log_level: info
                     # Optional: Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message
                     # possible values are: disable (default), ISO_8601, ISO_8601_local, epoch (default: disable)
                     last_seen: 'ISO_8601_local'
                    experimental:
                     output: attribute
                    frontend:
                     port: 8080
                     host: 0.0.0.0
                     auth_token: '!secret auth_token'
                    devices: devices.yaml
                    groups: groups.yaml
                    device_options:
                     legacy: false
                    # Note: all options are optional
                    availability:
                     active:
                       # Time after which an active device will be marked as offline in
                       # minutes (default = 10 minutes)
                       timeout: 10
                     passive:
                       # Time after which a passive device will be marked as offline in
                       # minutes (default = 1500 minutes aka 25 hours)
                       timeout: 1500
                    
                    

                    Schönen Sonntag noch
                    Gruß, Karsten

                    1 Reply Last reply Reply Quote 0
                    • M
                      Mariatschi0815 last edited by

                      Na das hab ich doch im 1. Screenshot so gemacht. Wenn ich jetzt aber noch einen DP ändern muss und wieder so vorgehe bspw. für die local_temperature_calibration (über die wird der Heizzyklus angestoßen) wird mein DP "set" mit dem payload "local_temp[...]" überschrieben. Es wird also kein neuer DP set angelegt, den ich aber bräuchte.

                      hydrotec 1 Reply Last reply Reply Quote 0
                      • hydrotec
                        hydrotec @Mariatschi0815 last edited by hydrotec

                        @mariatschi0815

                        Wenn ich mir deinen ersten screenshot ansehe, dann hast du folgende topics abonniert.

                        zigbee2mqtt/ThermoWZ/current_heating_setpoint
                        zigbee2mqtt/ThermoWZ/set
                        

                        Richtig wäre

                        zigbee2mqtt/ThermoWZ/current_heating_setpoint
                        zigbee2mqtt/ThermoWZ/current_heating_setpoint/set
                        

                        ergibt die DP
                        zigbee2mqtt.ThermoWZ.current_heating_setpoint
                        zigbee2mqtt.ThermoWZ.current_heating_setpoint.set

                        oder

                        zigbee2mqtt/ThermoWZ/local_temperature_calibration
                        zigbee2mqtt/ThermoWZ/local_temperature_calibration/set
                        

                        ergibt die DP
                        zigbee2mqtt.ThermoWZ.local_temperature_calibration
                        zigbee2mqtt.ThermoWZ.local_temperature_calibration.set

                        Also die Datenpunkte "....set" müssen in der nächst tieferen Ebene erscheinen.

                        Du kannst auch erst einmal nur mit mqtt.fx arbeiten, und nachsehen ob dein Thermostat auch richtig angesteuert wird.
                        Im mqtt.fx Fenster unter subscribe, unten links, bei "Topics Collector" den button "Scan" klicken.
                        Dann erscheinen mit der Zeit alle topics, welche dein mosquitto so empfängt.
                        Dort wählst du dann den gewünschten topic aus, und machst einen Doppelklick darauf.
                        Dadurch wandert der topic nach links oben, und auf der rechten Seite kannst du den payload sehen.
                        Die topics ".../set" erscheinen erst wenn du unter publish einen payload gesendet hast.

                        Wenn das auch nicht hilft, dann bin ich ehrlich gesagt, so langsam auch am Zweifeln was es noch sein könnte.

                        EDIT:
                        Eventuell liegt es an der Version des Adapters iobroker.mqtt
                        Bei mir ist folgende installiert.

                            "mqtt": {
                              "version": "2.4.0",
                              "platform": "Javascript/Node.js"
                            },
                        
                        M 1 Reply Last reply Reply Quote 0
                        • M
                          Mariatschi0815 @hydrotec last edited by

                          @hydrotec said in zigbee2mqtt über MQTT-Adapter einbinden:

                          Also die Datenpunkte "....set" müssen in der nächst tieferen Ebene erscheinen.

                          Genau das machen sie eben nicht. Wenn ich folgendes mache:

                          zigbee2mqtt/ThermoWZ/current_heating_setpoint/set
                          

                          Wird kein neuer DP angelegt, sondern der vorhandene geändert. Das ist ja das Problem an der Geschichte.

                          hydrotec 1 Reply Last reply Reply Quote 0
                          • hydrotec
                            hydrotec @Mariatschi0815 last edited by

                            @mariatschi0815

                            und wenn du den DP "zigbee2mqtt.ThermoWZ.current_heating_setpoint.set" in ioBroker selbst anlegst?

                            Welche Adapterversion hast du?

                            H 1 Reply Last reply Reply Quote 0
                            • H
                              hipohop @hydrotec last edited by hipohop

                              Hallo zusammen,

                              ich hoffe ich darf diesen Post mal hijacken.
                              Ich nutze ebenfalls iobroker mit zigbee2mqtt. Das initiale Setup habe ich soweit nun möchte ich testweise an die visualisierung gehen und habe da ein Verständnisproblem:
                              Wenn ich z.B. eine Lampe in vis anlege, dann linke ich da ja einen Datenpunkt(?). Nun habe ich bei meinen Zigbee Device ja 2 relevante Datenpunkte einmal den xy.state und den xy.set (um aktiv zu schalten).
                              Wie gehe ich damit um?

                              Lässt sich das durch nutzen des Zigbee Adapters (ohne zigbee2mqtt) umgehen?

                              Danke euch

                              arteck hydrotec 2 Replies Last reply Reply Quote 0
                              • arteck
                                arteck Developer Most Active @hipohop last edited by

                                @hipohop sagte in zigbee2mqtt über MQTT-Adapter einbinden:

                                Lässt sich das durch nutzen des Zigbee Adapters (ohne zigbee2mqtt) umgehen?

                                ja dafür ist der adapter da.. mit mqtt musst du alles selber managen

                                H 1 Reply Last reply Reply Quote 0
                                • H
                                  hipohop @arteck last edited by

                                  @arteck
                                  Danke
                                  Ohje - das spricht ja sehr für die Nutzung des zigbee Adapters
                                  Hab ein bischen Sorge vor dem Aufwand alles neu zu pairen

                                  arteck 1 Reply Last reply Reply Quote 0
                                  • arteck
                                    arteck Developer Most Active @hipohop last edited by

                                    @hipohop bist dann aber auf der sicheren seite

                                    1 Reply Last reply Reply Quote 0
                                    • hydrotec
                                      hydrotec @hipohop last edited by

                                      @hipohop

                                      Über mqtt ist es auch möglich.

                                      z.B. einfacher Bulb on/off Schalter
                                      vis_bulb_onoff_01.png
                                      Da hast du ja einmal die Möglichkeit den Status anzuzeigen, und zur Steuerung den anderen Topic (Objekt) zu nutzen.

                                      arteck H 2 Replies Last reply Reply Quote 0
                                      • arteck
                                        arteck Developer Most Active @hydrotec last edited by

                                        @hydrotec ja man kann ach für jedes object ein alias anlegen..
                                        ich verstehe nicht warum man sich die Arbeit so schwer macht..
                                        wenns auch einfach geht..

                                        hydrotec 1 Reply Last reply Reply Quote 0
                                        • hydrotec
                                          hydrotec @arteck last edited by

                                          @arteck

                                          Es ging ja darum, wie man das in Vis einsetzen kann, und da gibt es keinen Unterschied, ob Zigbee Adapter oder mqtt.

                                          arteck 1 Reply Last reply Reply Quote 0
                                          • H
                                            hipohop @hydrotec last edited by

                                            @hydrotec said in zigbee2mqtt über MQTT-Adapter einbinden:

                                            @hipohop

                                            Über mqtt ist es auch möglich.

                                            z.B. einfacher Bulb on/off Schalter
                                            vis_bulb_onoff_01.png
                                            Da hast du ja einmal die Möglichkeit den Status anzuzeigen, und zur Steuerung den anderen Topic (Objekt) zu nutzen.

                                            Hab ich noch nicht ganz verstanden: Wo müsste ich denn dann mein xy.set und wo mein xy.state einsetzen?

                                            hydrotec 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

                                            612
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            34
                                            5186
                                            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