Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
Go to file
flatsiedatsie 9dd9f33b4a
OTA updates: add update_check_interval and disable_automatic_update_check options (#6268)
* OTA privacy enhancement

Adds the option to disallow device-initiated OTA update checks.

Currently these OTA update checks can be quite frequent, and essentially mean the device is indirectly able to ping a cloud server. In the EU it's wise to handle an IP address as personal information, and therefore it might be wise to not enable OTA checking by default. Ideally a user would agree to a privacy policy that clarifies things a bit first.

* Added default settings for OTA update management

* Set update interval in minutes

* OTA update settings

* Adds both settings for OTA updates control

* Update settings.schema.json

* Update settings.js

* Update otaUpdate.js

* Update otaUpdate.test.js

* Update bridge.test.js

Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
2021-02-14 18:20:32 +01:00
.github Preparing to make org switch for the add-on (#5546) 2021-02-11 18:38:55 +01:00
data Dont add advanced configuration by default. 2018-05-24 20:19:04 +02:00
docker Copy LICENSE to Docker image 2021-01-28 20:09:36 +01:00
images [ImgBot] Optimize images (#4602) 2020-10-08 20:35:42 +02:00
lib OTA updates: add update_check_interval and disable_automatic_update_check options (#6268) 2021-02-14 18:20:32 +01:00
scripts Lint 2020-12-22 18:40:46 +01:00
test OTA updates: add update_check_interval and disable_automatic_update_check options (#6268) 2021-02-14 18:20:32 +01:00
.dockerignore Prevent devices always being pinged at exactly the same time (#6133) 2021-02-14 11:37:31 +01:00
.eslintignore Zigbee-herdsman (#1945) 2019-09-09 19:48:09 +02:00
.eslintrc.json Lint. 2019-06-23 16:10:44 +02:00
.gitignore Ignore yaml configuration files in data. https://github.com/Koenkk/zigbee2mqtt/issues/4697 2020-10-24 15:58:49 +02:00
.npmignore Use GitHub Actions badge 2020-08-10 21:50:45 +02:00
.npmrc Add .npmrc 2018-07-03 18:57:36 +02:00
cli.js Implement cli version of z2m (#5034) 2020-11-21 16:02:49 +01:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2021-01-28 20:37:05 +01:00
CONTRIBUTING.md Add CONTRIBUTING.md 2021-01-28 20:37:35 +01:00
index.js Add zigbee2mqtt/bridge/request/options and zigbee2mqtt/bridge/request/restart (#6089) 2021-02-06 23:32:20 +08:00
LICENSE Initial commit 2017-09-27 16:38:22 +03:00
npm-shrinkwrap.json Update zigbee-herdsman-converters to 14.0.57 (#6275) 2021-02-14 14:30:47 +01:00
package.json Update zigbee-herdsman-converters to 14.0.57 (#6275) 2021-02-14 14:30:47 +01:00
README.md Preparing to make org switch for the add-on (#5546) 2021-02-11 18:38:55 +01:00
update.sh update.sh: add checking if data-backup exists (#4793) 2020-10-28 10:45:49 +01:00



Zigbee2MQTT 🌉 🐝

Allows you to use your Zigbee devices without the vendors bridge or gateway.

It bridges events and allows you to control your Zigbee devices via MQTT. In this way you can integrate your Zigbee devices with whatever smart home infrastructure you are using.

Getting started

The documentation provides you all the information needed to get up and running! Make sure you don't skip sections if this is your first visit, as there might be important details in there for you.

If you aren't familiar with Zigbee terminology make sure you read this to help you out.

Integrations

Zigbee2MQTT integrates well with (almost) every home automation solution because it uses MQTT. However the following integrations are worth mentioning:

Home Assistant

Domoticz


Architecture

Architecture

Internal Architecture

Zigbee2MQTT is made up of three modules, each developed in its own Github project. Starting from the hardware (adapter) and moving up; zigbee-herdsman connects to your Zigbee adapter an makes an API available to the higher levels of the stack. For e.g. Texas Instruments hardware, zigbee-herdsman uses the TI zStack monitoring and test API to communicate with the adapter. Zigbee-herdsman handles the core Zigbee communication. The module zigbee-herdsman-converters handles the mapping from individual device models to the Zigbee clusters they support. Zigbee clusters are the layers of the Zigbee protocol on top of the base protocol that define things like how lights, sensors and switches talk to each other over the Zigbee network. Finally, the Zigbee2MQTT module drives zigbee-herdsman and maps the zigbee messages to MQTT messages. Zigbee2MQTT also keeps track of the state of the system. It uses a database.db file to store this state; a text file with a JSON database of connected devices and their capabilities.

Supported devices

See Supported devices to check whether your device is supported. There is quite an extensive list, including devices from vendors like Xiaomi, Ikea, Philips, OSRAM and more.

If it's not listed in Supported devices, support can be added (fairly) easy, see How to support new devices.

Support & help

If you need assistance you can check opened issues. Feel free to help with Pull Requests when you were able to fix things or add new devices or just share the love on social media.