[OBSOLETE]Intermatic PE653 Pool Control System

For me, they are just 3 equal slots for each circuit (and each vspd). So for example, I have the booster for the cleaner on circuit 3. So I use slot 1 to set it to come on for an hour in the morning, and slot 2 to come on for an hour in the evening. If desired, I could use slot three to allow it to come on a third time. I have no problem clearing all slots.

Interesting. The ā€˜magicā€™ page would have certainly caught my attention! I do not have this page. No doubt this is part of 3.4, where I am 3.1. One step forward two steps back. Of course, for me to upgrade I need to spend nearly $50 for the CA8700 USB controller, which apparently is otherwise useless. I think I will still try your device handler, just in case the function is in there and just doesnā€™t have the firmware to show the 6th page.

I am surprised the temp set points arenā€™t working for you. Both the sliders and the main control work just fine for me.

@codytruscott, by any chance, does your device handler control pool/spa directly?

@Barrett_Richardson, ok, so the fact that v3.1 does not have the page is disappointing, and potentially aligns with something I alluded to earlier: the bugpunk6 code sets config page 19 as though it holds a single byte binary that configures whether or not there is a pool, spa or both. For me page 19 is the of the 3 PS schedules. Iā€™m not optimistic about my code controlling pool/spa mode for you, but logs may help clarify for sure, particularly when 19 is read.

I am also anxious to hear if my code can control the setpoints on v3.1. If so, Iā€™m SOL. If not, then I broke it which means I can fix it. Iā€™ll stay tuned.

@KeithR (v3.4) As I mentioned above, I have a strange configuration for my P/S switch (Iā€™m going to pore through the manuals today to try to get to a more normal approach). I run the pool from the morning until 5:15pm, then at 5:15pm the P/S schedule kicks in and runs Spa-mode. Kicking from Pool->Spa leaves the pump running and throws a valve; oddly, just FYI, if I did it in the reverse, the pump would stop-start.

So, Iā€™m using Program Slot #1 of the P/S programs. I wondered aloud (above in Post #362) about the entry in Slot#3. Now, re-reading your instructions, I see you use Slot#3 as a backdoor to allow ST to control P/S.

For now, Iā€™m letting the native programs control the pump, for both Pool and Spa mode. And I may have interfered with your ā€œbackdoorā€ strategy by changing Slot#3 to 12:00am/12:00am. Finally, my question: Can I still use P/S Slot#1 for independent control of Spa mode? And should I revert the Slot#3 timer to your all-day default?

Itā€™s actually the other way around. Whatever you set in sched #3 will get overwritten by the DTH as soon as you alter the pool/spa setting.

When changing the switch from pool (off) to spa (on), the DTH sets s3 to 12:01am - 11:59pm.

When changing the switch (or endpoint 6) from spa to pool (on to off) the DTH clears s3 entirely.

Hope this clarifies that nothing you set for PS s3 will affect (or survive) a change of the pool/spa switch.

@CAL7, please confirm your FW version. Do you have a VSP?

Thanks. v3.4 and no VSP.

Understand about P/S#3. What about P/S#1? Can I still use that to independently turn Spa mode on and off?

Definitely! I only touch #3. The others are free to use!

If I want to automate my pool using ST, do I need to purchase the PE653 (no remote) or the PE653RC (remote included)? I am so far assuming that all I need is the bare PE653 (possibly with a temp sensor) and I can live without the PE953 (the remote). Much cheaper to buy the controller only. And if I donā€™t need the PE953 to connect, should I still get it?

Adrian, I canā€™t answer your question directly, but maybe I can throw some thoughts out that will get the answer.

A key part that I donā€™t understand is where (in a standard Intermatic configuration) the programming memory resides. The PE953 is the only way, pre-ST, to enter programming and I suppose there is a chance that it contains the memory, but I highly doubt it. It has to be that the PE953 is just one way to upload programming memory to the PE653. Note that @KeithR speaks of setting/clearing the P/S Programming Slot #3. This must mean that ST can substitute for the PE953 to set programming. However, I donā€™t think there is a way in the current PE653 DTH to upload user programming. As Iā€™m running it, I use the native method to set the important, i.e. pump, schedules and I use CoRE to turn various features on/off (I simply donā€™t trust ST to keep my pump running correctly).

So, my guess - sorry, thatā€™s all Iā€™ve got - is that you can get by without the PE953, but youā€™d have to rely on ST to schedule events or, perhaps, write some code (2 min project for you) to allow the ST interface to set native programming.

Comments, @KeithR @Barrett_Richardson @JDogg016 @codytruscott @Intermatic_Rob ?

1 Like

I mostly agree with @CAL7. I wouldnā€™t suggest skipping the 953 at this time. Perhaps a day will come when all programming can be done from the ST DTH, but we are quite a ways from that right now, and since most of us have the 953, thereā€™s no real incentive to do so.

From what Iā€™ve learned so far I would say that all the memory is in the 653 however. Iā€™m using my 953 to program all the routine schedules and configuration into the 653, but use ST for all the dynamic interactions, such as setting Spa mode, or setting high-speed after adding chemicals.

That said, there are others (@codytruscott) who claim satisfaction without a 953, although he wrote his own DTH and we are all still in the dark as to where he gleaned all the necessary messaging details. (Cody, please share you DTH, even if it is a CF. Iā€™m sure I could learn a few things from it, even if just to enhance my own).

I also would not trust ST alone to manage the daily on/off operation but that is totally unnecessary since the 653 persists and executes the schedules even in the absence of any remote (953 or ST).

2 Likes

Just reporting inā€¦

When the 953 wakes up, I ALWAYSI get ā€œout of rangeā€, but I find that if I hit ā€œENTERā€ it will find the 653 and report correctly. This is new behavior since programming it as a secondary controller.

The slider works both ways for me - it will reflect changes from the 953 and vice-versa.

I donā€™t see the up/down buttons on the main panel doing anything. I have to wonder about their purpose; arenā€™t they redundant and less useful (because they arenā€™t discretely related to pool or spa mode) than the two sliders?

Feature request: The sliders are difficult for my fat finger to adjust. Could we have up/down buttons to the right of each slider in addition to direct slider control?

EDIT: I just noticed a very strange characteristic. I set P/S#1 to time the Spa. Randomly, and frequently, it changes - always to ON at 3:16pm, OFF at 11:44am. These times are not anything Iā€™ve ever used, so I donā€™t know where they are coming from.

Hi @KeithR,

I finally had some time to try out your new device handler. Your hard work is much appreciated. Here is what I learned.

  1. in the new page, the switches all show up within the handler. However, the five endpoints previously defined still show up to. The new set works, and defying my expectations, the old set continue to work.
  2. Temperature set points work. Both the up/down on the main control, and the sliders (sorry!)
  3. Power slider seems to have no effect
  4. Vspd slider does seem to cause changes in vspd, but it is not predictable. I think you were assuming that the speeds were linear from low to high (mine are not), I donā€™t think it can detect current state (when I moved it, vspd 2 went to off), and it is not clear what the result will be for any position. My suggestion would be to make this into 4 switches, like the 953 interface.
  5. As predicted, P/S doesnā€™tā€™ work for me, likely due to the Firmware v3.1. I see this error in the logs:

ā€Ž8ā€Ž:ā€Ž04ā€Ž:ā€Ž42ā€Ž ā€ŽPM: trace CME: CANTā€™T FIND INSTANCE: 6 enabledEndpoints:[1, 2, 3, 4, 5]

So I now have to decide whether to spend $50 on the USB z-wave stick, upgrade to 3.4, and hope I can keep it all together. Of course, there is still the dim hope that @codytruscott has the magic device handler and is willing to share, or we get a further response from @Intermatic_Rob now that we have this much working for the 3.4 Firmware.

Thanks for the feedback @Barrett_Richardson. I would like to recommend that you delete and reinstall the ST Multi-channel SmartApp. When you do it interrogates the DTH for the number of endpoints and this time it will see seven. It only seems to do this when the SmartApp is installed. This will add 2 more endpoints. Endpoint 6 is the Pool/Spa switch (which isnā€™t working for you) and endpoint 7 is a ā€œDimmerā€ which is connected to the VSP Speed, similar to the slider in the App itself. Once the SnartApp is reinstalled and polls the DTH, it will turn around an issue a enableEpEvents command for the 7 endpoints. This should eliminate the log message you sent me.

I had truly hoped the ā€œPowerlevelā€ might be a quick win and I could avoid the silly schedule stuff, but you saw no action from this so this seems a dead end. Before we give up on that completely though please be sure you try many different ā€œpower levelsā€. In other words, try PowerLevel 0,1,2,3,4,5, etc. It might be that only certain power setting do anything. As I said, perhaps a d3ad end but worth a bit more poking.

I am puzzled by your experience of VSP speed being unpredictable. I am not setting the speed directly, I am only scheduling one of the four speeds. Now I would expect some odd and uncoordinated behavior between the 953 and the DTH because they are not using the same commands to control the speeds. The ā€œspeedā€ slider only has four values. Be sure to look carefully as you slide it and you will see the ā€œnumberā€ you are about to select.

I could add the four switches as you suggested, but this will not alter the disconnect between the 953 and ST. The DTH will not be able to recognize what was done by the 953, although the 953 may show the impact of the VSP schedule updates on the speed as it does for the Pool/Spa mode. Try out the ā€œDimmer endpoint 7ā€ and then we can decide if you would also like that to appear as four switch ā€œthingsā€. Careful with the Dimmer endpoint as it will only response to ā€œDim levels 1-4ā€ (far left range of slider. This is a bit hokey but seemed better than four separate switches, but that was just a guess. I could easily be swayed the other way.

I would love to hear some feedback on this aspect from @JDogg016. You still with us?

@CAL7, thanks also for your feedback. Iā€™ll look into the up/down arrows you suggested. As far as the funky times on PS sched #1, see if you can see any logs for a ā€œConfigurationGetā€ for parameter 19, which corresponds to PS sched #1. This would show us the values. If this persists I can add a diagnostic to try to show when this happens.

Interesting. I donā€™t currently have the Multichannel SmartApp installed. I may have done this in the past, and removed it. I will switch the device handlers and then add the SmartApp and see if that has any effect.

I suspect it will not have an effect unless and until I upgrade the firmware.

I think the main issue with the vspd result was that I started with the pump already running. If so, a minor problem. I also have schedules already programmed and I am not sure how the controller reacts with conflicting schedules (say if vspd 2 is already scheduled to be running , and your DH makes vspd1 scheduled to run <slot 3>). I agree with you that slider vs. switch is cosmetic, but the issue is when I am moving between speeds, if I pause on the wrong speed, it is selected. This may cause the pump to engage and prime, when I switch to the right speed it may disengage the first speed, and then restart and prime on the next. The switches would help make the selections discrete.

I didnā€™t spend much time with powerlevel. It just didnā€™t seem to have an effect.

Thank you all so much for all your work on this. I am minimally affluent in all this HA stuff but by following this thread I have my pool controls working on my phone and on the remote. The only thing that is not working is the heat control on my ST app.

I was testing out my set up and set my heat pump to 90 degrees on the PE953 and that temp setting shows on my ST app. When I try to change the temp to anything other than 90 degrees on my App nothing happens. It looks like from the logs that the Pool Controller setpoint overrules any of my changes either using the slider or the buttons. See below:


	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:04 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Event: [value:90, unit:F, displayed:true, name:poolSetpoint, 
isStateChange:false, linkText:Pool Controller, descriptionText:Pool 
Controller pool setpoint is 90Ā°F]

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:04 AM:
	debug
	>>>>> 
ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 90, setpointType: 1, size: 1, value: [90]) - description:zw
 device: 23, command: 4303, payload: 01 09 5A  

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:04 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Event: [value:90, unit:F, displayed:true, name:poolSetpoint, 
isStateChange:false, linkText:Pool Controller, descriptionText:Pool 
Controller pool setpoint is 90Ā°F]

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:04 AM:
	debug
	>>>>> 
ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 90, setpointType: 1, size: 1, value: [90]) - description:zw
 device: 23, command: 4303, payload: 01 09 5A  

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 89, setpointType: 1, size: 1, value: [89])  --> 
4301010959, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1)  --> 430201

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	trace
	setPoolSetpoint(89.0, 1000)

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	debug
	quickSetPool 89

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 89, setpointType: 1, size: 1, value: [89])  --> 
4301010959, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1)  --> 430201

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	trace
	setPoolSetpoint(89.0, 1000)

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:13:03 AM:
	debug
	quickSetPool 89

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:12:55 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Event: [value:90, unit:F, displayed:true, name:poolSetpoint, 
isStateChange:false, linkText:Pool Controller, descriptionText:Pool 
Controller pool setpoint is 90Ā°F]

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:12:55 AM:
	debug
	>>>>> 
ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 90, setpointType: 1, size: 1, value: [90]) - description:zw
 device: 23, command: 4303, payload: 01 09 5A  

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:12:54 AM:
	debug
	<<<<< dly:1000/1000
<<<<<
 Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, 
scaledValue: 91, setpointType: 1, size: 1, value: [91])  --> 
430101095B, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1)  --> 430201

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:12:54 AM:
	trace
	setPoolSetpoint(91.0, 1000)

	
		529066db-62f6-4784-877a-5be76bdb960f
	
	10:12:54 AM:
	debug
	quickSetPool 91

Can anyone suggest a solution?

@KeithR Iā€™m trying to log and provoke my ā€œfunky P/S#1ā€ reversion problem, but I canā€™t make it happen, so Iā€™ll keep monitoring it and let you know if/what I find.

This might partially address @nanatorres issue: There are delays of 5-60 seconds from when changes in either the 953 or the SmartApp are reflected in the other. One way this manifests itself is that, if using the up/down buttons, I have to step the temperature changes one degree at a time, IOWā€¦ make a temp change, wait for that to propagate through the system, then adjust again to eventually get to the desired temp. Using the slider, one change of several degrees works in one swoop

@nanatorres, the symptoms you describe mirror my own experience unfortunately on firmware v3.4. Do you kno0w your version? If not, in the IDE go to Devices then select you pool controller. Look for the ā€œRaw Descriptionā€ and skim through until you see something like ā€œver:3.04ā€. That may help us. Glad you have joined the discussion!

@CAL7, it is interesting however that you ARE on v3.4 and are having success with the setpoints. Hmmm. If you donā€™t mind, could you post some log snipits when you change one of the setpoints please?

Iā€™m on v3.4 per the handheld I believe, though my Raw Description is giving me all zerosā€¦

zw:L type:1001 mfr:0000 prod:0000 model:0000 ver:0.00 zwv:0.00 lib:00 cc:91,73,72,86,81,60,70,85,25,27,43,31 ccOut:20

7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:59 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:91, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Pool Intermatic PE653, descriptionText:Pool Intermatic PE653 pool setpoint is 91Ā°F]
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:59 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 91, setpointType: 1, size: 1, value: [91]) - description:zw device: 24, command: 4303, payload: 01 09 5B
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:58 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:91, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Pool Intermatic PE653, descriptionText:Pool Intermatic PE653 pool setpoint is 91Ā°F]
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:58 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 91, setpointType: 1, size: 1, value: [91]) - description:zw device: 24, command: 4303, payload: 01 09 5B
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:58 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:91, unit:F, displayed:true, name:poolSetpoint, isStateChange:true, linkText:Pool Intermatic PE653, descriptionText:Pool Intermatic PE653 pool setpoint is 91Ā°F]
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:58 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 91, setpointType: 1, size: 1, value: [91]) - description:zw device: 24, command: 4303, payload: 01 09 5B
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:56 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, scaledValue: 91, setpointType: 1, size: 1, value: [91]) --> 430101095B, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:56 PM: trace setPoolSetpoint(91.0, 1000)
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:56 PM: debug quickSetPool 91.0
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:12 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:92, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Pool Intermatic PE653, descriptionText:Pool Intermatic PE653 pool setpoint is 92Ā°F]
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:12 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 92, setpointType: 1, size: 1, value: [92]) - description:zw device: 24, command: 4303, payload: 01 09 5C
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:11 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:92, unit:F, displayed:true, name:poolSetpoint, isStateChange:true, linkText:Pool Intermatic PE653, descriptionText:Pool Intermatic PE653 pool setpoint is 92Ā°F]
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:11 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 92, setpointType: 1, size: 1, value: [92]) - description:zw device: 24, command: 4303, payload: 01 09 5C
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:09 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, scaledValue: 92, setpointType: 1, size: 1, value: [92]) --> 430101095C, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:09 PM: trace setPoolSetpoint(92.0, 1000)
7c7d52be-86ac-4e2f-8e53-59210d4566c5  4:19:09 PM: debug quickSetPool 92.0

Iā€™ve been away and what a marvelous surprise. First off @KeithR, you knocked it out of the park.

I just installed and I can confirm the following: (i) variable speed pump works and; (ii) I can control temperature.

In the settings, I used:

Booster/Cleaner Pump - Variable Speed pump - Speed - 4
Pump Time - 2 Speed Pump without Booster/Cleaner
Pool or Spa - Pool
Fireman Timeout - 1 minute (I remember this was key in getting @bigpunk6 code to change temperature

Within the device the very bottom slider controls my VSP. It always reads ā€œSpeed Onā€ and I am unaware of how to turn this off.. Any ideas?