Everspring SP816-1 motion sensor looking for a working model

Platform information:
Hardware: _Raspberry Pi model 3B
OS: _Openhabian - latest
Issue of the topic: I cannot retrieve motion data from the motion sensor

Hi all,

I guess I’ve missed something on how to set up the Everspring SP816-1 motion sensor.

After setting the inclusion mode the Z-Wave binding picked up 2 new items, 1 Unknown and the SP816 itself.

My problem is that I cannot see any data other than the battery level.

Would anyone have a sample config for this.Do I need to set up an item manually?

When I set inclusion mode I see the Z-Wave controller acknowledging the inclusion.

2019-08-30 16:41:45.926 [vent.ItemStateChangedEvent] - zwave_serial_zstick_2e1f0cba_serial_ack changed from 47 to 48

Beyond that nothing happens.

Everspring%20panel%201

Here are the other bits…

If anyone can point me in the right direction it would be greatly appreciated.

Is there an xml file for node 2 in /var/lib/openhab2/zwave ?
If not it may not have been fully discovered. If there is an xml file you can post it here for more advice.

Thanks for the quick response Bruce,

There is nothing for Node 2 there, only Node 3…

Everspring%20xml%20node%203

So it looks like it’s not been fully discovered. I have removed it and re-discovered it several time using PaperUI.

Here is the XML for Node 3 in case it helps…

<node>
  <homeId>0xe20a8a41</homeId>
  <nodeId>3</nodeId>
  <version>4</version>
  <manufacturer>0x60</manufacturer>
  <deviceId>0x5</deviceId>
  <deviceType>0x1</deviceType>
  <listening>false</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <sleepDelay>1000</sleepDelay>
  <nodeInformationFrame>
    <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
    <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
    <commandClass>COMMAND_CLASS_TRANSPORT_SERVICE</commandClass>
    <commandClass>COMMAND_CLASS_VERSION</commandClass>
    <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
    <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
    <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY</commandClass>
    <commandClass>COMMAND_CLASS_SECURITY_2</commandClass>
    <commandClass>COMMAND_CLASS_SUPERVISION</commandClass>
    <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
    <commandClass>COMMAND_CLASS_BATTERY</commandClass>
    <commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
    <commandClass>COMMAND_CLASS_ALARM</commandClass>
  </nodeInformationFrame>
  <associationGroups class="concurrent-hash-map">
    <entry>
      <int>1</int>
      <associationGroup>
        <index>1</index>
        <maxNodes>0</maxNodes>
        <name>Lifeline</name>
        <profile1>0x0</profile1>
        <profile2>0x1</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
          <commandClass>COMMAND_CLASS_BATTERY</commandClass>
          <commandClass>COMMAND_CLASS_ALARM</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
    <entry>
      <int>2</int>
      <associationGroup>
        <index>2</index>
        <maxNodes>0</maxNodes>
        <name>Pir Control</name>
        <profile1>0x71</profile1>
        <profile2>0x7</profile2>
        <commands>
          <commandClass>COMMAND_CLASS_BASIC</commandClass>
        </commands>
        <associations/>
      </associationGroup>
    </entry>
  </associationGroups>
  <endpoints class="concurrent-hash-map">
    <entry>
      <int>0</int>
      <endPoint>
        <deviceClass>
          <basicDeviceClass>BASIC_TYPE_ROUTING_SLAVE</basicDeviceClass>
          <genericDeviceClass>GENERIC_TYPE_SENSOR_NOTIFICATION</genericDeviceClass>
          <specificDeviceClass>SPECIFIC_TYPE_NOTIFICATION_SENSOR</specificDeviceClass>
        </deviceClass>
        <endpointId>0</endpointId>
        <secureCommandClasses/>
        <supportedCommandClasses class="concurrent-hash-map">
          <entry>
            <commandClass>COMMAND_CLASS_FIRMWARE_UPDATE_MD</commandClass>
            <COMMAND__CLASS__FIRMWARE__UPDATE__MD>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>4</versionSupported>
            </COMMAND__CLASS__FIRMWARE__UPDATE__MD>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ZWAVEPLUS_INFO</commandClass>
            <COMMAND__CLASS__ZWAVEPLUS__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <zwPlusVersion>1</zwPlusVersion>
              <zwPlusRole>ROLE_TYPE_SLAVE_SLEEPING_REPORTING</zwPlusRole>
              <zwPlusNodeType>NODE_TYPE_ZWAVEPLUS_NODE</zwPlusNodeType>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ZWAVEPLUS__INFO>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_DEVICE_RESET_LOCALLY</commandClass>
            <COMMAND__CLASS__DEVICE__RESET__LOCALLY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__DEVICE__RESET__LOCALLY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_MANUFACTURER_SPECIFIC</commandClass>
            <COMMAND__CLASS__MANUFACTURER__SPECIFIC>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <initSerialNumber>false</initSerialNumber>
              <deviceManufacturer>96</deviceManufacturer>
              <deviceType>1</deviceType>
              <deviceId>5</deviceId>
            </COMMAND__CLASS__MANUFACTURER__SPECIFIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BATTERY</commandClass>
            <COMMAND__CLASS__BATTERY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <batteryLevel>50</batteryLevel>
              <batteryLow>false</batteryLow>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BATTERY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ALARM</commandClass>
            <COMMAND__CLASS__ALARM>
              <version>4</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>4</versionSupported>
              <alarms>
                <entry>
                  <alarmType>BURGLAR</alarmType>
                  <alarmState>
                    <alarmType>BURGLAR</alarmType>
                    <reportedEvents/>
                    <outer-class reference="../../../.."/>
                  </alarmState>
                </entry>
                <entry>
                  <alarmType>POWER_MANAGEMENT</alarmType>
                  <alarmState>
                    <alarmType>POWER_MANAGEMENT</alarmType>
                    <reportedEvents/>
                    <outer-class reference="../../../.."/>
                  </alarmState>
                </entry>
              </alarms>
              <v1Supported>true</v1Supported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__ALARM>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_WAKE_UP</commandClass>
            <COMMAND__CLASS__WAKE__UP>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <targetNodeId>1</targetNodeId>
              <interval>14400</interval>
              <minInterval>600</minInterval>
              <maxInterval>86400</maxInterval>
              <defaultInterval>14400</defaultInterval>
              <intervalStep>600</intervalStep>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__WAKE__UP>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_BASIC</commandClass>
            <COMMAND__CLASS__BASIC>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <isGetSupported>true</isGetSupported>
            </COMMAND__CLASS__BASIC>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_POWERLEVEL</commandClass>
            <COMMAND__CLASS__POWERLEVEL>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <powerLevel>0</powerLevel>
              <powerTimeout>0</powerTimeout>
            </COMMAND__CLASS__POWERLEVEL>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_NO_OPERATION</commandClass>
            <COMMAND__CLASS__NO__OPERATION>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__NO__OPERATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_VERSION</commandClass>
            <COMMAND__CLASS__VERSION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <libraryType>LIB_SLAVE_ENHANCED</libraryType>
              <protocolVersion>4.61</protocolVersion>
              <applicationVersion>1.1</applicationVersion>
              <hardwareVersion>1</hardwareVersion>
            </COMMAND__CLASS__VERSION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_SECURITY</commandClass>
            <COMMAND__CLASS__SECURITY>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
            </COMMAND__CLASS__SECURITY>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION</commandClass>
            <COMMAND__CLASS__ASSOCIATION>
              <version>2</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>2</versionSupported>
              <maxGroups>2</maxGroups>
            </COMMAND__CLASS__ASSOCIATION>
          </entry>
          <entry>
            <commandClass>COMMAND_CLASS_ASSOCIATION_GRP_INFO</commandClass>
            <COMMAND__CLASS__ASSOCIATION__GRP__INFO>
              <version>1</version>
              <instances>1</instances>
              <control>false</control>
              <versionSupported>1</versionSupported>
              <autoSubscribeGroups>
                <int>1</int>
              </autoSubscribeGroups>
            </COMMAND__CLASS__ASSOCIATION__GRP__INFO>
          </entry>
        </supportedCommandClasses>
      </endPoint>
    </entry>
  </endpoints>
  <nodeNeighbors>
    <int>1</int>
  </nodeNeighbors>
  <lastReceived>2019-08-30 14:41:12.712 UTC</lastReceived>
</node>

Did you try to associate the device and fail or disassociate & then try again? Node 2 may be a phantom failed node defined on the controller.
It is best to remove that from the controller so devices do not try to route to the network through it.
I am not sure ho best to do that

how many motion sensor devices do you have? Are they battery powered?

This is my first one :slight_smile: It is battery powered.

I’m trying to exclude it from my Z-stick Gen 5 according to the manual. But doing a search strain after that brings the same thing back to my inbox.

Are there supposed to be 2 things when installation is successful? Right now I’m struggling to get rid of it from the Z-stick

I believe there should only be 1 Thing. @chris would know what tool could remove it from the Z-Stick

Agreed - it should be removed, but as it doesn’t exist there is no fear that it will be used for routing. Firstly, it doesn’t exist, so it won’t respond to routing requests. Second, it’s a battery device - they don’t participate in routing anyway.

You can try with HABmin for starters. There is an option in the thing for this device to remove it - if it’s still just in the inbox, then it needs to be created as a thing. You could then try the “Add device to failed device list” (but it should already be there) and then the “Remove device” option.

Sometimes, this doesn’t work and you’d need to use the Silabs tool - sometimes that also doesn’t work (both HABmin and the other tools do the same thing, but the controller gets to decide if it will remove the device, and it will only remove it if it thinks it has failed).

1 Like

That is Windows only. Right?

I believe so - I’m on a Mac and I don’t tend to use these other tools.

1 Like

Some changes happened…

After deleting the nodes via HABmin, and also including the device to the Z-Wave network again, I now receive 2 unknown nodes…

Everspring%20after%20HABmin%20delete

That just means that you haven’t deleted node 2 from the controller. Each time you re-include it, it will be given the next available node ID, so that’s why it’s now up to 6.

1 Like

Hi all,

So being determined to get a working motion sensor I went to pick up an Aeotec TriSensor. It paired straight away with the Z-Stick and when I did a manual search it detected 4 new unknown devices :frowning:

So that would eliminate the Everspring as having any issues.

The TriSensor was paired at the dealer and it registered fine on their Elan system, so it appears that it’s not the Z-Stick either.

Would anyone have an idea as to what could be going on with the binding?

Here is the inbox for the new sensor:

Hi @UglyKidJoe,

You need to check the zwave.log file to see what’s happening here. Chris via his website has an online log file viewer that will give you some idea what’s happening. Or just upload a zipped copy of your zwave.log file from a clean boot. Shutdown openHAB and delete all log files, then start openHAB again. Force a wakeup of all your zwave devices and then give it an hour. Stop openHAB again and zip zwave.log & openhab.log, upload them here and we’ll be able to take a look for you.

Cheers,

Garry

I suspect this has nothing to do with the binding - inclusion is a process that is handled between the controller, and the device.

As I said earlier, each time you include a device, the controller will allocate it a new device ID. When the binding starts, it asks the controller for a list of all the devices that are in the network - this is the list you see.

So, it’s hard to really comment on why you have multiple nodes showing up without knowing what you have actually done, but either the stick has an issue, or it is something that you are doing.

1 Like

@chris I completely agree that the binding is fine and the issue would lie somewhere between me and the hardware.

I’ve attached the zwave.log file from a fresh boot and did a new search for the devices (and deleted the existing xml files for the nodes.). I would appreciate if you could have a quick look and let me know if you see anything interesting there.

zwave.log (93.6 KB)

Many thanks again.

The log doesn’t really show much that helps here. It shows the binding starting, and the controller saying how many devices are in the network -:

It shows an alarm report rom node 5 -:

and it shows an inclusion, but nothing is included -:

This all looks ok to me.

1 Like

When I ran the discovery tool again the log info looks a bit more sinister…

zwave.log (4.4 KB)

2019-09-03 19:47:04.207 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 19: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 4
2019-09-03 19:47:06.211 [DEBUG] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 2: Device discovery completed
2019-09-03 19:47:06.267 [WARN ] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 2: Device discovery could not resolve to a thingType! Manufacturer data not known.
2019-09-03 19:47:06.286 [DEBUG] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 3: Device discovery completed
2019-09-03 19:47:06.310 [WARN ] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 3: Device discovery could not resolve to a thingType! Manufacturer data not known.
2019-09-03 19:47:06.325 [DEBUG] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 4: Device discovery completed
2019-09-03 19:47:06.334 [WARN ] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 4: Device discovery could not resolve to a thingType! Manufacturer data not known.
2019-09-03 19:47:06.352 [DEBUG] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 5: Device discovery completed
2019-09-03 19:47:06.357 [WARN ] [nhab.binding.zwave.discovery.ZWaveDiscoveryService] - NODE 5: Device discovery could not resolve to a thingType! Manufacturer data not known.
2019-09-03 19:47:09.209 [DEBUG] [ocol.ZWaveTransactionManager$ZWaveTransactionTimer] - NODE 255: TID 19: Timeout at state WAIT_REQUEST. 3 retries remaining.
2019-09-03 19:47:09.211 [DEBUG] [ocol.ZWaveTransactionManager$ZWaveTransactionTimer] - TID 19: Transaction is current transaction, so clearing!!!!!
2019-09-03 19:47:09.212 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 19: Transaction CANCELLED
2019-09-03 19:47:09.214 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 255: notifyTransactionResponse TID:19 CANCELLED
2019-09-03 19:47:09.221 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.

I’m not savvy with Z-Wave so I’m afraid I’m giving sparse information that’s not really helpful.

this is fine - it means that these devices can’t be resolved to something that is in the database, but that’s no surprise if they don’t exist.

The question is what was done previously to generate these nodes. Did you do a hard reset on the stick after you were trying to install the SP816 and before you started with the new device?