[SOLVED] ZWAVE: Since Upgrade to v2.5 from v2.4-stable Devolo MT02755 sensor switches permanently between Celsius and Fahrenheit

Hi all,

I am running OH v2.5-snap build #1484 in a debian x86 docker container. Since my upgrade from OH v2.4-stable release build I have the issue that my Devolo MT02755 switches permanently between Celsius and Fahrenheit (green line). The sensor also measures relative humidity which works correctly (red line):

(the flat lines are marking the time when my environment sleeps during the night to save energy :wink: )

I even replaced my previous sensor with an identical new sensor (guarantee replacement by my vendor) but I still get the errors. The old one was recognized as node2 from the Zwave USB stick. The new one is recognized as node6.

I have posted below the appropriate entries from the events.log marking the switch from Celsius to Fahrenheit with >>>>>>>>>>>>>>>>>>>>>>> and back from Fahrenheit to Celsius with <<<<<<<<<<<<<<<<<<<<<<<

What would be the appropriate way to debug why this happens?

2019-01-17 06:48:59.567 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from NULL to 21.56
2019-01-17 06:52:14.355 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 21.56 to 20.02
2019-01-17 07:02:31.030 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 20.02 to 69.04
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 07:17:58.080 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.04 to 69.63
2019-01-17 07:33:24.427 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.63 to 70.03
2019-01-17 07:48:50.400 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.03 to 70.42
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 07:54:00.594 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.42 to 21.34
2019-01-17 08:04:15.959 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 21.34 to 70.82
2019-01-17 08:19:41.346 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.82 to 71.02
2019-01-17 08:35:06.456 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.02 to 71.21
2019-01-17 08:55:41.447 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.21 to 21.78
<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 09:05:56.590 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 21.78 to 70.82
2019-01-17 09:21:22.146 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.82 to 70.42
2019-01-17 09:36:48.093 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.42 to 70.03
2019-01-17 09:52:14.527 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.03 to 69.63
2019-01-17 09:57:25.095 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.63 to 20.9
2019-01-17 10:07:41.377 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 20.9 to 69.23
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 10:23:08.576 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.23 to 69.04
2019-01-17 10:38:36.112 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.04 to 68.64
2019-01-17 10:54:03.959 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 68.64 to 68.44
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 10:59:14.901 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 68.44 to 20.24
2019-01-17 11:09:31.970 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 20.24 to 68.24
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 11:25:00.213 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 68.24 to 68.05
2019-01-17 11:40:28.579 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 68.05 to 67.85
2019-01-17 11:55:57.225 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.85 to 67.65
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 12:01:08.453 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.65 to 19.8
2019-01-17 12:11:26.018 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 19.8 to 67.45
2019-01-17 12:26:55.042 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.45 to 67.25
2019-01-17 12:42:24.219 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.25 to 67.06
2019-01-17 12:57:53.631 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.06 to 66.86
2019-01-17 13:03:05.135 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.86 to 19.36
<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 13:13:23.247 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 19.36 to 66.66
2019-01-17 13:28:53.134 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.66 to 66.46
2019-01-17 13:44:22.966 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.46 to 66.26
2019-01-17 13:59:53.040 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.26 to 66.07
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 14:05:04.747 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.07 to 18.92
2019-01-17 14:15:23.190 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 18.92 to 66.07
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 14:30:53.653 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.07 to 65.87
2019-01-17 15:01:54.826 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 65.87 to 65.67
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 15:07:06.738 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 65.67 to 18.7
2019-01-17 15:17:25.599 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 18.7 to 65.47
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 15:32:56.551 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 65.47 to 65.27
2019-01-17 15:48:27.409 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 65.27 to 66.07
2019-01-17 16:03:57.379 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 66.07 to 67.06
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 16:09:08.795 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.06 to 19.47
2019-01-17 16:19:26.340 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 19.47 to 67.85
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 16:34:54.452 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 67.85 to 68.64
2019-01-17 16:50:21.928 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 68.64 to 69.04
2019-01-17 17:05:48.954 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.04 to 69.43
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 17:10:59.538 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.43 to 20.79
2019-01-17 17:21:15.672 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 20.79 to 69.83
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 17:52:08.364 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.83 to 69.63
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 18:12:45.447 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.63 to 20.9
2019-01-17 18:23:01.590 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 20.9 to 69.83
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 18:38:27.685 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 69.83 to 70.82
2019-01-17 18:53:52.811 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.82 to 71.61
2019-01-17 19:09:17.294 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.61 to 72.2
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 19:14:26.997 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.2 to 22.33
2019-01-17 19:24:41.292 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 22.33 to 72.6
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 19:40:04.750 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.6 to 73
2019-01-17 20:10:51.124 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 73 to 72.6
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 20:16:00.656 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.6 to 22.55
2019-01-17 20:26:14.959 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 22.55 to 72.2
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 20:41:39.170 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.2 to 72.01
2019-01-17 20:57:03.287 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.01 to 72.2
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 21:17:36.920 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.2 to 22.33
2019-01-17 21:27:51.096 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 22.33 to 72.6
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 21:43:14.828 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.6 to 72.4
2019-01-17 21:58:38.854 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 72.4 to 71.81
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 22:19:13.088 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.81 to 22.11
2019-01-17 22:29:27.752 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 22.11 to 71.81
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 23:15:40.825 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.81 to 71.61
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-17 23:20:50.647 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.61 to 22
2019-01-17 23:31:05.460 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 22 to 71.21
<<<<<<<<<<<<<<<<<<<<<<<
2019-01-17 23:46:30.639 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 71.21 to 70.82
2019-01-18 00:01:56.331 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.82 to 70.22
2019-01-18 00:17:22.454 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.22 to 70.03
>>>>>>>>>>>>>>>>>>>>>>>
2019-01-18 00:22:32.898 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 70.03 to 21.12
2019-01-18 00:32:48.878 [vent.ItemStateChangedEvent] - ZwaveDvTemp changed from 21.12 to 69.63
<<<<<<<<<<<<<<<<<<<<<<<

Thank you for all your ideas and hints and support

Cheers
Justus

Are your temperature items defined to use Units of Measure (UoM).

For example…

Number:Temperature TempItem "Temp [%.0f %unit%]
3 Likes

No, not yet. I just changed it and restarted my OH instance to see if this causes a different behaviour.

But doing this causes a calibration rule to fail:

12:03:15.702 [ERROR] [untime.internal.engine.RuleEngineImpl] - Rule 'Calibration of Devolo Temperature': Could not cast 23.8777777777777777777777777777778 °C to org.eclipse.smarthome.core.library.types.DecimalType; line 24, column 34, length 32
rule "Calibration of Devolo Temperature"
  when
    Item ZwaveDvTemp changed or
    Item DvTempCalibWert changed
  then
    ZwaveDvTempCorr.postUpdate( (ZwaveDvTemp.state as DecimalType) + (DvTempCalibWert.state as DecimalType) )
end

Probably the values are not DecimalType anymore. But how can I now calibrate?
Probably I need to use the new OffSet function … but I do not understand yet how to dynamically adjust the offset value … have to take a look into that :expressionless: |

I expect it will fix the issue. I had a similar problem with my Aeotec Multisensor. It would randomly report F and C. When I changed the item definition, the problem went away.

See here.

1 Like

I opened a separate topic to discuss if the offset profile would solve my calibration problem but it does not yet allow to use variables for the offset value which still makes the calibration rule necessary.

But I got a response from @vzorglub how to change my rule how to change my rule with the new item definition to work correctly again.

rule "Calibration of Devolo Temperature"
  when
    Item ZwaveDvTemp changed or
    Item DvTempCalibWert changed
  then
    //ZwaveDvTempCorr.postUpdate( (ZwaveDvTemp.state as DecimalType) + (DvTempCalibWert.state as DecimalType) )
    ZwaveDvTempCorr.postUpdate( (ZwaveDvTemp.state as QuantityType<Number>).doubleValue + (DvTempCalibWert.state as QuantityType<Number>).doubleValue )
end
1 Like

Yes, it did!!! Great. Thank you for that!!!

Yes … in my separate topics I got exact this hint. Changed my rule and it seems to work now!!!

Thanks for your great and quick support. This is the great thing in this forum that someone already experienced a problem and can explain how to solve it!!!

1 Like

Please tick the solution, thanks

@mhilbush @ohb1138

I have the same issue. After upgrade to 2.4 stable and set metric as default in the Paper UI

I got for my Devolo MT02755 permanently Fahrenheit.

I also tried to set Celsius in HABmin for the Things, but it do not help.

image

How do you solved the issue?

See above, use UoM.

So is

Number:Temperature TEMP_Sensor "Temperatur [%.1f °C]" <temperature> (gTemperature)

the correct usage (or did %unit% mean something different than °C)?

%unit% will be the default openHAB unit
By specifying the unit you are telling openHAB what unit to use

I try to explain in my words. When using the %unit% you define the unit on sensor level. E.g. for the MT02755 you define in the Thing configuration the unit to use. Here is a screenshot of my HABmin panel of the configuration parameters for the MT02755:

image

The the sensor passes now the unit “Celsius” to OpenHAB.

The appropriate line in your items file should look like:

Number:Temperature ZwaveDvTemp  "Temperatur DB [%.1f %unit%]"        (gZwave)  {channel="zwave:device:XXXXXXXX:node#:sensor_temperature"}

This causes that the unit - as well the right temperature value - used by the sensor is passed to OpenHAB … (this prevents the sensor from jumping between Fahrenheit and Celsius).

You may use the same %unit% syntax in the sitemap file but you can also use °C again. I use °C :

     Text item=ZwaveDvTemp  label="Temperatur DB [%.1f %unit%]" icon="temperature"
     // OR what I use
     Text item=ZwaveDvTemp  label="Temperatur DB [%.1f °C]" icon="temperature"

As described above using this syntax forced the sensor to deliver only Celsius temperature values again.

I hope this helps!

2 Likes