natekspencer / hacs-pentair

Home Assistant integration for Pentair Home devices.
MIT License
5 stars 1 forks source link

All Entities Unavailable, Errors in Log #10

Open mediacutlet opened 5 months ago

mediacutlet commented 5 months ago

This integration was working great for over a month but this weekend all the entities have gone offline. I've tried a few basic troubleshooting things including deleting the integration and reconfiguring with the same result. Not sure if something changed on the Pentair side. Error log included below. Thank you for the time you've put into this! Hopefully this is an easy fix. I haven't upgraded to 2024.6 or changed anything significant on my end to my knowledge.

HA Version: 2024.5.3 Pentair Home Version: 0.2.0

`Logger: homeassistant Source: custom_components/pentair_cloud/helpers.py:21 integration: Pentair Home (documentation, issues) First occurred: June 15, 2024 at 3:18:31 PM (2000 occurrences) Last logged: 8:01:43 AM

Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval await self._async_refresh(log_failures=True, scheduled=True) File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 414, in _async_refresh self.async_update_listeners() File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners update_callback() File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 492, in _handle_coordinator_update self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1009, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1132, in _async_write_ha_state state, attr, capabilities, shadowed_attr = self.async_calculate_state() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in async_calculate_state state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1015, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/binary_sensor/init.py", line 296, in state if (is_on := self.is_on) is None: ^^^^^^^^^^ File "/config/custom_components/pentair_cloud/binary_sensor.py", line 131, in is_on return self.entity_description.is_on(self.get_device()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/pentair_cloud/binary_sensor.py", line 42, in is_on=lambda data: get_field_value("s25", data), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/pentair_cloud/helpers.py", line 21, in get_field_value name, value = get_api_field_name_and_value(key, data["fields"][key])


KeyError: 's25'`
natekspencer commented 5 months ago

Can you also download diagnostics and include that?

mediacutlet commented 5 months ago

Sure! Here is the diagnostic file as well as a debug log had recording during an attempt to reload the integration. Thanks again for looking into it! I try not to rely too heavily on experimentail HACS components but its been wonderful having this data on my pool dashboard. Cheers mate.

home-assistant_pentair_cloud_2024-06-16T17-19-36.740Z.log config_entry-pentair_cloud-e8c4675f178dbb45a4355dc4417852a6.json

Updated to HA 2024.6.3 today by the way and the error is the same as it was on 2024.5.3

natekspencer commented 5 months ago

config_entry-pentair_cloud-e8c4675f178dbb45a4355dc4417852a6.json

Well, bad news, no fields data is being returned for your device now via the existing endpoint: "fields": {}.

It's possible this is temporary, or that Pentair has migrated off of that endpoint entirely for reporting data for your device.

mediacutlet commented 5 months ago

Ah bummer. Well, it was fun while it lasted! Thanks for looking into it.

alefchak commented 3 months ago

I did some digging into this, and it looks like the device fields are accessible at another endpoint, device/device-service/user/device/<deviceID>

natekspencer commented 3 months ago

@alefchak would you be able to post the response from that for your device so I can see how they compare?

alefchak commented 3 months ago

@alefchak would you be able to post the response from that for your device so I can see how they compare?

Attached output from that endpoint, removed all my personal info (I hope...).

output.json

JustDFB commented 1 week ago

Hi all, I would love to see this integrated brought back to life! If there is anything I can do in terms of testing or providing data please let me know. Thanks in advance 😊