Skip to content

sammyke007/domoticz-zigbee2mqtt-plugin

 
 

Repository files navigation

Zigbee2MQTT - Domoticz Python Plugin

Python plugin for Domoticz to add integration with zigbee2mqtt project

image

Prerequisites

#f03c15 Plugin now uses Extended Domoticz Plugins Framework which is available only in latest Domoticz betas

If you are using stable Domoticz version, please use this version of plugin instead

Installation

You can use Plugins Manager for automatic installation or follow manual steps:

  1. Clone repository into your domoticz plugins folder
cd domoticz/plugins
git clone https://github.com/stas-demydiuk/domoticz-zigbee2mqtt-plugin.git zigbee2mqtt
  1. Restart domoticz
  2. Make sure that "Accept new Hardware Devices" is enabled in Domoticz settings
  3. Go to "Hardware" page and add new item with type "Zigbee2MQTT"
  4. Set your MQTT server address and port to plugin settings

Once plugin receive device list from zigbee2mqtt server it will create appropriate domoticz devices. You will find these devices on Setup -> Devices page.

Plugin update

  1. Go to plugin folder and pull new version
cd domoticz/plugins/zigbee2mqtt
git pull
  1. Restart domoticz

Note: if you did any changes to plugin files and git pull command doesn't work for you anymore, you could stash all local changes using

git stash

Zigbee groups support

Plugin supports zigbee groups. It is impossible to automatically identify what device should represent the group (OnOff switch, dimmer, etc.), so plugin relies on suffixes in zigbee group name. Currently following suffixes are supported:

Suffix Device Type Example
_dimmer Dimmer Switch mygroup_dimmer
_ct Dimmer Switch with Color Temperature mygroup_ct
_rgb RGB Switch mygroup_rgb
_rgbw RGBW Switch mygroup_rgbw

if no suffix will be found then On/Off switch will be created by default

Configuration

Plugin uses internal configuration to associate physical zigbee devices to logical ones in Domoticz. Configuration is a plain JSON object with the following structure:

{
    "aliases": Alias[]
}

where Alias type is used to associate single zigbee device feature to Domoticz logical device and viceversa. It has the following structure

{
    "domoticz": {
        "device_id": String     // Domoticz Device ID (not idx) in Domoticz
        "legacy_alias": String  // Alias, legacy key that was used in zigbee2mqtt plugin <= 3.0, required to support logical devices that were created before
        "unit": Number          // Domoticz Device Unit
    },
    "zigbee": {
        "address": String       // Zigbee IEEE Address
        "endpoint": String      // Zigbee endpoint (for devices that have multiple ones like switches with several buttons)
        "feture": String        // zigbee2mqtt feature name (power, state, temperature, etc.)
    }
}

in case if you manually remove the device or want a custom association please make sure that you've updated the configuration accordingly

About

zigbee2mqtt plugin for domoticz

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 51.0%
  • JavaScript 40.4%
  • HTML 4.8%
  • CSS 3.8%