thkl / homebridge-homematic

Homematic plugin for homebridge: https://github.com/nfarina/homebridge
180 stars 51 forks source link

Historic Values: multiple errors in temperature #650

Open mnni opened 3 years ago

mnni commented 3 years ago

Hi. When accessing historic data via HomeKit (for example with the eve app) I'm having the problem with multiple thermostats (3x HmIP-eTRV-2, 2x HmIP-WTH-2) that numerous invalid temperature readings of always 0.0°C are reported. This happens 1-2 times of 180 measured values a day with one of the WTH-2, up to every other value of a single eTRV-2 being invalid... till hardly any usable value with an other eTRV-2; only one or two usable values a day. Even a single erroneous 0.0 messes up the graphs. The devices are all reachable and this never occurs when displaying the current data via homekit or hmip nor with thermostats of other standards. Only when accessing the historical data. I've seen this for at least a year with currently homebridge 1.2.5 on TrueNAS Core jail; every other aspects of homebridge and homebridge-homematic are working exceptionally fine.

But any idea what could be the problem when accessing historical data? Thank you!

MartinImHub commented 3 years ago

Hi, I have the same issue with some invalid values over the day. Maybe this is the reason for issue #671 (characteristic value expected valid finite number and received "NaN").

mnni commented 2 years ago

Hi, thank you... this seemed to be not quite related. I digged around and found some warnings regarding humidity and voltage of the power meter service when parsing empty string values and updating values with NaN. I did some patches and the warnings are gone for these characteristics. But not the 0° values in the temperature... in fact the temperature is correctly parsed and seemingly stored... but if accessed it shows 0.0°C. I don't see much problems with the current value itself but maybe with the storage.

For this entry, the value accessed it always 0.0°C [12/17/2021, 7:31:30 AM] [HomeMatic RasPi] [Generic] Saving log data for HmIP eTRV B Büro 1: {"currentTemp":18.6,"time":1639722690}

But I don't know yet how to debug this... I have zero JavaScript/TypeScript experience. And this might be related to the usage of fakegato-history?