org.openhab.binding.rflink icon indicating copy to clipboard operation
org.openhab.binding.rflink copied to clipboard

Incorrect behavior of temperature and humidity with HomeComfort sensor

Open cyrilpawelko opened this issue 5 years ago • 0 comments

Hello,

I own an HomeComfort STHI-100 temperature + humidity sensor. This device sends temperature and humidity as two separate frames. The code in src/main/java/org/openhab/binding/rflink/messages/RfLinkTemperatureMessage.java begins with setting temperature and humidity to zero before processing data, therefore return zero to the non-received channel.

Here are some logs :

==> openhab.log <==
[first frame]
2020-01-02 19:14:05.975 [DEBUG] [link.connector.RfLinkSerialConnector] - <<< 20;F0;HomeConfort;ID=77c717;TEMP=00e6;
2020-01-02 19:14:05.976 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: lowBattery, state: OFF
2020-01-02 19:14:05.977 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: temperature, state: 23.0
2020-01-02 19:14:05.978 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: humidity, state: 0
2020-01-02 19:14:05.979 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: observationTime, state: 2020-01-02T19:14:05.975+0100
2020-01-02 19:14:05.981 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: humidityStatus, state: UNKNOWN
[second frame]
2020-01-02 19:14:08.224 [DEBUG] [link.connector.RfLinkSerialConnector] - <<< 20;F1;HomeConfort;ID=77c717;HUM=55;
2020-01-02 19:14:08.228 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: lowBattery, state: OFF
2020-01-02 19:14:08.229 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: temperature, state: 0.0
2020-01-02 19:14:08.229 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: humidity, state: 55
2020-01-02 19:14:08.230 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: observationTime, state: 2020-01-02T19:14:08.228+0100
2020-01-02 19:14:08.231 [DEBUG] [ng.rflink.handler.RfLinkThingHandler] - Update channel: humidityStatus, state: UNKNOWN

==> events.log <==
[first frame]
2020-01-02 19:14:05.979 [vent.ItemStateChangedEvent] - OregonTempHygroHomeConfort77c717_Temperature changed from 0.0 to 23.0
2020-01-02 19:14:05.981 [vent.ItemStateChangedEvent] - OregonTempHygroHomeConfort77c717_Humidity changed from 53 to 0
[second frame]
2020-01-02 19:14:08.302 [vent.ItemStateChangedEvent] - OregonTempHygroHomeConfort77c717_Temperature changed from 23.0 to 0.0
2020-01-02 19:14:08.303 [vent.ItemStateChangedEvent] - OregonTempHygroHomeConfort77c717_Humidity changed from 0 to 55

The expected behavior should be to return only the received value.

cyrilpawelko avatar Jan 02 '20 18:01 cyrilpawelko