Aeotec Multisensor 6 with Zstick Gen 5 and zwave2mqtt

Using the Multisensor 6 with zwave2mqtt is frustrating. But maybe you can help me by answering some of my questions below.

There are a lot of quirks when you look at the sensor readings and settings detected by zwave2mqtt and what is promoted to Home Assistant for auto discovery.
In the end I had to look at what zwave2mqtt detected, and what was sent to MQTT.

But I am not at all sure that what is detected is right:

Comment: PIR is configured to “Basic Set” not “Binary Sensor Report”, if this makes a difference.

  • binary_sensor_contact, 48/1/0, boolean, always reports “false”, but only together with other sensor values. Seems to have no function at all, at least I don’t see any immediate reports on this one, but maybe it is the tamper sensor that works differently? I thought it was about vibration sensing.

  • sensor_alarm_home_security, 113/1/7, no unit: always reports “unknown”, sends a report when motion is detected, so I assume it is the PIR motion detector. However, in zwave2mqtt log I find this:

2020-04-29 11:35:14.672 Detail, Node003,   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x03, 0x03, 0x20, 0x01, 0x00, 0xd3
2020-04-29 11:35:14.672 Detail, 
2020-04-29 11:35:14.672 Info, Node003, ApplicationCommandHandler - Unhandled Command Class 0x20
2020-04-29 11:35:14.994 Detail, Node003,   Received: 0x01, 0x0f, 0x00, 0x04, 0x00, 0x03, 0x09, 0x71, 0x05, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x72
2020-04-29 11:35:14.995 Detail, 
2020-04-29 11:35:14.995 Warning, NotificationCCTypes::GetAlarmNotificationTypes - Unknown Alarm Type 7
2020-04-29 11:35:14.995 Warning, NotificationCCTypes::GetEventForAlarmType - Unknown AlarmType/Event 7/d
2020-04-29 11:35:14.996 Warning, NotificationCCTypes::GetAlarmType - Unknown AlarmType 7
2020-04-29 11:35:14.996 Info, Node003, Received Notification report (>v1): Type: Unknown (7) Event: Unknown (0) Status: true, Param Length: 0
2020-04-29 11:35:14.996 Detail, Node003, Refreshed Value: old value=0, new value=0, type=list
2020-04-29 11:35:14.997 Detail, Node003, Changes to this value are not verified
2020-04-29 11:35:14.997 Detail, Node003, Notification: ValueChanged
2020-04-29T09:35:14.998Z z2m:Zwave zwave node 3: changed: 113-1-7:Unknown:Unknown -> Unknown

Bottomline you get a state change from unknown to unknown, which is not helpful at all to detect the motion. Is is a bug in zwave2mqtt, is there a mapping missing somewhere? If I cannot do anything about it, what would you propose how to use such reports in home assistant to still get a state change for motion sensor entity?

Motion sensing is the most important part for me. If that does not work, all is lost with this sensor.

  • sensor_battery_level, 128/1/0, %: always 100 when on USB power, no batteries were included.

  • sensor_humidity_air, 49/1/5, RH: reports in deltas of 1, not sure how accurate the reported values are. This is somewhat interesting to display in the bathroom.

  • sensor_illuminance, 49/1/3, Lux: reports 0 in a dark room. 3 with some light, 127 with a flashlight in front of it. Not sure how accurate that is, but it seems to do something. This * sensor is the second most important to me for automation to determine how bright the light bulbs should illuminate.

  • sensor_sun_ultraviolet, 49/1/27, no unit: always 0 indoors AND outdoors. I don’t care about that sensor anyway.

  • sensor_temperature_air, 49/1/1, C: reports 5 degrees too high, calibration does not work (whatever I set as value for calibration, the setting will snap back to either 1 oder 255), insanely high threshold (3-112-1-41) of 1310976 and upper limit (3-112-1-49) of 18350336, and not possible to change them. Why these values, and why does it not update the values to what I am setting? Is my sensor broken or is there a problem with zwave2mqtt??

More quirks:

  • Trying to enable the change-threshold-based reporting (3-112-1-48) for temperature, illuminance, humidity etc. does not work. I was not able enable this for any of the defined change-thresholds. Is this a problem in zwave2mqtt or with the sensor?

  • The discovery JSON sent for Home Assistant auto discovery is missing the appropriate units.

It seems you have to configure the sensor to your own preferences via custom parameters:

https://aeotec.freshdesk.com/helpdesk/attachments/6091430603

There were 2 things that needed to be changed, then it worked:

  1. Set the motion sensor from “Basic Set” to “Sensor Binary Report”
  2. Set zwave2mqtt gateway to send only values, not JSON. The actual discovery JSON template has an error.

Maybe someone can explain this:

binary_sensor:
  - platform: mqtt
    name: "Motion Example"
    device_class: motion
    state_topic: "z2m/multisensor/48/1/0"
    json_attributes_topic: "z2m/multisensor/48/1/0"
    value_template: "{{ value_json.value }}"
    payload_on: 'true'
    payload_off: 'false'

When using JSON and the JSON template, it will not beable to match ‘true’. I suspect it is not latching on the “value: true” pair but on “value_id:…”, but I am not sure.
Setting the gateway to send only the value and not the full objects, and commenting out the template works fine.

Hi mate, I have just setup zwave2mqtt in a docker container. I have the aeotec z-wave stick and aeotec multisensor gen5. Both are detected in z-wave control in zwave2mqtt.

However, for the life of me I could not get home assistant to see the sensors. I read with interest your setup of the state_topic. Where do i setup those in the control panel? Some hints will be great.

Thanks!

in zwave2mqtt:
settings > mqtt > prefix: P, e.g. P=zwave2mqtt
control panel > node > name: N, e.g. N=mysensor
control panel > node > location: L, e.g. L=myroom
control panel > node > values > user > look for the backets, drop the node ID: A,
eg Humidity (2-49-1-5) -> A=49/1/5

in HA:

state_topic: “P/L/N/A”, e.g. “zwave2mqtt/myroom/mysensor/49/1/5”
json_attributes_topic: “P/L/N/A”, e.g. see state_topic

If you don’t use JSON, but value, then auto discovery does not work, then you have to set up the sensors in YAML all by yourself.

Hope this helps

@c0revin

How is this done? Is this on the sensor or the configs please help with an example of how and where. Got similar issue with WAZWAD-1 sensor.

Set as follows in ZWave2MQTT:

control panel > node > values > configuration > Command Options (3-112-1-5): Binary Sensor Report

Additional note on JSON format. I previously recommended not to use it. In the meanwhole ZWave2MQTT has improved and we can use JSON with HASS discovery with this sensor without problems! So you don’t need to manage the MQTT entities manually any more.

Settings > Gateway > Type: ValueID Topics
Settings > Gateway > Payload type: Entire Z-Wave value Object
Settings > Gateway > HASS Discovery: on

You may though want to map the binary_sensor for the PIR motion sensor to an actual motion sensor entity instead of a contact sensor entity (which is what ZWave2MQTT gives you).

@c0revin How do you remap the the MultiSensor6. Every time I change the device class and icon in customizations it reverts back once the device wakes up.

You are right, that happened to me, too, I just did not realize it. Thanks for the info. I have no idea how to avoid that. Sorry.

Was anyone able to resolve this? I have the device in my zwave2mqtt and matching perfectly in HA via auto discovery. Can not figure out how to use the motion in HA as it shows in both places a contact door sensor.