Everspring ST814 Multi-level sensor configuration

589 views
Skip to first unread message

sc...@5petersons.com

unread,
Mar 7, 2014, 7:01:57 PM3/7/14
to ope...@googlegroups.com
ok, my Eversrping ST814 is working from the standpoint that it can control other devices and is sending messages status updates to the network.  The problem is that most of the time the Temperature and Humidity values are not getting stored properly.  Either the Temp value is in both the humidity and temp items I have configured or vice versa or the 2 values are reversed.

I have tried a few different configurations for the items but this seems to be the on closest to being accurate but something is definitely seems wrong.

Number sBathroomKidsTemp "Kids Bathroom Temp [%.1f]" (gSecondFloor) {zwave="8:1:command=SENSOR_MULTILEVEL,sensorType=TEMPERATURE"}
Number sBathroomKidsHumidity "Kids Bathroom Humidity [%d %%]" (gSecondFloor) {zwave="8:2:command=SENSOR_MULTILEVEL,sensorType=RELATIVE_HUMIDITY"}

I suspect it is either the node:endpoint or sensortype settings but I am not sure.

Any assistance would be appreciated.

Scott


Chris Jackson

unread,
Mar 8, 2014, 1:05:50 AM3/8/14
to ope...@googlegroups.com
From a quick web search, the endpoints look correct in your item defs. However, I read that this sensor supports the MULTI_INSTANCE class, and I’ve found a couple of bugs in this class over the past day or so (ref https://github.com/cdjackson/HABmin/issues/98).  I don’t know if this will affect this or not, but it might be worth trying the latest binding off the HABmin site to see if that makes any difference.

I have a number of these sensors, but I won’t be back at home until next weekend to test it...

Chris

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 8:31:53 AM3/8/14
to ope...@googlegroups.com
I have the same sensor, and I recognised the same behaviour of this sensor.
This sensor is within the logs I have mailed to Chris (fyi: there it is node 32). I have not yet checked if this problem is solved by the last snapshot version of the binding. I´ll have a look at the current behaviour this evening.

Cheers, Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 9:22:48 AM3/8/14
to ope...@googlegroups.com, sc...@5petersons.com
Hi,

I have the same sensor and I have seen the same behaviour. The comunication with this sensor is also in the log I have sent to Chris (node 32), so perhaps there will be a chance for him to improve the code.

I didn´t verify if the behaviour changed with the newest snapshot, I´ll check this evening.

Cheers,
Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 12:17:45 PM3/8/14
to ope...@googlegroups.com, sc...@5petersons.com
I tried now for about 1h, and the values seem to be ok !

If someone other can confirm that I´d assume that the latest bugfix from Chris has solved this issue too.

Cheers,

Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 12:31:14 PM3/8/14
to ope...@googlegroups.com, sc...@5petersons.com
And shortly after that I had 40 °C in the room, at least if openHAB is right...

So, as I see the problem is _not_ solved by the bugfix, sorry

Flipper

Chris Jackson

unread,
Mar 8, 2014, 3:38:11 PM3/8/14
to ope...@googlegroups.com
Hi Flipper,
Your latest log you sent me last night shows things working ok - it’s also during startup which may confuse things slightly. So, if you can capture a log that shows the operation after its initialisation is complete, and then a good and bad set of data, that would be good. Alternatively I have 2 or 3 of these at home, but they aren’t currently running - when I get back to the UK next Friday I can set them up and take a look.

Cheers
Chris

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 6:33:53 PM3/8/14
to ope...@googlegroups.com
Hi Chris, at the moment I log at level Trace and I capture values for the everspring device. So I´ll try to lookup in HABmin when the good and when bad things happen, cut the log and mail it to you, give me a few minutes...

Cheers, Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 8, 2014, 6:56:42 PM3/8/14
to ope...@googlegroups.com
Ok, that was more then a few minutes, but it´s done...

Flipper

Chris Jackson

unread,
Mar 8, 2014, 11:39:41 PM3/8/14
to ope...@googlegroups.com
I’ve had a quick look at this, and it’s not straightforward…

There are two messages being sent by the device - the multi level sensor message, and the same message, but encapsulated in the multi instance message. When the sensor data is sent within the multi_instance message, it works fine since the endpoint is known and the binding is able to work out what to do with the data.  However, when it’s just sent as a multi_level_sensor, there’s no endpoint specified in the frame, and the binding assumes it’s endpoint 1 (so we mix the two sensors up here).

However, I also see endpoint 2 showing both RH and Temp when sent in the multi instance encapsulation, so I’m wondering if the endpoint directly maps to the sensor (as is assumed) or if we actually should be correlating the data based on the sensor type?

For instance, I see the following -:
buffer = 01 0F 00 04 00 20 09 60 0D 02 01 31 05 05 01 28 AB 
buffer = 01 10 00 04 00 20 0A 60 0D 02 01 31 05 01 22 00 D0 68
                                     |  |  |     |
                                     |  |  |     |-> Sensor type - 1=T, 5=RH
                                     |  |  |-> Class - 31 = Sensor_Multilevel
                                     |  |-> Instance number
                                     |-> Endpoint number (I think - although the documentation I have doesn’t state this!



Both of these are endpoint 2, but the top one is RH, and the bottom is temp. So, either the sensor is broken (unlikely since both of yours are doing this), or the sensor is has a bug (unlikely? since this works with other units - e.g. my old Vera), or the binding is not processing sensor data correctly.

There’s also a similar thread about the ST814 here (https://groups.google.com/forum/#!msg/openzwave/ixeS77zBSOI/1WX1NjeXkZkJ) but it doesn’t unfortunately conclude if it’s a problem with the device, or the way the software is handling it...

Ben - I see your name at the top of the multi level sensor class so you might know more about this than me…

Chris



--
You received this message because you are subscribed to the Google Groups "openhab" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openhab+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
Visit this group at http://groups.google.com/group/openhab.
For more options, visit https://groups.google.com/d/optout.

helmut....@ingenieurbuero-mbi.de

unread,
Mar 9, 2014, 4:19:48 AM3/9/14
to ope...@googlegroups.com, sc...@5petersons.com
Good morning,

I just grep´ed following messages fromthe log (same timespan as I send to Chris):
2014-03-08 20:14:06 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 20:14:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:14:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:14:10 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:14:11 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:22:57 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 20:22:59 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:22:59 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:23:01 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:31:48 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 20:31:50 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:31:51 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:31:52 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 20:31:53 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:40:39 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 20:40:41 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 20:40:42 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:40:43 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.7
2014-03-08 20:40:43 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:49:30 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 20:49:31 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.7
2014-03-08 20:49:32 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 41
2014-03-08 20:49:33 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 21
2014-03-08 20:49:34 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 38
2014-03-08 20:58:21 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:07:11 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:07:13 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.5
2014-03-08 21:07:13 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:07:15 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.7
2014-03-08 21:07:16 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:16:02 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:16:04 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.7
2014-03-08 21:16:05 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:16:06 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.7
2014-03-08 21:16:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:24:53 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:24:54 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:24:55 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:24:56 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:24:57 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:33:44 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:33:46 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:33:47 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:33:48 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:33:49 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:42:36 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:42:36 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 20.8
2014-03-08 21:42:37 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:42:37 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:42:38 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:51:33 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-08 21:51:34 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:51:35 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 2, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 21:51:36 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 20.6
2014-03-08 21:51:37 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 4E+1
2014-03-08 22:00:24 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60

I first tried to differentiate by endpoint, what didn´t work, then, as described above, by sensortype, both aproaches have failed...

Cheers, Flipper


helmut....@ingenieurbuero-mbi.de

unread,
Mar 9, 2014, 5:53:48 AM3/9/14
to ope...@googlegroups.com, sc...@5petersons.com
I had a look on the asossiation groups, and at least for me, the controller node was member of both groups (report and controll).

From the device documentation I have read, that Group 1 (max node = 1) gets the sensor_multilevel_report, Power_applied,Alarm_report and battery report and the group 2 (max node = 3) gets basic_report.

So i removed the controller from Group 2 and from then I get only values for endpoint 1:
2014-03-09 10:30:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.7
2014-03-09 10:30:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:31:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:31:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:32:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:32:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:33:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:33:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:34:07 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:34:08 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:34:09 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = BATTERY, value = 60
2014-03-09 10:34:09 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.6
2014-03-09 10:34:11 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 31
2014-03-09 10:34:59 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:35:00 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 3E+1
2014-03-09 10:35:59 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 22.8
2014-03-09 10:36:00 DEBUG o.o.b.z.i.ZWaveActiveBinding[:294]- Got a value event from Z-Wave network for nodeId = 32, endpoint = 1, command class = SENSOR_MULTILEVEL, value = 3E+1

before that there were also events for endpoint 2 as you can see in my previous post, so i assume the endpoint 2 is only adressed in the basic report and in the multilevel report everything goes to endpoint 1.

But unfortunately it is not possible to differentiate the reported values by sensortype. My item config now reads like this:

Number    T_AZH    "Temperatur [%.1f °C]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensorType=TEMPERATURE" }
Number    RF_AZH    "Luftfeuchte [%.1f %%]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensorType=RELATIVE_HUMIDITY" }

which i assume should be correct, but still temperature (T_AZH) shows the same value as humidity (RF_AZH). This is at least for me not understandable, as zwave log shows :

2014-03-09 10:34:59 TRACE o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:91]- Handle Message Sensor Multi Level Request
2014-03-09 10:34:59 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:92]- Received Sensor Multi Level Request for Node ID = 32
2014-03-09 10:34:59 TRACE o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:126]- Process Multi Level Sensor Report
2014-03-09 10:34:59 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:127]- Sensor Multi Level report from nodeId = 32
2014-03-09 10:34:59 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:132]- Sensor Type = (0x01)
2014-03-09 10:34:59 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:147]- Sensor Value = (22,800000)
2014-03-09 10:35:00 TRACE o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:91]- Handle Message Sensor Multi Level Request
2014-03-09 10:35:00 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:92]- Received Sensor Multi Level Request for Node ID = 32
2014-03-09 10:35:00 TRACE o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:126]- Process Multi Level Sensor Report
2014-03-09 10:35:00 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:127]- Sensor Multi Level report from nodeId = 32
2014-03-09 10:35:00 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:132]- Sensor Type = (0x05)
2014-03-09 10:35:00 DEBUG o.o.b.z.i.p.c.ZWaveMultiLevelSensorCommandClass[:147]- Sensor Value = (30,000000)

the events.log shows:

2014-03-09 10:34:59 - T_AZH state updated to 22.8
2014-03-09 10:34:59 - RF_AZH state updated to 22.8
2014-03-09 10:35:00 - T_AZH state updated to 30
2014-03-09 10:35:00 - RF_AZH state updated to 30

So it looks like that _both_ items gets the update, what would be obviously wrong, am I right ?

Flipper

Chris Jackson

unread,
Mar 9, 2014, 6:15:19 PM3/9/14
to ope...@googlegroups.com
I haven’t really thought much more about this, but it’s clearly an issue as OZW seem to have options on how to process this. Maybe we need to also have different ways to process the sensor data. Maybe we can do something like setting the endpoint to 0 to indicate that the item correlation should use the sensor type rather than the endpoint. Fo the ST814 at least this would work. For devices with more than 1 temp sensor (like some of the Fibaros) this won’t work, but hopefully they handle the endpoint better (which as far as I know, they do).

There’s another message here from OZW about their handling of this (https://groups.google.com/forum/#!searchin/openzwave/st814/openzwave/FeFNBI8GAKk/dyXAO54BiqgJ).

Chris


Ben Jones

unread,
Mar 9, 2014, 6:52:23 PM3/9/14
to ope...@googlegroups.com
I remember JwS adding support for these 'sensor type' differentiators. I am pretty sure they were working ok previously - but it looks like your item config is being ignored (i.e. the sensor type) and just updating both items whenever something arrives on that end point. Are you running the latest version definitely? 

Chris - are any of your changes likely to have affected the item mapping code? My understanding is it should match on node id, then endpoint number, then command class, and finally sensor type if relevant. So in this case receiving the temp/RH updates on the same endpoint should be ok - although I am not sure this has ever been test - I don't have any devices that do this sort of thing.

FYI - I am pretty sure the Fibaro devices that support up to 4 one-wire temp sensors create extra end points for each temp sensor, dynamically when they are first powered up. This is why you have to remove and re-add the device whenever you add/remove a temp sensor to the device.

.....just checked the source code and it looks like the item matching is looking for 'sensor_type', not 'sensorType' as you have (and is listed in the WIKI!).

Could you try the following and let me know, if this works we will have to update the WIKI pronto!

Number    T_AZH    "Temperatur [%.1f °C]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=TEMPERATURE" }
Number    RF_AZH    "Luftfeuchte [%.1f %%]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=RELATIVE_HUMIDITY" }

Chris Jackson

unread,
Mar 9, 2014, 6:57:22 PM3/9/14
to ope...@googlegroups.com
Thanks Ben,
I’m pretty sure that my changes won’t have affected this - everything I’ve done is at a lower level - once the data is received, and the events fired, it’s all the same…

Cheers
Chris

Ben Jones

unread,
Mar 9, 2014, 7:00:42 PM3/9/14
to ope...@googlegroups.com
Yep - check the end of my comment - I found the issue (I think) after checking the multilevel sensor converter code. Was just a typo in the WIKI page I think...

Chris Jackson

unread,
Mar 9, 2014, 7:38:20 PM3/9/14
to ope...@googlegroups.com
Yep - I saw that but thought I’d also confirm from my side what I’ve been messing with :)

Cheers
Chris

On 10 Mar 2014, at 12:00, Ben Jones <ben.j...@gmail.com> wrote:

Yep - check the end of my comment - I found the issue (I think) after checking the multilevel sensor converter code. Was just a typo in the WIKI page I think...

Ben Jones

unread,
Mar 9, 2014, 7:43:25 PM3/9/14
to ope...@googlegroups.com
:) sweet as mate - sorry I should have rewritten that post once I found the issue. I was just trying to work through what it could be and then decided to have a look at the source.

You back in ol' blighty yet?

Chris Jackson

unread,
Mar 9, 2014, 8:50:44 PM3/9/14
to ope...@googlegroups.com
>
> You back in ol' blighty yet?
I was back in the UK, but am now back down under again…
I went back after Christmas, but my dad passed away suddenly a couple of weeks back, so I’m back in NZ sorting things out at the moment. I head back up north (again) on Thursday night… At least this time I’m flying Air NZ so it’s (reasonably!) direct where at Christmas it was a 5 hour stopover in Shanghai :(

Cheers
Chris


Ben Jones

unread,
Mar 9, 2014, 8:56:00 PM3/9/14
to ope...@googlegroups.com
Sorry to hear that mate. Hope the flight back is a bit less traumatic!

helmut....@ingenieurbuero-mbi.de

unread,
Mar 10, 2014, 2:24:00 AM3/10/14
to ope...@googlegroups.com

Could you try the following and let me know, if this works we will have to update the WIKI pronto!

Number    T_AZH    "Temperatur [%.1f °C]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=TEMPERATURE" }
Number    RF_AZH    "Luftfeuchte [%.1f %%]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=RELATIVE_HUMIDITY" }

Good morning, just tried it before I leave to work, but after reload of item definitions I get exceptions in openHAB terminal window:

07:14:52.038 INFO  o.o.m.c.i.ModelRepositoryImpl[:97] - Refreshing model 'zwave.items'
07:14:52.070 ERROR o.o.m.i.b.AbstractGenericBindingProvider[:110] - Binding org.openhab.binding.zwave.internal.ZWaveActiveBinding threw an exception:
java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
07:14:52.072 ERROR o.o.m.i.b.AbstractGenericBindingProvider[:110] - Binding org.openhab.binding.zwave.internal.ZWaveActiveBinding threw an exception:
java.lang.NumberFormatException: For input string: "relative_humidity"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
Exception in thread "Thread-8869" java.lang.ArrayIndexOutOfBoundsException: 6
    at org.openhab.binding.zwave.internal.protocol.SerialMessage.getMessagePayloadByte(SerialMessage.java:291)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMeterCommandClass.handleApplicationCommandRequest(ZWaveMeterCommandClass.java:121)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)
07:15:00.016 INFO  o.o.model.script.Sun.rules[:53] - Calculated new SunHeight angle '1.58803122°'
07:15:00.017 INFO  o.o.model.script.Sun.rules[:53] - Calculated new Azimut angle '1.58803122°'
Exception in thread "Thread-46825" java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.openhab.binding.zwave.internal.converter.ZWaveMultiLevelSensorConverter.handleEvent(ZWaveMultiLevelSensorConverter.java:98)
    at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:255)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:304)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:279)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:358)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMultiLevelSensorCommandClass.handleApplicationCommandRequest(ZWaveMultiLevelSensorCommandClass.java:150)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)
Exception in thread "Thread-46835" java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.openhab.binding.zwave.internal.converter.ZWaveMultiLevelSensorConverter.handleEvent(ZWaveMultiLevelSensorConverter.java:98)
    at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:255)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:304)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:279)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:358)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMultiLevelSensorCommandClass.handleApplicationCommandRequest(ZWaveMultiLevelSensorCommandClass.java:150)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)
Exception in thread "Thread-46841" java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.openhab.binding.zwave.internal.converter.ZWaveMultiLevelSensorConverter.handleEvent(ZWaveMultiLevelSensorConverter.java:98)
    at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:255)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:304)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:279)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:358)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMultiLevelSensorCommandClass.handleApplicationCommandRequest(ZWaveMultiLevelSensorCommandClass.java:150)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)
Exception in thread "Thread-46874" java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.openhab.binding.zwave.internal.converter.ZWaveMultiLevelSensorConverter.handleEvent(ZWaveMultiLevelSensorConverter.java:98)
    at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:255)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:304)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:279)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:358)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMultiLevelSensorCommandClass.handleApplicationCommandRequest(ZWaveMultiLevelSensorCommandClass.java:150)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)
Exception in thread "Thread-46879" java.lang.NumberFormatException: For input string: "temperature"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.parseInt(Integer.java:527)
    at org.openhab.binding.zwave.internal.converter.ZWaveMultiLevelSensorConverter.handleEvent(ZWaveMultiLevelSensorConverter.java:98)
    at org.openhab.binding.zwave.internal.converter.ZWaveConverterHandler.handleEvent(ZWaveConverterHandler.java:255)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.handleZWaveCommandClassValueEvent(ZWaveActiveBinding.java:304)
    at org.openhab.binding.zwave.internal.ZWaveActiveBinding.ZWaveIncomingEvent(ZWaveActiveBinding.java:279)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:358)
    at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveMultiLevelSensorCommandClass.handleApplicationCommandRequest(ZWaveMultiLevelSensorCommandClass.java:150)
    at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:81)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:161)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:141)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:135)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.processIncomingMessage(ZWaveController.java:816)
    at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveReceiveThread.run(ZWaveController.java:872)

so there seems to be another bug...

Flipper
 

Ben Jones

unread,
Mar 10, 2014, 3:18:42 AM3/10/14
to ope...@googlegroups.com
Did you restart openhab? Not sure but there might be something getting cached by the binding that doesn't get refreshed by just reloading the item definitions.

Helmut Müller

unread,
Mar 10, 2014, 3:58:55 AM3/10/14
to ope...@googlegroups.com
No, I didn´t restart. I´ll check this this evening...

Flipper
Am 10.03.2014 um 08:18 schrieb Ben Jones <ben.j...@gmail.com>:

> Did you restart openhab? Not sure but there might be something getting cached by the binding that doesn't get refreshed by just reloading the item definitions.
>
> --
> You received this message because you are subscribed to a topic in the Google Groups "openhab" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/openhab/c4DXLKk3CIs/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to openhab+u...@googlegroups.com.

Ben Jones

unread,
Mar 10, 2014, 4:29:41 AM3/10/14
to ope...@googlegroups.com
Actually - just checked the code again (sorry I missed this the first time) but the sensor type needs to be an integer in your item binding. 

So it would need to be;

Number    T_AZH    "Temperatur [%.1f °C]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=1" }
Number    RF_AZH    "Luftfeuchte [%.1f %%]"    (AZH)        { zwave="32:1:command=sensor_multilevel,sensor_type=5" }

Let me know how you get on!

helmut....@ingenieurbuero-mbi.de

unread,
Mar 10, 2014, 6:28:54 AM3/10/14
to ope...@googlegroups.com
Thanks Ben, I assume sometimes I should look into the sources, too :)
I´ll change that later on, at the moment I have to earn some money.

Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 10, 2014, 12:46:21 PM3/10/14
to ope...@googlegroups.com, sc...@5petersons.com
Thanks Ben,

with integer values in the item definition it seems to work, the first values looks good.

I´ll monitor this for a few hours and give feedback again

Flipper

Ben Jones

unread,
Mar 10, 2014, 3:22:49 PM3/10/14
to ope...@googlegroups.com, sc...@5petersons.com
Sweet - I have updated the WIKI to avoid any confusion for others!

FYI - the WIKI was also wrong for meter_scale and alarm_type...

helmut....@ingenieurbuero-mbi.de

unread,
Mar 10, 2014, 4:01:16 PM3/10/14
to ope...@googlegroups.com, sc...@5petersons.com
Am Montag, 10. März 2014 17:46:21 UTC+1 schrieb helmut....@ingenieurbuero-mbi.de:
I´ll monitor this for a few hours and give feedback again

Ok, after 3 hours without any failure I assume that it works now as expected
 
Flipper

helmut....@ingenieurbuero-mbi.de

unread,
Mar 11, 2014, 3:20:35 AM3/11/14
to ope...@googlegroups.com, sc...@5petersons.com
Hi Ben,

I´d suggest to add the corrected lines in this thread as example, at the moment there is no example covering sensors with multi_instances.
That there was a typo in the wiki for meter_scale wasn´t mentioned by me at all, as there was a working example...

Flipper

Ben Jones

unread,
Mar 11, 2014, 5:18:48 AM3/11/14
to ope...@googlegroups.com, sc...@5petersons.com
Flipper could you perhaps put one of your examples in there? Since I don't have any of these devices.

helmut....@ingenieurbuero-mbi.de

unread,
Mar 11, 2014, 5:35:45 AM3/11/14
to ope...@googlegroups.com, sc...@5petersons.com
As you suggested I have added a few lines; do you think it should be explained in more detail ?

I also added sensor name to make this more findable, but also wanted to express that this is not device specific but class specific. I think, this together with the clarification in the wiki is sufficent.

Flipper

Ben Jones

unread,
Mar 11, 2014, 5:37:44 AM3/11/14
to ope...@googlegroups.com, sc...@5petersons.com
Perfect - thanks for contributing!
Reply all
Reply to author
Forward
0 new messages