[SOLVED] FGMS001, ZW100 reporting celsius, ZW100 alternates with Fahrenheit

I’ve got a FGMS001 and a ZW100 reporting celsius. (16C should be 61F)
Actually, not always, I think the zw100 sends different reports for different reasons (periodic, and based on degrees changed), so, when I graph the history of the temperature bounces back and forth between 16 and 61.

I’m on 2.4.0.M7 Openhab and Zwave (now updated to zwave snapshot 2.4.0.201812042313 )

my language is English and my locale is US

19:25:02.026 [INFO ] [e.core.internal.i18n.I18nProviderImpl] - Locale set to 'en_US'.

I see scale=0 in the log coming from zwave. I shouldn’t need to set scale, right?
Is there something in the zwave device configuration I need to set to F?

03-Dec-2018 20:04:20.153 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 37: Incoming command class COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
03-Dec-2018 20:04:20.153 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 37: SECURITY not supported
03-Dec-2018 20:04:20.153 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 37: Received COMMAND_CLASS_SENSOR_MULTILEVEL V5 SENSOR_MULTILEVEL_REPORT
03-Dec-2018 20:04:20.154 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 37: Sensor Type = Temperature(1), Scale = 0
03-Dec-2018 20:04:20.154 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 37: Sensor Value = 16.3
03-Dec-2018 20:04:20.154 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
03-Dec-2018 20:04:20.154 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_MULTILEVEL, value = 16.3
03-Dec-2018 20:04:20.155 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Updating channel state zwave:device:controller:node37:sensor_temperature to 16.3 °C [QuantityType]
2018-12-03 20:04:20.157 [vent.ItemStateChangedEvent] - storageTempF changed from 16.4 to 16.3

Here’s the same node reporting as scale = 1. No system changes between the two. No reboots. nothing.

03-Dec-2018 21:10:49.563 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 37: Incoming command class COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
03-Dec-2018 21:10:49.563 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 37: SECURITY not supported
03-Dec-2018 21:10:49.563 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 37: Received COMMAND_CLASS_SENSOR_MULTILEVEL V5 SENSOR_MULTILEVEL_REPORT
03-Dec-2018 21:10:49.564 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 37: Sensor Type = Temperature(1), Scale = 1
03-Dec-2018 21:10:49.564 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 37: Sensor Value = 61
03-Dec-2018 21:10:49.564 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
03-Dec-2018 21:10:49.564 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_MULTILEVEL, value = 61
03-Dec-2018 21:10:49.564 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 37: Updating channel state zwave:device:controller:node37:sensor_temperature to 61 °F [QuantityType]

I think it’s the same, but here’s the FGMS001 log (but it’s always in C, not F)

03-Dec-2018 22:18:49.872 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 35: Incoming command class COMMAND_CLASS_SENSOR_MULTILEVEL, endpoint 0
03-Dec-2018 22:18:49.872 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 35: SECURITY NOT required on COMMAND_CLASS_SENSOR_MULTILEVEL
03-Dec-2018 22:18:49.872 [DEBUG] [e.internal.protocol.commandclass.ZWaveCommandClass] - NODE 35: Received COMMAND_CLASS_SENSOR_MULTILEVEL V8 SENSOR_MULTILEVEL_REPORT
03-Dec-2018 22:18:49.872 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 35: Sensor Type = Temperature(1), Scale = 0
03-Dec-2018 22:18:49.872 [DEBUG] [col.commandclass.ZWaveMultiLevelSensorCommandClass] - NODE 35: Sensor Value = 20.5
03-Dec-2018 22:18:49.872 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 35: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
03-Dec-2018 22:18:49.872 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 35: Got a value event from Z-Wave network, endpoint = 0, command class = COMMAND_CLASS_SENSOR_MULTILEVEL, value = 20.5
03-Dec-2018 22:18:49.872 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 35: Updating channel state zwave:device:controller:node35:sensor_temperature to 20.5 °C [QuantityType]

How are your items defined? The zwave binding now supports UoM.

1 Like

Ah. I missed that. I read that page, but didn’t notice the difference.

So, I changed from:
Number TempF “Temp[%.1f°]” { channel=“zwave:device:controller:node37:sensor_temperature” }

to:
Number:Temperature TempF “Temp[%.1f°]” { channel=“zwave:device:controller:node37:sensor_temperature” }

That made them display in Fahrenheit. Yay.

I was then getting an error in my rules. I guess I/we have a bit to learn on dealing with the QuantityType in rules. I’m not grasping it all yet.

semi-useful reference (search for Number:Temperature):

But, for the moment I changed from:
var TempF = (storageTempF.state as DecimalType).intValue

to:
var TempF = (storageTempF.state as Number).intValue

This is currently reporting as °F units. I’m uncertain if that is consistent or not. I hope so.