Gentlecats,
As the subject states, my sensor will only display Celsius.
Here’s what I have:
openHAB 2.1.0 - release build
2 ZSE40 sensors, 1 uses the “ZSE40 4-in-1 Sensor” handler (problematic) and the other sensor uses the “ZSE40 Zooz 4-in-one motion/temperature/humidity/luminance sensor” (works as advertised).
Latest Z-Wave snapshot - 2.2.0.201710251710
For troubleshooting I loaded a clean install of openHAB with no items or rules, only Z-Wave controller and the affected ZSE40 with the latest Z-Wave snapshot - 2.2.0.201710251710. The same results, only Celsius and errors when trying to toggle to Fahrenheit.
You can see the sensor reports in Fahrenheit but then converts to Celsius. If I change the channel to use Fahrenheit via PaperUI I will get “Error 500: Internal Server Error”. When using HABmin to change the temperature channel, no errors but the change will not stick and display Celsius on reload.
DEBUG log for the sensor stuck on Celsius:
14:14:33.403 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Incoming command class SENSOR_MULTILEVEL
14:14:33.403 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 11: Received COMMAND_CLASS_SENSOR_MULTILEVEL command V7
14:14:33.403 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 11: Sensor Multi Level REPORT received
14:14:33.403 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 11: Sensor Type = Temperature(1), Scale = 1
14:14:33.404 [DEBUG] [ss.ZWaveMultiLevelSensorCommandClass] - NODE 11: Sensor Value = 74.77
14:14:33.404 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveMultiLevelSensorValueEvent
14:14:33.404 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got an event from Z-Wave network: ZWaveMultiLevelSensorValueEvent
14:14:33.404 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = SENSOR_MULTILEVEL, value = 74.77
14:14:33.404 [DEBUG] [erter.ZWaveMultiLevelSensorConverter] - NODE 11: Sensor is reporting scale 1, requiring conversion to 0. Value is now 74.77.
14:14:33.405 [DEBUG] [converter.ZWaveCommandClassConverter] - Converted temperature from 74.77F to 23.8C
14:14:33.405 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Updating channel state zwave:device:da88d044:node11:sensor_temperature to 23.8 [DecimalType]
14:14:33.405 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Sent Message: class=SendData[0x13], type=Request[0x00], priority=Immediate, dest=11, callback=75, payload=0B 02 84 08
14:14:33.405 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: Recv Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0B 06 31 05 01 4A 1D 35
14:14:33.406 [DEBUG] [.serialmessage.ZWaveCommandProcessor] - Checking transaction complete: class=ApplicationCommandHandler, callback id=75, expected=SendData, cancelled=false MISMATCH
14:14:33.464 [DEBUG] [WaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 0C 00 04 00 0B 06 31 05 05 42 12 E9 72
14:14:33.464 [DEBUG] [ve.internal.protocol.ZWaveController] - Receive queue TAKE: Length=0
14:14:33.465 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 0C 00 04 00 0B 06 31 05 05 42 12 E9 72
14:14:33.465 [DEBUG] [ve.internal.protocol.ZWaveController] - Process Message = 01 0C 00 04 00 0B 06 31 05 05 42 12 E9 72
14:14:33.466 [DEBUG] [ve.internal.protocol.ZWaveController] - Message: class=ApplicationCommandHandler[0x04], type=Request[0x00], priority=High, dest=255, callback=0, payload=00 0B 06 31 05 05 42 12 E9
14:14:33.466 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Application Command Request (ALIVE:DONE)
14:14:33.466 [DEBUG] [alization.ZWaveNodeInitStageAdvancer] - NODE 11: Starting initialisation from DONE
14:14:33.466 [DEBUG] [ve.internal.protocol.ZWaveController] - Event Listener org.openhab.binding.zwave.internal.protocol.initialization.ZWaveNodeInitStageAdvancer@3d2c4628 already registered
Also the ALARM command class is throwing an error:
15:02:13.276 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 11: Incoming command class ALARM
15:02:13.276 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Received ALARM command V4
15:02:13.276 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Process NOTIFICATION_REPORT V4
15:02:13.276 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: NOTIFICATION report - 7 = 255, event=8, status=255
15:02:13.276 [DEBUG] [.commandclass.ZWaveAlarmCommandClass] - NODE 11: Alarm Type = BURGLAR (7)
15:02:13.276 [DEBUG] [ve.internal.protocol.ZWaveController] - Notifying event listeners: ZWaveAlarmValueEvent
15:02:13.276 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got an event from Z-Wave network: ZWaveAlarmValueEvent
15:02:13.276 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Got a value event from Z-Wave network, endpoint = 0, command class = ALARM, value = 255
15:02:13.276 [DEBUG] [ternal.converter.ZWaveAlarmConverter] - Alarm converter processing NOTIFICATION
15:02:13.277 [ERROR] [ve.internal.protocol.ZWaveController] - Exception during ZWave thread: Input 2. {}
java.lang.IllegalArgumentException: No enum constant org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass.AlarmType.MOTION
at java.lang.Enum.valueOf(Enum.java:238)[:1.8.0_131]
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass$AlarmType.valueOf(ZWaveAlarmCommandClass.java:1)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.converter.ZWaveAlarmConverter.handleNotificationReport(ZWaveAlarmConverter.java:144)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.converter.ZWaveAlarmConverter.handleEvent(ZWaveAlarmConverter.java:109)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.handler.ZWaveThingHandler.ZWaveIncomingEvent(ZWaveThingHandler.java:1099)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.notifyEventListeners(ZWaveController.java:567)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass.processNotificationReport(ZWaveAlarmCommandClass.java:194)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.commandclass.ZWaveAlarmCommandClass.handleApplicationCommandRequest(ZWaveAlarmCommandClass.java:124)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.serialmessage.ApplicationCommandMessageClass.handleRequest(ApplicationCommandMessageClass.java:119)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingRequestMessage(ZWaveController.java:248)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.handleIncomingMessage(ZWaveController.java:214)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.ZWaveController.access$7(ZWaveController.java:208)[185:org.openhab.binding.zwave:2.2.0.201710251710]
at org.openhab.binding.zwave.internal.protocol.ZWaveController$ZWaveInputThread.run(ZWaveController.java:1324)[185:org.openhab.binding.zwave:2.2.0.201710251710]
Any help would be appreciated.