dhayab / homebridge-withings-air-quality

Homebridge plugin that exposes air quality data from the Withings WS-50 Smart Body Analyzer
MIT License
16 stars 6 forks source link

problem with homebridge 1.3.4 #24

Closed sorriso93 closed 2 years ago

sorriso93 commented 3 years ago

Hello till last version all was ok, with the update to 1.3.4 now I get this problem. Any idea? many thanks

[6/5/2021, 00:32:36] [homebridge-withings-air-quality] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info. (node:21526) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'value' of undefined at r.getTemperature (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:4:2582) at i.updateTemperature (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:5207) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:3615 at i. (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:4575) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:1529 at Object.next (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:1634) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:547 at new Promise () at t (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:295) at CurrentTemperature. (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:4505) (node:21526) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3) (node:21526) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'value' of undefined at r.getCarbonDioxide (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:4:2513) at i.updateAirQuality (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:4891) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:3409 at i. (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:4575) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:1529 at Object.next (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:1634) at /usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:547 at new Promise () at t (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:295) at AirQuality. (/usr/local/lib/node_modules/homebridge-withings-air-quality/dist/index.js:6:4505) (node:21526) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

martindinicolino commented 3 years ago

we all kinda seem to be experiencing the same issue 🤷‍♂️ i hope it gets fixed soon; i would love to help but i'm a total noob - would love to invest my time into this if anybody happens to know how to point me in the right direction though

choicedraught commented 3 years ago

My guess is that they Withings changed something regarding the Data available via their API. When I looked whether or not I could try and help with fixing this plugin, I found that there is a Home Assistant plugin that integrates with the Withings API via OAuth. However this plugin is not able to access the Temperate sensor data. So I don't know if there is much hope of a resolution to this.

martindinicolino commented 3 years ago

thanks, do you happen to have a link to that?

choicedraught commented 3 years ago

This is the plugin page on HA: https://www.home-assistant.io/integrations/withings/ and the source is https://github.com/home-assistant/core/tree/dev/homeassistant/components/withings :)

dhayab commented 3 years ago

Hi, as stated in the link returned by the warning (https://git.io/JtMGR), this message should not prevent the plugin from working as Homebridge will correct the value to a valid one. This happens because the newest versions of Homebridge appears to do more data validation, and the plugin probably doesn't set a valid value for the characteristic before retrieving the data from Withings API.

As I'm not actively maintaining this plugin, I can't provide you with an estimated timeframe for a fix, but I'll gladly accept pull requests that resolves this issue.

appleimperio commented 3 years ago

Thank you very much. Tested and working!

sorriso93 commented 2 years ago

Many thanks tested and working!