Zooz 4-in-1 sensor (aka, Vision ZP3111 Multisensor 4in1)

Is the binary sensor working for you? I only seem to get alarm reports.

@russell I’m afraid I don’t fully understand your question (likely due to my lack of knowledge with Z-Wave). I have the motion, temperature, humidity, and light sensors working and reporting like I wanted in hass.

I did change some parameters from ozwcp, but I don’t think that it really had any impact on me getting things working.

I don’t get any changes to the motion sensor value, it stays off. I get changes to the “Alarm Level” and “Burglar” fields only. See for example this screenshot from zwcfg.

I also have the Zoos 4in1 multisensor and the motion sensor will not trigger. The temperature, luminance, and humidity items update as expected in HomeAssistant. I tried to get ozwcp working but gave up so I managed to change the motion sensitivity parameter on the device to “1” (ie. very sensitive) using Domoticz but still no luck. As a side note, it does not register motion in Domoticz or zVirtualScenes (Windows) either so I’m starting to suspect the issue is with the sensor.

Cheers,
Shaun

anyone get this to work (motion)?

I’m not sure what to say, other than the motion sensor is working for me. It’s the Burgular sensor that reports motion, and it reports in an on/off fashion. From what I gather, a value of 0 means no motion, and a value of anything else means motion. For me, it seems that the burglar sensor sets to a value of 8 when motion is detected, though I’m not sure why it changes to 8. I figured it would be a 0 for no motion, and 1 for motion, but whatever.

So I just created a sensor that looks like this:

- platform: template
  sensors:
    kitchen_motion:
      friendly_name: 'Motion Detected?'
      value_template: >-
          {%- if is_state("sensor.multisensor_kitchen_burglar_8", "0") -%}
              No
          {%- else -%}
              Yes
          {%- endif -%}

And all works as expected. Again, I am using open zwave control panel and I see the value hop from 0 to 8 when motion is detected, and my sensor has been working great for at least a week now.

5 Likes

Thanks tycoonbob! After I posted yesterday, I discovered that the ‘burglar’ sensor changes from 0 to 8 when it detects motion, too. I’m fairly new to HomeAssistant so I haven’t played around with templates yet - I like what tycoonbob did. In my case, I monitor the numeric_state for ‘burglar’ and my automation rule works as expected.

I just bought one of these and am having the same issue. However, a recent commit to the open-zwave repo a few days ago should fix this. The change might not make it into HA for a while, but you can edit your config file accordingly to fix. I’ll try to remember to report back once I get a chance to test.

From what I understand the change is supposed to make it into the next release of HA 0.63…

1 Like

anyone can give me a hint to change the config parameters of this device?
I just started with home assistant and zwave and bought one of these to play arround.

It works well but i wanted to disable the LEDs and play arround with the motion sensitivity but i cant get my changes to stick. I read that i have to wake up the device but i dont know how (tried opening the cover and pressing the small switch accessible from the outside.

im only using home assistant to configure the device, no additional z-wave software.

Update:
Ok it accapted the command now after a few hours.

1 Like

I am having trouble adding this to my configuration.yaml file
Would you be able to post a screen shot of were you added this please.
I tried adding it to Sensor:
I am NOOB at this but trying to learn thanks
image

You need to add underscores to the entity name.

Go to /dev-state, to find the entity ID.

sensor.vision_zp3111_multisensor_4in1_sensor_burglar

FYI: for motion, you should use

binary_sensor.vision_zp3111_multisensor_4in1_sensor

Has anyone got this to work reliably?

binary switch does not work at all (which I believe is normal, but then why show it)

The burglar sensor just shows unknown (never changes) or off, the only way I get anything to change is to reboot, then it seems stuck where it was last.

I’m about to throw these in the trash!! They worked fine with Smarthings (and I also had them briefly working with Hubitat). I’ve reset them, removed, readded. Added normal, added secure. They do report temp, and humidity, etc, but I really wanted a stable motion senor,I have like 10 temp sensors in my house, dont really need more.

Is there a trick to pairing these, they seem to go to sleep during the paring process. I have them less and 2 feet from the usb stick

I’ve actually had good luck with them. Mine are the v2 version. I, too, wanted a reliable stable motion sensor (the temp, humidity, and luminance are just bonuses for me). I came from SmartThings where I found their own branded Zigbee motion sensors pretty great. So I had a high bar. Based on the direction in this thread and through other research, I ended up adding them to Hass.io using the Zwave control panel’s “Add Secure” function. Then I had to push the button a few times to wake it up and finish the pairing process. I found it created a bunch of entities, most of which are nonsensical and utterly confused me. Then I found some guidance to use the template platform to create a motion sensor out of the values of the one entity that changes it value based on motion (IIRC, it goes from 0 for no motion to 255 for motion detected). It works perfectly. Here’s an example of one of mine:

binary_sensor:
  - platform: template
    sensors:
      3rd_level_hall_motion:
        friendly_name: "3rd Level Hall Motion"
        device_class: motion
        value_template: "{{ states('sensor.alarm_level')|float > 0 }}"

Hope this helps!

When I asked Zooz support they responded that the default binary_sensor does not work in Hass:

It looks like the binary_sensor was used for the 300 series devices while notification is used for 500 devices to report motion. So if you look at the supported command classes in the manual, there is no binary sensor command class supported, but rather the notification command class for motion reports. […]
We double checked that the ZSE40 doesn’t report as binary_sensor and there is no way to enable these reports through a software update.

I don’t have an ‘alarm_level’ sensor, and none of the sensors other then temp, etc seem to change with motion. Maybe that’s my issue.

It sounds like your issue. I think the device only wakes up twice a day by default. Perhaps it just needs to complete pairing and keeps falling asleep before it finishes. Have you tried manually pushing the Zwave button on the device to manually wake it? A single click should do it according to the manual (http://www.getzooz.com/downloads/zooz-zse40-4-in-1-sensor-manual.pdf). May want to repeat that over the course of several minutes and watch your Zwave log to see what’s happening and if the additional entities show up.

it works well. keep in mind the following for anyone trying to use this sensor with home-assistant:

  1. There are two versions of these: the monoprice and the zooz brand. they are identical.
  2. The “button” that manuals refer to is a small hole in the bottom, click it with a clip. It is NOT the tamper detection switch inside the unit when you open it. This is not specified in the manual (monoprice)
  3. To pair it double click the zwave button
  4. after pairing if it is not complete after a minute or so and your entities dont show up. help it by “waking” it that is pressing the zwave button once
  5. You have to use the alarm_level entity entity and use a template for the motion sensor. Like the posts above mention
  6. For you to change parameters you have to “wake” it. Again that is pressing the button once. Keep in mind that it will be awake for 20 seconds only, so you need to be fast and do any changes within that window. You can wake it again to do others.
  7. There is a bunch of entities that do nothing. feel free to hide them, looks like they were made for other devices using the same chipset.
2 Likes

As an alternative to using templates, I created a separate binary_sensor and change its value with automations based on the numeric_state coming from the unit. About to put it into place, so if anyone sees anything obviously wrong, please let me know :slight_smile:

See code below. I happen to use MQTT for state, but you can do the same with an input_boolean or the variable library, or anything else:

configuration.yaml:

binary_sensor:
- platform: mqtt
  name: "PIRCloset State"
  state_topic: "hass/state/PIRCloset"
  payload_on: "on"
  payload_off: "off"
  device_class: motion

automations.yaml:

- alias: "Closet PIR - Off"
  trigger:
    platform: numeric_state
    entity_id: sensor.vision_zp3111_multisensor_4in1_alarm_level
    below: 10
    for:
      seconds: 10
  action:
   - service: mqtt.publish
     data:
       topic: hass/state/PIRCloset
       payload: 'off'
       retain: 'true'      
- alias: "Closet PIR - On"
  trigger:
    platform: numeric_state
    entity_id: sensor.vision_zp3111_multisensor_4in1_alarm_level
    above: 200
  condition:
    condition: numeric_state
    entity_id: sensor.vision_zp3111_multisensor_4in1_burglar
    below: 9
    above: 7
  action:
   - service: mqtt.publish
     data:
       topic: hass/state/PIRCloset
       payload: 'on'
       retain: 'true'          

(Note: for some reason, the forum software was having a conniption with the dashes in the above code, so I had to hand edit it to make indentation work - but I could have missed something so be careful if copying it)

ETA: Is there a less stupid way to check if burglar level is 8? numeric_state doesn’t seem to have a “equals”, at least not that I can find in the docs… I know I can use a template, but seems there should be a simpler way…

I thought I would bump this thread because of the headaches that I had with the sensor. My first attempt was unsuccessful. Only part of the entities showed up and only the Luminance entity worked. Even going trough the exclusion process was unsuccessful. My suggestion is to keep it awake during the inclusion and exclusion process. I discovered that as long as I pressed the z-wave button every 15 seconds or so, I was able to have success. On my second attempt I got everything to work. Also, the short awake period is a problem with setting the seven parameters. What I had to do is press the z-wave button once and wait for the blue flash from the LED. Then I would immediately execute the update. I do not see any way to avoid a secondary operation to get a ‘motion’ channel. I followed the sensor config from ‘mconnolly’ except that I used ‘burglar’. It worked the first time and by including it in the ‘motion’ class, H.A. puts up the motion icon and the ‘detected’/‘clear’ states.

1 Like