sbabcock23 / hass-tryfi

Home Assistant integration for TryFi Dog Collar GPS monitoring.
https://github.com/sbabcock23/hass-tryfi
Apache License 2.0
52 stars 17 forks source link

Reinstall causes only base to be added, no collar/sensor entities - log mentions no _breed attribute #67

Open loafbutts opened 1 year ago

loafbutts commented 1 year ago

Hello again! I think an update on Fi's end may have broken the integration again.

I just activated a new collar on my Fi account, and reinstalled the integration to update my entities, but unfortunately it only found the base, not the collars, etc. Even the entities for the older collar are gone. There's an error in the log very similar to past incidents of Fi changing something and gumming up the works, this time with the spoiler attribute being "_breed".

Relevant log entry:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 455, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 563, in _async_add_entity device_info = entity.device_info File "/config/custom_components/tryfi/device_tracker.py", line 91, in device_info "model": self.pet.breed, File "/usr/local/lib/python3.10/site-packages/pytryfi/fiPet.py", line 291, in breed return self._breed AttributeError: 'FiPet' object has no attribute '_breed'

loafbutts commented 1 year ago

Just me on this one? I've tried re-adding the integration since, and now it doesn't populate any entities at all, not even the base.

loafbutts commented 1 year ago

Found a workaround! Simply going into /config/custom_components/tryfi/ , editing binary_sensor.py, device_tracker.py, light.py, select.py, and sensor.py (line appears 3 times in that last one), and changing the line

"model": self.pet.breed,

so that it reads

"model": "Dog",

in each file, then re-adding the integration, got all of my devices and entities to re-populate. All of them seem to be working fine again, and the workaround survived a hard reboot. I assume somewhere in the integration that would normally populate the dogs' breeds now simply shows "Dog" instead, but it's a small price to pay to get the integration up and running again, IMHO. Hope this helps a few people out of similar troubles.

cladkins commented 1 year ago

Just gave this a shot with Dog and Labradoodle. No joy.

matthai5 commented 1 year ago

Same issue here, only base is working.

mattfox27 commented 1 year ago

same issue

eternistarr commented 1 year ago

Same thing here. All my collars became unavailable. I cleared out the integration and readded it only base stations show up

mattfox27 commented 1 year ago

Found a workaround! Simply going into /config/custom_components/tryfi/ , editing binary_sensor.py, device_tracker.py, light.py, select.py, and sensor.py (line appears 3 times in that last one), and changing the line

"model": self.pet.breed,

so that it reads

"model": "Dog",

in each file, then re-adding the integration, got all of my devices and entities to re-populate. All of them seem to be working fine again, and the workaround survived a hard reboot. I assume somewhere in the integration that would normally populate the dogs' breeds now simply shows "Dog" instead, but it's a small price to pay to get the integration up and running again, IMHO. Hope this helps a few people out of similar troubles.

Is this fix still working?

loafbutts commented 1 year ago

The integration has remained functional for me since I made that post, but I'm still on the same install. No idea if it would still work if I tried to reinstall again. I'm not sure why it wouldn't work for cladkins back in July, unless a Fi update had already broken the workaround by then.

mattfox27 commented 12 months ago

The integration has remained functional for me since I made that post, but I'm still on the same install. No idea if it would still work if I tried to reinstall again. I'm not sure why it wouldn't work for cladkins back in July, unless a Fi update had already broken the workaround by then.

Ya I just wanted to check before trying your fix, ill give it a shot

Do you put your pets name in "model": "Dextrer" or just like "model": "Dog",

mattfox27 commented 12 months ago

The integration has remained functional for me since I made that post, but I'm still on the same install. No idea if it would still work if I tried to reinstall again. I'm not sure why it wouldn't work for cladkins back in July, unless a Fi update had already broken the workaround by then.

So I made the changes and restarted HA and now it works awesome!!!! Cool thanks for the help

eternistarr commented 11 months ago

Found a workaround! Simply going into /config/custom_components/tryfi/ , editing binary_sensor.py, device_tracker.py, light.py, select.py, and sensor.py (line appears 3 times in that last one), and changing the line

"model": self.pet.breed,

so that it reads

"model": "Dog",

in each file, then re-adding the integration, got all of my devices and entities to re-populate. All of them seem to be working fine again, and the workaround survived a hard reboot. I assume somewhere in the integration that would normally populate the dogs' breeds now simply shows "Dog" instead, but it's a small price to pay to get the integration up and running again, IMHO. Hope this helps a few people out of similar troubles.

This didn't work for me :(

mattfox27 commented 11 months ago

It worked for me...try restarting HA

sbabcock23 commented 11 months ago

Released new version 0.0.21 with better error handling. Please @mattfox27 or @eternistarr if the latest version resolves the issue.

mattfox27 commented 11 months ago

Awesome I'll check it out tonight

On Thu, Dec 14, 2023, 10:23 AM sbabcock23 @.***> wrote:

Released new version 0.0.21 with better error handling. Please @mattfox27 https://github.com/mattfox27 or @eternistarr https://github.com/eternistarr if the latest version resolves the issue.

— Reply to this email directly, view it on GitHub https://github.com/sbabcock23/hass-tryfi/issues/67#issuecomment-1856365284, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABT4TVI6L3VINCWCCQOJE4DYJM72PAVCNFSM6AAAAAAXBT6GRCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJWGM3DKMRYGQ . You are receiving this because you were mentioned.Message ID: @.***>

eternistarr commented 10 months ago

Released new version 0.0.21 with better error handling. Please @mattfox27 or @eternistarr if the latest version resolves the issue.

No joy. I removed the integration completely and re added it. Screenshot_20240102-153057

mattfox27 commented 10 months ago

It's working for me

eternistarr commented 10 months ago

So I tried pairing the new update with that fix above changing "model": self.pet.breed,

so that it reads

"model": "Dog",

This also didn't work. The Integration stopped working soon as the cats nano chip was added to tryfi. I don't see any errors in logs or anything. Just the depreciation warnings.

eternistarr commented 10 months ago

Yup deleted the cats profile and my collars loaded up immediately