Hello, I posted this under the HASS.IO topic a few days ago, but maybe it’s more appropriate here? I’m new to HA, hass_io and to z-wave. (Awesome community!)
I have hass_io running on a Pi3 with aeotec zstick gen5. I’ve managed to add my z-wave door sensor (Aeotec door/window 6) and I can see the open/close events in the OZW log. It looks like this…
Door open:
2017-08-05 09:49:51.393 Info, Node002, Received Basic set from node 2: level=255. Treating it as a Basic report.
2017-08-05 09:49:51.393 Detail, Node002, Refreshed Value: old value=0, new value=255, type=byte
Door close:
2017-08-05 09:49:54.796 Info, Node002, Received Basic set from node 2: level=0. Treating it as a Basic report.
2017-08-05 09:49:54.796 Detail, Node002, Refreshed Value: old value=255, new value=0, type=byte
Here’s the door sensor as it appears in the HA states tool.
The problem is the state in HA never changes. It is always “on”. I gathered from some other posts here that I should try changing the report type to “binary sensor”, usually done via ozwcp tool, but in the case of hass_io, through the Zwave manager page in HA. I tried that and it didn’t seem to change anything. I tried all possible values for report type, restarted HA after each change and I ensured the sensor was awake during the change by manually pressing it’s button for three seconds, which is supposed to keep it awake for 10 minutes.
In fact, there was another entity that started with “zwave” rather than “binary_sensor”. But, I just managed to get this working using the “binary_sensor”.
I decided I needed to try ozwcp, but didn’t want to abandon HASS.IO on the pi. So after much trial and error, I got a working copy to run on my laptop by using this docker container https://github.com/mezz64/openzwave-controlpanel
And running it like so:
docker run -p 8008:8008 --device /dev/ttyACM0 image_name
I just plugged the z-stick in before launching the container, and was able to change the report type on the sensor. and now it works!!!
Thanks very much for the input. Now that the sensor if reporting the state change properly, I really need to wrap my head around templates in HA. Fortunately I’m already reasonably comfortable with jinja.
Hi, I’m having the same issue you described, and feeling pretty defeated! I wonder if you could tell me more about your solution with a bit of a step-by-step? I’m running hass.io on a RPi3 but also have a desktop PC running Win10.
One other q in particular - you say you tried ozwcp by using your laptop - was that just something you had to do once, then take the laptop out of the equation permanently and everything works fine with RPi? Thanks!
Glad to tell you what I can, but all my computers run Linux, and therefore docker, natively.
I know that docker will run in some form on Windows 10 but I know nothing of the details, or whether it’s possible to do do the USB device pass-through on Win10. I suppose you could run a linux distro via VirtualBox, then install docker in the Linux VM. Come to think of it, if your VM was Centos7, like the docker container from my link, you could probably just cut and paste all the commands from the Dockerfile: https://github.com/mezz64/openzwave-controlpanel/blob/master/Dockerfile and end up with a functional ozwcp.
Still the trick would be figuring out USB pass-though to the guest OS, but I believe VirtualBox supports that.
Anyway, if you end up going the route I did, it would be something like this.
EDIT: never mind, I left out the . at the end. Rookie error! If only I could get the copy/paste working! I’m sure I’ll be back with another dumb q soon
Hi, ok I’m getting close! Would love some more help please.
I’m a total Linux newbie but learning slowly - I’ve installed Centos7 running within VirtualBox (incl. extension packs to enable USB passthrough); I’ve tried the commands as above and got this error message:
Hi, I got right through to running OpenZWave successfully in Centos7 on VirtualBox but I don’t think it can see my device. I think this is because the device is not Windows compatible.
As an alternative, could I run some version on Linux on my Pi (using a different microSD to the one that’s currently in it, running hass.io), and repeat your process using it?
… or could I boot Centos7 from a USB key, on my PC, and follow your process from there? Just looking to avoid dual-booting Centos7 with Windows10, which I’ve read can be problematic.
CentOS hasn’t been ported to arm as far as I’m aware. But you could try hassbian or raspbian on your 2nd SD card. I’m guessing there are how-to’s out there for compiling openzwave and ozwcp on those OSes. Haven’t done it myself. I’m sorry the VM didnt’ work out. Sounds like you put a good bit of work into it.
In other news, I recently removed and re-added the door sensor to my hass.io instance. Apparently, that resets the options. I tried for kicks to see if I could put the setting back using the z-wave console in HA, and it actually worked this time. Might be worth a try.
Looks like you’re nearly there. Try un-checking the usb box ( i know, counter intuitive). Then you need to enter the name of the z-stick device into the “Device name” field and hit “initialize”. The device name in my case is /dev/ttyACM0 but for some folks it’s /dev/ttyUSB0
Run ls /dev/tty* to see if you have one of those device names.
OK I’ve made some progress! I ran the ls /dev/tty* command and the device wasn’t showing up, then I realised I needed to select it from the Devices menu in VirtualBox for it to be seen by the Guest OS. Ran the command again, and there appeared ttyACM0
I changed the reporting to Binary, but then immediately after that, ozwcp said my sensor was ‘unknown’ and when I moved the z-stick back to my RPi, it couldn’t see it either. So I removed and re-synced etc.
At the moment I’m trying to get a solution through a different thread - Can't get sensor to act as binary - still not sure if I have a problem or I just don’t know where to look to see the changed value when I trigger the sensor, which value is changing, and how to use that changed value.
I am confused as in my entities I see my zwave.door_sensor_sensor but after changing the reporting to binary sensor I get a binary_sensor.door_sensor_sensor however am confused where you got the sensor.frontd_alarm_level_5_1 as I do not have any sensor.door_sensor_sensor_anything
I didn’t change the reporting to binary, I created a binary sensor using the script in my previous post placed into the file ‘binary_sensors.yaml’. It then reads out as ‘Open’ or ‘Closed’.
It references the “sensor.frontd_alarm_level_5_1” or “sensor.frontd_alarm_level” ( I think it changed) for the status.
Where are “sensor.frontd_alarm_level_5_1” or “sensor.frontd_alarm_level” pulling from as my zwave.door_sensor_sensor does not create any sensor. where as my multi sensor 6 created a sensor.temperature, sensor.burglar, sensor_alarm etc. but the only two I can see for the door is zwave.door_sensor_sensor and the binary.sensor_door_sensor_sensor I created using your template. Thanks in advance!
@davisj, would you believe, the reason why I couldn’t get my Reporting to switch from Basic to Binary was because I didn’t have my sensor (door sensor) awake when I was making the change? Woke it up, and boom - problem solved.