New custom component : ZiGate


I have installed jeedom and this was completely overkill for me.
I have installed domoticz and the interface was really … old.

So I m back on home assistant, light app and clean interface :slight_smile:

And I’ve found my issue with the aqara wall switch.
Hope this does not break anything for the push button if someone want to test :


It could be awesome ! :slight_smile:


Just had a power outage at home. Zigate doesn’t respond anymore, I guess I’ll have to unplug/plug it to get it work again. (the serial device is seen on my linux host, zigate just don’t respond to any command)
That’s not something that I would expect.

In the mean time I’ve ordered hardware to try zigbee2mqtt, it has far more features and documentation than zigate.


Might also be a problem with home-assistant. Did you try restarting home-assistant?

If it’s a docker container, it might resume where it stopped without properly starting.


not a problem with ha, was a problem with the stick. had to unplug/plug it;
it’s not a docker, it a lxc guest, HASS configured to connect to zigate through network. zigate is physicaly connected to the Host, an udev rule fix the tty name, and set2net serves the device through network.


just came across
is anybody else than doudz using it with HASS ?


I think it’s a domoticz developer :slight_smile:


he might as well be :wink: see



I tried to install the plugin but i have this error

Error during setup of component zigate
Traceback (most recent call last):
File “/usr/lib/python3.6/site-packages/homeassistant/”, line 143, in _async_setup_component
hass, processed_config)
File “/usr/lib/python3.6/asyncio/”, line 210, in coro
res = func(*args, **kw)
File “/config/custom_components/zigate/”, line 52, in async_setup
from .zigate2hass import ZiGateProtocol, ZiGate2HASS
File “/config/custom_components/zigate/”, line 9, in
from pyzigate.zgt_parameters import *
ModuleNotFoundError: No module named ‘pyzigate’

RPI3 + Hassio 0.71

Can you help me ?



After restart server many times, it work


I’m struggling with the same issue. Did you manage to make progress with this sensor ? @eLRIC thoughts ?


This sensor seems to use a different return message (one which is not the standard one for a presence detection sensor) and will not work with the current implementation
It should not be too complex to implement, but it needs someone to take care of it, ideally someone who owns the sensor and can test it


Thanks for feedback. Do I understand it correctly that it requires changes in the main zigate lib (in addition to custom HA component) ?


I’ve made small change in zigate lib and managed to get water sensor to work. @eLRIC, did you have something like this in mind ? If so, then I’m going to send a PR to your repo.


I’m afraid but i think this project is a little bit dead …


There’s another project from doudz here Another component for ZiGate


I can’t seem to order one of these from the ZiGate shop. It says invalid address for Australia and to contact the website, but there are no contact details anywhere on the website. @eLRIC?

Also, is this working with the Zigbee2MQTT project that is going on at the moment? They seem to have a complex method of firmware updating USB sniffer boards, so it would be nice to find something more user friendly. Thanks.


I don’t think it’s compatible, but try to see if you can find a key already flashed for zigbee2mqtt. I bought mine already flashed to avoid the trouble of flashing it.
I also found the support is much better with zigbee2mqtt than with the zigate (since much more user use zigbee2mqtt).


If you’re not in a hurry, do not upgrade yet to 0.84. Significative changes on state restore management broke the sensor part. Quickly patched in the github repo but not working properly yet (plugin does not hang anymore, still, restore is not working so you have to wait for the sensors to send data to see a value)


Hi all,

First of all, thanks to everyone in this post for helping each other.
I just want to share some doubts about the initial config. I am running HA on docker in a Synology NAS.
Apparently zigate is detected and initialized correctly, here are the logs:

2018-12-23 21:13:02 DEBUG (MainThread) [custom_components.zigate] ZIGATE : Starting
2018-12-23 21:13:02 DEBUG (MainThread) [custom_components.zigate] ZIGATE : Finding zigate addresses
2018-12-23 21:13:02 DEBUG (MainThread) [custom_components.zigate] ZIGATE : All known addresses added
2018-12-23 21:13:03 WARNING (MainThread) [homeassistant.loader] You are using a custom component for light.zigate which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2018-12-23 21:13:03 DEBUG (MainThread) [custom_components.zigate.zigate2hass] ZIGATE : Transport initialized : SerialTransport(<uvloop.Loop running=True closed=False debug=False>, <custom_components.zigate.zigate2hass.ZiGateProtocol object at 0x7f3d19d3cda0>, Serial<id=0x7f3d19e14358, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=0, xonxoff=False, rtscts=False, dsrdtr=False))

I have two philips hue bulbs, I plug one of them and run the command zigate.permit_join. In a moment I can see a notification saying “Zigate Breaking News ! New device c2cb paired !”

Then I add this to my configuration.yaml following the readme instructions, I only missed ‘light_type’ because I don’t know witch should I put. Restart the server:

  - platform: zigate
    name: 'Luz mesa Juan'
    address: c2cb
    default_state: 'event'

I can see now in the dashboad a new light with a toggle button and is OFF, but the light is ON right now.
Does it make sense? Is there any useful information printed in the bulb?

If I toggle the button to ON nothing happens I can see this in the log:

2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate] --------------------------------------
2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate] REQUEST      : 0092 02c2cb0101
2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate]   # standard : 01 00 92 00 05 9C 02 C2 CB 01 01 03
2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate]   # encoded  : b'01021092021002159c0212c2cb0211021103'
2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate] (timestamp : 21:37:27)
2018-12-23 21:37:27 DEBUG (SyncWorker_3) [zigate] --------------------------------------
2018-12-23 21:37:27 DEBUG (MainThread) [zigate] --------------------------------------
2018-12-23 21:37:27 DEBUG (MainThread) [zigate] RESPONSE 8000 : Status
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   * Status              : Success
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   - Sequence            : b'1b'
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   - Response to command : b'0092'
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   # encoded : b'0180021002100215021c02101b021092021003'
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   # decoded : 0180 00 00 05 0C 00 1B 00 92 0003
2018-12-23 21:37:27 DEBUG (MainThread) [zigate]   (@timestamp : 21:37:27)

If I toggle the button to OFF nothing happens I can see this in the log:

2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate] --------------------------------------
2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate] REQUEST      : 0092 02c2cb0100
2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate]   # standard : 01 00 92 00 05 9D 02 C2 CB 01 00 03
2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate]   # encoded  : b'01021092021002159d0212c2cb0211021003'
2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate] (timestamp : 21:38:12)
2018-12-23 21:38:12 DEBUG (SyncWorker_0) [zigate] --------------------------------------
2018-12-23 21:38:12 DEBUG (MainThread) [zigate] --------------------------------------
2018-12-23 21:38:12 DEBUG (MainThread) [zigate] RESPONSE 8000 : Status
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   * Status              : Success
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   - Sequence            : b'1c'
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   - Response to command : b'0092'
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   # encoded : b'0180021002100215021b02101c021092021003'
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   # decoded : 0180 00 00 05 0B 00 1C 00 92 0003
2018-12-23 21:38:12 DEBUG (MainThread) [zigate]   (@timestamp : 21:38:12)

any ideas of what I am doing wrong?

Thanks in advance