Struggling to get Withings integrations fully operational

I know that the Withings app harvests data from other apps like Omron. I can see my blood pressure readings from Omron displayed very nicely in the Withings App. But, I can’t get that info in HA. For Diastolic and Systolic it shows the entities as being unavailable, even though they are listed. Any one have any ideas about this please?

Is this Withings integration still working as of May 2024 ?
I followed all the steps and sadly can not make it work, I still get the infamous message

Our servers couldn’t reach this URL: Partner error: Host Unreachable

  1. Add code to configuration.yaml
withings:
  use_webhook: true
  1. Add to Withings dev portal https://my.home-assistant.io/redirect/oauth. Set it up to point to your nabu casa instance (https://my_nabu_casa_id.ui.nabu.casa/)

At this point I get stuck as it wont move forward with the integration

  1. Go to integrations and add Withings integration and choose your user in Withings
  2. Get the UUID - can we found in setting - home assistant cloud - Webhooks
  3. Add to Withings dev portal https://my_nabu_casa_id.ui.nabu.casa/api/webhook/UUID but leave https://my.home-assistant.io/redirect/oauth in there.
  4. Went to settings->system->network and disabled “use home assistant cloud” under “Home Assistant URL”. I then manually pasted my Nabu Casa URL into the address box below
  5. Restarted home assistant

@avellma you don’t have to put more URLs in Withings than the south redirect link. Everything should work without YAML. Please send the diagnostics file

I just setup the Withings integration. Where’s the “in bed” sensor?

1 Like

Okay, turns out the “Withings in bed” sensor shows up after you enter/exit the bed for the first time after setting it up. :slight_smile:

1 Like

At least it did once. The integration stopped reporting anything for a couple days so I uninstalled the integration, reset the pad, and then installed the integration again. After it was done, I laid down on the bed for a few minutes expecting the “in bed” sensor to show up. It didn’t. So I slept on it last night and today there’s still no “in bed” sensor. :-/ Weird.

It looks like it’s not getting any bed presence data?
2024-08-17 11:27:50.143 DEBUG (MainThread) [homeassistant.components.withings] Finished fetching Withings 35010### bed presence data in 0.000 seconds (success: True)

Actually, I am experiencing a similar issue with bed occupancy sensor. It used to work quite ok, but several days ago it stopped reporting its status. Not sure if it’s started with 2024.8 update.

1 Like

I guess it is the same issue: Withings - Stops working after reboot · Issue #117420 · home-assistant/core · GitHub

I dunno. My “in bed” sensor went to Unknown after I had to unplug it a week ago, and no amount of restarting, refreshing, or reinstalling has brought it back. It’s been Unknown for a week now.

1 Like

Interesting. Same for me. I had in internet outage, afterwards I noticed it was not working (might not have been related), unplugged the bed sensors, plugged them back in. Rebooted HA, etc. So far, nothign has worked.

Wanted to come back here to say. It was an issue on my end. I had removed the public https url from “system → network” and it was not until I rebooted a while later that this issue appeared. Which makes sense.

Somehow I can not copy the Secret from the Withings Developer page. I can copy the ClientID into my clipboard but the Secret just says: “Renew”.

Screenshot 2024-11-30 at 16.51.38

You can only copy it the first time you set it up.

Once it’s there they require you to setup another. (stupid design) you’ll need to renew, copy the new api key and setup your integration again with the new key (and save it somewhere this time - mine is in my password manager of choice)

I was struggling to get webhooks working. In my case, Withings wasn’t happy with an incomplete SSL certificate chain.

The error in HA logs:

DEBUG (MainThread) [homeassistant.components.withings] Subscribing https://{EXTERNAL_URL}/api/webhook/{UUID} for 1 in 5.0 seconds
ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/withings/__init__.py", line 267, in register_webhook
    await async_subscribe_webhooks(self.withings_data.client, webhook_url)
  File "/usr/src/homeassistant/homeassistant/components/withings/__init__.py", line 197, in async_subscribe_webhooks
    await client.subscribe_notification(webhook_url, notification)
  File "/usr/local/lib/python3.12/site-packages/aiowithings/withings.py", line 352, in subscribe_notification
    await self._request(
  File "/usr/local/lib/python3.12/site-packages/aiowithings/withings.py", line 136, in _request
    raise WithingsInvalidParamsError(error)
aiowithings.exceptions.WithingsInvalidParamsError: The callback URL is either absent or incorrect

Testing https://{EXTERNAL_URL}/api/webhook/{UUID} as a registered URL in the Withings developer portal was returning:

Our servers couldn't reach this URL:
Partner error: Host Unreachable

Troubeshooting led me to SSL Labs to validate the SSL config on my external URL. The test report suggested there were chain issues.

After replacing the certificate my Nginx proxy was using with a fullchain certificate (fullchain.pem), the registered URL test on the WIthings portal went green. On reloading the integration there were no more HA log errors!

My external URL had been working fine for the companion app etc with no browser ssl warnings. I was able to reproduce the errors again by reverting to the partial SSL certificate.

Does anyone know why port 443 is needed? Withings dev hub seems to accept others, just not for a production app. However Home Assistant gives the following error;

2025-03-18 13:14:37.300 WARNING (MainThread) [homeassistant.components.withings] Webhook not registered - https and port 443 is required to register the webhook

I really need 443 for something else and cant figure out another workaround.

Withings webhooks don’t work without port 443

2 Likes

It’s a hard requirement by Withings in a hamhanded attempt to force SSL. (Any port can be any protocol, so it really doesn’t actually buy much.) But it exists. Nothing you can do about it - it’s enforced on Withings side.

I’m trying to follow these instructions and am having some questions/issues

  • I added the webhook to confiuration.yaml
  • Removed the Withings integration and restarted
  • I re-added the Withings integration and it just automatically connected (no going through the auth again) - is this correct?
  • checked the terminal and got the below - I do not have use_webhook, but i do have a webhook_id… is this an expected state (i’m guessing not… but i get the error below in settings)?
00:00","data":{"auth_implementation":"withings","token":{"access_token":"[hidden]","expires_at":1757085299.058417,"expires_in":10800,"refresh_token":"[hidden]","scope":"user.info,user.metrics,user.activity,user.sleepevents","status":0,"token_type":"Bearer","userid":"44[hidden]"},"webhook_id":"c3184[hidden]"},"disabled_by":null,"discovery_keys":{},"domain":"withings","entry_id":"[hidden]","minor_version":1,"modified_at":"2025-09-05T12:14:59.059154+00:00","options":{},"pref_disable_new_entities":false,"pref_disable_polling":false,"source":"user","subentries":[],"title":"Withings","unique_id":"44601868","version":1}
  • I added the callback url in Withings portal and it turned green
  • I also see the following in Settings:

Can you help?!
I sat on the bed and reloaded the integration, yet still do not get the sensor

EDIT: Okay, so I don’t know what happened but after a few restarts it seems to have appeared :smiley:

EDIT2: BUT it doesn’t seem to be working :sob: It changed to clear initially after jumping on the bed, but I’m getting no updates now…