Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from deCONZ over to ZHA #167

Closed
3 tasks done
jcallaghan opened this issue Jun 20, 2020 · 43 comments
Closed
3 tasks done

Move from deCONZ over to ZHA #167

jcallaghan opened this issue Jun 20, 2020 · 43 comments

Comments

@jcallaghan
Copy link
Owner

jcallaghan commented Jun 20, 2020

deCONZ has been absolutely rock solid for the last year but recently I've had two occasions where I've lost connectivity with my Zigbee network and one of these I had to rebuild the integration with Home Assistant (#109). While I appreciate it's reliability up until this point I'm not so forgiving over the two issues and plan to move to Zigbee Home Automation (ZHA) which leverages Zigpy.

I will need support for:

  • Hue lights, remotes and sensors
  • Aqara sensors
  • Smartthings sensors and plugs

Questions:

  • Is there a way to migrate? No.
  • Is there the equivalent to the network map that was available via deCONZ? Yes, ZHA map

References

Zigbee network

This is my Zigbee network minus some devices I have paired since the last issue. I have just over 150 Zigbee devices.

image

deCONZ

dresden-elektronik/deconz-rest-plugin#2875
dresden-elektronik/deconz-rest-plugin#2863

@jcallaghan
Copy link
Owner Author

jcallaghan commented Jun 22, 2020

Observations

🟢 I have no side-by-side comparison but ZHA seems way more responsive than I found deCONZ.

🟢 I miss the separation of devices that deCONZ has where it split lights, sensors, and switches into separate UI screens. The new ZHA devices page in 0.112 allows you to sort by device type and is in fairness much better than the device pages that deCONZ provided.

🟢 No more flashing all the lights when a sensor is paired. deCONZ always flashed every light three times when I joining a new sensor.

🟢 My Smartthings multi-sensors no longer report a tampering event every hour. @ebaauw via dresden-elektronik/deconz-rest-plugin#2498 worked through this but I never benefited from his contribution sadly. Now I can enable my door knock #159, you have mail #158 and some other tamper based automations once again. This was worth moving to #ZHA for entirely.

🔴 Previously I wasn't getting accurate results for some devices where their battery level always reported 100%. It will be interesting to see if this changes at all with ZHA?

🟢 Standardisation of entity names would be helpful. deCONZ among other integrations create battery level entities with a suffix like _battery_level whereas ZHA it is just _power. This means every device must be renamed to create consistency. Particularly with so many of us using automation and templates to manage device battery levels. This is is just my OCD and a standard I have. Maybe one day I will update my code and not worry about this.

🟢 Know your device codes. For example, an outdoor Hue motion sensor is SML002 and the indoor is SML001. Knowing these helps identify the device a little more easily. See the table below for more information.

🟢 I found the joining page became hard to use and identify when new sensors had joined or even if ZHA was still searching for new devices once 2-3 devices had joined. So after adding a few devices I went back to the main ZHA page and returned back to add more devices. The new ZHA joining page in 0.112 when renaming a device all the entities get renamed too.

🟢 The bonus was my Hue sensors (indoor and outdoor) plus all the four-button remotes all joined without me needing to go round and manually join them. Sadly the same can't be said for my Aqara or Smartthings senors.

🟢 When joining all my devices I found it much quicker to move around the house room-by-room with my laptop and join the devices in that room. It was much quicker to give each device a temporary device name in ZHA. This allowed me to differentiate new devices vs one's I knew about. Once completed I was able to sit down with a glass of wine and rename all of the entities.

🟢 Joining devices alongside using the events developer tool listening for zha_events was key to my success. * I was quickly able to add devices and then by causing the device to fire an event (such as opening a door or window) I was able to determine the address of the device. I could then use the address to identify the right device before naming it.

🟢 I have a very fixed naming standard that I follow. This involved me renaming every single entity (some sensors have 4+ entities). Renaming the device previously renamed each of the devices entities. Renaming must be achieved through a string match as it would not work on the out of the box names but after renaming each of the entities it worked. Right now it seems this is very much a manual task but it would be great to see the entities of a device rename when the host device changes. Now ZHA has moved over to an integration in 0.112 now when renaming a device all the entities get renamed too.

References

dresden-elektronik/deconz-rest-plugin#1261

@jcallaghan
Copy link
Owner Author

Pairing tools of choice

  • Park tools pick - particularly helpful for Smartthings multi-sensor. The 90° bend on the pick makes it much easier to reach the pairing button on door and window sensors.
  • Phone sim remover tool - great for Hue but I didn't need to pair any Hue sensors.
  • Listen to zha_event events in Developer Tools > Events.

[[picture]]

@jcallaghan

This comment has been minimized.

@jcallaghan
Copy link
Owner Author

jcallaghan commented Jun 22, 2020

Groups

  • You must have two lights in order for a light group to be created. deCONZ worked with just one light. I built scenes and automations around using light groups rather than single lights. This is a little frustrating as this means I would have light groups created in ZHA and YAML for light groups with just one light. Instead, I removed all my ZHA light groups and created them all in YAML. The reason I use light groups is it is cleaner to reference the light group in automation regardless of the lights in the light group. Overtime if I add or remove lights from a room I don't need to change anything other then the mapping in the light group.
  • On some sensors, I have noticed the voltage is included as an attribute along with what type of battery is used. This is great and something I can add to my battery automation. Low battery automation 🔋 #120
  • When you do create a group, an entity like light.dining_room_zha_group_0x0002 is created (see image below).
  • There is no friendly name property available for light groups via YAML. I'll need to see if I can change these via customise.

image

@jcallaghan

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@Adminiuga

This comment has been minimized.

@adonno
Copy link

adonno commented Jun 24, 2020

Oh man wat an adventure.

@jcallaghan

This comment has been minimized.

@Adminiuga

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@Adminiuga

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@Adminiuga

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@jcallaghan

This comment has been minimized.

@jcallaghan
Copy link
Owner Author

Further share on Twitter.

@jcallaghan
Copy link
Owner Author

jcallaghan commented Jun 26, 2020

Tim Messerschmidt @SeraAndroid

What's** the experience like in comparison to deconz? How long does it take for the network to be ready after a restart?

Having ZHA within Home Assistant is great...just the one place to manage things is always a benefit. And one less Docker image! I've noticed an improvement in the latency with light on/off events for sure.

I thought at first it would cause problems with the amount of time I bounce Home Assistant due to dev work but ZHA is up in no time at all and it has fixed a few devices I've had issues with. I'd say ZHA is up before Home Assistant has finished loading all the components.

I'm working with @dmulcahey to see if we can create a ZHA ready like an event but from our conversation, it is already up before Home Assistant is started. I'd love an event that I can use to report if there are issues.

@jcallaghan
Copy link
Owner Author

Martin Pugh @thepugmiester

I'm just on the verge of starting the ZigBee rollercoaster. I have a Conbee 2 and a stack of IKEA lights and remotes already taking to ha using the ones hub. I've just got deCONZ running but as I'm starting from scratch anyway, world you recommended going the LHA route?

Rollercoaster...Dreamliner! A great choice for your gateway and lights are key for a stronger mesh. I have 56 lights and when I moved this over from my Hue bridge my Zigbee game changes massively! Knowing what I know now, I wish I started off with ZHA 8 months ago. ⭐⭐⭐⭐⭐

There are still some kinks to work out but you only need to see the positive engagement I've already received to see ZHA is a serious contender.

@jcallaghan jcallaghan mentioned this issue Jun 27, 2020
3 tasks
@adonno

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@adonno

This comment has been minimized.

@Adminiuga

This comment has been minimized.

@adonno

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@adonno

This comment has been minimized.

@dmulcahey

This comment has been minimized.

@adonno

This comment has been minimized.

@jcallaghan
Copy link
Owner Author

jcallaghan commented Jul 29, 2020

Device codes

See my Wiki ZHA Devices page https://github.com/jcallaghan/home-assistant-config/wiki/ZHA-Devices

GitHub
My Home Assistant configuration & documentation. Contribute to jcallaghan/home-assistant-config development by creating an account on GitHub.

@jcallaghan
Copy link
Owner Author

I think my move and journey to ZHA is firmly over. I have a handful of dev devices still in a box that I won't join now until I need them. Thanks again to @dmulcahey and @Adminiuga for their amazing support during this process. Your hard work and dedication to the project and the wider Home Assistant community are much appreciated, thank you!

image

@basnijholt
Copy link

Thanks a lot for documenting this publicly! It's quite helpful.

@donnib
Copy link

donnib commented Nov 4, 2020

@jcallaghan what kind of routers do you use ? I have about 70 devices where most of them were GU10 Ikea Trådfri and had so many issues with them locking up and requiring power cycle so i have started switching to Hue GU10 and seems much more stable (have not had a Hue GU10 requiring power cycle yet and it's more than a week that i did the change). I use deConz and RaspBee but i would really like to move to ZHA to get rid of the deConz not becaus i don't like it but i have to maintain the rPI and i am afraid of SD card issues. At the moment i am testing with Sonoff Zigbee bridge and ZHA. You are using Conbee ?

Also do you have any IKEA battery trådfri products such as remotes ?
Another issue i have seen with Xiaomi battery sensors (i can see you use Xiaomi) is that they drop out and needed repairing if their parent got offline e.g their router dissapeared because power cycle. have you seen issues like that ?

@basnijholt
Copy link

BTW, I moved all my 50+ devices over to ZHA from deCONZ two weeks ago and was really happy with the improved event handling in automations. Unfortunately, ZHA proved to be extremely unreliable for me (see zigpy/zigpy-deconz#140) and therefore I moved everything back to deCONZ this weekend. Apparently, having only Hue lights that can act as routers isn't optimal for ZHA. There are many others that do not experience these problems, I just want to leave a warning somewhere ;)

@donnib
Copy link

donnib commented Nov 4, 2020

@basnijholt thx, i currently have 17 GU10 Hue but i do have few other routers such as IKEA tradfri but i want to get rid of them.

@MrMoosieMan
Copy link

BTW, I moved all my 50+ devices over to ZHA from deCONZ two weeks ago and was really happy with the improved event handling in automations. Unfortunately, ZHA proved to be extremely unreliable for me (see zigpy/zigpy-deconz#140) and therefore I moved everything back to deCONZ this weekend. Apparently, having only Hue lights that can act as routers isn't optimal for ZHA. There are many others that do not experience these problems, I just want to leave a warning somewhere ;)

Well, darn. I'm in the middle of figuring out which technology to go with and your review is having me second guess my approach. I have about 50 Hue lights and was thinking I would use ZHA - maybe this is not a good idea. Thanks!

@jcallaghan
Copy link
Owner Author

BTW, I moved all my 50+ devices over to ZHA from deCONZ two weeks ago and was really happy with the improved event handling in automations. Unfortunately, ZHA proved to be extremely unreliable for me (see zigpy/zigpy-deconz#140) and therefore I moved everything back to deCONZ this weekend. Apparently, having only Hue lights that can act as routers isn't optimal for ZHA. There are many others that do not experience these problems, I just want to leave a warning somewhere ;)

Well, darn. I'm in the middle of figuring out which technology to go with and your review is having me second guess my approach. I have about 50 Hue lights and was thinking I would use ZHA - maybe this is not a good idea. Thanks!

It certainly is the right idea. I would not go back - both Home Assistant and ZHA have continued to grow and while I might have had some troubles migrating I've not looked back! ZHA is absolutely rock solid and hasn't given me any trouble in a long time. I now have circa 180 devices connected to ZHA - mostly Hue bulbs, motion sensors, and remotes along with Smartthings plugs and contact sensors and a ton of Aqara sensors (water, contact, temperature).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants