openhab / openhab-addons

Add-ons for openHAB
https://www.openhab.org/
Eclipse Public License 2.0
1.89k stars 3.59k forks source link

[rfxcom] translation of some values not working correctly (TFA wind meter and rain meter) #2495

Closed skyscape321 closed 7 years ago

skyscape321 commented 7 years ago

I had a working configuration for my TFA wind meter and rain meter with the rfxcom 1.x binding. The rfxcom 2.1 binding seems to ignore some of the values transmitted by the TFA wind and rain meters.

Expected Behavior: Translate all received values correctly.

Current Behavior: I see that the following data from TFA wind meter is received:

2017-07-27 18:31:44.817 [DEBUG] [binding.rfxcom.handler.RFXComHandler] - Received message from bridge: rfxcom:bridge:159b3099e38 message: Raw data = 1056049F971600E10001000A00DA00DA49, Packet type = WIND, Seq number = 159, Sub type = WIND4, Device Id = 38678, Wind direction = 225.0, Wind gust = 1.0, Average wind speed = 0.1, Temperature = 21.8, Chill temperature = 21.8, Signal level = 4, Battery level = 9

The following values are translated correctly: Wind direction, Wind gust, Average wind speed. The values Temperature, Chill temperature are getting lost (no values show up at all) and the values of the items for Signal level, Battery level are wrong (e.g. Signal level: received "4" translated value of the item "1").

From the rain meter the following data is sent:

2017-07-27 18:58:32.957 [DEBUG] [binding.rfxcom.handler.RFXComHandler] - Received message from bridge: rfxcom:bridge:159b3099e38 message: Raw data = 0B5503F3800C000000281D49, Packet type = RAIN, Seq number = 243, Sub type = RAIN3, Device Id = 32780, Rain rate = 0.0, Rain total = 1026.9, Signal level = 4, Battery level = 9

Just the "Rain total" item is updated correctly. The other values are not updated or are just wrong (e.g. Signal level "4" is translated to "1").

martinvw commented 7 years ago

Thanks for sharing your concerns with us!

The battery level and signal level are expected they are translated to the openHAB battery / signal levels and the battery levels are in openHAB a percentage and the signal levels a range of 0-5. So this is indeed different from openHAB 1.x but imho an improvement.

To me it's not clear what you mean by "no values show up at all", can you share your configuration with us, how did you configure, where does what show up and what are you missing where?

skyscape321 commented 7 years ago

My rfxcom items: Number WindDirection "Windrichtung [%s °]" (gWeather) {channel="rfxcom:wind:159b3099e38:38678:windDirection"} String WindDirectionS (gWeather) Number WindSpeed "Windgeschwindigkeit [%.1f m/sec]" (gWeather) {channel="rfxcom:wind:159b3099e38:38678:avgWindSpeed"} Number WindSpeedKmh "Windgeschwindigkeit [%.1f km/h]" (gWeather) Number WindGust "Windboen [%.1f m/sec]" (gWeather) {channel="rfxcom:wind:159b3099e38:38678:windSpeed"} Number WindGustKmh "Windboen [%.1f km/h]" (gWeather) Number WindTemperature "Windtemperatur [%.1f °C]" (gWeather) {channel="rfxcom:wind:159b3099e38:38678:temperature"} Number WindChill "Chillfaktor [%.1f °C]" (gWeather) {channel="rfxcom:wind:159b3099e38:38678:chillTemperature"} Number WindBattery "Windmesser Batterie [%d %%]" (gBattery_Levels) {channel="rfxcom:wind:159b3099e38:38678:batteryLevel"} Number WindMeterSignal "Windmesser Signalstaerke [%d]" (gStatus) {channel="rfxcom:wind:159b3099e38:38678:signalLevel"} Switch WindLowBattery "Windmesser LowBattery" (gBattery_Levels) {channel="rfxcom:wind:159b3099e38:38678:lowBattery"}

Number RainRate "Regenrate [%.1f]" (gWeather) {channel="rfxcom:rain:159b3099e38:32780:rainRate"} Number RainTotal "Regenmenge [%.1f]" (gWeather) {channel="rfxcom:rain:159b3099e38:32780:rainTotal"} Number RainBattery "Regenmesser Batterie [%d %%]" (gBattery_Levels) {channel="rfxcom:rain:159b3099e38:32780:batteryLevel"} Number RainMeterSignal "Regenmesser Signalstaerke [%d]" (gStatus) {channel="rfxcom:rain:159b3099e38:32780:signalLevel"} Switch RainLowBattery "Regenmesser LowBattery" (gBattery_Levels) {channel="rfxcom:rain:159b3099e38:32780:lowBattery"}

I can't see the (obviously sent) values in my "items".

skyscape321 commented 7 years ago

btw. thank you for your support :-)

martinvw commented 7 years ago

For the two temperature fields I just found the cause, however I will not able to fix this for at least 10 more days.

I added a note also at the pr which introduced this function, the required change is really easy on the following line https://github.com/openhab/openhab2-addons/blob/master/addons/binding/org.openhab.binding.rfxcom/src/main/java/org/openhab/binding/rfxcom/internal/messages/RFXComWindMessage.java#L62 the constants RFXComValueSelector.CHILL_TEMPERATURE and RFXComValueSelector.TEMPERATURE have to be added to the array, that should do the job.

I do not yet see the cause of any problem with the rain sensor, note you can also look at some eventlog that logs any value update, it should be in the log folder, hopefully that that helps to debug that problem.

skyscape321 commented 7 years ago

Great - tomorrow I will try to find out/debug why the rain rate is not showing up.
I learned something new about the signal and battery level translation. Did I understand correctly: battery level from 0-9 -> 0-100% signal level from 0-9 -> 0-5

Thank you for your time.

martinvw commented 7 years ago

Inputs where different and I misinformed you about the output for the signal level, to summarise, this is what is in the code.

battery level from 0-9-> 0-100% signal level from 0-15 -> 0-4

skyscape321 commented 7 years ago

I just checked the rain gauge. The problem with the rain rate is on my side. The rain gauge does not send this data (or stopped doing so). I can see this in the DEBUG-log. This issue can be closed from my point of view.

Once again than you for your support.