ZWave: Many questions

Hi,

I recently jumped into the Home Assistant Topic und I also bought some Z-Wave Devices. I am working with them since a couple of weeks, but I still have some questions, which I was not able to answer myself by searching the forum/internet.

My devices:
1x Aeotec USB Stick Gen5
1x Fibaro Wall Plug
2x Fibaro Motion Sensor (latest gen)
2x Aeotec Range Extender

All devices should support Zwave+

I added a network_key in the homeassistant config to enable security.

Now my questions:

  1. I added all Devices next to the USB Stick, Is it true that I cannot activate a Zwave+ Product via a Range Extender?
  2. Can I change Node Config of devices via an Range Extender (e.g. of a Motion Sensor)? I was not able to do this. When taking the motion sensor next to the USB Stick, I can easily change Node Config by pressing the “Wakeup Button” on the sensor and executing the action in home assistant
  3. How do I know how good the radio connection is between the different devices?
  4. Can I use cascaded range extender? eg. Stick --> Extender 1 --> Extender 2 --> Motion Sensor?
  5. If I need to reconfigure a Battery Driven Zwave device: Do I need to wake up and set at the same time or is the set command stored on the stick and set to the battery driven zwave device when it wakes up?
  6. I added all my devices with “add secure node”. How can I verify if they are added really securly?

Best Regards,
Johannes

  1. You can, at least as long as it’s a Z-Wave Plus range extender - keep in mind that all mains/USB powered devices are “range extenders” automatically - they’re used to build the mesh.
  2. As explained in the docs you need to wake any battery powered devices before you can change their configuration
  3. Graph the mesh for a start. You can also look in the <> menu (under Developer tools) and look at the following attributes of the zwave. entity: sentFailed, averageRequestRTT, and averageResponseRTT. All those should be relatively low (the first should be 1% or less of sentCnt ideally, the others should be under 500 (half a second).
  4. Yes, up to 4 hops
  5. The command is stored and sent
  6. You should see (from memory) something like is_secure: true in the attributes of the zwave. entity.
1 Like

Ok,

I think I have (although using 2 Range Extender) still a bad connection.

Range Extender 1: (seems to be problematic due to failed packets)

averageRequestRTT: 336
averageResponseRTT: 479
sentCnt: 13
sentFailed: 3

Range Extender 2: (seems to be ok)

averageRequestRTT: 480
averageResponseRTT: 693
sentCnt: 12
sentFailed: 1

Motion Sensor: (Very Bad connection)

averageRequestRTT: 762
averageResponseRTT: 2002
sentCnt: 57
sentFailed: 78

And I was not able to find any "is_secure" entry. Only "is_zwave_plus: true"

Br,
Johannes

The first one isn’t terrible, the failed count is a bit high. That motion sensor though…

Now, Secure adds significant overhead to the mesh, and it sounds like your mesh isn’t so much a mesh as a set of point to point links (which is the worst possible setup). You might find things improve if you remove everything and then re-add using non-secure inclusion.

You will also find things improve if you can move the HA system more centrally.

Yes, the issue is that I have my Server rack in the basement and I have my first Sensors under the roof (2 floors in between), and the Wall Plug next to the Server. So, yes, at the moment it is for sure a Point-to-Point-Setup.

I cannot move my UnRaid Server to another location. Either I move HomeAssistant to an RPi and under the Roof, but I guess I will invest into one or two other active ZWAve Modules :slight_smile:

Br,
Johannes

I was playing now a little bit with the z-wave devices, but somehow I am confused. Today I got a second Wall Plug so I was able to test with Wall Plug only, and also with two Range Extender.

As I am living in a 2-Family House with 4 floors (incl. Basement) I immediatly ordered 2 Range Extender as I read somewhere that they are much better in repeating signals then normal Z-Wave devices.

So this is my layout:
Basement and first floor have concrete walls
second floor and third floor are dry walls.
Room height approx. 2.8 Meters

Setup 1 - Without Range Extender:

  • UnRaid Server with USB-Stick (node1) is in the basement

  • One room next to the Unraid Server I have a Wall plug (node 4)

  • Going up three floors and then horizontal 5 Meters I have my second Wall Plug (node 8)

  • Left and Right of the Wall Plug (node8) each 3 Meters (+Wall) I have my two Motion Sensors (node 5 and node 7)

    neighbors: 8,2,4
    node_id: 1
    node_name: Aeotec ZW090 Z-Stick Gen5 EU

    averageRequestRTT: 25
    averageResponseRTT: 45
    neighbors: 1
    node_id: 4
    product_name: Unknown: type=0602, id=1003
    sentCnt: 13
    sentFailed: 0

    averageRequestRTT: 53
    averageResponseRTT: 146
    neighbors: 1,3,5
    node_id: 8
    product_name: FGWPE/F Wall Plug Gen5
    sentCnt: 17
    sentFailed: 0

    averageRequestRTT: 537
    averageResponseRTT: 931
    neighbors: 8,3
    node_id: 5
    product_name: FGMS001-ZW5 Motion Sensor
    sentCnt: 22
    sentFailed: 8

    averageRequestRTT: 542
    averageResponseRTT: 930
    neighbors: 3
    node_id: 7
    product_name: FGMS001-ZW5 Motion Sensor
    sentCnt: 25
    sentFailed: 1

Setup 2 - with Range Extender:

  • UnRaid Server with USB-Stick (node1) is in the basement

  • One room next to the Unraid Server I have a Wall plug (node 4)

  • Going up two floors I have my 1st Range Extender (node 2)

  • Going horizontal 5 Meters I have my 2nd Range Extender (node 3)

  • Going up one floor I have my second Wall Plug (node 8)

  • Left and Right of the Wall Plug (node8) each 3 Meters (+Wall) I have my two Motion Sensors (node 5 and node 7)

    neighbors: 8,2,4
    node_id: 1
    node_name: Aeotec ZW090 Z-Stick Gen5 EU

    averageRequestRTT: 418
    averageResponseRTT: 706
    neighbors: 1
    node_id: 2
    product_name: ZW117 Range Extender 6
    sentCnt: 10
    sentFailed: 1

    averageRequestRTT: 446
    averageResponseRTT: 3449
    neighbors: 8,5,7
    node_id: 3
    product_name: ZW117 Range Extender 6
    sentCnt: 12
    sentFailed: 6

    averageRequestRTT: 26
    averageResponseRTT: 213
    neighbors: 1
    node_id: 4
    product_name: Unknown: type=0602, id=1003
    sentCnt: 13
    sentFailed: 0

    averageRequestRTT: 353
    averageResponseRTT: 562
    neighbors: 8,3
    node_id: 5
    product_name: FGMS001-ZW5 Motion Sensor
    sentCnt: 21
    sentFailed: 5

    averageRequestRTT: 609
    averageResponseRTT: 939
    neighbors: 3
    node_id: 7
    product_name: FGMS001-ZW5 Motion Sensor
    sentCnt: 23
    sentFailed: 1

    averageRequestRTT: 88
    averageResponseRTT: 201
    neighbors: 1,3,5
    node_id: 8
    product_name: FGWPE/F Wall Plug Gen5
    sentCnt: 13
    sentFailed: 1

I am really wondering that Scenario 1 is working although the big distance between the Stick and the Wall Plug, on the other side I am wondering, why there is not really a big improvment when using the two range extender.

Can you give me some advice? Do I understand something wrong?

With the Hint with unsecure nodes I am not that happy. I think if offered it makes sense to use the secure protocol…

Br,
Johannes

That’s not true I’m afraid - they’re not different. Now, some devices have better antenna than others, but it’s not specific to extenders. Indeed, many extenders are basic Z-Wave, and using those makes things worse.

That’s entirely up to you, I’m just telling you so you know. Z-Wave is a low bandwidth protocol, and security adds significant overhead. Pragmatically the risks are likely to be low for most people.

It does look like at least one of the motion sensors has a significantly lower RTT (both values are almost halved). The one with only a single neighbour (3) remains poor. If you graph your mesh, you should (for a healthy mesh) see multiple routes to the majority of nodes, like this:

image

(this particular graph tool removes redundant links of a lower priority, which is why two of the yellow ones only have a single link).

Unfortunately being a low power radio based protocol, Z-Wave can be a bit trial and error. Try moving the range extender to another location. The signal is degraded by the material it goes through, so if you can place it so that the signal between the extender and the adjacent devices goes through walls or floors at close to right angles you’ll get more range.

Mhh, ok. Someone mentioned somewhere that the Range Extender would have better antennas as they were desigend espacially for that role.
Btw. My range extender are all ZWave+

Regarding the Graph: This looks interesting, have to look on how to use it on my UnRaid Docker.

Another Question regarding the Statistics: Is it possible to reset them without restarting the Z-Wave Network?

Br,
Johannes

If all else fails, some of the older versions could be run manually and would produce an image.

I don’t believe so.

@Tinkerer

Thanks for your support. I got the Graph working but it seems I have some work to do :slight_smile:

The strange thing is that everything is working, but if I draw the picture manually, I have the same result.
The RangeExtender2 and Waschmaschine are talking directly with the Controller.
The two motion seinsors (Arbeitszimmer and Kinderzimmer) are talking with BLNET (Wall Plug) and the BLNET ist talking with RangeExtender1.
RangeExtender1 is not talking anywhere although I have communication between the Motion Sensors and the Controller…

Br,
Johannes

If you can’t move you server, you can use a raspberry pi to move the stick physically in the middle of the house. The stick can then be accessed by home assistant by configuring ser2net (the pi will “share” the stick over the network) and ser2net (it will make the stick appear as if it would be plugged in the server).

I was in the same situation and it helped alot! ( I went full blast and have 3 sticks with 3 “small” networks instead of a big one so things work very fast ).

Also, don’t forget to set udev rules so the zwave stick appears as the same serial device every time.

This will create the rule - the stick will always appear as /dev/zwave (you can modify it as you want).

This will also run the contents of /bin/x-hass-restart-zwave-replug

You can put the home assistant restart command there so if the stick is unplugged and plugged back in home assistant will restart…

1 Like

Thanks @quasar66 , this is a good hint.

I have here a couple of questions:

  1. Do I need to install ser2net on both, the RPI with the Stick and also the server where I am running HomeAssistant?
  2. Could I take my preconfigured stick and move it from the server to the remote RPi? Because If I am not wrong the config of the nodes is on the stick, correct?
  3. How about if I would use multiple sticks, eg. one in a remote RPi and one in the server, how would the config look like?

Btw. Today I was restarting my UnRaid Server, since then I have a much better connectivity for my Nodes. Of course it is still not a mesh, but at the beginning I just want to use the temperature sensor of the motion sensors and controll my roof windows (closing/opening, depending on out- and inside temperature).

If that works I guess I will add other devices as well :slight_smile:

Br,
Johannes

Strange behaviour:

I restarted my HA and now all Sensors and Devices on „Complete“ Status, except one Monten Sensor.

This Motion Sensor is either on State „CacheLaded“ or „Probe“.
Strange is, that this sensor reports temperatute and lux correctly but not burglar…

Br,
Johannes

That’s normal, see the docs.

As I still not got the motion sensor working I was playing around with the devices.

I removed the Range Extender completley and now everything works without an issue. It seems that somehow the range extender made the connection worse.

Br,
Johannes

Ser2net on pi with stick
Socat on server

Hass will see the stick as being local, from its viewpoint there’s no difference between having it plugged in USB locally or with socat - it’s still a zwave device at /dev/zwave

The configuration remains the same.

With multiple sticks: one mosquito broker, a Hass instance for each stick with mqtt event stream and state stream, with only zwave active; then a main Hass instance that listens to mqtt and shows devices - see docs for statestream and eventstream

Many thanks.

One Question is still open: If I take a working stick with associated nodes, can I just move the stick to the RPi and the whole config will still work?

Br,
Johannes

Yes, it will. The config needs to be on the server / vm / container with home assistant. Socat and ser2net only “moves” the serial device. The zwcfg xml and other files need to be on the home assistant machine (and I’d recommend saving the configuration to git after each configuration, in case something gets corrupted)

One last question about Z-Wave.

What happens if the Stick fails and I have to replace it? Just plugin a new stick and everything works again?

Br,
Johannes