ScreenLogic Protocol Adapter

Been frustrated a few minutes as I was trying to get Screenlogic to run on my Mac. I forgot about the 64bit debacle - Mac won't run any 32 bit SW and Pentair has not updated Screenlogic. I recall now having to do this last year from my work Windows machine. When I Googled to find the answer, it brought me right back here to the great TFP site for the answer to that.

I also found this in the thread, not sure if you are aware of it or not - Pentair Screenlogic and Mac Catalina. Look down at the last section to see the work @LostBard has done.
Interesting read. I'm running win-10 on the desktop, so no issues there.
Thanks!!
 
I don't want to distract from what @dmk just said about his system (would love to learn more about your rpi setup!), but updates to the Rabbit boards in the PA are delivered via tcp, so if your PA gets gummed up and loses it's ethernet connection the device is essentially bricked. There seem to be a lot of ways to brick these things - bad updates, corrupted flash, etc. Once a device is bricked, it's not dead but one or both of the executables, HLFILE and HLDEVICE, are needed to reflash/reset the device. Those are not Pentair tools, but are part of the (very expensive) development tools for the rabbit processors... which I believe is why they're not distributed by Pentair? I was initially very interested in reverse engineering the PA, but once I learned how it was built and how closed/expensive the tool chain was I figured I had better ways to spend my time :(
I too would love to learn more about the particulars on @dmk setup.
Sounds very interesting with great promise.
r.
 
@dmk
Well, that's good info to know. Thanks for sharing what you know about it. What I'm trying to do is take my current IC Web Configs (I have captured all of the files), and instead of it being hosted on the Pentair web-servers, I would host it myself.
Based on what @ogdento has elaborated on (very useful info), that might work out better since I should be able to download and update the PA with any updates or reset the device, since I'm assuming it will have an IP address and it will be on my LAN.
Thoughts?
Thanks again for your input.
r.

Why dont we take a step and figure out what your end goal is. It sounds like you just want to have some additional local control of the IC without the IC having to go to the cloud. Do you have a list of the specific things you want to do?

Also I have heard you say that the desktop app allows local control without having to go to the cloud. So I am assuming you would want to add iPhone/watch integration or Alexa control without using the Pentair cloud?

So the approach you are taking is to try and emulate the Pentair servers locally and have the IC talk to your local server rather than go to the cloud. So that is one approach, let me try to offer you another.

Assuming that all my previous assumptions are correct, why dont you try to emulate the desktop app rather than a Pentair server. You could set up a computer (or Raspberry Pi) to act as a front end to whatever device you want to use and have it send desktop style commands to the IC. I think the result would be the same the approach is slightly different and potentially easier.

Or I have been locked up in the house too long with too much wine and I am totally off base here.
 
Why dont we take a step and figure out what your end goal is. It sounds like you just want to have some additional local control of the IC without the IC having to go to the cloud. Do you have a list of the specific things you want to do?

Also I have heard you say that the desktop app allows local control without having to go to the cloud. So I am assuming you would want to add iPhone/watch integration or Alexa control without using the Pentair cloud?

So the approach you are taking is to try and emulate the Pentair servers locally and have the IC talk to your local server rather than go to the cloud. So that is one approach, let me try to offer you another.

Assuming that all my previous assumptions are correct, why dont you try to emulate the desktop app rather than a Pentair server. You could set up a computer (or Raspberry Pi) to act as a front end to whatever device you want to use and have it send desktop style commands to the IC. I think the result would be the same the approach is slightly different and potentially easier.

Or I have been locked up in the house too long with too much wine and I am totally off base here.
A.
The first goal is to run the web-app locally yes. BUT, no the web-app does NOT allow local connection. Only the iOS and android apps do. But that is not my end goal.

"So the approach you are taking is to try and emulate the Pentair servers locally and have the IC talk to your local server rather than go to the cloud."
Correct.

Its really not a desktop app or better said a "desktop client (such as ScreenLogic is). It's solely a web client.
If I can communicate to the panel via IP using a Protocol Adapter, then I should be able to host the entire web API on my web server.
Once I can do that, I can get some smarter than I folks that I know to help me change some of the coding I think.
r.
 
To give a little context for my solution: our goal from day 1 was to integrate our pool with our home automation system. We have keypads on the walls and iPads that we use to control various aspects of the house. Control can be simple (like a button to turn on the waterfalls or waterfalls and lighting as part of an "Entertain" scene)

The short is we had some confusion that resulted in us going with an EasyTouch instead of IntelliTouch, the integrator were wanting to use a Pentair adapter that's only available for the IntelliTouch. We ended up not getting integration done and settled in the short term with the EasyTouch wireless controller.

Fast forward about a year, the wireless controller breaks and I decided to take matters into my own hands. Plus we already had keypads on the walls with buttons etched for Pool Lights, Waterfalls, etc that didn't do anything, and I had some time to get into the weeds at this point. I'm a software engineer, with a pretty good understanding of low level protocols. The home automation integrator just needed a command to send for various actions, so I set out to find a way into the Pentair system to give them what they needed.

First iteration was an raspberry pi with an RS485 adapter that I mounted inside the LV compartment of the EasyTouch and wired into the EasyTouch COM port and connected to my network over WiFi. I ran an open source project called nodejs-poolController (tagyoureit/nodejs-poolController) on the pi and that gave me the API to invoke to turn various circuits on/off. It also had a nice *local* web interface which seems like it's what @MyAZPool is trying to achieve. All is good, nice web interface to control the detailed aspects of the system and my home automation system was finally integrated!

And then the Arizona summer heat happened, and sometime in late August, the pi died. If my equipment pad had more shade (which it does now thanks to a Sail I installed) or if I had cable back to the house to run the RS485 connection over, this probably would have worked out perfectly.

At this point I was pretty busy with work again and needed a quick solution, so bought SL2 w/ the wireless connection kit. Super simple install, iOS app works good enough, the desktop app doesn't work on any modern Mac and I've yet to test the PC version.

After a while I was determined to get the home automation stuff working again I decided to see what the protocol between the iOS app and SL2 looked like on the local network. SL2 allows for both local LAN connection and a connection that runs though a Pentair "relay" server (haven't dug into the latter too much but it appears the protocol adapter opens an outbound VPN connection back to some Pentair host)

As it turns out, the iOS app communicates with the protocol adapter using the pentair proprietary binary protocol which I believe is the same protocol that is used on the RS485 bus. It's wrapped in some control characters and has what appears to be authentication (though its hard-coded and always the same) from what I can tell. I did also find another open source project that can communicate with SL2 (parnic/node-screenlogic) but it was not as "complete" as the RS485 option.

I'm not sure how all this would work with IntelliCenter, i'll do some research this evening and see what I can dig up.

Hopefully this is a good starting point, and i'm happy to get as far into the technical weeds as anyone wants to go. I'll check back later.

Apologies for any typos, trying to get this post out the door and my dogs are quite eager to go for a swim!

Cheers!
 
  • Like
Reactions: MyAZPool and GDN
@dmk
Nice write-up. Wow, you are definitely well versed in how the ScreenLogic works and integrates. Especially when it comes to the mobile apps.
My belief is that the IntelliCenter mobile apps work the same way. They too can connect "locally".
But the desktop web client cannot connect locally (well, it probably can but there is no option for that in the web client).

Unlike the projects on Github, I'm not trying to reverse engineer (at the moment anyway) and have a completely different API.

I just want to initially locally host the web code that currently resides on the IntelliCenter web servers. I have downloaded it. I just need to see if the screenlogic PA will work for me first.
r.
 
Just to keep your search going, there is a product called Autelis that knows the Pentair protocol, you likely have already found this. They had an older product that would work with EasyTouch and Intellitouch. Looks like they may be going through major redesign - their site says they will be back in early 2020 with new products. Maybe they will have a new product for the Intellicenter too.

I use Insteon automated light switches in the house and have a UDI - universal-devices.com device for my integration to Alexa and smartphone. I see others with the UDI have used the Autelis device to get commands from the UDI to the Pentair system for control of the pool.

So - not sure if this would be the link that would help, but if the Intellicenter base commands aren't too different from the ET commands maybe Autelis will have a device you'd have locally in your house that you would use to control the pool. Cut out the Pentair servers and give you direct access to all low level control on the Pentair board.
 
Just to keep your search going, there is a product called Autelis that knows the Pentair protocol, you likely have already found this. They had an older product that would work with EasyTouch and Intellitouch. Looks like they may be going through major redesign - their site says they will be back in early 2020 with new products. Maybe they will have a new product for the Intellicenter too.

I use Insteon automated light switches in the house and have a UDI - universal-devices.com device for my integration to Alexa and smartphone. I see others with the UDI have used the Autelis device to get commands from the UDI to the Pentair system for control of the pool.

So - not sure if this would be the link that would help, but if the Intellicenter base commands aren't too different from the ET commands maybe Autelis will have a device you'd have locally in your house that you would use to control the pool. Cut out the Pentair servers and give you direct access to all low level control on the Pentair board.
Greg...
Thanks. Good info. Yes I went to their website and see that as well. My "guess" is that any device or language developed for the ET and IT will work with the IntelliCenter. From what I can tell from lurking around GitHub, that appears to be the case.

I'm going to try to email them and see what happens. I really don't want to change much in the way that I communicate with the panel (at least not quite yet).

In other words, for the time being, I want to continue to use a web client but just do it "locally". If I can do that, some of my issues may go away. The main issue that I have with the web servers, is that I see several things on the panel (schedules, feature groups, sorting etc) that are just the way I want them. But when that info is somehow translated through the web servers, their all goofed up on my desktop web client. That is why I am trying to eliminate the Pentair web servers. It has to be that there are "corruption" issues at the server level that are changing what I have at the panel and the Pentair software folks refuse to do anything about it. They're not responsive to the customer at all.

Thanks very much...
r.
 
  • Like
Reactions: GDN
@MyAZPool I did a bit of research tonight and it appears Intellicenter is using the same pentair protocol on the LAN and RS, though it may not be compatible with SL2.

My best hypothesis is that IntelliCenter connects back to Pentair the same way SL does and their server-side components of their web app are responsible for translating between “Pentair” and REST.

If the web interface is a client-side SPA style application and makes REST calls to the pentair relay servers there may be some hope to reverse engineer that relay API and run it locally against your own relay OR run it on your own version of the SPA against the Pentair relay. The latter would at least let you make some changes to the interface to your liking but depending on what they are using framework wosethat may be it’s own bag of cats.

I wish I could be more helpful in this regard. My own work was to have local control with my own 3rd party interface.

If I ever upgrade to intellicenter I’ll see about digging into this further. Seems like a fun project, but I’m glad my system is working for now, knock on wood :)

I did see in another thread that you were exploring OpenHab and a few others. I’m curious what your experiences were in that realm. For a while I worked on and contributed to OpenHab but after I got married I decided to get a professional system so our home was no longer my perpetual work in progress :)

It hurts a little bit inside but the net result had been good.

Cheers!
 
@MyAZPool I did a bit of research tonight and it appears Intellicenter is using the same pentair protocol on the LAN and RS, though it may not be compatible with SL2.

My best hypothesis is that IntelliCenter connects back to Pentair the same way SL does and their server-side components of their web app are responsible for translating between “Pentair” and REST.

If the web interface is a client-side SPA style application and makes REST calls to the pentair relay servers there may be some hope to reverse engineer that relay API and run it locally against your own relay OR run it on your own version of the SPA against the Pentair relay. The latter would at least let you make some changes to the interface to your liking but depending on what they are using framework wosethat may be it’s own bag of cats.

I wish I could be more helpful in this regard. My own work was to have local control with my own 3rd party interface.

If I ever upgrade to intellicenter I’ll see about digging into this further. Seems like a fun project, but I’m glad my system is working for now, knock on wood :)

I did see in another thread that you were exploring OpenHab and a few others. I’m curious what your experiences were in that realm. For a while I worked on and contributed to OpenHab but after I got married I decided to get a professional system so our home was no longer my perpetual work in progress :)

It hurts a little bit inside but the net result had been good.

Cheers!
@dmk
You are all over it. ;) Thank you. With your info, If I can find a good "way-ahead" and since you're next door, I'll owe you a cold one (or two (y)), if we can ever find our way past the current physical distancing restrictions. :p

I really haven't went down the OpenHab route.
What I have been able to do are two things so far.
1. Communicate directly to my control panel from my desktop while utilizing a MQTT broker to Telnet feature and address the panel through its IP address. This was only due to receiving a tremendous amount of excellent assistance from @mcqwerty.

2. I can at least "watch" all of the data being passed between the web server and my control panel using the developer in Chrome.

I perused the Autelis site in much more detail. There was a couple of questions from rstrouse from GitHub regarding the IntelliCenter but they were never answered. As one person put it in the Autelis forum, It appears that the Autelis site has went cold.

Have you seen these threads?

I'll make you a deal, if you ever want to convert your EasyTouch to the IntelliCenter, I'll give you all of the assistance I can both on detailing what it would take and do the installation, and you work the homebrew control side of it all. :p
Take care...
r.
 

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.