Zigbee

Zigbee адаптер для Xiaomi (и других) устройств через Chip cc26xx/cc25xx

Текущий релиз
3.5.5
Разработчик
Kirov Ilya
Лицензия
MIT

При помощи координатора Zigbee-сети на базе Texas Instruments SoC cc253x (и другими) создается собственная сеть, в которую подключаются zigbee-устройства. Взаимодействуя напрямую с координатором сети, драйвер позволяет управлять устройствами без дополнительных шлюзов/бриджей от производителей устройств (Xiaomi/TRADFRI/Hue). Про устройство Zigbee-сети можно прочитать тут (на английском языке).

Оборудование

Для работы необходимо одно из перечисленных устройств, прошитое специальной ZNP-прошивкой: cc2531, cc2530, cc2530+RF

Необходимое для прошивки оборудование и процесс подготовки устройства описан тут (на английском языке) или тут (на русском языке)

Подключенные к Zigbee-сети устройства сообщают координатору своё состояние и информируют о событиях (нажатия кнопки, обнаружение движения, изменение температуры). Эти сведения отражаются в виде объектов-состояний ioBroker. Некоторые состояния имеют обратную связь и могут отправлять команды zigbee-устройству при изменении состояния (переключение состояния розетки и лампы, изменение сцены или яркости лампы).

Работа с драйвером

Для запуска драйвера необходимо указать имя порта, на котором подключено устройство cc253x. Как узнать порт написано тут (на русском языке)

Для подключения устройств необходимо перевести координатор Zigbee-сети в режим сопряжения, нажав зеленую кнопку. Начнется обратный отсчет времени (60 сек) пока будет доступна возможность подключения устройств. Для подключения Zigbee-устройств в большинстве случаев достаточно нажать кнопку сопряжения на самом устройстве. Но существуют особенности для некоторых устройств. Подробнее о сопряжении с устройствами читайте тут (на английском языке) или тут (на русском языке).

После успешного сопряжения, устройство появится в панели устройств. Если устройство появилось в панели устройств, но имеет тип undefined, то это неизвестное устройство и с ним нельзя будет взаимодействовать. Если устройство есть в списке доступных устройств, но добавилось как undefined, то попробуйте удалить устройство и добавить заново. Если не получается подключить устройство, то напиши issue.

Дополнительные сведения

Существует дружественный проект со схожим функционалом на тех же технологиях, в котором с этими же устройствами можно работать по протоколу MQTT. Поэтому, если какие-либо улучшения или поддержка новых zigbee-устройств происходит в проекте Zigbee2MQTT, то можно перенести и добавить этот же функционал в этот драйвер. Если заметили это, то напиши issue - перенесем.

Changelog

1.6.18 (2022-04-21)

  • (arteck) fix pairing modus

1.6.17 (2022-04)

rollback

1.6.16 (2022-02-16)

  • (arteck) admin dep fix
  • (arteck) colored objects for online/offline state

1.6.15 (2022-02-08)

  • (arteck) Battery status % calculation was changed for xiaomi devices

1.6.14 (2022-01)

  • (asgothian) OTA limitation
    • devices with the available state set to false are excluded from OTA updates (and the update check)
    • devices with link_quality 0 are excluded from OTA updates (and the update check)
  • (asgothian) Device deactivation:
    • Devices can be marked inactive from the device card.
    • inactive devices are not pinged
    • state changes by the user are not sent to inactive devices.
    • when a pingable device is marked active (from being inactive) it will be pinged again.
    • inactive devices are excluded from OTA updates.
  • (asgothian) Group rework part 2:
    • state device.groups will now be deleted with state Cleanup
    • state info.groups is now obsolete and will be deleted at adapter start (after transferring data to the new storage)
  • (asgothian) Device name persistance.
    • Changes to device names made within the zigbee adapter are stored in the file dev_names.json. This file is not deleted when the adapter is removed, and will be referenced when a device is added to the zigbee adapter. Deleting and reinstalling the adapter will no longer remove custom device names, nor will deleting and adding the device anew.
  • (asgothian) Readme edit to reflect the current information on zigbee coordinator hardware.
  • (arteck) Zigbee-Herdsman 0.14.4, Zigbee-Herdsman-Converters 14.0.394

1.6.13 (2022-01)

  • (kirovilya) update to Zigbee-Herdsman 0.14

1.6.12 (2022-01)

  • (asgothian) Groups were newly revised (read here )
    • object device.groups is obsolet..the old one is no longer up to date

1.6.9 (2021-12)

  • (simatec) fix admin Dark-Mode
  • (asgothian) Expose Access Handling
  • (arteck) translations
  • (asgothian) fix groups
  • (agross) use different normalization rules

1.6.1 (2021-08)

  • (kirovilya) herdsman compatibility

1.6.0 (2021-08-09)

1.5.6 (2021-05-26)

  • (kirovilya) new UI add

1.5.5 (2021-05-05)

  • Fixes for new zigbee-herdsman-converters
  • UI fixes

1.5.3 (2021-04-30)

  • (arteck) Fix for js-controller 3.3.*

1.5.2 (2021-04-29)

  • (asgothian) Groups on dashboard

1.5.1 (2021-04-14)

1.4.4 (2021-02-14)

1.4.1 (2020-12)

  • (o0shojo0o) added a kelvin posibility into colortemp
  • (asgothian) Hue_calibration for exposed devices (Use requires PR on zigbee-herdsman-converters, PR is being worked on)
  • (asgothian) fix Tuya Thermostat: restore lost property "preset"
  • (asgothian) Change for Device Availability: Stagger initial ping by 200 ms to prevent network congestion due to a large number of ping requests
  • (asgothian) Change for Device Availability: Ping request triggered on reconnect. Before the herdsman Ping function is used, the adapter attempts to read the "state" dp. If this is successful, no ping is sent and the state is set
  • (asgothian) Change for Device Availability: Set link Quality to 0 when a device is not connected, 10 when it is reconnecting.
  • (asgothian) fix for message "illegal properties x,y" - remove color and color_temp from readable states on device available again (Issue #607)
  • (asgothian) RGB Color can now be entered as "named" color. Implemented names are taken from the list of extended web colors on wikipedia (https://en.wikipedia.org/wiki/Web_colors)
  • (asgothian) change in how RGB color is parsed. Incomplete colors will now be parsed successfully. #FFF will result in R 0, G 15, B 255
  • (asgothian) change in OTA: Message that a device does not respond for OTA query downgraded to "info" from "error"
  • (asgothian) new coordinator card

1.4.0 (2020-12)

  • Many new devices available

Starting from version 1.4.0, new devices in iobroker.zigbee will be added automatically, based on the exposes described in zigbee-herdsman-converters. The exposes section describes the device's capabilities, events and control commands. In iobroker.zigbee these descriptions are converted to iobroker states. This means that the new device is described correctly enough in zigbee-herdsman-converters to start working with iobroker.zigbee (do not need to add it to our /lib/devices files.js and /lib/states.js).

The only thing that is not described (yet, it may change in the future) in zigbee-herdsman-converters is the device image. This is why the device icon on network map uses external links to the resource https://www.zigbee2mqtt.io/images/devices/*. If you want to use local images, then you need to put the image file in /admin/img and briefly describe the device in the /lib/devices.js file without the states:

{
    models: [‘01MINIZB’],
    icon: 'img/ITEAD01ZBMINI. png',
}

in this case, the states attribute will be formed based on the exposes description and the image will be local.

1.3.1 (2020-10-30)

1.3.0 (2020-10-07)

  • More stable (zigbee-herdsman)
  • Backup prior database and nv-data (for z-stack 3) before start adapter
  • Allow to select bind cluster
  • Admin Tab support (experimental)
  • (UncleSamSwiss, DutchmanNL) Translation
  • New devices by: arteck, kirovilya, Shade, krumbholz, fre, Alex18081, ae, asgothian, Strunzdesign, kairauer, VLGorskij, Hesse-Bub, PaulchenPlump, blackrozes

1.2.1 (2020-08-16)

  • Fixes after changing device identify method
  • (Garfonso) Allow to unbind from coordinator

1.2.0 (2020-08-09)

  • Serialport 9.0.0. (zigbee-herdsman)
  • Drop support Node < 10 (zigbee-herdsman)
  • Device now identify (for zigbee-herdsman-converters) by model not zigbeeModel

Improvements and fixes:

  • (Strunzdesign) Fixed the mapping between bulb levels and adapter levels
  • (kirovilya) Fix ota for unavailable devices
  • (kirovilya) Lazy states - created only when an event arrives
  • (kirovilya) States generator - states are created depending on the device and its endpoints
  • (Shade) Fixed WXKG11LM clicks
  • (allofmex) Improved DeveloperTab logs
  • (allofmex) Add humidity and temperature calibration state to Tuya RH3052
  • (kirovilya) Fixed a typo due to which extPanID was not set
  • (allofmex) Retry reconnect gateway all the time for tcp connected gateway
  • (kirovilya) Allow to collect zigbee-herdsman logs to iobroker logs
  • (kirovilya) Additional states for QBKG12LM

New devices:

  • (kirovilya) BlitzWolf BW-IS3, Paulmann 500.67, Paulmann 798.09
  • (kirovilya) DiY Geiger counter https://modkam.ru/?p=1591
  • (kirovilya) DiY 8 Relays + 8 switches https://modkam.ru/?p=1638
  • (kirovilya) DiY Freepad https://github.com/diyruz/freepad
  • (kirovilya) Neo Zigbee Siren Alarm https://szneo.com/en/products/show.php?id=241
  • (Shade) RB 278 T
  • (arteck) TS0601_thermostat
  • (arteck) TS0121
  • (arteck) GL-D-004Z
  • (Shade) WXKG07LM
  • (drohne200) 1746430P7
  • (sebastian) 4058075816459
  • (itProfi) SGMHM-I1
  • (arteck) owvfni3
  • (arteck) TS0001, TS0111
  • (Daniel Dreier) Paulmann 500.45
  • (arteck) ZK-EU-2U
  • (Newan) Busch-Jaeger 6735/6736/6737
  • (andrico21) ZM-L03E-Z
  • (arteck) 915005106701, 9290018187B
  • (frankjoke) HGZB-20-UK, GL-W-001Z
  • (arteck) 4034031P7, 3435011P7
  • (arteck) TS0041
  • (agross) 5062231P7, 5062431P7
  • (kirovilya) TI0001-switch, TI0001-socket
  • (arteck) RB 178 T
  • (arteck) HGZB-07A, AV2010/22, AV2010/22A, TS0041, TS0043
  • (nbars) E1744
  • (Florian Look) GS361A-H04
  • (arteck) ICZB-IW11SW
  • (kirovilya) HS2WD-E
  • (Sacred-Shadow) FL 130 C
  • (arteck) HS3SA, 9290022169, 4096730U7, AC10787, SP 220, SP 222, SP 224, 07004D, BW-IS2, InstaRemote
  • (kirovilya) MCLH-08, MCLH-05
  • (Sacred-Shadow) 1746130P7
  • (mar565) GUNNARP panel round
  • (Erdnuss3003) 4090531P7

1.1.1 (2020-04-17)

  • (kirovilya) Critical. Fixed error starting adapter if cc-chip was only flashed
  • (kirovilya) Nue/3A FNB56-ZSW02LX2.0
  • (Strunzdesign) Added missing raw button events for Philips Hue Smart Button ROM001
  • (Sacred-Shadow) Fix Color for Outdoor Lantern W RGBW OSRAM

1.1.0 (2020-04-12)

new Zigbee-herdsman features:

  • ConBee/RaspBee (experimental support) https://github.com/Koenkk/zigbee-herdsman/issues/72
  • OTA update for some devices (IKEA, OSRAM and other) https://github.com/Koenkk/zigbee2mqtt/issues/2921
  • Touchlink reset and join https://github.com/Koenkk/zigbee2mqtt/issues/2396
  • Green Power devices support https://github.com/Koenkk/zigbee2mqtt/issues/3322
  • (peterfido) iCasa KPD14S und KPD18S hinzu
  • (kirovilya) Moes Zigbee Thermostatic Radiator
  • (kirovilya) LifeControl power plug MCLH-03, bulb MCLH-02, water leak MCLH-07, door sensor MCLH-04
  • (kirovilya) Philips LCT002, LCT011, LTW015, LWG004
  • (kirovilya) Gledopto GL-C-007 with with channel
  • (MultivitaminJuice) Iluminize 511.040
  • (Sacred-Shadow) Bitron 902010/24
  • (kirovilya) Color indication of LQI and Battery icon
  • (kirovilya) Device info modal dialog
  • (arteck) Philips LCT026
  • (obakuhl) Improvements Osram switch mini
  • (arteck) Nue / 3A FB56+ZSW1GKJ2.5, LXN-1S27LX1.0
  • (agross) Philips Signe Floor and Table
  • (arteck) TRADFRI bulb E14 WS 470lm, OSRAM PAR16 TW Z3
  • (kirovilya) Smart remote controller (4 buttons)
  • (allofmex) OTA updates
  • (kirovilya) Aqara opple change mode keys (for binding)
  • (palsch) Heiman HS2WD-E siren

1.0.4 (2020-03-14)

  • (kirovilya) Philips Hue Adore Bathroom Mirror Light
  • (kirovilya) Oujiabao Gas and carbon monoxide alarm
  • (kirovilya) Tuya SOS button
  • (Erdnuss3003) Schwaiger ZBT-DIMLight-GLS0800
  • (arteck) Smart Home Pty FB56-ZCW11HG1.4, LXT56-LS27LX1.7
  • (arteck) Xiaomi plug lumi.plug.mmeu01
  • (arteck) Innr RS 228 T, RS 230 C
  • (arteck) Gledopto GL-MC-001, GL-D-003ZS
  • (allmyjoes) Bitron AV2010/21A
  • (arteck) Osram Panel TW 595 UGR22
  • (kirovilya) IKEA SURTE door WS 38x64
  • (andigandi) Philips Hue LCG002, Hue LTG002
  • (arteck) iCasa ICZB-FC
  • (arteck) Osram A60 DIM Z3
  • (arteck) Paulmann 371000001
  • (DaCHRIS) Osram PAR16 DIM Z3
  • (DaCHRIS) Philips LWG001
  • (DaCHRIS) Illuminize 511.202
  • (SchumyHao) TERNCY-SD01 knob dimmer
  • (SchumyHao) Xiaomi lumi.lock.aq1
  • (kirovilya) New eWeLink devices: button, TH sensor, contact sensor, motion sensor
  • (kirovilya) Allow pairing to routers (again)
  • (Erdnuss3003) Philips Hue LCT021
  • (root) Trust ZWLD-100 water leak sensor
  • (smartpran) Bitron AV2010/32

1.0.3 (2020-02-09)

  • (Tw1nh34d) Hornbach FLAIR LED
  • (asgothian) Hue smart button, Heiman smoke sensor
  • (kirovilya) Philips LTC014, LTC015
  • (kirovilya) Power states for QBKG11LM
  • (Garfonso) Change role for occupancy state to 'sensor.motion'
  • (kirovilya) Change illuminance state to illuminance_lux (for lux value)
  • (arteck) Philips LCF002
  • (arteck) TRADFRI open/close remote
  • (kirovilya) Tuya sensor TS0201

1.0.2 (2020-01-29)

  • (kirovilya) All button events for Aqara Opple switch
  • (ma-john) OSRAM PAR16 RGBW Z3
  • (arteck) Phillips LWA004
  • (MiniMe6666) Heiman SmokeSendor-N-3.0
  • (kirovilya) Force remove device
  • (kirovilya) Fix some networkmap bugs
  • (kirovilya) Extended info button
  • (kirovilya) Long press for WXKG01LM

1.0.1 (2020-01-23)

  • fix for old z-stack firmware

1.0.0 (2020-01-22)

  • Powered by new zigbee-herdsman library and new converters database
  • Drop support NodeJS 6
  • Serialport 8.0.5 (in zigbee-herdsman)
  • More new devices
  • Some design update
  • Binding

License

The MIT License (MIT)

Copyright (c) 2018-2021 Kirov Ilya kirovilya@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.