Seite 2 von 3

Re: Verständnisfrage zu MQTT und Things

Verfasst: 2. Mai 2021 17:43
von CL084
udo1toni hat geschrieben: 2. Mai 2021 17:07 Wie sihui geschrieben hat, könntest Du zigbee2mqtt so konfigurieren, dass Du direkt mit den Status arbeiten kannst, ohne Umweg über JSON.
mqtt ist eigentlich total simpel, wenn man es mal verstanden hat. ;)
Ich will mich bei Euch beiden herzlich bedanken, dass ihr einem Begriffstutzigen wie mir helft! Nochmals Danke hierfür.
Irgendwie hege ich jedoch den leisen Verdacht, dass meine Konfiguration grundsätzlich nicht richtig funktioniert.
Denn wenn ich sihuis Screenshots mit meinen Daten vergleiche, die ich vom MQTT Explorer bekomme, dann fehlen irgendwie die Angaben über State usw. Hier mal ein Screenshot nachdem ich eine Steckdose gepairt habe:
pairing.png
Wo sehe ich hier die Daten wie state off state on usw.?

Hier sind die Angaben der ersten Zeile "logging" nochmal im Klartext: "level": "info", "message": "MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{\"message\":\"announce\",\"meta\":{\"friendly_name\":\"0x7cb03eaa0a0bf20f\"},\"type\":\"device_announced\"}'"

Nachtrag:
Ich hab die Steckdosen nach Anleitung gepairt und habe auch entsprechende devices Einträge in der configuration.yaml.
Trotzdem kann ich die Taster an den Plugs drücken sooft ich will - im MQTT Explorer kommt nichts an. :(

Re: Verständnisfrage zu MQTT und Things

Verfasst: 2. Mai 2021 19:20
von sihui
CL084 hat geschrieben: 2. Mai 2021 17:43 Wo sehe ich hier die Daten wie state off state on usw.?
Du bist ja auch auf der Bridge, da findest du natürlich nichts zu deinem Gerät.
Was sagt denn die Log Datei von zigbee2mqtt?
Dort müsste ein

Code: Alles auswählen

Currently X devices are joined
stehen und danach das neu inkludierte Gerät mit Namen erscheinen:

Code: Alles auswählen

info  2021-04-29 10:20:46: innr-sp220-04 (0x847127fffe1a279a): SP 220 - Innr Smart plug (Router)
Die Hierarchie im MQTT Explorer sieht bei einem korrekt ins Netzwerk inkludierten Gerät etwa so aus:
z2m3.PNG

Re: Verständnisfrage zu MQTT und Things

Verfasst: 2. Mai 2021 19:47
von CL084
Tja, da werd ich offen gestanden nicht so schlau draus...
Und auch sieht bei mir der MQTT Eplorer eher spärlich aus:
mqtt.png

Das ist meine configuration.yaml

homeassistant: false
permit_join: true
mqtt:
base_topic: zigbee2mqtt
server: 'mqtt://localhost:1883'
experimental:
output: attribute
serial:
port: /dev/ttyACM0
'\n\nadvanced:\n network_key': GENERATE
devices:
'0x7cb03eaa0a0abb59':
friendly_name: '0x7cb03eaa0a0abb59'
'0x7cb03eaa0a0ab915':
friendly_name: '0x7cb03eaa0a0ab915'
'0x7cb03eaa0a0acd07':
friendly_name: '0x7cb03eaa0a0acd07'
'0x7cb03eaa0a0bf20f':
friendly_name: '0x7cb03eaa0a0bf20f'


Und das ist das Log von eben:

info 2021-05-02 18:49:32: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2021-05-02.18-49-30' filename: log.txt
info 2021-05-02 18:49:32: Starting Zigbee2MQTT version 1.18.2 (commit #abd8a092)
info 2021-05-02 18:49:32: Starting zigbee-herdsman (0.13.88)
info 2021-05-02 18:49:35: zigbee-herdsman started
info 2021-05-02 18:49:35: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20201127,"transportrev":2},"type":"zStack12"}'
info 2021-05-02 18:49:36: Currently 4 devices are joined:
info 2021-05-02 18:49:36: 0x7cb03eaa0a0abb59 (0x7cb03eaa0a0abb59): AB3257001NJ - OSRAM Smart+ plug (Router)
info 2021-05-02 18:49:36: 0x7cb03eaa0a0ab915 (0x7cb03eaa0a0ab915): AB3257001NJ - OSRAM Smart+ plug (Router)
info 2021-05-02 18:49:36: 0x7cb03eaa0a0acd07 (0x7cb03eaa0a0acd07): AB3257001NJ - OSRAM Smart+ plug (Router)
info 2021-05-02 18:49:36: 0x7cb03eaa0a0bf20f (0x7cb03eaa0a0bf20f): AB3257001NJ - OSRAM Smart+ plug (Router)
warn 2021-05-02 18:49:36: `permit_join` set to `true` in configuration.yaml.
warn 2021-05-02 18:49:36: Allowing new devices to join.
warn 2021-05-02 18:49:36: Set `permit_join` to `false` once you joined all devices.
info 2021-05-02 18:49:36: Zigbee: allowing new devices to join.
info 2021-05-02 18:49:36: Connecting to MQTT server at mqtt://localhost:1883
info 2021-05-02 18:49:36: Connected to MQTT server
info 2021-05-02 18:49:36: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
error 2021-05-02 18:49:36: '0x7cb03eaa0a0abb59' does not exist, skipping publish
error 2021-05-02 18:49:36: '0x7cb03eaa0a0ab915' does not exist, skipping publish
error 2021-05-02 18:49:36: '0x7cb03eaa0a0acd07' does not exist, skipping publish
error 2021-05-02 18:49:36: '0x7cb03eaa0a0bf20f' does not exist, skipping publish
info 2021-05-02 18:49:36: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"abd8a092","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"re$info 2021-05-02 19:20:22: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/state', payload 'OFF'
info 2021-05-02 19:20:22: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/update-state', payload 'idle'
info 2021-05-02 19:20:22: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/update_available', payload 'false'
info 2021-05-02 19:20:22: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/linkquality', payload '26'
info 2021-05-02 19:38:14: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x7cb03eaa0a0acd07","ieee_address":"0x7cb03eaa0a0acd07"},"type":"device_a$info 2021-05-02 19:38:14: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0x7cb03eaa0a0acd07"},"type":"device_announced"}'
info 2021-05-02 19:38:20: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/state', payload 'OFF'
info 2021-05-02 19:38:20: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/update-state', payload 'idle'
info 2021-05-02 19:38:20: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/update_available', payload 'false'
info 2021-05-02 19:38:20: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/linkquality', payload '21'


Mir machen die vier Zeilen mit "error 2021-05-02 18:49:36: '0x7cb03eaa0a0abb59' ...915, ...cd07, ...f20f does not exist, skipping publish" etwas Sorgen; immerhin stecken zwei der vier Plugs in den Steckdosen. :shock: :?

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 09:27
von sihui
CL084 hat geschrieben: 2. Mai 2021 19:47 Das ist meine configuration.yaml
Du musst dir bitte angewöhnen Code als Code zu posten, ansonsten ist die Lesbarkeit stark eingeschränkt. In diesem Falle kann man zum Beispiel nicht sehen ob die Einrückungen korrekt sind (ein yaml File benötigt für die korrekte Funktion Einrückungen). Dazu markiert man den entsprechenden Text und klickt auf "Code anzeigen", 5. Menüpunkt von links.

Das sieht dann so aus:

Code: Alles auswählen

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost:1883'
experimental:
  output: attribute
serial:
  port: /dev/ttyACM0
Da gleichzeitig dein zigbee2mqtt Log keinen Fehler in der Richtung beinhaltet gehe ich mal davon aus die Einrückungen sind korrekt.

ABER: die Zeile mit

Code: Alles auswählen

\n\nadvanced:\n network_key': GENERATE
gehört da nicht hin.
Bitte manuell löschen und dann zigbee2mqtt neu starten:

Code: Alles auswählen

sudo systemctl restart zigbee2mqtt
Ich gehe davon aus das danach deine vier Geräte im MQTT Explorer erscheinen.
CL084 hat geschrieben: 2. Mai 2021 19:47 Und das ist das Log von eben
...
Mir machen die vier Zeilen mit "error 2021-05-02 18:49:36: '0x7cb03eaa0a0abb59' ...915, ...cd07, ...f20f does not exist, skipping publish" etwas Sorgen;
Und da zeigt sich, das alle vier Geräte nicht gefunden werden. Ich gehe davon aus das liegt an der falschen Zeile im configuration.yaml.

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 09:53
von CL084
Guten Morgen sihui :)
vielen Dank für den Hinweis, ich hab die betreffende Zeile rausgelöscht und die configuration.yaml sieht nun so aus:

Code: Alles auswählen

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://localhost:1883'
experimental:
  output: attribute
serial:
  port: /dev/ttyACM0
devices:
  '0x7cb03eaa0a0abb59':
    friendly_name: '0x7cb03eaa0a0abb59'
  '0x7cb03eaa0a0ab915':
    friendly_name: '0x7cb03eaa0a0ab915'
  '0x7cb03eaa0a0acd07':
    friendly_name: '0x7cb03eaa0a0acd07'
  '0x7cb03eaa0a0bf20f':
    friendly_name: '0x7cb03eaa0a0bf20f'
So wie's aussieht scheint es nun zu funktionieren: :mrgreen:

Code: Alles auswählen

info  2021-05-03 09:45:26: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2021-05-03.09-45-25' filename: log.txt
info  2021-05-03 09:45:26: Starting Zigbee2MQTT version 1.18.2 (commit #abd8a092)
info  2021-05-03 09:45:26: Starting zigbee-herdsman (0.13.88)
info  2021-05-03 09:45:30: zigbee-herdsman started
info  2021-05-03 09:45:30: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20201127,"transportrev":2},"type":"zStack12"}'info  2021-05-03 09:45:30: Currently 4 devices are joined:
info  2021-05-03 09:45:30: 0x7cb03eaa0a0abb59 (0x7cb03eaa0a0abb59): AB3257001NJ - OSRAM Smart+ plug (Router)
info  2021-05-03 09:45:30: 0x7cb03eaa0a0ab915 (0x7cb03eaa0a0ab915): AB3257001NJ - OSRAM Smart+ plug (Router)
info  2021-05-03 09:45:30: 0x7cb03eaa0a0acd07 (0x7cb03eaa0a0acd07): AB3257001NJ - OSRAM Smart+ plug (Router)
info  2021-05-03 09:45:30: 0x7cb03eaa0a0bf20f (0x7cb03eaa0a0bf20f): AB3257001NJ - OSRAM Smart+ plug (Router)
warn  2021-05-03 09:45:30: `permit_join` set to  `true` in configuration.yaml.
warn  2021-05-03 09:45:30: Allowing new devices to join.
warn  2021-05-03 09:45:30: Set `permit_join` to `false` once you joined all devices.
info  2021-05-03 09:45:30: Zigbee: allowing new devices to join.
info  2021-05-03 09:45:31: Connecting to MQTT server at mqtt://localhost:1883
info  2021-05-03 09:45:31: Connected to MQTT server
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0abb59/update-state', payload 'idle'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0abb59/update_available', payload 'false'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/state', payload 'OFF'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/state', payload 'OFF'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0bf20f/state', payload 'OFF'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/update-state', payload 'idle'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0ab915/update_available', payload 'false'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/update-state', payload 'idle'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0acd07/update_available', payload 'false'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0bf20f/update-state', payload 'idle'
info  2021-05-03 09:45:31: MQTT publish: topic 'zigbee2mqtt/0x7cb03eaa0a0bf20f/update_available', payload 'false'
info  2021-05-03 09:45:32: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"abd8a092","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"produ$
Vielen Dank nochmal für Deine Hilfe...
Nach meinem Meeting werde ich mal die Plugs testen, ob nu endlich im MQTT Explorer was ankommt!
LG
CLE

Update:
Der MQTT Explorer hat nun etwas angezeigt:
tataaa.png
Also nun sollte ich einen "Befehl" wie

Code: Alles auswählen

zigbee2mqtt/0x7cb03eaa0a0ab915/state=ON
absetzen können und der Plug sollte sich einschalten, richtig?

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 11:57
von sihui
CL084 hat geschrieben: 3. Mai 2021 09:53 So wie's aussieht scheint es nun zu funktionieren
Ja, der zigbee2mqtt Teil sieht schon mal gut aus.
CL084 hat geschrieben: 3. Mai 2021 09:53 Also nun sollte ich einen "Befehl" wie

Code: Alles auswählen

zigbee2mqtt/0x7cb03eaa0a0ab915/state=ON
absetzen können und der Plug sollte sich einschalten, richtig?
Nicht ganz. Der Teil

Code: Alles auswählen

zigbee2mqtt/0x7cb03eaa0a0ab915/state
gibt dir den aktuellen Status deines Gerätes und kommt später in openHAB in das Feld "State Topic".
Wie bereits vorher geschrieben musst du einmal die Steckdose manuell am Schalter schalten, danach erscheint das Command Topic. Statt des manuellen Schaltens kannst du auch in die Doku schauen:

https://www.zigbee2mqtt.io/devices/AB3257001NJ.html

Dort findest du das Command Topic:

Code: Alles auswählen

command_topic: "zigbee2mqtt/<FRIENDLY_NAME>/set"
In deinem Falle also:

Code: Alles auswählen

zigbee2mqtt/0x7cb03eaa0a0ab915/set
Daraus ergibt sich:
z2m4.JPG
bzw. OFF als Payload zum Ausschalten.

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 12:00
von CL084
OH mein Gott!!! Es hat geklaptt!!! :o :o :o
Endlich mal ein Erfolgserlebnis!!

Vielen, vielen Dank sihui :!:

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 12:01
von sihui
CL084 hat geschrieben: 3. Mai 2021 09:53

Code: Alles auswählen

devices:
  '0x7cb03eaa0a0abb59':
    friendly_name: '0x7cb03eaa0a0abb59'
  '0x7cb03eaa0a0ab915':
    friendly_name: '0x7cb03eaa0a0ab915'
  '0x7cb03eaa0a0acd07':
    friendly_name: '0x7cb03eaa0a0acd07'
  '0x7cb03eaa0a0bf20f':
    friendly_name: '0x7cb03eaa0a0bf20f'
Wenn über den MQTT Explorer alles funktioniert würde ich, bevor man die Konfiguration in openHAB macht, einen einprägsamen Namen für deine Geräte vergeben:

https://www.zigbee2mqtt.io/information/ ... ation.html

Code: Alles auswählen

devices:
  '0x00158d0001d82999':
    friendly_name: 'my_occupancy_sensor'
In deinem Fall könnte man z.B. schreiben:

Code: Alles auswählen

devices:
  '0x7cb03eaa0a0abb59':
    friendly_name: Osram-SmartPlug-01
  '0x7cb03eaa0a0ab915':
    friendly_name: Osram-SmartPlug-02
  '0x7cb03eaa0a0acd07':
    friendly_name: Osram-SmartPlug-03
  '0x7cb03eaa0a0bf20f':
    friendly_name: Osram-SmartPlug-04

Anschl. muss zigbee2mqtt wieder neu gestartet werden um die Änderungen aufzunehmen.

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 12:13
von CL084
Ja, das ist eine SEHR gute Idee!!

Update:
Ich habe die Plugs in 'Osram-SmartPlug-01 -04' (mit Hochkomma) umbenannt und konnte alle vier nun sauber schalten.

Nun geht es in OH3 weiter.
Einen MQTT Broker hatte ich ja bereits angelegt und nun habe ich die vier Plugs als "Generic MQTT Thing hinzugefügt:
osram.png
Nun kommen die Channels dran, richtig?

Re: Verständnisfrage zu MQTT und Things

Verfasst: 3. Mai 2021 13:02
von CL084
Ich kann nun endlich "Vollzug" melden!
Jetzt, da es mir wie Schuppen aus den Haaren fiel, habe ich auch gleich den Channel mit dem Item verknüpft und kann nun auch in OH meine Steckdosen schalten. Ich komme mir vor wie damals 1989 als ich zum ersten mal "Hello World" absetzen konnte.
Vielen Dank für Eure Hilfe sihui & Udo1Toni! :)