Aeotec Multisensor 6 temperature units doesn't stay set

I ok with reporting it, I have a git login.

But, I’m not sure how to succinctly describe it.

Can I start it, write something and leave it for others to add to…

Can I reference this thread in the ESH?

One last thing that I can think of to try. I have my items configured like this…

Number:Temperature ms6_temperature "MS6 Temperature [%.0f °F]" {channel="zwave:device:16500637f6a:node17:sensor_temperature"}

Just as it occurred… save button greyed out until lat/lon entered. Include your browser (I’m on Firefox). The UoM issue may be good to report too… separately.

Yes. Just get in the details you can.

Yes

Yes, that does fix it in PaperUI…

How does one enter the degree symbol in VSC (and in a forum post for that matter). (I did a cut and paste into my .items file. But there must be an escape sequence or something to allow it to be typed in)

°F

Ok, I was actually referring to the UoM issue. :smirk:

Ok settings save ESH entered. :smile:

I usually just copy/paste. On Windows, use ALT 0176 (using the keypad). On Linux, CTRL+SHIFT+u, b0, ENTER.

Now that’s intuitively obvious. :smirk:

Chris, this is what I found when moving from 2.4.0 M3 to M4:

I have 2 brands of sensors, Aeotec ZW100 and Philio PAT02-B, example of 1 of each from items file:

//PHILIO
Number Wine_Fridge_Temperature "Temperature [%.1f °C]" <Temperature> {channel="zwave:device:512:node19:sensor_temperature"} 

//AEOTEC
Number Cellar_Temperature "Temperature [%.1f °C]" <Temperature> {channel="zwave:device:512:node5:sensor_temperature"}

After moving to M4 I found that the Philio were not converted to the scale as per the items file (to Celsius), the Aeotec were ok but I think that is because they were broadcasting in Celsius

M4

01-Oct-2018 18:11:12.759 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 19: Received COMMAND_CLASS_SENSOR_MULTILEVEL V5 SENSOR_MULTILEVEL_REPORT
01-Oct-2018 18:11:12.760 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Sensor Type = Temperature(1), Scale = 1
01-Oct-2018 18:11:12.762 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Sensor Value = 68.64
01-Oct-2018 18:11:12.764 [TRACE] [ab.binding.zwave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveMultiLevelSensorValueEvent
01-Oct-2018 18:11:12.766 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
01-Oct-2018 18:11:12.768 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_MULTILE
VEL, value = 68.64
01-Oct-2018 18:11:12.771 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Updating channel state zwave:device:512:node19:sensor_temperature to 68.64 °F [QuantityType]

M3 (running now)

09-Oct-2018 13:18:18.095 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Received COMMAND_CLASS_SENSOR_MULTILEVEL command V5
09-Oct-2018 13:18:18.096 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Sensor Multi Level REPORT received
09-Oct-2018 13:18:18.098 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Sensor Type = Temperature(1), Scale = 1
09-Oct-2018 13:18:18.100 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 19: Sensor Value = 61.12
09-Oct-2018 13:18:18.102 [DEBUG] [ab.binding.zwave.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveMultiLevelSensorValueEvent
09-Oct-2018 13:18:18.104 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
09-Oct-2018 13:18:18.105 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Got a value event from Z-Wave network, endpoint = 0, command class = SENSOR_MULTILEVEL, value = 61.12
09-Oct-2018 13:18:18.107 [DEBUG] [.internal.converter.ZWaveMultiLevelSensorConverter] - NODE 19: Sensor is reporting scale 1, requiring conversion to 0. Value is now 61.12.
09-Oct-2018 13:18:18.109 [DEBUG] [wave.internal.converter.ZWaveCommandClassConverter] - Converted temperature from 61.12F to 16.2C
09-Oct-2018 13:18:18.111 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 19: Updating channel state zwave:device:512:node19:sensor_temperature to 16.2 [DecimalType]

I can upload the full log if required.

As a side question, I’m trying to publish my temperature values every hour as I use Grafana to alert when there is no data, however while I see in the zwave logs that my sensor is reporting hourly, I see that in Openhab events, I only get values when there is a change in value (obviously there is some efficiency in that) Is there a way to publish all values regardless in the zwave binding or is this an openhab core issue / setting?

Should have I have set my Philio to broadcast Celsius?
Looks like the default is Fahrenheit but the UOM in the items file appears to take care of it in M3 but not M4

This should not matter.

I don’t see anything wrong in the logs. The temperature looks correct (68 deg F is presumably correct and it’s not meant to be 68 deg C?). Are you sure you have configured your UoM / locality settings correctly?

It won’t matter what you set the device to so long as you have configured the correct UoM it will be converted. M3 did not use UoM - this is only available in M4.

That is the correct temperature in F but I want my values in C, so a conversion is required, see how in M3 I had

09-Oct-2018 13:18:18.107 [DEBUG] [.internal.converter.ZWaveMultiLevelSensorConverter] - NODE 19: Sensor is reporting scale 1, requiring conversion to 0. Value is now 61.12.
09-Oct-2018 13:18:18.109 [DEBUG] [wave.internal.converter.ZWaveCommandClassConverter] - Converted temperature from 61.12F to 16.2C

But this is missing in M4. What is even stranger is that if UOM was only available in M4 how come it did not work? I assume my .items is setup correctly. Was M3 using the Configuration / System / Measurement System exclusively to check if this conversion was required?

There was no config changes between M3 and M4 just an upgrade however I cannot be 100% sure that the newer openhab core did not somehow mess up my locality settings (which do show Metric right now in M3)

I can attempt to roll forward again if you cannot see any reason why this happened in M4 (although would be interested to know why my UOM .items files did not seem to take.

Any idea on not suppressing the values when the temperature doesn’t change?

The M4 ZWave binding added UoM. Prior to this the conversion was performed within the binding - this is all removed now, so you must configure the regional settings so that UoM works. If you don’t do this, you will have the issue you have.

The binding simply passes the values received from the device to the framework, along with the units that the device says it is reporting - all conversions to you UI is done in the framework.

Yep - it was removed from M4 as it is no longer required.

If you have not configured the settings for units/regions, then it won’t work.

I think that you have not configured your system correctly - there is no issue with the binding as far as I know. Please just configure the regional settings

This is an issue in the framework - not the binding. The binding passes all data to the framework and you probably need to configure your persistence differently I think.

Ahh OK so M4 no longer does any conversions, it passes it to the openhab core / framework to do any scale conversions. Sorry to have wasted your time here, were there any release notes for the M4 binding as I do find it hard to tell the changes between versions and you might have less people bugging you if they know what change in behaviour to expect. I know there was a breaking change to do with security that required re-adding devices but even that was hard to find.

Sure - there were a lot of changes in this binding -:

Thanks for the pointer Chris! I thought that in order for a value to persist to influxdb it had to appear in the event log, but it seems not, updated my persistance from everyChange to everyUpdate and now I get updates in the table where the value has not changed, so my grafana alerts for missing data don’t trigger incorrectly.

2018-10-11T07:51:39.141Z 18.6
2018-10-11T10:48:39.079Z 18.5
2018-10-11T17:41:38.875Z 18.4
2018-10-11T20:38:38.772Z 18.3
2018-10-11T22:36:38.721Z 18.3
2018-10-11T23:35:38.697Z 18.3
2018-10-12T00:34:38.674Z 18.4
2018-10-12T01:33:38.633Z 18.4
1 Like

I’m having a similar problem with UofM as well. Currently running the latest 2.4 snapshot and I have an Aeotec ZW100 multisensor and a DSB05. I can see both reporting through Zwave in Fahrenheit, but I want to see Celcius. I’ve set the regional settings in PaperUI including country, lat. and long., as well as Metric for the measurement units. I’ve tried adjusting items with both [%.1f °C] and [%.1f %unit%] but no matter what I seem to try OpenHAB/Eclipse is not converting the value. The UIs are all consistent in their units, and I’ve rebooted multiple times with no change.

Does anyone have any suggestions, or is this a bug?

Thanks!

What do you see in the debug log? If the binding is passing the data into the framework with the units set, then the framework should convert it - at least if the binding is setting the units, the problem is not in the binding :slight_smile: .

Could you please post the actual item definition?

Mark, the item definitions are as follows

Number Temperature_FF_Garage_MultiSensor “Temp. Garage [%.1f °C]” (G_Temp, G_FF)
Number Temperature_BF_Cold_MultiSensor “Temp. Cold Room [%.1f °C]” (G_BF, G_Temp)
Number Temperature_BF_Rec_MultiSensor “Temp. Rec Room [%.1f °C]” (G_BF, G_Temp)

Try

Number:Temperature Temperature_FF_Garage_MultiSensor “Temp. Garage [%.1f °C]” (G_Temp, G_FF)
Number:Temperature Temperature_BF_Cold_MultiSensor “Temp. Cold Room [%.1f °C]” (G_BF, G_Temp)
Number:Temperature Temperature_BF_Rec_MultiSensor “Temp. Rec Room [%.1f °C]” (G_BF, G_Temp)
1 Like