Everspring ST815 - Wireless Illumination Detector

Does anyone have a configuration example for the ST815 from Everspring? I’ve just bought one as it’s an ideal sensor for what I have in mind on my lights.

Looking at the Z-Wave database it’s incomplete.

Were you able to include it into your z-wave network, and did the zwave binding produce a “node.xml” file? This would be the easiest thing to do, since the database entry looks like it’s missing all the command classes (which would be in the node.xml file).

I haven’t tried to include it yet. But I’d hope that’s not going to be an issue. I was hoping that someone had the config already and that the database was just out of date. I’ll get it included and upload the node.xml file. Hopefully it’s a straightforward configuration.

It looks like all the config parameters are already in the database. So, if you can get the endpoints and command classes from the node.xml file, the database should be pretty close to complete.

I don’t have the ST815. I do have a bunch of ST814’s, which work really well, and appear to be the same platform as the ST815.

Here’s the node file that’s created. As you can see most of the information is there, I can’t however make any configuration changes. This may not be an issue if the sensor reports the Lux level as and when it changes.

<node>
  <deviceClass>
    <basicDeviceClass>ROUTING_SLAVE</basicDeviceClass>
    <genericDeviceClass>MULTILEVEL_SENSOR</genericDeviceClass>
    <specificDeviceClass>ROUTING_SENSOR_MULTILEVEL</specificDeviceClass>
  </deviceClass>
  <homeId>0xfadc7066</homeId>
  <nodeId>23</nodeId>
  <version>3</version>
  <manufacturer>0x60</manufacturer>
  <deviceId>0x1</deviceId>
  <deviceType>0x7</deviceType>
  <listening>false</listening>
  <frequentlyListening>false</frequentlyListening>
  <routing>true</routing>
  <security>false</security>
  <beaming>true</beaming>
  <maxBaudRate>40000</maxBaudRate>
  <nodeInformationFrame/>
  <supportedCommandClasses>
    <entry>
      <commandClass>CONFIGURATION</commandClass>
      <configurationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configParameters>
          <entry>
            <int>1</int>
            <configurationParameter>
              <index>1</index>
              <size>1</size>
              <value>99</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
          <entry>
            <int>2</int>
            <configurationParameter>
              <index>2</index>
              <size>2</size>
              <value>0</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
          <entry>
            <int>3</int>
            <configurationParameter>
              <index>3</index>
              <size>2</size>
              <value>0</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
          <entry>
            <int>4</int>
            <configurationParameter>
              <index>4</index>
              <size>2</size>
              <value>0</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
          <entry>
            <int>5</int>
            <configurationParameter>
              <index>5</index>
              <size>2</size>
              <value>0</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
          <entry>
            <int>6</int>
            <configurationParameter>
              <index>6</index>
              <size>2</size>
              <value>0</value>
              <readOnly>false</readOnly>
              <writeOnly>false</writeOnly>
            </configurationParameter>
          </entry>
        </configParameters>
      </configurationCommandClass>
    </entry>
    <entry>
      <commandClass>VERSION</commandClass>
      <versionCommandClass>
        <version>1</version>
        <instances>1</instances>
        <libraryType>LIB_SLAVE_ROUTING</libraryType>
        <protocolVersion>2.64</protocolVersion>
        <applicationVersion>1.1</applicationVersion>
      </versionCommandClass>
    </entry>
    <entry>
      <commandClass>ASSOCIATION</commandClass>
      <associationCommandClass>
        <version>1</version>
        <instances>1</instances>
        <configAssociations>
          <entry>
            <int>1</int>
            <associationGroup>
              <Index>1</Index>
              <Nodes>
                <int>1</int>
              </Nodes>
            </associationGroup>
          </entry>
          <entry>
            <int>2</int>
            <associationGroup>
              <Index>2</Index>
              <Nodes/>
            </associationGroup>
          </entry>
        </configAssociations>
        <maxGroups>2</maxGroups>
      </associationCommandClass>
    </entry>
    <entry>
      <commandClass>NO_OPERATION</commandClass>
      <noOperationCommandClass>
        <version>1</version>
        <instances>1</instances>
      </noOperationCommandClass>
    </entry>
    <entry>
      <commandClass>SENSOR_MULTILEVEL</commandClass>
      <multiLevelSensorCommandClass>
        <version>1</version>
        <instances>1</instances>
        <sensors>
          <entry>
            <multilevelSensorType>LUMINANCE</multilevelSensorType>
            <multilevelSensor>
              <sensorType>LUMINANCE</sensorType>
              <initialised>true</initialised>
            </multilevelSensor>
          </entry>
        </sensors>
        <isGetSupported>true</isGetSupported>
      </multiLevelSensorCommandClass>
    </entry>
    <entry>
      <commandClass>MANUFACTURER_SPECIFIC</commandClass>
      <manufacturerSpecificCommandClass>
        <version>1</version>
        <instances>1</instances>
      </manufacturerSpecificCommandClass>
    </entry>
    <entry>
      <commandClass>BASIC</commandClass>
      <basicCommandClass>
        <version>1</version>
        <instances>1</instances>
        <isGetSupported>true</isGetSupported>
      </basicCommandClass>
    </entry>
    <entry>
      <commandClass>WAKE_UP</commandClass>
      <WakeUpCommandClass>
        <version>2</version>
        <instances>1</instances>
        <targetNodeId>1</targetNodeId>
        <interval>3600</interval>
        <minInterval>60</minInterval>
        <maxInterval>16777215</maxInterval>
        <defaultInterval>3600</defaultInterval>
        <intervalStep>1</intervalStep>
        <lastWakeup>2017-05-29 09:49:41.448 UTC</lastWakeup>
      </WakeUpCommandClass>
    </entry>
    <entry>
      <commandClass>BATTERY</commandClass>
      <batteryCommandClass>
        <version>1</version>
        <instances>1</instances>
        <batteryLevel>100</batteryLevel>
        <batteryLow>false</batteryLow>
        <isGetSupported>true</isGetSupported>
      </batteryCommandClass>
    </entry>
  </supportedCommandClasses>
  <nodeNeighbors>
    <int>1</int>
    <int>2</int>
    <int>3</int>
    <int>8</int>
  </nodeNeighbors>
  <lastSent>2017-05-29 09:49:48.657 UTC</lastSent>
  <lastReceived>2017-05-29 09:49:49.370 UTC</lastReceived>
</node>

If you don’t have edit rights on the database, I can update the database with this XML. It’ll get pulled into the zwave binding when @chris does another build of the binding.

You may have better luck changing the device configuration after the device database entry is updated.

Ok, I updated the database. It looks much better now. :slight_smile:

@chris I’m not sure what needs to be done about this message. Does this need to be fixed somehow?

Endpoint 0 has no command class linked to the basic class.

Thanks for updating the database. I’m looking at the zwave.log file to see if I can find any more information. Hopefully over the next 24/48 hours there will be a number of changes and updates so should find what I’m looking for.

It means that there’s no command class with the ‘basic’ box ticked. This isn’t an error - it means that any BASIC messages that may be received won’t be processed and for some devices this is perfectly ok (normally things like alarms) - for switches it should normally be set to switch_multilevel or switch_binary.