RouterOS má možnost sdílení serial/USB portů. Takže mě napadlo přes RouterBoard nasdílet ZigBee USB adaptér (SkyConnect / ezsp). Jestli to vůbec bude fungovat, protože nikde jsem na kombinaci RouterBoard + ZigBee nenarazil. A samozřejmě funguje. Dají se tak šikovně nahradit zařízení jako ZigStar UZ nebo RPI používané na sdílení ZigBee adaptéru. Třeba se tedy někomu bude hodit.
Budeme předpokládat, že router s USB adaptérem má adresu 192.168.1.1, lokální síť je 192.168.1.0/24 a používat budeme Zigbee2MQTT. ZHA by mělo fungovat taky, ale nezkoušel jsem.
V konfiguraci Zigbee2MQTT se síťový adaptér přimapuje takhle:
serial:
adapter: ezsp # SkyConnect
port: tcp://192.168.1.1:10000
baudrate: 115200 # Defaultně 115200, ale pro pořádek
Nastavení na straně RouterOS:
> /port print
# DEVICE NAME CHANNELS USED-BY BAUD-RATE
0 1-1 usb1 1 9600
> /port set usb1 baud-rate=115200 flow-control=none
> /port print
# DEVICE NAME CHANNELS USED-BY BAUD-RATE
0 1-1 usb1 1 115200
> /port remote-access add port=usb1 protocol=raw tcp-port=10000 allowed-addresses=192.168.1.0/24
> /port remote-access print
Columns: PORT, CHANNEL, PROTOCOL, TCP-PORT, ALLOWED-ADDRESSES
# PORT CHANNEL PROTOCOL TCP-PORT ALLOWED-ADDRESSES
0 usb1 0 rfc2217 10000 192.168.1.0/24
Ověření na straně Zigbee2MQTT, že remote adaptér poslouchá:
> nc -v 192.168.1.1 10000
Connection to 192.168.1.1 port 10000 [tcp/ndmp] succeeded!
Log ze Zigbee2MQTT:
Zigbee2MQTT:debug Loaded state from file /app/data/state.json
Zigbee2MQTT:info Logging to console and directory: '/app/data/log/...' filename: log.txt
Zigbee2MQTT:debug Removing old log directory '/app/data/log/...'
Zigbee2MQTT:info Starting Zigbee2MQTT version 1.33.2 (commit #9996c93)
Zigbee2MQTT:info Starting zigbee-herdsman (0.21.0)
Zigbee2MQTT:debug Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/app/data/coordinator_backup.json","databaseBackupPath":"/app/data/database.db.backup","databasePath":"/app/data/database.db","network":{"channelList":[13],"extendedPanID":[HIDEN],"networkKey":"HIDDEN","panID":HIDEN},"serialPort":{"adapter":"ezsp","path":"tcp://192.168.1.1:10000"}}'
Zigbee2MQTT:info zigbee-herdsman started (resumed)
Zigbee2MQTT:info Coordinator firmware version: '{"meta":{"maintrel":"2 ","majorrel":"7","minorrel":"2","product":11,"revision":"7.2.2.0 build 190"},"type":"EZSP v11"}'
Zigbee2MQTT:debug Zigbee network parameters: {"channel":13,"extendedPanID":HIDEN,"panID":HIDEN}
Zigbee2MQTT:info Currently 0 devices are joined: