Autor Thema: [Gelöst]: FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht  (Gelesen 459 mal)

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 545
Hallo,
ich habe meine Haupt-FHEM-Installation von einem Raspi auf einen Docker-Container auf meinem NAS (DS720) umgezogen. Verwendet wurde das Image aus dem Thread:
Zitat
https://forum.fhem.de/index.php/topic,89745.0.html
Nach einige Schwierigkeiten die daher rührten, dass ich die IO-Devices auf externen Raspis habe und die dabei verwendeten Ports für den Container freigeben musste, läuft soweit fast alles. Dies sind:
CUL über ser2net auf externem Raspi RPI-piVCCU
HMUARTLGW über ser2net auf externem Raspi RPI-TEC auf GPIO-Anschlüssen
HMUARTLGW über ser2net auf externem Raspi RPI-MAIN an USB-Port
HMCCU mit piVCCU3 auf einem externen Raspi RPI-piVCCU
Jeelink über ser2net auf externem Raspi RPI-piVCCU

Ich habe jetzt Probleme mit der Übertragung der Daten über MQTT. Auf dem FHEM im Docker-Container läuft ein MQTT2-Server, der auch Daten vom RPI-Tec empfängt. Daraus schließe ich, dass die Portweiterleitung über 1883 in den Docker-Container korrekt ist.
Leider empfängt er keine Daten vom RPI-piVCCU, auf dem zigbee2mqtt mit einem Conbee II Stick läuft. Alle anderen externen Device sind per IP-Adresse und Portnummer eingebunden, für den Conee-Stick musste keine eigene Definition erstellt werden, da dessen Daten ja über MQTT kommen.

Ich habe jetzt keinen Ansatz, wie ich das Problem lösen kann und auch im Forum nichts diesbezügliches gefunden. Scheinbar ist FHEM in Docker auf einem NAS mit zigbee2mqtt nicht sehr gängig.
Frage 1: Muss ich für zigbee2mqtt auf dem NAS einen eigenen Dockercontainer anlegen?
Frage 2: Verwendet mqtt in Verbindung mit einem Conbee II außer 1883 weitere Ports, die ich in den Container weiterleiten muss? So geschehen z.B. mit den Ports 4001, 4002, 7410 (HMCCU, BidCos) und weiteren Ports.

Vielleicht liest jemand mit, der mir Tipps für das weitere Vorgehen geben kann.

Grüße Jürgen
« Letzte Änderung: 07 Dezember 2021, 19:52:51 von bmwfan »
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20838
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht
« Antwort #1 am: 06 Dezember 2021, 18:46:24 »
Hallo Jürgen,

zigbee2mqtt läuft wirklich? Bei drei seriellen Geräten auf einem Pi wirden gern untereinander die Schnittstellen "geklaut".
Das Wiki hast Du beachtet? https://wiki.fhem.de/wiki/Zigbee2mqtt
ID vergeben?
Bridge angelegt?

Siehst Du im MQTT2_SERVER den einen Verbindung?

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 545
Antw:FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht
« Antwort #2 am: 06 Dezember 2021, 19:28:58 »
Hallo Otto,

Läuft zigbee2mqtt? Sobald ich wieder FHEM auf dem RPI-Main aktiviere und FHEM im Docker abschalte sowie in der configuration.yaml die Serveradresse vom Docker-Container auf den RPI-Main ändere und reboote, werden Daten von den zigbee-Geräten empfangen Deswegen denke ich, dass zigbee2mqtt auf dem RPI-piVCCU läuft.

Die IO-Device am RPI-piVCCU sind, bis auf den Conbee II, über /dev/serial/by-id/ eingebunden. Da dürften sie doch nicht "geklaut" werden, oder?

Wiki habe ich abgearbeitet und läuft ja alles, wenn FHEM auf dem RPI-Main läuft. Nur nicht, wenn FHEM im Docker-Container läuft. Daher müsste die Configuration von zigbee2mqtt auf dem RPI-piVCCU stimmen.

Die configuration.yaml auf dem RPI-piVCCU:
homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
# Server auf Raspi-Main: 192.168.178.92 auf Docker: .5
  server: mqtt://192.168.178.92
  client_id: zigbee_piVCCU
serial:
  port: /dev/ttyACM1
advanced:
  report: true
  network_key:
    - 243
    - 59
    - 218
    - 221
    - 33
    - 156
    - 164
    - 250
    - 33
    - 193
    - 183
    - 35
    - 119
    - 96
    - 216
    - 113
frontend:
  port: 8080
  host: 0.0.0.0
availability:
  active:
    timeout: 10
  passive:
    timeout: 1500
devices:
  '0xb4e3f9fffe07136b':
    friendly_name: '0xb4e3f9fffe07136b'
  '0xb4e3f9fffe752b33':
    friendly_name: '0xb4e3f9fffe752b33'
  '0x00158d0004142146':
    friendly_name: '0x00158d0004142146'

Generelle Frage: Wenn ich einen MQTT2-Server auf einem Raspi1 habe und mein IO-Device an einem Raspi2, der gar kein FHEM hat, muss ich zigbee2mqtt doch nur auf dem Raspi2 installieren und dort in der configuration.yaml die IP des Raspi1 mit dem MQTT2-Server eintragen. Auf dem Raspi1 muss doch gar kein zigbee2mqtt installiert sein, da der MQTT2-Server die Datenpakete erhält. Stimmt meine Vorstellung der Datenübertragung über MQTT?

Im MQTT2-Server eine Verbindung sehen: Bei mir läuft außer zigbee2mqtt auch noch ein ebusd, mehrere Tasmota-Device, viele Shellys sowie ein weiterer Raspi (RPI-Tec) über mqtt. Anbei das list, allerdings laufend auf dem funktionierende RPI-Main. Das muss ich nochmal testen, wenn FHEM in Docker läuft. Guter Tip

[code]Internals:
   CONNECTS   166
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        1883 global
   FD         10
   FUUID      6196b933-f33f-d125-533a-2612afcc6a81961f
   NAME       MQTT2_FHEM_Server
   NR         123
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2021-12-06 17:36:50   RETAIN          {"ebusd/global/running":"true","ebusd/global/signal":"true","ebusd/global/updatecheck":"\u0022version 21.2 available, broadcast.csv: different version available, vaillant/08.bai.csv: different version available, vaillant/84.zeo.csv: different version available, vaillant/bai.0020066007.inc: newer version available, vaillant/broadcast.csv: newer version available, vaillant/ec.zeo.sc.csv: different version available, vaillant/errors.inc: newer version available, vaillant/hcmode.inc: newer version available, vaillant/hwcmode.inc: newer version available, vaillant/mcmode.inc: newer version available\u0022","ebusd/global/version":"\u0022ebusd 3.4.v3.3-51-g57eae05\u0022","tele/DVES_82C676/LWT":"Offline","tele/DVES_B6BC08/LWT":"Online","tele/DVES_C0F65C/LWT":"Offline","tele/DVES_D114D7/LWT":"Online","zigbee2mqtt/0x00158d0004142146/availability":"online","zigbee2mqtt/0xb4e3f9fffe07136b/availability":"online","zigbee2mqtt/0xb4e3f9fffe752b33/availability":"online","zigbee2mqtt/bridge/config":"{\u0022commit\u0022:\u0022a51626e3\u0022,\u0022coordinator\u0022:{\u0022meta\u0022:{\u0022maintrel\u0022:0,\u0022majorrel\u0022:38,\u0022minorrel\u0022:102,\u0022product\u0022:0,\u0022revision\u0022:\u00220x26660700\u0022,\u0022transportrev\u0022:0},\u0022type\u0022:\u0022ConBee2/RaspBee2\u0022},\u0022log_level\u0022:\u0022info\u0022,\u0022network\u0022:{\u0022channel\u0022:11,\u0022extendedPanID\u0022:\u00220xdddddddddddddddd\u0022,\u0022panID\u0022:6754},\u0022permit_join\u0022:true,\u0022version\u0022:\u00221.22.0\u0022}","zigbee2mqtt/bridge/devices":"[{\u0022definition\u0022:null,\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022genTime\u0022,\u0022genOta\u0022],\u0022output\u0022:[\u0022genPowerCfg\u0022,\u0022genPollCtrl\u0022,\u0022ssIasZone\u0022]},\u0022configured_reportings\u0022:[],\u0022scenes\u0022:[]},\u0022242\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[],\u0022output\u0022:[\u0022greenPower\u0022]},\u0022configured_reportings\u0022:[],\u0022scenes\u0022:[]}},\u0022friendly_name\u0022:\u0022Coordinator\u0022,\u0022ieee_address\u0022:\u00220x00212effff075721\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022network_address\u0022:0,\u0022supported\u0022:false,\u0022type\u0022:\u0022Coordinator\u0022},{\u0022date_code\u0022:\u002220190308\u0022,\u0022definition\u0022:{\u0022description\u0022:\u0022TRADFRI motion sensor\u0022,\u0022exposes\u0022:[{\u0022access\u0022:1,\u0022description\u0022:\u0022Remaining battery in %\u0022,\u0022name\u0022:\u0022battery\u0022,\u0022property\u0022:\u0022battery\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022%\u0022,\u0022value_max\u0022:100,\u0022value_min\u0022:0},{\u0022access\u0022:1,\u0022description\u0022:\u0022Indicates whether the device detected occupancy\u0022,\u0022name\u0022:\u0022occupancy\u0022,\u0022property\u0022:\u0022occupancy\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true},{\u0022access\u0022:1,\u0022name\u0022:\u0022requested_brightness_level\u0022,\u0022property\u0022:\u0022requested_brightness_level\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:254,\u0022value_min\u0022:76},{\u0022access\u0022:1,\u0022name\u0022:\u0022requested_brightness_percent\u0022,\u0022property\u0022:\u0022requested_brightness_percent\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:100,\u0022value_min\u0022:30},{\u0022access\u0022:1,\u0022description\u0022:\u0022Indicates whether the device detected bright light (works only in night mode)\u0022,\u0022name\u0022:\u0022illuminance_above_threshold\u0022,\u0022property\u0022:\u0022illuminance_above_threshold\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true},{\u0022access\u0022:1,\u0022description\u0022:\u0022Link quality (signal strength)\u0022,\u0022name\u0022:\u0022linkquality\u0022,\u0022property\u0022:\u0022linkquality\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lqi\u0022,\u0022value_max\u0022:255,\u0022value_min\u0022:0}],\u0022model\u0022:\u0022E1525/E1745\u0022,\u0022options\u0022:[{\u0022access\u0022:2,\u0022description\u0022:\u0022Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).\u0022,\u0022name\u0022:\u0022occupancy_timeout\u0022,\u0022property\u0022:\u0022occupancy_timeout\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Set to false to also send messages when illuminance is above threshold in night mode (default true).\u0022,\u0022name\u0022:\u0022illuminance_below_threshold_check\u0022,\u0022property\u0022:\u0022illuminance_below_threshold_check\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true}],\u0022supports_ota\u0022:true,\u0022vendor\u0022:\u0022IKEA\u0022},\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[{\u0022cluster\u0022:\u0022genPowerCfg\u0022,\u0022target\u0022:{\u0022endpoint\u0022:1,\u0022ieee_address\u0022:\u00220x00212effff075721\u0022,\u0022type\u0022:\u0022endpoint\u0022}}],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022genPowerCfg\u0022,\u0022genIdentify\u0022,\u0022genAlarms\u0022,\u0022genPollCtrl\u0022,\u0022touchlink\u0022],\u0022output\u0022:[\u0022genIdentify\u0022,\u0022genGroups\u0022,\u0022genOnOff\u0022,\u0022genLevelCtrl\u0022,\u0022genOta\u0022,\u0022touchlink\u0022]},\u0022configured_reportings\u0022:[{\u0022attribute\u0022:\u0022batteryPercentageRemaining\u0022,\u0022cluster\u0022:\u0022genPowerCfg\u0022,\u0022maximum_report_interval\u0022:62000,\u0022minimum_report_interval\u0022:3600,\u0022reportable_change\u0022:0}],\u0022scenes\u0022:[]}},\u0022friendly_name\u0022:\u00220xb4e3f9fffe07136b\u0022,\u0022ieee_address\u0022:\u00220xb4e3f9fffe07136b\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022manufacturer\u0022:\u0022IKEA of Sweden\u0022,\u0022model_id\u0022:\u0022TRADFRI motion sensor\u0022,\u0022network_address\u0022:60631,\u0022power_source\u0022:\u0022Battery\u0022,\u0022software_build_id\u0022:\u00222.0.022\u0022,\u0022supported\u0022:true,\u0022type\u0022:\u0022EndDevice\u0022},{\u0022date_code\u0022:\u002220190308\u0022,\u0022definition\u0022:{\u0022description\u0022:\u0022TRADFRI motion sensor\u0022,\u0022exposes\u0022:[{\u0022access\u0022:1,\u0022description\u0022:\u0022Remaining battery in %\u0022,\u0022name\u0022:\u0022battery\u0022,\u0022property\u0022:\u0022battery\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022%\u0022,\u0022value_max\u0022:100,\u0022value_min\u0022:0},{\u0022access\u0022:1,\u0022description\u0022:\u0022Indicates whether the device detected occupancy\u0022,\u0022name\u0022:\u0022occupancy\u0022,\u0022property\u0022:\u0022occupancy\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true},{\u0022access\u0022:1,\u0022name\u0022:\u0022requested_brightness_level\u0022,\u0022property\u0022:\u0022requested_brightness_level\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:254,\u0022value_min\u0022:76},{\u0022access\u0022:1,\u0022name\u0022:\u0022requested_brightness_percent\u0022,\u0022property\u0022:\u0022requested_brightness_percent\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:100,\u0022value_min\u0022:30},{\u0022access\u0022:1,\u0022description\u0022:\u0022Indicates whether the device detected bright light (works only in night mode)\u0022,\u0022name\u0022:\u0022illuminance_above_threshold\u0022,\u0022property\u0022:\u0022illuminance_above_threshold\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true},{\u0022access\u0022:1,\u0022description\u0022:\u0022Link quality (signal strength)\u0022,\u0022name\u0022:\u0022linkquality\u0022,\u0022property\u0022:\u0022linkquality\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lqi\u0022,\u0022value_max\u0022:255,\u0022value_min\u0022:0}],\u0022model\u0022:\u0022E1525/E1745\u0022,\u0022options\u0022:[{\u0022access\u0022:2,\u0022description\u0022:\u0022Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).\u0022,\u0022name\u0022:\u0022occupancy_timeout\u0022,\u0022property\u0022:\u0022occupancy_timeout\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Set to false to also send messages when illuminance is above threshold in night mode (default true).\u0022,\u0022name\u0022:\u0022illuminance_below_threshold_check\u0022,\u0022property\u0022:\u0022illuminance_below_threshold_check\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true}],\u0022supports_ota\u0022:true,\u0022vendor\u0022:\u0022IKEA\u0022},\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[{\u0022cluster\u0022:\u0022genPowerCfg\u0022,\u0022target\u0022:{\u0022endpoint\u0022:1,\u0022ieee_address\u0022:\u00220x00212effff075721\u0022,\u0022type\u0022:\u0022endpoint\u0022}}],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022genPowerCfg\u0022,\u0022genIdentify\u0022,\u0022genAlarms\u0022,\u0022genPollCtrl\u0022,\u0022touchlink\u0022],\u0022output\u0022:[\u0022genIdentify\u0022,\u0022genGroups\u0022,\u0022genOnOff\u0022,\u0022genLevelCtrl\u0022,\u0022genOta\u0022,\u0022touchlink\u0022]},\u0022configured_reportings\u0022:[{\u0022attribute\u0022:\u0022batteryPercentageRemaining\u0022,\u0022cluster\u0022:\u0022genPowerCfg\u0022,\u0022maximum_report_interval\u0022:62000,\u0022minimum_report_interval\u0022:3600,\u0022reportable_change\u0022:0}],\u0022scenes\u0022:[]}},\u0022friendly_name\u0022:\u00220xb4e3f9fffe752b33\u0022,\u0022ieee_address\u0022:\u00220xb4e3f9fffe752b33\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022manufacturer\u0022:\u0022IKEA of Sweden\u0022,\u0022model_id\u0022:\u0022TRADFRI motion sensor\u0022,\u0022network_address\u0022:1895,\u0022power_source\u0022:\u0022Battery\u0022,\u0022software_build_id\u0022:\u00222.0.022\u0022,\u0022supported\u0022:true,\u0022type\u0022:\u0022EndDevice\u0022},{\u0022date_code\u0022:\u002220170627\u0022,\u0022definition\u0022:{\u0022description\u0022:\u0022Aqara human body movement and illuminance sensor\u0022,\u0022exposes\u0022:[{\u0022access\u0022:1,\u0022description\u0022:\u0022Remaining battery in %\u0022,\u0022name\u0022:\u0022battery\u0022,\u0022property\u0022:\u0022battery\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022%\u0022,\u0022value_max\u0022:100,\u0022value_min\u0022:0},{\u0022access\u0022:1,\u0022description\u0022:\u0022Indicates whether the device detected occupancy\u0022,\u0022name\u0022:\u0022occupancy\u0022,\u0022property\u0022:\u0022occupancy\u0022,\u0022type\u0022:\u0022binary\u0022,\u0022value_off\u0022:false,\u0022value_on\u0022:true},{\u0022access\u0022:1,\u0022description\u0022:\u0022Measured temperature value\u0022,\u0022name\u0022:\u0022temperature\u0022,\u0022property\u0022:\u0022temperature\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022°C\u0022},{\u0022access\u0022:1,\u0022description\u0022:\u0022Voltage of the battery in millivolts\u0022,\u0022name\u0022:\u0022voltage\u0022,\u0022property\u0022:\u0022voltage\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022mV\u0022},{\u0022access\u0022:1,\u0022description\u0022:\u0022Measured illuminance in lux\u0022,\u0022name\u0022:\u0022illuminance_lux\u0022,\u0022property\u0022:\u0022illuminance\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lx\u0022},{\u0022access\u0022:1,\u0022description\u0022:\u0022Measured illuminance in lux\u0022,\u0022name\u0022:\u0022illuminance\u0022,\u0022property\u0022:\u0022illuminance\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lx\u0022},{\u0022access\u0022:1,\u0022description\u0022:\u0022Link quality (signal strength)\u0022,\u0022name\u0022:\u0022linkquality\u0022,\u0022property\u0022:\u0022linkquality\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022unit\u0022:\u0022lqi\u0022,\u0022value_max\u0022:255,\u0022value_min\u0022:0}],\u0022model\u0022:\u0022RTCGQ11LM\u0022,\u0022options\u0022:[{\u0022access\u0022:2,\u0022description\u0022:\u0022Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).\u0022,\u0022name\u0022:\u0022occupancy_timeout\u0022,\u0022property\u0022:\u0022occupancy_timeout\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Sends a message the last time occupancy was detected. When setting this for example to [10, 60] a `{\u0022no_occupancy_since\u0022: 10}` will be send after 10 seconds and a `{\u0022no_occupancy_since\u0022: 60}` after 60 seconds.\u0022,\u0022item_type\u0022:\u0022number\u0022,\u0022name\u0022:\u0022no_occupancy_since\u0022,\u0022property\u0022:\u0022no_occupancy_since\u0022,\u0022type\u0022:\u0022list\u0022},{\u0022access\u0022:2,\u0022description\u0022:\u0022Number of digits after decimal point for illuminance, takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022illuminance_precision\u0022,\u0022property\u0022:\u0022illuminance_precision\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:3,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Calibrates the illuminance value (percentual offset), takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022illuminance_calibration\u0022,\u0022property\u0022:\u0022illuminance_calibration\u0022,\u0022type\u0022:\u0022numeric\u0022},{\u0022access\u0022:2,\u0022description\u0022:\u0022Number of digits after decimal point for illuminance_lux, takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022illuminance_lux_precision\u0022,\u0022property\u0022:\u0022illuminance_lux_precision\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:3,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Calibrates the illuminance_lux value (percentual offset), takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022illuminance_lux_calibration\u0022,\u0022property\u0022:\u0022illuminance_lux_calibration\u0022,\u0022type\u0022:\u0022numeric\u0022},{\u0022access\u0022:2,\u0022description\u0022:\u0022Number of digits after decimal point for temperature, takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022temperature_precision\u0022,\u0022property\u0022:\u0022temperature_precision\u0022,\u0022type\u0022:\u0022numeric\u0022,\u0022value_max\u0022:3,\u0022value_min\u0022:0},{\u0022access\u0022:2,\u0022description\u0022:\u0022Calibrates the temperature value (absolute offset), takes into effect on next report of device.\u0022,\u0022name\u0022:\u0022temperature_calibration\u0022,\u0022property\u0022:\u0022temperature_calibration\u0022,\u0022type\u0022:\u0022numeric\u0022}],\u0022supports_ota\u0022:false,\u0022vendor\u0022:\u0022Xiaomi\u0022},\u0022endpoints\u0022:{\u00221\u0022:{\u0022bindings\u0022:[],\u0022clusters\u0022:{\u0022input\u0022:[\u0022genBasic\u0022,\u0022msOccupancySensing\u0022,\u0022msIlluminanceMeasurement\u0022,\u0022ssIasZone\u0022,\u0022genPowerCfg\u0022,\u0022genIdentify\u0022],\u0022output\u0022:[\u0022genBasic\u0022,\u0022genOta\u0022]},\u0022configured_reportings\u0022:[],\u0022scenes\u0022:[]}},\u0022friendly_name\u0022:\u00220x00158d0004142146\u0022,\u0022ieee_address\u0022:\u00220x00158d0004142146\u0022,\u0022interview_completed\u0022:true,\u0022interviewing\u0022:false,\u0022manufacturer\u0022:\u0022LUMI\u0022,\u0022model_id\u0022:\u0022lumi.sensor_motion.aq2\u0022,\u0022network_address\u0022:23704,\u0022power_source\u0022:\u0022Battery\u0022,\u0022software_build_id\u0022:\u00223000-0001\u0022,\u0022supported\u0022:true,\u0022type\u0022:\u0022EndDevice\u0022}]","zigbee2mqtt/bridge/extensions":"[]","zigbee2mqtt/bridge/groups":"[]","zigbee2mqtt/bridge/info":"{\u0022commit\u0022:\u0022a51626e3\u0022,\u0022config\u0022:{\u0022advanced\u0022:{\u0022adapter_concurrent\u0022:null,\u0022adapter_delay\u0022:null,\u0022availability_blacklist\u0022:[],\u0022availability_blocklist\u0022:[],\u0022availability_passlist\u0022:[],\u0022availability_whitelist\u0022:[],\u0022cache_state\u0022:true,\u0022cache_state_persistent\u0022:true,\u0022cache_state_send_on_startup\u0022:true,\u0022channel\u0022:11,\u0022elapsed\u0022:false,\u0022ext_pan_id\u0022:[221,221,221,221,221,221,221,221],\u0022homeassistant_discovery_topic\u0022:\u0022homeassistant\u0022,\u0022homeassistant_legacy_entity_attributes\u0022:true,\u0022homeassistant_legacy_triggers\u0022:true,\u0022homeassistant_status_topic\u0022:\u0022hass/status\u0022,\u0022last_seen\u0022:\u0022disable\u0022,\u0022legacy_api\u0022:true,\u0022log_directory\u0022:\u0022/opt/zigbee2mqtt/data/log/%TIMESTAMP%\u0022,\u0022log_file\u0022:\u0022log.txt\u0022,\u0022log_level\u0022:\u0022info\u0022,\u0022log_output\u0022:[\u0022console\u0022,\u0022file\u0022],\u0022log_rotation\u0022:true,\u0022log_symlink_current\u0022:false,\u0022log_syslog\u0022:{},\u0022pan_id\u0022:6754,\u0022report\u0022:true,\u0022soft_reset_timeout\u0022:0,\u0022timestamp_format\u0022:\u0022YYYY-MM-DD HH:mm:ss\u0022},\u0022availability\u0022:{\u0022active\u0022:{\u0022timeout\u0022:10},\u0022passive\u0022:{\u0022timeout\u0022:1500}},\u0022ban\u0022:[],\u0022blocklist\u0022:[],\u0022device_options\u0022:{},\u0022devices\u0022:{\u00220x00158d0004142146\u0022:{\u0022friendly_name\u0022:\u00220x00158d0004142146\u0022},\u00220xb4e3f9fffe07136b\u0022:{\u0022friendly_name\u0022:\u00220xb4e3f9fffe07136b\u0022},\u00220xb4e3f9fffe752b33\u0022:{\u0022friendly_name\u0022:\u00220xb4e3f9fffe752b33\u0022}},\u0022experimental\u0022:{\u0022output\u0022:\u0022json\u0022},\u0022external_converters\u0022:[],\u0022frontend\u0022:{\u0022host\u0022:\u00220.0.0.0\u0022,\u0022port\u0022:8080},\u0022groups\u0022:{},\u0022homeassistant\u0022:false,\u0022map_options\u0022:{\u0022graphviz\u0022:{\u0022colors\u0022:{\u0022fill\u0022:{\u0022coordinator\u0022:\u0022#e04e5d\u0022,\u0022enddevice\u0022:\u0022#fff8ce\u0022,\u0022router\u0022:\u0022#4ea3e0\u0022},\u0022font\u0022:{\u0022coordinator\u0022:\u0022#ffffff\u0022,\u0022enddevice\u0022:\u0022#000000\u0022,\u0022router\u0022:\u0022#ffffff\u0022},\u0022line\u0022:{\u0022active\u0022:\u0022#009900\u0022,\u0022inactive\u0022:\u0022#994444\u0022}}}},\u0022mqtt\u0022:{\u0022base_topic\u0022:\u0022zigbee2mqtt\u0022,\u0022client_id\u0022:\u0022zigbee_piVCCU\u0022,\u0022force_disable_retain\u0022:false,\u0022include_device_information\u0022:false,\u0022server\u0022:\u0022mqtt://192.168.178.92\u0022},\u0022ota\u0022:{\u0022disable_automatic_update_check\u0022:false,\u0022update_check_interval\u0022:1440},\u0022passlist\u0022:[],\u0022permit_join\u0022:true,\u0022serial\u0022:{\u0022disable_led\u0022:false,\u0022port\u0022:\u0022/dev/ttyACM1\u0022},\u0022whitelist\u0022:[]},\u0022config_schema\u0022:{\u0022definitions\u0022:{\u0022device\u0022:{\u0022properties\u0022:{\u0022debounce\u0022:{\u0022description\u0022:\u0022Debounces messages of this device\u0022,\u0022title\u0022:\u0022Debounce\u0022,\u0022type\u0022:\u0022number\u0022},\u0022debounce_ignore\u0022:{\u0022description\u0022:\u0022Protects unique payload values of specified payload properties from overriding within debounce time\u0022,\u0022examples\u0022:[\u0022action\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022title\u0022:\u0022Ignore debounce\u0022,\u0022type\u0022:\u0022array\u0022},\u0022filtered_attributes\u0022:{\u0022description\u0022:\u0022Filter attributes from publish payload.\u0022,\u0022examples\u0022:[\u0022temperature\u0022,\u0022battery\u0022,\u0022action\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022title\u0022:\u0022Filtered publish attributes\u0022,\u0022type\u0022:\u0022array\u0022},\u0022filtered_optimistic\u0022:{\u0022description\u0022:\u0022Filter attributes from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).\u0022,\u0022examples\u0022:[\u0022color_mode\u0022,\u0022color_temp\u0022,\u0022color\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022title\u0022:\u0022Filtered optimistic attributes\u0022,\u0022type\u0022:\u0022array\u0022},\u0022friendly_name\u0022:{\u0022description\u0022:\u0022Used in the MQTT topic of a device. By default this is the device ID\u0022,\u0022readOnly\u0022:true,\u0022title\u0022:\u0022Friendly name\u0022,\u0022type\u0022:\u0022string\u0022},\u0022icon\u0022:{\u0022description\u0022:\u0022The user-defined device icon for the frontend. It can be a link to an image (not a path to a file) or base64 encoded data URL like: image/svg+xml;base64,PHN2ZyB3aW....R0aD\u0022,\u0022title\u0022:\u0022Icon\u0022,\u0022type\u0022:\u0022string\u0022},\u0022optimistic\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Publish optimistic state after set\u0022,\u0022title\u0022:\u0022Optimistic\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022qos\u0022:{\u0022description\u0022:\u0022QoS level for MQTT messages of this device\u0022,\u0022title\u0022:\u0022QoS\u0022,\u0022type\u0022:\u0022number\u0022},\u0022retain\u0022:{\u0022description\u0022:\u0022Retain MQTT messages of this device\u0022,\u0022title\u0022:\u0022Retain\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022retention\u0022:{\u0022description\u0022:\u0022Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5\u0022,\u0022title\u0022:\u0022Retention\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022required\u0022:[\u0022friendly_name\u0022],\u0022type\u0022:\u0022object\u0022},\u0022group\u0022:{\u0022properties\u0022:{\u0022devices\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:\u0022array\u0022},\u0022filtered_attributes\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:\u0022array\u0022},\u0022friendly_name\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022optimistic\u0022:{\u0022type\u0022:\u0022boolean\u0022},\u0022qos\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022retain\u0022:{\u0022type\u0022:\u0022boolean\u0022}},\u0022required\u0022:[\u0022friendly_name\u0022],\u0022type\u0022:\u0022object\u0022}},\u0022properties\u0022:{\u0022advanced\u0022:{\u0022properties\u0022:{\u0022adapter_concurrent\u0022:{\u0022description\u0022:\u0022Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter concurrency\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]},\u0022adapter_delay\u0022:{\u0022description\u0022:\u0022Adapter delay\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter delay\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]},\u0022baudrate\u0022:{\u0022description\u0022:\u0022Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600\u0022,\u0022examples\u0022:[38400,57600,115200],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Baudrate\u0022,\u0022type\u0022:\u0022number\u0022},\u0022cache_state\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant\u0022,\u0022title\u0022:\u0022Cache state\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022cache_state_persistent\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Persist cached state, only used when cache_state: true\u0022,\u0022title\u0022:\u0022Persist cache state\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022cache_state_send_on_startup\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Send cached state on startup, only used when cache_state: true\u0022,\u0022title\u0022:\u0022Send cached state on startup\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022channel\u0022:{\u0022default\u0022:11,\u0022description\u0022:\u0022Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)\u0022,\u0022examples\u0022:[15,20,25],\u0022maximum\u0022:26,\u0022minimum\u0022:11,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022ZigBee channel\u0022,\u0022type\u0022:\u0022number\u0022},\u0022elapsed\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg\u0022,\u0022title\u0022:\u0022Elapsed\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022ext_pan_id\u0022:{\u0022description\u0022:\u0022Zigbee extended pan ID, changing requires repairing all devices!\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Ext Pan ID\u0022,\u0022type\u0022:\u0022array\u0022},\u0022homeassistant_discovery_topic\u0022:{\u0022description\u0022:\u0022Home Assistant discovery topic\u0022,\u0022examples\u0022:[\u0022homeassistant\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Homeassistant discovery topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022homeassistant_legacy_entity_attributes\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates\u0022,\u0022title\u0022:\u0022Home Assistant legacy entity attributes\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022homeassistant_legacy_triggers\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd\u0022,\u0022title\u0022:\u0022Home Assistant legacy triggers\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022homeassistant_status_topic\u0022:{\u0022description\u0022:\u0022Home Assistant status topic\u0022,\u0022examples\u0022:[\u0022homeassistant/status\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Home Assistant status topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022ikea_ota_use_test_url\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Use IKEA TRADFRI OTA test server, see OTA updates documentation\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022IKEA TRADFRI OTA use test url\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022last_seen\u0022:{\u0022default\u0022:\u0022disable\u0022,\u0022description\u0022:\u0022Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message\u0022,\u0022enum\u0022:[\u0022disable\u0022,\u0022ISO_8601\u0022,\u0022ISO_8601_local\u0022,\u0022epoch\u0022],\u0022title\u0022:\u0022Last seen\u0022,\u0022type\u0022:\u0022string\u0022},\u0022legacy_api\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Disables the legacy api (false = disable)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Legacy API\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_directory\u0022:{\u0022description\u0022:\u0022Location of log directory\u0022,\u0022examples\u0022:[\u0022data/log/%TIMESTAMP%\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log directory\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_file\u0022:{\u0022default\u0022:\u0022log.txt\u0022,\u0022description\u0022:\u0022Log file name, can also contain timestamp\u0022,\u0022examples\u0022:[\u0022zigbee2mqtt_%TIMESTAMP%.log\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log file\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_level\u0022:{\u0022default\u0022:\u0022info\u0022,\u0022description\u0022:\u0022Logging level\u0022,\u0022enum\u0022:[\u0022info\u0022,\u0022warn\u0022,\u0022error\u0022,\u0022debug\u0022],\u0022title\u0022:\u0022Log level\u0022,\u0022type\u0022:\u0022string\u0022},\u0022log_output\u0022:{\u0022description\u0022:\u0022Output location of the log, leave empty to supress logging\u0022,\u0022items\u0022:{\u0022enum\u0022:[\u0022console\u0022,\u0022file\u0022,\u0022syslog\u0022],\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log output\u0022,\u0022type\u0022:\u0022array\u0022},\u0022log_rotation\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Log rotation\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log rotation\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_symlink_current\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Create symlink to current logs in the log directory\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Log symlink current\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022log_syslog\u0022:{\u0022properties\u0022:{\u0022app_name\u0022:{\u0022default\u0022:\u0022Zigbee2MQTT\u0022,\u0022description\u0022:\u0022The name of the application (Default: Zigbee2MQTT).\u0022,\u0022title\u0022:\u0022Localhost\u0022,\u0022type\u0022:\u0022string\u0022},\u0022eol\u0022:{\u0022default\u0022:\u0022/n\u0022,\u0022description\u0022:\u0022The end of line character to be added to the end of the message (Default: Message without modifications).\u0022,\u0022title\u0022:\u0022eol\u0022,\u0022type\u0022:\u0022string\u0022},\u0022host\u0022:{\u0022default\u0022:\u0022localhost\u0022,\u0022description\u0022:\u0022The host running syslogd, defaults to localhost.\u0022,\u0022title\u0022:\u0022Host\u0022,\u0022type\u0022:\u0022string\u0022},\u0022localhost\u0022:{\u0022default\u0022:\u0022localhost\u0022,\u0022description\u0022:\u0022Host to indicate that log messages are coming from (Default: localhost).\u0022,\u0022title\u0022:\u0022Localhost\u0022,\u0022type\u0022:\u0022string\u0022},\u0022path\u0022:{\u0022default\u0022:\u0022/dev/log\u0022,\u0022description\u0022:\u0022The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).\u0022,\u0022examples\u0022:[\u0022/var/run/syslog\u0022],\u0022title\u0022:\u0022Path\u0022,\u0022type\u0022:\u0022string\u0022},\u0022pid\u0022:{\u0022default\u0022:\u0022process.pid\u0022,\u0022description\u0022:\u0022PID of the process that log messages are coming from (Default process.pid).\u0022,\u0022title\u0022:\u0022PID\u0022,\u0022type\u0022:\u0022string\u0022},\u0022port\u0022:{\u0022default\u0022:123,\u0022description\u0022:\u0022The port on the host that syslog is running on, defaults to syslogd's default port.\u0022,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:\u0022number\u0022},\u0022protocol\u0022:{\u0022default\u0022:\u0022tcp4\u0022,\u0022description\u0022:\u0022The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).\u0022,\u0022examples\u0022:[\u0022udp4\u0022,\u0022tls4\u0022,\u0022unix\u0022,\u0022unix-connect\u0022],\u0022title\u0022:\u0022Protocol\u0022,\u0022type\u0022:\u0022string\u0022},\u0022type\u0022:{\u0022default\u0022:\u00225424\u0022,\u0022description\u0022:\u0022The type of the syslog protocol to use (Default: BSD, also valid: 5424).\u0022,\u0022title\u0022:\u0022Type\u0022,\u0022type\u0022:\u0022string\u0022}},\u0022title\u0022:\u0022syslog\u0022,\u0022type\u0022:\u0022object\u0022},\u0022network_key\u0022:{\u0022description\u0022:\u0022Network encryption key, changing requires repairing all devices!\u0022,\u0022oneOf\u0022:[{\u0022title\u0022:\u0022Network key(string)\u0022,\u0022type\u0022:\u0022string\u0022},{\u0022items\u0022:{\u0022type\u0022:\u0022number\u0022},\u0022title\u0022:\u0022Network key(array)\u0022,\u0022type\u0022:\u0022array\u0022}],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Network key\u0022},\u0022pan_id\u0022:{\u0022description\u0022:\u0022ZigBee pan ID, changing requires repairing all devices!\u0022,\u0022oneOf\u0022:[{\u0022title\u0022:\u0022Pan ID (string)\u0022,\u0022type\u0022:\u0022string\u0022},{\u0022title\u0022:\u0022Pan ID (number)\u0022,\u0022type\u0022:\u0022number\u0022}],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Pan ID\u0022},\u0022report\u0022:{\u0022description\u0022:\u0022Enables report feature (deprecated)\u0022,\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Reporting\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022rtscts\u0022:{\u0022description\u0022:\u0022RTS / CTS Hardware Flow Control for serial port\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022RTS / CTS\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022soft_reset_timeout\u0022:{\u0022description\u0022:\u0022Soft reset ZNP after timeout\u0022,\u0022minimum\u0022:0,\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Soft reset timeout (deprecated)\u0022,\u0022type\u0022:\u0022number\u0022},\u0022timestamp_format\u0022:{\u0022description\u0022:\u0022Log timestamp format\u0022,\u0022examples\u0022:[\u0022YYYY-MM-DD HH:mm:ss\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Timestamp format\u0022,\u0022type\u0022:\u0022string\u0022}},\u0022title\u0022:\u0022Advanced\u0022,\u0022type\u0022:\u0022object\u0022},\u0022availability\u0022:{\u0022description\u0022:\u0022Checks wether devices are online/offline\u0022,\u0022oneOf\u0022:[{\u0022title\u0022:\u0022Availability (boolean)\u0022,\u0022type\u0022:\u0022boolean\u0022},{\u0022properties\u0022:{\u0022active\u0022:{\u0022description\u0022:\u0022Options for active devices (routers/mains powered)\u0022,\u0022properties\u0022:{\u0022timeout\u0022:{\u0022default\u0022:10,\u0022description\u0022:\u0022Time after which an active device will be marked as offline in minutes\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Timeout\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Active\u0022,\u0022type\u0022:\u0022object\u0022},\u0022passive\u0022:{\u0022description\u0022:\u0022Options for passive devices (routers/mains powered)\u0022,\u0022properties\u0022:{\u0022timeout\u0022:{\u0022default\u0022:1500,\u0022description\u0022:\u0022Time after which an passive device will be marked as offline in minutes\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Timeout\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Active\u0022,\u0022type\u0022:\u0022object\u0022}},\u0022title\u0022:\u0022Availability (object)\u0022,\u0022type\u0022:\u0022object\u0022}],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Availability\u0022},\u0022ban\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Ban (deprecated, use blocklist)\u0022,\u0022type\u0022:\u0022array\u0022},\u0022blocklist\u0022:{\u0022description\u0022:\u0022Block devices from the network (by ieeeAddr)\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Blocklist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022device_options\u0022:{\u0022type\u0022:\u0022object\u0022},\u0022devices\u0022:{\u0022patternProperties\u0022:{\u0022^.*$\u0022:{\u0022$ref\u0022:\u0022#/definitions/device\u0022}},\u0022propertyNames\u0022:{\u0022pattern\u0022:\u0022^0x[\u005cd\u005cw]{16}$\u0022},\u0022type\u0022:\u0022object\u0022},\u0022experimental\u0022:{\u0022properties\u0022:{\u0022output\u0022:{\u0022description\u0022:\u0022Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\u0022state\u0022: \u0022ON\u0022}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)\u0022,\u0022enum\u0022:[\u0022attribute_and_json\u0022,\u0022attribute\u0022,\u0022json\u0022],\u0022title\u0022:\u0022MQTT output type\u0022,\u0022type\u0022:\u0022string\u0022},\u0022transmit_power\u0022:{\u0022description\u0022:\u0022Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Transmit power\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]}},\u0022title\u0022:\u0022Experimental\u0022,\u0022type\u0022:\u0022object\u0022},\u0022external_converters\u0022:{\u0022description\u0022:\u0022You can define external converters to e.g. add support for a DiY device\u0022,\u0022examples\u0022:[\u0022DIYRuZ_FreePad.js\u0022],\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022External converters\u0022,\u0022type\u0022:\u0022array\u0022},\u0022frontend\u0022:{\u0022properties\u0022:{\u0022auth_token\u0022:{\u0022description\u0022:\u0022Enables authentication, disabled by default\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Auth token\u0022,\u0022type\u0022:[\u0022string\u0022,\u0022null\u0022]},\u0022host\u0022:{\u0022default\u0022:\u0022 0.0.0.0\u0022,\u0022description\u0022:\u0022Frontend binding host\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Bind host\u0022,\u0022type\u0022:\u0022string\u0022},\u0022port\u0022:{\u0022default\u0022:8080,\u0022description\u0022:\u0022Frontend binding port\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022title\u0022:\u0022Frontend\u0022,\u0022type\u0022:\u0022object\u0022},\u0022groups\u0022:{\u0022patternProperties\u0022:{\u0022^.*$\u0022:{\u0022$ref\u0022:\u0022#/definitions/group\u0022}},\u0022propertyNames\u0022:{\u0022pattern\u0022:\u0022^[\u005cw].*$\u0022},\u0022type\u0022:\u0022object\u0022},\u0022homeassistant\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Home Assistant integration (MQTT discovery)\u0022,\u0022title\u0022:\u0022Home Assistant integration\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022map_options\u0022:{\u0022properties\u0022:{\u0022graphviz\u0022:{\u0022properties\u0022:{\u0022colors\u0022:{\u0022properties\u0022:{\u0022fill\u0022:{\u0022properties\u0022:{\u0022coordinator\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022enddevice\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022router\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022},\u0022font\u0022:{\u0022properties\u0022:{\u0022coordinator\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022enddevice\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022router\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022},\u0022line\u0022:{\u0022properties\u0022:{\u0022active\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022inactive\u0022:{\u0022type\u0022:\u0022string\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022type\u0022:\u0022object\u0022}},\u0022title\u0022:\u0022Networkmap\u0022,\u0022type\u0022:\u0022object\u0022},\u0022mqtt\u0022:{\u0022properties\u0022:{\u0022base_topic\u0022:{\u0022description\u0022:\u0022MQTT base topic for Zigbee2MQTT MQTT messages\u0022,\u0022examples\u0022:[\u0022zigbee2mqtt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Base topic\u0022,\u0022type\u0022:\u0022string\u0022},\u0022ca\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS certificate of CA used to sign server and client certificates\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-ca.crt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Certificate authority\u0022,\u0022type\u0022:\u0022string\u0022},\u0022cert\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS certificate for client-authentication\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-client.crt\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022SSL/TLS certificate\u0022,\u0022type\u0022:\u0022string\u0022},\u0022client_id\u0022:{\u0022description\u0022:\u0022MQTT client ID\u0022,\u0022examples\u0022:[\u0022MY_CLIENT_ID\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Client ID\u0022,\u0022type\u0022:\u0022string\u0022},\u0022force_disable_retain\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Disable retain for all send messages. ONLY enable if you MQTT broker doesn't support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). Enabling will break the Home Assistant integration\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Force disable retain\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022include_device_information\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Include device information to mqtt messages\u0022,\u0022title\u0022:\u0022Include device information\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022keepalive\u0022:{\u0022default\u0022:60,\u0022description\u0022:\u0022MQTT keepalive in second\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Keepalive\u0022,\u0022type\u0022:\u0022number\u0022},\u0022key\u0022:{\u0022description\u0022:\u0022Absolute path to SSL/TLS key for client-authentication\u0022,\u0022examples\u0022:[\u0022/etc/ssl/mqtt-client.key\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022SSL/TLS key\u0022,\u0022type\u0022:\u0022string\u0022},\u0022password\u0022:{\u0022description\u0022:\u0022MQTT server authentication password\u0022,\u0022examples\u0022:[\u0022ILOVEPELMENI\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Password\u0022,\u0022type\u0022:\u0022string\u0022},\u0022reject_unauthorized\u0022:{\u0022default\u0022:true,\u0022description\u0022:\u0022Disable self-signed SSL certificate\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Reject unauthorized\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022server\u0022:{\u0022description\u0022:\u0022MQTT server URL (use mqtts:// for SSL/TLS connection)\u0022,\u0022examples\u0022:[\u0022mqtt://localhost:1883\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022MQTT server\u0022,\u0022type\u0022:\u0022string\u0022},\u0022user\u0022:{\u0022description\u0022:\u0022MQTT server authentication user\u0022,\u0022examples\u0022:[\u0022johnnysilverhand\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022User\u0022,\u0022type\u0022:\u0022string\u0022},\u0022version\u0022:{\u0022default\u0022:4,\u0022description\u0022:\u0022MQTT protocol version\u0022,\u0022examples\u0022:[5],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Version\u0022,\u0022type\u0022:[\u0022number\u0022,\u0022null\u0022]}},\u0022required\u0022:[\u0022base_topic\u0022,\u0022server\u0022],\u0022title\u0022:\u0022MQTT\u0022,\u0022type\u0022:\u0022object\u0022},\u0022ota\u0022:{\u0022properties\u0022:{\u0022disable_automatic_update_check\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.\u0022,\u0022title\u0022:\u0022Disable automatic update check\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022update_check_interval\u0022:{\u0022default\u0022:1440,\u0022description\u0022:\u0022Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.\u0022,\u0022title\u0022:\u0022Update check interval\u0022,\u0022type\u0022:\u0022number\u0022}},\u0022title\u0022:\u0022OTA updates\u0022,\u0022type\u0022:\u0022object\u0022},\u0022passlist\u0022:{\u0022description\u0022:\u0022Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!\u0022,\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Passlist\u0022,\u0022type\u0022:\u0022array\u0022},\u0022permit_join\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Allow new devices to join (re-applied at restart)\u0022,\u0022title\u0022:\u0022Permit join\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022serial\u0022:{\u0022properties\u0022:{\u0022adapter\u0022:{\u0022default\u0022:\u0022auto\u0022,\u0022description\u0022:\u0022Adapter type, not needed unless you are experiencing problems\u0022,\u0022enum\u0022:[\u0022deconz\u0022,\u0022zstack\u0022,\u0022zigate\u0022,\u0022ezsp\u0022,\u0022auto\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Adapter\u0022,\u0022type\u0022:[\u0022string\u0022]},\u0022disable_led\u0022:{\u0022default\u0022:false,\u0022description\u0022:\u0022Disable LED of the adapter if supported\u0022,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Disable led\u0022,\u0022type\u0022:\u0022boolean\u0022},\u0022port\u0022:{\u0022description\u0022:\u0022Location of the adapter. To autodetect the port, set null\u0022,\u0022examples\u0022:[\u0022/dev/ttyACM0\u0022],\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Port\u0022,\u0022type\u0022:[\u0022string\u0022,\u0022null\u0022]}},\u0022title\u0022:\u0022Serial\u0022,\u0022type\u0022:\u0022object\u0022},\u0022whitelist\u0022:{\u0022items\u0022:{\u0022type\u0022:\u0022string\u0022},\u0022readOnly\u0022:true,\u0022requiresRestart\u0022:true,\u0022title\u0022:\u0022Whitelist (deprecated, use passlist)\u0022,\u0022type\u0022:\u0022array\u0022}},\u0022required\u0022:[\u0022mqtt\u0022],\u0022type\u0022:\u0022object\u0022},\u0022coordinator\u0022:{\u0022meta\u0022:{\u0022maintrel\u0022:0,\u0022majorrel\u0022:38,\u0022minorrel\u0022:102,\u0022product\u0022:0,\u0022revision\u0022:\u00220x26660700\u0022,\u0022transportrev\u0022:0},\u0022type\u0022:\u0022ConBee2/RaspBee2\u0022},\u0022log_level\u0022:\u0022info\u0022,\u0022network\u0022:{\u0022channel\u0022:11,\u0022extended_pan_id\u0022:\u00220xdddddddddddddddd\u0022,\u0022pan_id\u0022:6754},\u0022permit_join\u0022:true,\u0022restart_required\u0022:false,\u0022version\u0022:\u00221.22.0\u0022}","zigbee2mqtt/bridge/state":"online"}
     2021-12-06 19:14:57   lastPublish     ebusd/zeo/collRTemp/get:
     2021-12-06 19:14:19   nrclients       17
     2021-12-06 17:34:20   state           Initialized
   clients:
     MQTT2_FHEM_Server_192.168.178.102_32627 1
     MQTT2_FHEM_Server_192.168.178.104_3117 1
     MQTT2_FHEM_Server_192.168.178.108_8582 1
     MQTT2_FHEM_Server_192.168.178.31_8669 1
     MQTT2_FHEM_Server_192.168.178.42_15640 1
     MQTT2_FHEM_Server_192.168.178.49_26756 1
     MQTT2_FHEM_Server_192.168.178.53_56534 1
     MQTT2_FHEM_Server_192.168.178.53_57008 1
     MQTT2_FHEM_Server_192.168.178.55_26582 1
     MQTT2_FHEM_Server_192.168.178.59_7918 1
     MQTT2_FHEM_Server_192.168.178.64_38148 1
     MQTT2_FHEM_Server_192.168.178.74_21029 1
     MQTT2_FHEM_Server_192.168.178.80_10980 1
     MQTT2_FHEM_Server_192.168.178.86_62612 1
     MQTT2_FHEM_Server_192.168.178.87_59770 1
     MQTT2_FHEM_Server_192.168.178.96_62335 1
     MQTT2_FHEM_Server_192.168.178.99_29953 1
   retain:
     ebusd/global/running:
       ts         1638808609.68507
       val        true
     ebusd/global/signal:
       ts         1638808607.97187
       val        true
     ebusd/global/updatecheck:
       ts         1638808470.05783
       val        "version 21.2 available, broadcast.csv: different version available, vaillant/08.bai.csv: different version available, vaillant/84.zeo.csv: different version available, vaillant/bai.0020066007.inc: newer version available, vaillant/broadcast.csv: newer version available, vaillant/ec.zeo.sc.csv: different version available, vaillant/errors.inc: newer version available, vaillant/hcmode.inc: newer version available, vaillant/hwcmode.inc: newer version available, vaillant/mcmode.inc: newer version available"
     ebusd/global/version:
       ts         1638808609.63941
       val        "ebusd 3.4.v3.3-51-g57eae05"
     tele/DVES_82C676/LWT:
       ts         1638808470.05783
       val        Offline
     tele/DVES_B6BC08/LWT:
       ts         1638808610.0521
       val        Online
     tele/DVES_C0F65C/LWT:
       ts         1638808470.05783
       val        Offline
     tele/DVES_D114D7/LWT:
       ts         1638808609.98398
       val        Online
     zigbee2mqtt/0x00158d0004142146/availability:
       ts         1638808470.05783
       val        online
     zigbee2mqtt/0xb4e3f9fffe07136b/availability:
       ts         1638808470.05783
       val        online
     zigbee2mqtt/0xb4e3f9fffe752b33/availability:
       ts         1638808470.05783
       val        online
     zigbee2mqtt/bridge/config:
       ts         1638808470.05783
       val        {"commit":"a51626e3","coordinator":{"meta":{"maintrel":0,"majorrel":38,"minorrel":102,"product":0,"revision":"0x26660700","transportrev":0},"type":"ConBee2/RaspBee2"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6754},"permit_join":true,"version":"1.22.0"}
     zigbee2mqtt/bridge/devices:
       ts         1638808470.05783
       val        [{"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":["genBasic","genTime","genOta"],"output":["genPowerCfg","genPollCtrl","ssIasZone"]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0x00212effff075721","interview_completed":true,"interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"},{"date_code":"20190308","definition":{"description":"TRADFRI motion sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Indicates whether the device detected occupancy","name":"occupancy","property":"occupancy","type":"binary","value_off":false,"value_on":true},{"access":1,"name":"requested_brightness_level","property":"requested_brightness_level","type":"numeric","value_max":254,"value_min":76},{"access":1,"name":"requested_brightness_percent","property":"requested_brightness_percent","type":"numeric","value_max":100,"value_min":30},{"access":1,"description":"Indicates whether the device detected bright light (works only in night mode)","name":"illuminance_above_threshold","property":"illuminance_above_threshold","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E1525/E1745","options":[{"access":2,"description":"Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).","name":"occupancy_timeout","property":"occupancy_timeout","type":"numeric","value_min":0},{"access":2,"description":"Set to false to also send messages when illuminance is above threshold in night mode (default true).","name":"illuminance_below_threshold_check","property":"illuminance_below_threshold_check","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"endpoints":{"1":{"bindings":[{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00212effff075721","type":"endpoint"}}],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genAlarms","genPollCtrl","touchlink"],"output":["genIdentify","genGroups","genOnOff","genLevelCtrl","genOta","touchlink"]},"configured_reportings":[{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"0xb4e3f9fffe07136b","ieee_address":"0xb4e3f9fffe07136b","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI motion sensor","network_address":60631,"power_source":"Battery","software_build_id":"2.0.022","supported":true,"type":"EndDevice"},{"date_code":"20190308","definition":{"description":"TRADFRI motion sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Indicates whether the device detected occupancy","name":"occupancy","property":"occupancy","type":"binary","value_off":false,"value_on":true},{"access":1,"name":"requested_brightness_level","property":"requested_brightness_level","type":"numeric","value_max":254,"value_min":76},{"access":1,"name":"requested_brightness_percent","property":"requested_brightness_percent","type":"numeric","value_max":100,"value_min":30},{"access":1,"description":"Indicates whether the device detected bright light (works only in night mode)","name":"illuminance_above_threshold","property":"illuminance_above_threshold","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E1525/E1745","options":[{"access":2,"description":"Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).","name":"occupancy_timeout","property":"occupancy_timeout","type":"numeric","value_min":0},{"access":2,"description":"Set to false to also send messages when illuminance is above threshold in night mode (default true).","name":"illuminance_below_threshold_check","property":"illuminance_below_threshold_check","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"endpoints":{"1":{"bindings":[{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00212effff075721","type":"endpoint"}}],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genAlarms","genPollCtrl","touchlink"],"output":["genIdentify","genGroups","genOnOff","genLevelCtrl","genOta","touchlink"]},"configured_reportings":[{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"0xb4e3f9fffe752b33","ieee_address":"0xb4e3f9fffe752b33","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI motion sensor","network_address":1895,"power_source":"Battery","software_build_id":"2.0.022","supported":true,"type":"EndDevice"},{"date_code":"20170627","definition":{"description":"Aqara human body movement and illuminance sensor","exposes":[{"access":1,"description":"Remaining battery in %","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Indicates whether the device detected occupancy","name":"occupancy","property":"occupancy","type":"binary","value_off":false,"value_on":true},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"descri
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 20838
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht
« Antwort #3 am: 06 Dezember 2021, 20:00:11 »
sehen tust Du die verbindung der MQTT Clients mit
list TYPE=MQTT2_SERVERbzw. hier:
Zitat
   clients:
     MQTT2_FHEM_Server_192.168.178.102_32627 1
     MQTT2_FHEM_Server_192.168.178.104_3117 1
     MQTT2_FHEM_Server_192.168.178.108_8582 1
     MQTT2_FHEM_Server_192.168.178.31_8669 1
     MQTT2_FHEM_Server_192.168.178.42_15640 1
     MQTT2_FHEM_Server_192.168.178.49_26756 1
     MQTT2_FHEM_Server_192.168.178.53_56534 1
     MQTT2_FHEM_Server_192.168.178.53_57008 1
     MQTT2_FHEM_Server_192.168.178.55_26582 1
     MQTT2_FHEM_Server_192.168.178.59_7918 1
     MQTT2_FHEM_Server_192.168.178.64_38148 1
     MQTT2_FHEM_Server_192.168.178.74_21029 1
     MQTT2_FHEM_Server_192.168.178.80_10980 1
     MQTT2_FHEM_Server_192.168.178.86_62612 1
     MQTT2_FHEM_Server_192.168.178.87_59770 1
     MQTT2_FHEM_Server_192.168.178.96_62335 1
     MQTT2_FHEM_Server_192.168.178.99_29953 1
Ist dein RPI-piVCCU dabei?

MQTT Kommunikation läuft nur über das eine definierte Port.

Mir war nicht klar ob in deinem docker ein komplette erprobte config läuft oder Du erst mit zigbee2mqtt angefangen hast.

Zitat
Generelle Frage: Wenn ich einen MQTT2-Server auf einem Raspi1 habe und mein IO-Device an einem Raspi2, der gar kein FHEM hat, muss ich zigbee2mqtt doch nur auf dem Raspi2 installieren und dort in der configuration.yaml die IP des Raspi1 mit dem MQTT2-Server eintragen. Auf dem Raspi1 muss doch gar kein zigbee2mqtt installiert sein, da der MQTT2-Server die Datenpakete erhält. Stimmt meine Vorstellung der Datenübertragung über MQTT?
zigbee2mqtt ist ein Serverdienst, der läuft nur dort wo der zigbee IO verbunden ist. Also ich meine: die Antwort ist ja :)
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 545
Antw:FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht
« Antwort #4 am: 06 Dezember 2021, 20:07:30 »
Zitat
Ist dein RPI-piVCCU dabei?

Hier ja (ist die XXX.64), da es ein List auf dem funktionierenden RPI-Main ist. Muss ich morgen wiederholen, wenn FHEM in Docker läuft.

Im Docker läuft die Konfiguration des RPI-Main (also auch in Bezug auf zigbee2mqtt erprobt und lauffähig), wobei ich 2 Änderungen vornehmen muss (Kopie aus meiner Doku, nicht aus der cfg).

Änderung 1 ist HMCCU: Folgende Attribute müssen hinzugefügt werden
Änderungen in fhem.cfg auf Docker:
Bei Verwendung der HMCCU braucht es noch folgende Einstellung: attr <myHMCCU> rpcserveraddr <local-Server-IP> und natürlich die erforderlichen Ports im Docker noch weiterleiten
attr d_rpc178109BidCos_RF rpcServerAddr 192.168.178.5
attr d_rpc178109VirtualDevices rpcServerAddr 192.168.178.5
attr d_rpc178109HmIP_RF rpcServerAddr 192.168.178.5
attr d_rpc178109BidCos_Wired rpcServerAddr 192.168.178.5

Änderung 2 ist der HMUARTUSB, der ja dann nicht mehr lokal sondern über ser2net angesprochen werden muss.
Auf RPI-Main angeschlossener HMUARTUSB  muss in FHEM anderst definiert werden.
Aus
define myHMUARTUSB HMUARTLGW /dev/serial/by-id/usb-Silicon_Labs_ELV_USB-Modul_UM2102_I7UEPACLX4VMD2CL-if00-port0 auf IP ändern
wird
define myHMUARTUSB HMUARTLGW uart://192.168.178.92:4001
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 545
Antw:FHEM in Docker auf Synology NAS; zigbee2mqtt geht nicht
« Antwort #5 am: 07 Dezember 2021, 19:52:31 »
Problem ist gelöst.

Was waren die Fehler?
1) Wenn man die configuration.yaml ändert, sollte man auch den zigbee2mqtt service stoppen und wieder starten.
2) Bei den Shellys muss man den MQTT-Server explizit angeben. Nachdem das getan war, wurden auch die Daten übertragen
3) In der config des ebusd muss auch der neue MQTT-Server eingetragen und eu gestartet werden

Grüße Jürgen
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren