Another component for ZiGate

Yes sure, and to help device find a better route I should call discover device?

No you can’t do anything, routing is done automatically

Ok so when I see messages like :
2019-02-27 18:59:48 DEBUG (ZiGate-Decode data) [zigate] RESPONSE 0x8701 - Route Discovery Confirmation : status:0, network_status:0, lqi:0

It means that the device decided to change his routing ?

yes.
Each device speak to his neighbours and if a better route is found, it will be used.
A route can be better because better lqi or less hop, etc


I’ve added gradient color to represent quality link.
And it shows me that tradfri reporting looks buggy.
If you look at ampoule TV there are 2 childs:
Cube salon, ok it’s on the table next to the bulb but Capteur dorian is at the opposite of the house.
don’t know why this sensor choose to use the bulb as router, but for sure lqi could not be 255 as it is reported.

Could you extract from the log all reponses 0x804e ?
maybe we could find the problem.
The fact is I don’t really understand the “depth” information
When we ask for neighbours, the answer gives for each neighbours :

  • if it’s parent, child or sibling
  • if it’s router or end device
  • depth (I think it’s the hop number)

But sometimes I get something strange, when asking zigate for neighbours, I get devices with “sibling” (so same parent but who’s the parent of zigate ???) and depth = 0, so I decide the parent is zigate

In the current implementation, I don’t care about depth and only focus on parent or child, except when I get sibling and depth=0 where I decide to put zigate as parent.
This is probably why you have a triangle with “Prise lampe Dorian” and “Inter double salon bas”

and yes lqi can’t be 255

Here’s the full log for build table:
https://termbin.com/93l9

and the 0x804e answsers
https://termbin.com/gi2a
But I’m not sure this is what you’re asking :stuck_out_tongue:

Awesome work @doudz !!
The result is really strange … :

sensor :

cellar : cave*
ground floor : Couloir* / Salon* / Cuisine* / Prise Ikea multimedia
1rst floor : Prise TeleTravail / Etage* / Chambre*/ SDB* / Chambre BB*

Salon-weather sould be link to zigate not the ikea outlet at the first floor :slight_smile: Same for “Cave-Weather” :slight_smile:

What’s the location of the zigate in your home?

In the ground floor at 2 meter of the “Salon - weather” :slight_smile:

Yep I have strange links like yours, don’t know if it’s an incorrect report from zigate or if it’s really linked like that.

You could make a test , disconnect the plug or bulb acting as router and see what happens, still working ? new route ?

I will make a test :slight_smile:

Before doing the test. I regenerate the map :


Is possible ?
PS : all router (Ikea outlet are working)

After adding new outlet the graph change again :slight_smile:

Still strange :slight_smile:

Are you using the last lib release 0.28.4 ?

Hi @doudz, just tested with 0.28.4, here’s what I get when invoking zigate.build_network_map:

However, no links are shown in the panel (tested with Chrome and Firefox on Ubuntu and Chrome on Android):

Ok, just noticed the new zigate.build_network_table service and invoking it resolves the issue:

Hi @doudz

Did you had some time to test the panel in my fork https://github.com/Jsl-1/homeassistant-zigate/blob/network-graph-panel/panels/zigate.html ?

I know node positionning is not always perfect, I will try another library when I have more time (http://js.cytoscape.org/). It looks less buggy and have bigger community.

It would be nice if the result of build_network_table is cached somewhere, It will survive home-assistant restart. Don’t know if it can be done in library (zigate.json) or in plugin. What do you think ?

Here’s what I have on my instance:


For me link sizes are too long.