Custom component: Pentair IntelliCenter integration

If it already detected the device with Firmware, it means it picked up the controller IP. Router does not assign static usually. You do that from Settings in Controller itself

Thanks Gus!

I’ve got the router assigning a static IP to the controller but maybe I need to try it through the controller instead. I’ll try that.

Darn no luck. Entities show but still “unavailable”. I did notice that one sensor was sending data (temperature perhaps) but stopped sending after a while. Thoughts?

Delete all unavailable entities

Thanks for the continued help.

I’ve now lost all devices and entities. When reloading the HACS integration the integration does consistently identify the ip and system through “configuration” (immediately!) but no devices nor entity’s show up. No matter what I try.

I get full access via the pentair mobile app over the same ip

Any other troubleshooting tips? So close!

Delete device as well and then delete integration and then reboot and reattempt adding again

Thanks. Completed. I see this error now

Logger: homeassistant.config_entries
Source: helpers/entity_component.py:181
First occurred: 2:57:00 PM (5 occurrences)
Last logged: 2:57:00 PM

Error unloading entry Lakewood for light
Error unloading entry Lakewood for sensor
Error unloading entry Lakewood for switch
Error unloading entry Lakewood for binary_sensor
Error unloading entry Lakewood for number
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 432, in async_unload
result = await component.async_unload_entry(hass, self) # type: ignore
File “/usr/src/homeassistant/homeassistant/components/light/init.py”, line 508, in async_unload_entry
return await component.async_unload_entry(entry)
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 181, in async_unload_entry
raise ValueError(“Config entry was never loaded!”)
ValueError: Config entry was never loaded!

This appears to some issues with other components. These are not related to IntelliCenter

To clarify “Lakewood” is the name of my home for Pentair and is identified at the top of the integration.

I am also getting these warnings! Have you had any luck solving?

Logger: custom_components.intellicenter.pyintellicenter.controller
Source: custom_components/intellicenter/pyintellicenter/controller.py:273
Integration: Pentair IntelliCenter (documentation, issues)
First occurred: 5:51:05 PM (1 occurrences)
Last logged: 5:51:05 PM

CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'da97e9c0-3527-4e89-8df0-40ab8860c4ef', 'response': '400', 'description': 'ParseError: unexpected end of input'}

Is a Pentair firmware update a good idea? This is component is working like a charm for me. Kudos to the author. Have been dreaming of this integration for almost 2 years, but didn’t have the skills to DIY… Just received an email from Pentair pushing to update the firmware. Has anyone done this in the last week or two and if so is your integration still working? I’m afraid to update the firmware for fear of breaking the integration… Update would take it to v1.047.

It’s a minor update by revision number, so it ought not change the API. This update says we have to do it sometime by mid-September or I’m not sure what happens. I plan on doing it tonight, I can let you know tomorrow how it worked for me.

I’m running 1.047 now and I have updates via the API that run every minute (push ORP and pH to sensors from a camera reading it) and everything seems to be working as it did before if that helps.

I installed this component this weekend and I’m not seeing any devices or entities. I just keep seeing lines like this in the logs:
2021-09-13 17:24:46 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '7fe2dc80-c70e-4b54-9b00-dee6a2595b8c', 'response': '400', 'description': 'ParseError: unexpected end of input'}

In the git issues log I saw something about a password. Is that an issue and how do I need to configure it?

Fully removed the integration, rebooted, removed the custom component from HACS, rebooted, installed in HACS, rebooted, and Pentair was autodiscovered. Clicked Configure and still no devices or entities. Seeing this error in the logs:

2021-09-13 17:34:40 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry sheth for light
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 443, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 512, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2021-09-13 17:34:40 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry sheth for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 443, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 127, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2021-09-13 17:34:40 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry sheth for switch
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 443, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/switch/__init__.py", line 85, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2021-09-13 17:34:40 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry sheth for binary_sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 443, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 154, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2021-09-13 17:34:40 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry sheth for number
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 443, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/usr/src/homeassistant/homeassistant/components/number/__init__.py", line 77, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!
2021-09-13 17:34:40 INFO (MainThread) [custom_components.intellicenter] unloading integration df6302a93eb53d80432fdbb7f7b69f99
2021-09-13 17:34:40 INFO (MainThread) [custom_components.intellicenter] disconnected from system: 'sheth'
2021-09-13 17:34:41 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '3def46a2-c59b-4a30-8ce9-c0ad7c3f3e25', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2021-09-13 17:34:41 INFO (MainThread) [custom_components.intellicenter.pyintellicenter.controller] model now contains 48 objects
2021-09-13 17:34:41 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '91991529-d022-4234-9470-4f4cab11a749', 'response': '400', 'description': 'ParseError: unexpected end of input'}
2021-09-13 17:34:42 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '11af32b8-45d3-4300-bf46-31cae259686d', 'response': '400', 'description': 'ParseError: unexpected end of input in string'}
2021-09-13 17:34:42 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': 'c574515d-5e3a-44f7-b7c8-b7b516f0ed08', 'response': '400', 'description': "ParseError: expected value, got 'F' (70)"}
2021-09-13 17:34:42 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '94518632-fb82-48b3-833f-1b3201bd23eb', 'response': '400', 'description': "ParseError: expected value, got 'S' (83)"}
2021-09-13 17:34:51 WARNING (MainThread) [custom_components.intellicenter.pyintellicenter.controller] CONTROLLER: error 400 : {'command': 'Error', 'messageID': '8a4cc2fa-203d-4b6e-b395-3f728c2176ba', 'response': '400', 'description': 'ParseError: unexpected end of input'}

Turned up debugging in the custom component files and see this (omitted a bunch of stuff in between) on startup. Too long to put here, so using pastebin: 2021-09-13 18:08:03 DEBUG (MainThread) [custom_components.intellicenter.pyintell - Pastebin.com

Edit: So I spent (way too much) some time trying to figure this out… I’m not familiar with the implementation or API, but I did find that the web interface (6681) is giving this error, but the websocket (6680) gives me a valid response. I’m not sure why.

I tried (unsuccessfully) messing with the _writeToTransport function to see if the b"\r\n" was causing problems, but I don’t think that’s it. I tried sending in a shorter request but that also failed.

Any ideas or suggestions will be appreciated!

If you feel like “hacking” a bit, you could try to change the value 250 to something like 50 in the file controller.py, line 331. I thought this had been addressed before in a previous release. Based on your log the discovery works but the request to load the model (messageID 3) never get a reply from the Intellicenter. See if splitting that request improves things.

@jvaillant Thank you! That did it! I was assuming the request was too big but couldn’t figure out where to chunk it. That was a much easier fix than what was going through my head :slight_smile:

Hi all. I updated to the IntelliCenter 1.064 firmware and now start to get the following errors (doh!) . The integration seems to work for a bit then end the connection and cycle through sequence.

This error originated from a custom integration.

Logger: custom_components.intellicenter.pyintellicenter.protocol
Source: custom_components/intellicenter/pyintellicenter/protocol.py:197
Integration: Pentair IntelliCenter (documentation, issues)
First occurred: February 8, 2022, 2:00:08 PM (1354 occurrences)
Last logged: 8:49:16 AM

PROTOCOL: heartbeat missed, closing connection

This error originated from a custom integration.

Logger: custom_components.intellicenter.pyintellicenter.controller
Source: custom_components/intellicenter/pyintellicenter/controller.py:498
Integration: Pentair IntelliCenter (documentation, issues)
First occurred: February 8, 2022, 2:00:08 PM (1354 occurrences)
Last logged: 8:49:16 AM

system disconnected from 192.168.50.96

not sure if its the same backend, but would it be possible to add support for Pentair Home Sump Pump Smart battery integration?