Why isn't Sensative Strip Appearing?

I’ve got a new RBP3 installation configured from HASSbian. My zwave configuration must be OK because when I add a Vision Alarm Siren, I can see it on HA. However, I’ve added the Sensative sensor but it doesn’t appear. I’ve tried resetting the Zwave stick, starting with a clean slate by deleting zcfg*, pyozw* and OZW*. After adding the Sensative sensor by pressing the button on a unplugged zstick, my zwcfg* file after reboot is:

<?xml version="1.0" encoding="utf-8" ?>

Can someone explain why Sensative doesn’t appear? I’m not able to get the open-zwave config panel to compile yet, but I have the zensys tools. Any ideas would be appreciated.

Ok, not sure why my config file didn’t appear but I sorted out the problem. I was able to compile the zwave control panel and then copy the *xml file to my HA directory. All is well.

Can you be more specific about what you did?
Did you replace the HA zwcfg-*.xml file with the one created using OZCP?

1 Like

Should be no need for that. When I added my Sensative strip under 0.36 I just went through the standard inclusion process. If you’re having problems, it’ll be worth providing some details.

I’m using HA 0.38.3, python-openzwave 0.32 (now and when including).
The Sensative Strip does not appear in the entity list under the developer tools panel.
They were added to zwcfg-*.xml, but without manufacturer/product name or command class value lists properly populated when compared to https://github.com/OpenZWave/open-zwave/blob/master/config/sensative/strips.xml.
I can see communication from the Sensative Strip in OZW_Log.txt
So it seems it is properly treated by open-zwave, but not HA?

1 Like

Well, HA is underpinned by OZW, so that’s not the problem.

Mine added correctly, and the entry in my ozwcfg is quite long. How did you install HA?

After you have added the strips in OZWCP, save the configuration and exit OZWCP. Then copy the zwcfg_*.xml file from the OZWCP directory to your HA installation. My HA installation is located at /home/homeassistant/.homeassisant. Restart HA and your new zwave devices should appear in the list of entities.

I installed HA using pip3 install homeassistant, and manually built OZW.
Could you post the Sensative Strip part of your zwcfg_*.xml?
(I’m struggling a bit compiling OZWCP from source om macOS.)

Here it is:

	<Node id="10" name="" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3079" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Complete">
		<Manufacturer id="19a" name="Sensative">
			<Product type="3" id="3" name="Strips" />
		</Manufacturer>
		<CommandClasses>
			<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4">
				<Instance index="1" />
				<Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			</CommandClass>
			<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
				<SensorMap index="0" type="55" />
				<SensorMap index="0" type="200" />
			</CommandClass>
			<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="94" name="COMMAND_CLASS_ZWAVE_PLUS_INFO" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
				<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3079" />
				<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3079" />
			</CommandClass>
			<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="config" instance="1" index="1" label="Notification type" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
					<Help>Set Notification type.</Help>
					<Item label="Binary Sensor report" value="0" />
					<Item label="Notification report" value="1" />
					<Item label="Basic report" value="2" />
				</Value>
				<Value type="list" genre="config" instance="1" index="2" label="Led indication" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="1" size="1">
					<Help>Set Led indication.</Help>
					<Item label="Off" value="0" />
					<Item label="On" value="1" />
				</Value>
			</CommandClass>
			<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="4" request_flags="2" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="byte" genre="user" instance="1" index="9" label="Access Control" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
				<Value type="byte" genre="user" instance="1" index="10" label="Burglar" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="254" />
			</CommandClass>
			<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
				<Instance index="1" />
			</CommandClass>
			<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
				<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Normal" value="0" />
					<Item label="-1dB" value="1" />
					<Item label="-2dB" value="2" />
					<Item label="-3dB" value="3" />
					<Item label="-4dB" value="4" />
					<Item label="-5dB" value="5" />
					<Item label="-6dB" value="6" />
					<Item label="-7dB" value="7" />
					<Item label="-8dB" value="8" />
					<Item label="-9dB" value="9" />
				</Value>
				<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
				<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
				<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
					<Item label="Failed" value="0" />
					<Item label="Success" value="1" />
					<Item label="In Progress" value="2" />
				</Value>
				<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			</CommandClass>
			<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100" />
			</CommandClass>
			<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" request_flags="2" innif="true">
				<Instance index="1" />
				<Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="86400" />
				<Value type="int" genre="system" instance="1" index="1" label="Minimum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="1800" />
				<Value type="int" genre="system" instance="1" index="2" label="Maximum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="86400" />
				<Value type="int" genre="system" instance="1" index="3" label="Default Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="86400" />
				<Value type="int" genre="system" instance="1" index="4" label="Wake-up Interval Step" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="60" />
			</CommandClass>
			<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Associations num_groups="1">
					<Group index="1" max_associations="1" label="Lifeline" auto="true">
						<Node id="1" />
					</Group>
				</Associations>
			</CommandClass>
			<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
				<Instance index="1" />
				<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="6" />
				<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.05" />
				<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.05" />
			</CommandClass>
		</CommandClasses>
	</Node>

Thanks! Using this, the sensors came up in HA.

Is it correct that binary_sensor.sensative_strips_sensor_*_0 is not reporting on/off (open/closed), whereas sensor.sensative_strips_access_control_*_9 is reporting 22 (=open)/23 (=closed)? Have you created a template binary_sensor to use it for open/close? How have you used the Sensative Strips in your HA configuration?

Here’s my sensor. I found that the sensative strips sometimes report 255. Never got a good answer from the company on why they report 255. So here’s my workaround.

   friendly_name: Family Room Door
   value_template: >-
      {% if is_state("sensor.doorsensor_access_control_16_9", "22") %}
      open
      {% else %}
      closed
      {% endif %}

Like many Z Wave devices, they come in Basic mode by default. You’ll need to switch them to Binary to get the binary device operating. You do that by waking them up, then setting parameter 112 to 0 (it’s more obvious to do using ozwcp, but it’s just as achievable using the HA dashboard).

Alternatively, @homehacker’s solution works if you leave it in basic mode - that’s how I left it for my initial setup.

1 Like

I think I might have also left them in Basic mode so I can query the sensors and get their battery status.

Binary mode still reports the battery level for me:

battery_level: 100

I’m using your above example with a binary sensor value template, but it only displays as ‘off’, however using the templates developer tool it displays the expected string.

Here’s the exact entry in my sensors.yaml file.

  - platform: template
    sensors:
      door_16:
        friendly_name: Family Room Door
        value_template: >-
          {% if is_state("sensor.doorsensor_access_control_16_9", "22") %}
          open
          {% else %}
          closed
          {% endif %}

Also, if you look in the developer’s “states” window, you should see (in my case), sensor_door_16 closed.

1 Like

As sensor or binary_sensor?

As binary_sensor.doorsensor_sensor_16_0

I had to do it this way:

sensor:      # binary_sensor did not work
  - platform: template
    sensors:
      door_entrance:
        value_template: >
          {% if is_state("sensor.sensative_strips_access_control_13_9", "22") %}
          open
          {% else %}
          closed
          {% endif %}