jcgoette / baby_buddy_homeassistant

This custom integration provides sensors for Baby Buddy API endpoints.
MIT License
59 stars 26 forks source link

Home Assistant 2023.8.0: Invalid Device Info #119

Closed droans closed 10 months ago

droans commented 11 months ago

Log:

2023-08-02 17:13:13.904 ERROR (MainThread) [homeassistant.components.sensor] Ignoring invalid device info: Invalid device info {'configuration_url': 'http://XXX.XXX.XX.XX:XXXX/children/xxxxx/dashboard/', 'default_name': 'Baby XXXXX ', 'identifiers': {('babybuddy', 2)}} for 'babybuddy' config entry: device info needs to either describe a device, link to existing device or provide extra information.

It appears that all entities are separated from the device, causing the Add Feeding and Add Change services to break if you use the device as the target. I am unsure if it affects other services.

jcgoette commented 11 months ago

Looks like this became an error with 2023.8. (I didn't see anything in the dev blog 🤔)

We already provide identifiers, so probably just need to add connections to meet link criteria (per docs.)

Borlean commented 11 months ago

Same issue for me.

I'm downgrading HAOSS for now and will keep an eye on any updates.

cwgannon commented 11 months ago

Workaround for me was pointing scripts and automations at the timer entity instead of the baby "device."

droans commented 10 months ago

Looks like this became an error with 2023.8. (I didn't see anything in the dev blog 🤔)

We already provide identifiers, so probably just need to add connections to meet link criteria (per docs.)

Thanks for your work! Wonder if it would be easiest to use a semi-random MAC with the last hex pair for the Child ID? Or you could use via_device with the BB instance itself, but I'm not sure if that will work.

Not trying to put pressure on you - do you think you'll have this updated soon? I'll be updating soon and I just need to know if I should go ahead and point all my scripts to the timer or not :)

gagebenne commented 10 months ago

Removing default_name seems to get things working again. The identifier is unique enough, not sure if there is a need to replace default_name with something -- if so, child slug could be used (it is unique).

droans commented 10 months ago

Removing default_name seems to get things working again. The identifier is unique enough, not sure if there is a need to replace default_name with something -- if so, child slug could be used (it is unique).

Tried it out and it works on my end. It also seems like changing default_name to just name also works.

jcgoette commented 10 months ago

Closing in favor of #127.