IntelliCenter Home Automation Integration and Control

First, I got to tell you I am all in on this

Uh oh, please don't blame me when you end up selling your kidney to buy an internet-connected pair of slippers or a smart-potato peeler ;):LOL:
I'm sure you will have fun with it all. Both OpenHAB and Home Assistant are great platforms with very active and helpful communities for beginners and those pushing things to the max alike, so while the learning curve is steep it is very much climbable.

Good call on moving this discussion to it's own thread (y). Home Automation in general is very well covered and in excellent detail elsewhere on the interwebs but as and when we discover IntelliCenter specific information then I think this will be a great place to post and share.

I'm hoping @mrweber followed us over here with his Control4 angle that is so intriguing ;)

Raspberry Pi 3 Model B+
This is the one I have. Much more powerful than the minimum required for the node.js project I would imagine but a great buy if you intend to get into some other tinkering. One piece of advice, (echoed many times elsewhere on the internet), buy a good quality, strong (high amperage) power supply. If the power supply is not up to the job you can get all sorts of strange happenings that can waste hours of troubleshooting only to discover the power supply couldn't keep up when the board got busy or many peripherals were plugged in.
 
Last edited:
I tried some googling but there nothing out there on this at all. If you get any time I would be very interested to see some more request and response examples.
Do you have any Control4 documentation on the capabilities of the Control4 driver? This would at least let us know what the socket server is capable of and then we would just need to figure out the actual calls and decipher the responses.
Is there any security or do you just send the message to open a session?

I had discovered two open TCP ports 6680 & 6681 last month in this post and the website dumps a lot of these messages to the console. You can just telnet the latter port and send/receive messages.
 
@mcqwerty I am here. I have not spent much more time but I found a github project where it looks like someone developed this api privately. No code or documentation, but I did open an issue asking:


Also found this api is a pub-sub type api, for example I can send the following to register for air temp messages:

{"messageID": "123", "command": "RequestParamList", "objectList":[{"objnam": "_A135", "keys": ["STATUS", "PROBE"]}, {"objnam": "SYSTEM", "keys": ["MODE"]}]}

Then will get messages like this every time the temperature changes:
{"command":"NotifyList","messageID":"b719bd7b-5f1a-45d1-b971-4c12a85d3406","objectList":[{"objnam":"_A135","params":{"PROBE":"65"}}]}

It is obvious there is an api out there considering Control4 got a hold of it. Not sure how we get access, but worst case scenario we could probably spend some time mapping out the api based on capturing traffic between the official pentair apps using a local connection and/or what Control4 is doing. There is no encryption so its not very hard.
 
  • Like
Reactions: MyAZPool
mcqwerty
Thanks so much for the response and comments!!
Uh oh, please don't blame me when you end up selling your kidney to buy an internet-connected pair of slippers or a smart-potato peeler ;):LOL:
I'm sure you will have fun with it all. Both OpenHAB and Home Assistant are great platforms with very active and helpful communities for beginners and those pushing things to the max alike, so while the learning curve is steep it is very much climbable.
:laughblue: I'm really looking forward to learning for sure. Besides the IntelliCenter, I have really gotten into home automation in a big way over the last 3 years or so. These are the automation projects that I have gotten involved with and now I want to integrate them all into one complete automation system.
1. Pentair IntelliCenter.
2. Lutron Caseta Smart Lighting and Fan Control.
2. Honeywell "Total Connect" smart thermostat.
3. Hunter "Hydrawise" Irrigation Control.
4. Unique Lighting (Toro), SmartScape Landscape Lighting/Brilliance LED app.

I would really be interested in putting all of these automation controls under one umbrella. Do you think its do-able using the Raspberry Pi and OpenHAB or Home Assistant. I really don't know where to begin :)

Glad to see mrweber came over to this thread with us.:goodjob:

This is the one I have. Much more powerful than the minimum required for the node.js project I would imagine but a great buy if you intend to get into some other tinkering. One piece of advice, (echoed many times elsewhere on the internet), buy a good quality, strong (high amperage) power supply. If the power supply is not up to the job you can get all sorts of strange happenings that can waste hours of troubleshooting only to discover the power supply couldn't keep up when the board got busy or many peripherals were plugged in.
Great advice. Thank you. I did see that the Raspberry Pi 3 Model B+ requires a larger amperage power supply then the previous models. If I buy a bundle, I'm hoping the power supply that comes with it will do it.
Thanks again!
r.
 
Last edited:
Do you think its do-able using the Raspberry Pi and OpenHAB or Home Assistant. I really don't know where to begin

Simple answer to this question is YES! But....... it won't be smooth sailing. I think your SmartScape Landscape Lighting may give you particular issue since I can't see reference to support for it on either of the platforms. All of this stuff is open source so the documentation is not great at best. But if you have the time and patience to get your google on, you will prevail.

Here is my (brief) take on this large and much debated topic:
* Disclaimer: personal views only, other points of view are available :)

I have a background in software development so I prefer OpenHAB, the programming language is much richer and complex code-based solutions are much more intuitive (for me). But, HASS moves much faster and is gaining support very quickly. They release every two weeks whereas OpenHAB release every 6 months!
If you have your raspberry Pi, I would download HASS IO and get going there. You could get your Lutron stuff and your thermostat up and running fairly easily and get a feel for the whole thing.

Personally I started with OpenHAB and I have a large and complicated setup. I ran with OpenHAB alone for probably 18 months but their slow pace and inflexibility started to bother me. I started looking into Home Assistant (HASS) and am loving the speed of development and new integrations. So what I have now is OpenHAB as my main system and then HASS handles some of the integrations that OpenHAB lacks. It is all connected by MQTT.

Anyway, that is wayyyy more complicated that you need to think about at this stage (and probably ever!).
If you can live with the awkward YAML-based 'programming' in HASS then I think you will have a lot of success with that platform.

List of integrations for each platform:
OpenHAB Bindings
HASS Components

Also, back on the IntelliCenter topic ;) @mrweber, you have given me hope that this can be done via local control. The node.js RS485 project looks great as does the possibility of connecting over TCP. I am going to calm down and wait for my IntelliCenter to be installed then I will get busy with some wireshark action and see what I can see!
Only problem is I am still many months away from install. :(

Best of luck to @MyAZPool and anyone else considering jumping in to the home automation snake pit. :)
 
mcqwerty
Thank you very much for the informative information. Yes, I have been looking a bit more in-depth online at both the Home Assistant and OpenHab. The information that I have discovered online so far, pretty much jives with what you are saying.
And also thanks for the links. One of them confirms what I was thinking bindings (components in HA) were for.
Based on what I have initially seen online, I can tell this is going to be a very "deep" project. I guess I just need to "jump-in" and start learning to swim. ;)
Let's get that pool going in Tennessee!! I'm looking forward to giving you any assistant that I can, then you can help me with the IntelliCenter Home Automation integration. :p
r.
p.s. I found this. What do you think?
CanaKit
 
p.s. I found this. What do you think?
CanaKit

Looks pretty good. Not sure the noise filter is strictly necessary but it wont hurt :)
2.5 Amps looks on the low side but the reviews are solid so I'm guessing it must be a quality power supply. You may eventually want to plug in a z-wave dongle and maybe some other peripherals so you want to make sure you have enough power left over to run things like that. With the z-wave dongle being a radio transmitter it does require some extra power. However you can easily upgrade the power supply in the future is required.

Don't forget you also need an SD card. Get a quality brand with a high transfer speed. The SD card takes a beating especially with HASS since its not so easy to transfer to a USB stick and you will have quite a few writes going on all the time. You have probably come across this in your googling, but SD card failure is a common problem.

p.s. I am probably not the best person to comment on RP cases and extra heat-sinks, I have my bear board just lying on the wood floor plugged in. Too many projects, so as soon as I got it working I was on to the next thing. :)
 
Just got my new IntelliCenter online earlier today and have been playing around. You can open a telnet connection to port 6681 and send commands that way as well.

MessageID appears to just be a method to correlate the response to the request. You'll get the same ID back on a response that you used on the request.

Sending this command returns the entire panel configuration
{"command":"GetQuery","messageID":"1","queryName":"GetHardwareDefinition","arguments":""}

This one registers you as a listener for changes to the specified object/keys - after sending this, any changes to these attributes will result in a NotifyList message coming back to you.
{"command":"RequestParamList","messageID":"1","objectList":[{"objnam":"C0001","keys":["LISTORD","STATUS","LIMIT","USE"]}]}

These are sample commands toggling feature circuit 1:
{"command":"SetParamList","messageID":"1","objectList":[{"objnam":"FTR01","params":{"STATUS": "OFF"}}]}
{"command":"SetParamList","messageID":"1","objectList":[{"objnam":"FTR01","params":{"STATUS": "ON"}}]}

Here's the "conversation" of subscribing to an intellibrite and then triggering a show:
Request: {"command":"RequestParamList","messageID":"1","objectList":[{"objnam":"C0002","keys":["USE"]}]}
Response: {"command":"NotifyList","messageID":"1","timeSince":"0","timeNow":"1562041740","response":"200","objectList":[{"objnam":"C0002","params":{"USE":"SAMMOD"}}]}
Request: {"command":"SetParamList","messageID":"2","objectList":[{"objnam":"C0002","params":{"ACT": "SAMMOD"}}]}
Response: {"command":"SetParamList","messageID":"2","response":"200"}
Response: {"command":"NotifyList","messageID":"326a133c-c8a0-47e8-94c9-be8d3439fc89","objectList":[{"objnam":"C0002","params":{"ACT":"65535","USE":"SAMMOD","LIMIT":"5"}}]}

If you have anything specific you're trying to get at I can try to figure that out.
 
  • Like
Reactions: mcqwerty

Enjoying this content?

Support TFP with a donation.

Give Support
kyleaa
Great information but for some reason I am being refused a connection by IntelliCenter.
I'm using PuTTY instead of a Command Prompt.
Have tried port 22 and 23.
I can ping the IntelliCenter NP.
Here is my error.
109237

I shouldn't have to open the port at the router if using SSH right?
Somewhere I have run-a-foul. Maybe you can set me straight instead of me spending a couple of hours trying all sorts of immaterial fixes. :p
Thanks...
r.
 
I was using a mac terminal telnet client, but I just hopped on windows and got connected with Putty. Port needs to be 6681. I was able to get connected with both Raw and Telnet connection type, SSH appears to just hang for me.

109238
 
kyleaa
Yep, that was the issue. Something about SSH. I'm not that smart to figure that out. But yea, I got right in. I think I was making it more difficult than it really was.
Very cool. I like it. Now the hard part begins LOL... Thanks very much for sharing!! :goodjob:

btw, just a small sample of what the {"command":"GetQuery","messageID":"1","queryName":"GetHardwareDefinition","arguments":""} command returned. I can make some sense of the structure.
109239
 
You can open a telnet connection to port 6681

@kyleaa
  1. This is excellent! Thank you for sharing!! :D
  2. Am I correct in assuming you got the basic syntax from @mrweber 's post? How were you coming up with the commands to use? Do you have a reference guide or just some educated guesses?
I'm thinking I could put together some documentation on this. I would think there is a decent amount of logic and consistency to the options but since I don't have my IntelliCenter (yet), I need a few more clues to figure it out.
 
Hi mcqwerty
I've been anticipating hearing from you based on this newest discovery by kyleaa.
Looking forward to seeing the answers to your questions.

Documentation on this would be outstanding. If I can help at all, please let me know. I would be happy to share a file(s) with a complete hardware definition of my system. Also, I can create "dummy" commands on the GUI and then see how that translate to the raw definitions if that can give you a few more preliminary clues.
r.
 
I made a bit more progress - the official Pentair app uses port 6680 to communicate, and you can monitor the full network traffic with Charles. Set up the reverse proxy and then hit the hamburger menu icon on the app to get the "Connect to local IP address" dialog, and enter the IP address of your machine running charles. The "websocket" tab formats the messages nicely as request/response. The screenshot here was me adjusting the intelliflo RPM on the active feature, which then sent back NotifyList messages for the changes in RPM/Power.
 

Attachments

  • Screenshot 2019-07-02 21.53.26.png
    Screenshot 2019-07-02 21.53.26.png
    571.5 KB · Views: 46
  • Screenshot 2019-07-02 21.53.19.png
    Screenshot 2019-07-02 21.53.19.png
    134.5 KB · Views: 44
We have another member that is in to this kind of thing as well, and it might be great to bring him in on this and get his input. Calling @jonpcar
Hey r, for some reason I missed this @...wow, your dream seems to be coming true. Nice progress on this thread by all.

If this project makes it all the way to be fully featured for the IntelliCenter then I would likely not use any Feature Circuits on pump speeds or anything that has direct control from the API and ditch the Circuit Groups altogether. Then I could use my Home Automation system, (which is free, open source and not limited to a 1995-style 32 or 16 of anything!!!....to control the various components directly.
I don’t know squat about intellicenter except the little bit I can digest from forum posts and I haven’t done any real investigation into node.js.

Question: The node.js project is a great automation project for those with Pentair equipment...but I thought its main goal is to eliminate the need for the Intellicenter entirely? ...to independently control all the equipment as a replacement for the “pool controller”? I don’t know how much of Pentair’s equipment is tied directly to the RS485 bus and how much is wired non-RS485 directly to the Intellicenter (for example current valves without intellivalves features) but that would be a goal that could save a bunch of money.

Or is the goal of those on this thread to keep Intellicenter functionality AND add home automation (via HA, etc) features to build upon and expand it?
 
@kyleaa Once again - you rock! :rockon:

Documentation on this would be outstanding.
@MyAZPool I have made a start on this, focusing on commanding the IntelliCenter first vs subscribing and understanding the status messages (to come later).

I have compiled it all into a google sheet. All of this is totally untested but the API seems logical so I think my guesses should be pretty close to reality.
Instructions, notes and assumptions are listed in the doc.


One specific thing I would like someone to try on their setup is to see if it is possible to control a valve actuator directly. It looks like the only way is to add the actuator to a feature circuit and turn the feature circuit on/off but since my desire is to be free from the limits on total feature circuits then it would be great to see if there is a way to do this.

Please could you try:
{"command":"SETPARAMLIST","objectList":[{"objnam":"VAL03","params":{"STATUS":"ON"}}],"messageID":"foobar"}
and see if this turns your valve number 3 on. Replace 'VAL03' with 'VALxx' where xx is the number of the valve you want to control and "ON" for "OFF" to turn off. I doubt this will work, but its worth a try.

Good luck, and please let me know anything I have missed or messed up. I plan to try to keep this google sheet up to date with findings from this thread and also work to add documentation for understanding the status updates sent from the IntelliCenter.
 
  • Like
Reactions: MyAZPool
Hi @jonpcar,

The node.js project is a great automation project for those with Pentair equipment...but I thought its main goal is to eliminate the need for the Intellicenter entirely?

I think that may well be true, and if successful the node.js project could one-day mean that no controller is required. However I believe the project is also intended to support users of automation products including the IntelliCenter. there is a detailed thread on an issue raised on that project that discussed IntelliCenter-specific traffic on the RS485 bus. Link

Or is the goal of those on this thread to keep IntelliCenter functionality AND add home automation (via HA, etc) features to build upon and expand it?

My hope is that the goal of this thread is to discuss ALL the options and serve as a knowledge center for people wanting to get advanced control of their pool automation system regardless of the method they choose to achieve this. :)
Welcome to the thread! The more eyes on this the better!
 
  • Like
Reactions: MyAZPool

Enjoying this content?

Support TFP with a donation.

Give Support
Thread Status
Hello , This thread has been inactive for over 60 days. New postings here are unlikely to be seen or responded to by other members. For better visibility, consider Starting A New Thread.