Autor Thema: zigbee Relaiskarte und zigbee2mqtt  (Gelesen 265 mal)

Offline matthias soll

  • Full Member
  • ***
  • Beiträge: 220
zigbee Relaiskarte und zigbee2mqtt
« am: 14 September 2020, 17:10:15 »
Hallo zusammen,
ich habe eine zigbee Relaiskarte mit einem cc2530 gebaut und mit dem Firmware Tool von:
https://ptvo.info/zigbee-configurable-firmware-features/ programmiert.
Nun gibt es dafür natürlich noch kein template aber zum Schalten soll man wie auf der seite beschrieben:

Topic: z2m/[friedly_name]/[channel]/set
on/off – sets the output to the HIGH or LOW state
Channel: l1, l2, l3 … l8

Wie müsste die setList dazu aussehen, ich stehe etwas auf dem schlauch...
Gruß
Matthias

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11621
  • eigentlich eher "user" wie "developer"
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #1 am: 14 September 2020, 18:25:13 »
Na ja, es gibt ein oder zwei attrTemplate für "split"-zigbee2mqtt-devices, v.a. "zigbee2mqtt_2channel_split".

Das kannst du als Basis nehmen und ggf. dann die weiteren Devices händisch anlegen, oder du bastelst ein attrTemplate draus. Dann wäre neben dem obigen ggf. noch 8channel_ethernet_board_split interessant (das macht auf einfache Weise gleich die Kopien) oder "tasmota_8channel_split". Das sollte etwas besser nachvollziehbar sein, auch was die jsonMap-Anpassung aus dem zigbee-template angeht.

(Das mit dem attrTemplate wäre super, ich gehe davon aus, dass das ein durchaus auch für andere interessantes Eigenbau-Projektchen ist ;) ).
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, Twilight,  AttrTemplate => {mqtt2, mysensors, zwave}

Offline matthias soll

  • Full Member
  • ***
  • Beiträge: 220
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #2 am: 14 September 2020, 19:14:43 »
Hi Beta-User,
erstmal danke für die Tipps.
Mir ist noch nicht gelungen einen Ausgang zu schalten, das Template sieht grundsätzlich gut aus, aber laut event manager sendet er:
MQTT2_DEVICE MQTT2_zigbee_0x00124b001aa5a474 set_on

Wenn ich die syntax richtig verstehe müsste ich ein:

MQTT2_DEVICE MQTT2_zigbee_0x00124b001aa5a474 l1 set on 

senden, was mir aber mit allen umbaumassnahmen bisher nicht gelungen ist.

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11621
  • eigentlich eher "user" wie "developer"
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #3 am: 14 September 2020, 21:04:05 »
Hi, erst mal sorry, ich war davon ausgegangen, dass das Ding JSON-Payload erwartet (das war bisher bei allen zigbee2mqtt-Geräten so).

Du solltest mal den Thread nach MQTT verschieben und dann ein RAW-list von dem Teil einstellen, wie es autocreate erstellt (v.a. die originale readingList würde mich interessieren).

Grundsätzlich siehst du im Event-Monitor ausgangsseitig nicht, wie der MQTT-Verkehr aussieht, daran würde auch eine passende setList nichts ändern. Vermutlich müßte z.B. der on-Eintrag für den ersten Kanal nach der Doku dann so aussehen:
on zigbee2mqtt/0x00124b001aa5a474/l1/set ON
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, Twilight,  AttrTemplate => {mqtt2, mysensors, zwave}

Offline matthias soll

  • Full Member
  • ***
  • Beiträge: 220
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #4 am: 15 September 2020, 11:07:52 »
Hi,
erstmal danke für deine Unterstützung.

Ich dachte im Event-Monitor würde man den Datenverkehr im Klartext sehen.

Ich habe das Thema erstmal nicht verschoben, weil es doch in erster linie um ein zigbee2mqtt gerät geht.

Per autocreate wurde das angelegt:
define MQTT2_zigbee_0x00124b001aa5a474 MQTT2_DEVICE zigbee_0x00124b001aa5a474
setuuid MQTT2_zigbee_0x00124b001aa5a474 5f603e4a-f33f-639d-314e-b065140e202b0c01
attr MQTT2_zigbee_0x00124b001aa5a474 IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_0x00124b001aa5a474 readingList zigbee2mqtt/0x00124b001aa5a474:.* { json2nameValue($EVENT) }
attr MQTT2_zigbee_0x00124b001aa5a474 room MQTT2_DEVICE

Und die Readings sehen so aus:
Readings
associatedWith
MQTT2_zigbee_pi 2020-09-15 06:08:42
linkquality 0 2020-09-15 11:01:43
state_l1 OFF 2020-09-15 11:01:43
state_l2 OFF 2020-09-15 11:01:43
state_l3 OFF 2020-09-15 11:01:43
state_l4 OFF 2020-09-15 11:01:43
state_l5 OFF 2020-09-15 11:01:43
state_l6 OFF 2020-09-15 11:01:43
state_l7 OFF 2020-09-15 11:01:43
state_l8 OFF 2020-09-15 11:01:43

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11621
  • eigentlich eher "user" wie "developer"
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #5 am: 15 September 2020, 11:30:28 »
Na ja, das Enddevice mag ZigBee sprechen, aber deine Frage bezieht sich eigentlich eher darauf, wie man dafür ein (bzw. m.E. besser mehrere) MQTT2_DEVICE baut...

Für ein "split"-Vorgehen (=8 Devices) müsste der erste Kanal lt der Doku mit folgender setList gehen:
attr MQTT2_zigbee_0x00124b001aa5a474 setList \
  on:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set ON\
  off:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set OFF\
  toggle:noArg zigbee2mqtt/0x00124b001aa5a474/l1/set TOGGLE

Um den ausgehenden MQTT-Verkehr zu sehen, müßtest du z.B. mit mosquitto_sub (aus dem mosquitto_clients-Paket) lauschen, eingehend geht ggf. auch mit einem passenden rawEvents am IO (M2_Server), das jsonMap ist eine längere Version von dem bereits genannten attrTemplate (bitte wg. des Lerneffekts selbst testen/erstellen...).
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, Twilight,  AttrTemplate => {mqtt2, mysensors, zwave}

Offline matthias soll

  • Full Member
  • ***
  • Beiträge: 220
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #6 am: 15 September 2020, 12:28:49 »
Funktioniert DANKE dir!!!
Damit komme ich zurecht.
Jetzt muss ich das ja nurnoch 8x anlegen oder gibt es da eine schönere Variante?

Mein Problem war zuerst nur, dass ich nach ein paar tagen gar keine Schaltbefehle senden kann, Empfangen geht immer.
Ist das ein bekanntes Problem?

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11621
  • eigentlich eher "user" wie "developer"
Antw:zigbee Relaiskarte und zigbee2mqtt
« Antwort #7 am: 15 September 2020, 12:35:40 »
Funktioniert DANKE dir!!!
Danke für die Rückmeldung!

Zitat
Jetzt muss ich das ja nurnoch 8x anlegen oder gibt es da eine schönere Variante?
Na ja, einer muß den Aufwand treiben, aber wenn du aus den hier vorhandenen bzw. genannten Bausteinchen ein attrTemplate bastelst, hat es der nächste dann einfacher, und einen Teil der Arbeit würde dir die vorhandene template-Struktur schon abnehmen ;) .

Zitat
Mein Problem war zuerst nur, dass ich nach ein paar tagen gar keine Schaltbefehle senden kann, Empfangen geht immer.
Ist das ein bekanntes Problem?
Das ist jetzt in der Tat vermutlich ein ZigBee-Problem (ich glaube eher nicht, dass der Dienst einen "Hau" hat, sonst würde m.E. auch das Empfangen haken). Würde das mal als Frage auf der betreffenden Projektseite platzieren, du scheinst hier der erste und einzige User zu sein, der das Teil bisher nutzt...
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | BT@OpenMQTTGateway
svn:MySensors, WeekdayTimer, RandomTimer, Twilight,  AttrTemplate => {mqtt2, mysensors, zwave}