[OBSOLETE]Intermatic PE653 Pool Control System

Thank you so much Barrett. I was having the same issues as josh - now the heater tile works. Also I had a similar issue with the pool/spa function and your tweak of the code solved it. Thanks to Keith and those before. Such an amazing job. I am so impressed. If this helps others, I am using firmware 3.3 and everything works. I also have the P4243ME to control the actuators instead of the P5043ME.

I’ve updated my SmartApp for PE653 in GitHub.

I have given up the controller doing any kind of reliable scheduling. It runs Whacko. It works some days and not others.

So I switched to using the scheduler in my SmartThings SmartApp which I was not using myself for scheduling. Once I decided to completely use SmartThings I saw several bugs and problems.

Version 1.4 - 2019-Jun-27 - All changes Related to Scheduling, Fixed Bugs, Added 4th Schedule, Allow Separate Speed When Circuit Off vs On, Allow Speed 0 (Off).

https://github.com/mswlogo/SmartThingsPublic/blob/master/smartapps/mswlogo/intermatic-pe653-automation.src/intermatic-pe653-automation.groovy

FYI, I have not updated the Firmware or the Device Handler since last Summer (2018).

Hey all,

So, it seems that somewhere along the way, the development for this driver (which I absolutely love) has made full use of, taken advantage of, and has flourished because of some enhancements in the 3.4 firmware. --And as such, those of us still on 3.3 are operating less-than optimally.

SIMPLY STATED: I want to upgrade my firmware. I’m familiar with the process. But the stick that’s required to do it is discontinued, and it looks like it’s expensive and rare if you can even find one online. So I’m wondering: since this is a device that you presumably will have to use ONCE for just a few minutes ever…could we possibly work out a borrow situation, or does someone have one lying around that they’d let go for cheap?

Apparently, Frank Pomeroy has retired, and Intermatic no longer will perform the flash for you (not that I want to ship my whole setup in to them anyway). In my years in such communities as these, I’ve found it common that one person who has “the thing” (like an almond router that can flash everyone’s peanut plugs to get power consumption readouts in ST, or an intermatic ZWave stick that is the only thing that can flash the firmware on a PE653/953) wants to help other fellow members out. I don’t want to beg or be presumptuous, but it never hurts to ask. :+1:

Now that I’ve asked: I’ll elaborate on my issue, for anyone who cares to continue reading: At some point, an update or two back, my internal timers on all but circuit 1 have ceased to operate the system. In my setup, I have a single speed pump on 1, a booster pump for a cleaner on 3, and a light on 4. Nothing else.
I should note that I can control all these 3 channels just fine with the remote, the buttons on the 653, and through the app. No problem. But even though I have schedules set internally in the 653 on all 3 of those circuits, only the pump on 1 will actually switch as scheduled. So, my vacuum won’t run in the mornings, and my light, which I have a rule set up to turn on every day at sunset, but which I have a 653 schedule set to turn off at 9:30, never turns off.
INTERESTINGLY: I have recently moved my PE653 over to Hubitat, and I was hoping that the fresh start, including a full reset of everything, would inspire the 653 to start working reliably again. IN FACT, after fully resetting and getting everything running right on Hubitat, I set new schedules for all 3 circuits that night…and THEY WORKED THE NEXT DAY! My pump turned on at 7 am (internal timer), my booster turned on at 8 am (internal timer), they both turned off at 11 am (internal timer), my pump turned on at 6 pm (internal timer), my light turned on at sunset (Hubitat), my light turned off at 9:30 (internal timer), and my pump turned off at 10 pm (internal timer). SUCCESS!!!..until…it has never worked again. It’s as if once the internal timers have turned off a timer on 3 and 4, it can never turn it back on again. :frowning:
–And this is exactly the same behavior I have had with both ST and Hubitat (both of which were amazingly developed by our good friend @KeithR ). As I mentioned, I’ve suspected that it has something to do with a bug in 3.3 that doesn’t much care for the way our automation controllers are doing things.

THANKS FOR THE READ, and hopefully someone wants to help a stranded 3.3er off the lonely island. :slight_smile:
My next move with my pool is to install a variable speed pump, and I really want to make sure I’m well up to date as I add features.

@DesignDawg, First I want to say that in my experience on firmware 3.4, the PE653 schedules are very reliable. I have schedules to control my pump, salt system and have used them on lights in the past. I’m wondering if this is something that Intermatic patched in v3.4.

Before talking more on the stick, I wanted to confirm whether or not you have the optional P5043ME expansion module installed? Many on this forum have the older P4043ME which does not have the USB slot. If you have the P5043 you can take firmware updates using any standard USB stick with the firmware copied onto it, but there is a catch-22: You have to already be on at least v3.4 in order to attach a P5043 (I believe), so I suppose that answers my question above, you must not have one. We have discovered that there are actually more than one version of v3.4, apparently there were some minor fixes where they did not update the version number. Anyway, the latest firmware instructions and file are here:
https://www.intermatic.com/-/media/inriver/7091-8535.ashx/MultiWave-USBUpdateInstructions-EN
https://www.intermatic.com/-/media/inriver/6351-2046.ashx/MultiWave-USBUpdate-EN
but again, only if you have the P5043.

If not, then you do not have a USB slot and must use the Windows XP process (yes, I said XP). Here are some links to give you an idea. The basic process is that you load the software update onto an XP machine (or as some have done, run on Windows 7 and run XP as a Virtual Machine). At a high level, you are inserting an Intermatic Z-Wave USB stick (CA8700) into the XP machine, then including the that stick into the PE653 Z-wave network and finally uploading the firmware over Z-wave. Here are some links:
http://waterheatertimer.org/pdf/CA8700-PE953-MultiWave-Software-Update-Instructions.pdf


and some interesting reading here from a guy who used the VM approach from MiCasaVerde and also how he avoided the Intermatic CA8700 stick and used a different stick:

A few words of caution about the posts on MiCasaVerde. They were integrating the Vera platform long before this forum and were receiving support directly from Intermatic for a time. However when Intermatic introduced v3.4 it broke the Vera integration so you will see warnings about v3.4. Disregard them, they are not relevant to the ST/HE implementation. V3.4 is definitely the best one to use for us.

In addition, unfortunately Frank Pomeroy has retired from Intermatic and since then Intermatic has withdrawn support to the Z-wave communities. You can still buy their gear, but we’re on our own for Z-Wave support.

Finally, to end on a positive note, there are a lot of very bright people on this forum and I am hopeful that with the information above someone can streamline the upgrade process using a commercially available stick so this is not so painful as others wish to upgrade.

1 Like

Hey, @KeithR,

First of all, thanks so much for taking the time and writing the helpful response! If nothing else, it’s a easy reference that puts a lot of links and info in one place. To answer your questions/issues:

  • I DO NOT have a P5043. Just the 653/953 setup, with 3 devices attached.
  • I am well aware that the process is archaic and requires XP. I have 2 different computers on standby for the task :slight_smile:
  • Noted on Frank, as I mentioned in my post as well, and it’s yet another reason not to buy the stick. It has one use only, and it’s discontinued and unsupported. Good money after bad.

So, again, thank you. I just want a way to get to 3.4. My reason for not wanting to buy the stick has little to do with being cheap, and more about not wanting to be wasteful. I have a feeling that every CA8700 out there in the wild was used once and has been sitting in a drawer for years untouched. Just hoping that, as someone who spends time creating resources where I can and contributing to help people whenever and however I can in the HA world, I might be able to appeal to the community here and get a “traveling upgrade stick” network started. :wink: But I imagine this is a pretty niche product, and most of us who have gotten set up don’t really hang out in this thread very often to see the post.

Anyway, leaving it up and fingers crossed. It’s not a huge issue…at the moment, I have my hub scheduling the light and the cleaner. I’d just really like to get everything back where it “should be.”

@KeithR I’ve been getting ArrayIndexOutOfBounds errors, and I think I’ve tracked down the issue. It seems that my ST hub occasionally receives a truncated payload (possible due to the distance between my hub and PE653). Here’s an example of the relevant log lines:

6:14:46 PM: debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 53 10 02 01 00 02 01 50 57 00 12 0E 01 00 00 04 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
6:15:57 PM: debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 53 10 02 00 00 02 01 50 57 00 12 0F 01 00 00 04 03 04 00 
6:30:31 PM: debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 53 10 02 00 00 02 01 50 56 00 12 1E 01 00 00 04 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
6:30:31 PM: error java.lang.ArrayIndexOutOfBoundsException: 24 @line 808 (zwaveEventManufacturerProprietary)

Everything works fine when the truncated payload comes through, but an error is thrown when the next non-truncated payload is received since, in the code below, oldResp is shorter than payload. When the error occurs, it seems to prevent state.manProp1 from being updated (even though that happens earlier in the code), so the error keeps getting thrown with each subsequent 84 event.

for (def i=0;i<payload.length;i++) {
   oldP += " ${String.format("%02X",oldResp[i])}"
   newP += " ${String.format("%02X",payload[i])}"

There’s probably a more elegant solution, but the edits below seem to handle the problem:

     def loopMax = 0
     if (payload.length < oldResp.length) {
     	loopMax=payload.length
     } else {
     	loopMax=oldResp.length
     }
     for (def i=0;i<loopMax;i++) {
        oldP += " ${String.format("%02X",oldResp[i])}"
   	newP += " ${String.format("%02X",payload[i])}"

Hi All
Theres a lot of good stuff in here - thanks.
After 4+ years of failed Vera pairing with PE653 I just ordered ST v3. The PE653 has 3.4 firmware. I have some questions if anyone is still monitoring.

  1. Do I still need to use the classic app? (using ios)
  2. Intermatic instructions for pairing are confusing - do I just press the pair button after initiating include on the hub?
    Thanks

Yes, classic app is still the way to go with this integration. The switches work in the new app, but the main interface with all the bells and whistles doesn’t. ST is supposed to have better tools for us soon that will get integrations like this working with the new app soon, but we’re not there yet.

@Barrett_Richardson posted instructions a few years ago for pairing that are still the best to refer to. Just follow every step to the letter. You’ll also need to install the DTH, and there are good directions for that in Keith’s GitHub.

Got it thanks philh30

Well this topic may have run its course - however I recently used it to connect my new STv3 hub with an existing PE653. So far it working well. I really like the LED light control as I have the same LED. Anyway should there be any others interested in doing this I created a detailed process using the links on this site all together. Hope this is helpful:
Equipment Required

  • wifi
  • Smartthings v3
  • Intermatic PE653RC Multiwave (Wireless Receiver PE653 and Remote PE953)

Intermatic PE653RC Wireless Control System for Variable Speed and Two-Speed Pumps

Steps

0.1 Setup Multiwave and ST Hardware

0.2 Load ST Classic App

0.3 Setup Samsung account in IDE https://graph.api.smartthings.com

Set up device Handlers per https://github.com/KeithR26/Intermatic-PE653/blob/master/Installation.txt

  1. Start IDE at: https://graph.api.smartthings.com Log in to your account.

  2. If you have previously installed the DTH, select it and replace the code with the link in 3.4, save and publish.

  3. If this is your initial install, Create the “PE653 Device Handler” as follows:

3.1 Click “My Device Handlers” in the heading

3.2 Click “+ Create New Device Handler”

3.3 Click the “From Code” tab

3.4 Open a second browser window and paste this link: https://raw.githubusercontent.com/KeithR26/SmartThingsPublic/master/devicetypes/keithr26/intermatic-pe653-pool-control-system.src/intermatic-pe653-pool-control-system.groovy

3.5 Select All (Ctrl-A) and Copy (Ctrl-C)

3.6 Return the the SmartThings window and paste the code into the window.

3.7 Click “Create”

3.8 Click “Publish” and select “For Me”

  1. Repeat steps 3.1 - 3.8 for the “Switch Child Device”

4.1 Click “My Device Handlers” in the heading

4.2 Click “+ Create New Device Handler”

4.3 Click the “From Code” tab

4.4 Open a second browser window and paste this link: https://raw.githubusercontent.com/erocm123/SmartThingsPublic/master/devicetypes/erocm123/switch-child-device.src/switch-child-device.groovy

4.5 Select All (Ctrl-A) and Copy (Ctrl-C)

4.6 Return the the SmartThings windows and paste the code into the window.

4.7 Click “Create”

4.8 Click “Publish” and select “For Me”

  1. Pair the PE653 Controller per separate instructions reference Intermatic PE653 Pool Control System

(modified slightly from original 239 post)

5.1 953 choose Reset Device {clears the 653}

(refer to: https://www.intermatic.com/-/media/inriver/7092-8536.ashx page 18 Resetting the Receiver steps 1-3 … stop before 4)

5.2 653 push Include button {wipes programming, Include light starts blinking}

5.3 953 choose Reset Controller, choose ‘reset net & config’

(refer to: https://www.intermatic.com/-/media/inriver/7092-8536.ashx page 18 Resetting the Controller steps 1-5)

5.4 From ST CLASSIC app choose ‘Add things’

5.5 653 push Include button

5.6 App should pair and prompt to select name, handler, app, etc

5.7 On ST Classic app choose + Add Thing (note this step was not in original community/st/936/239 posting)

5.8 953 choose Controller Copy {another non-intuitive step, this adds the remote to ST}

(refer to: https://www.intermatic.com/-/media/inriver/7092-8536.ashx page 44 Including a Controller into a Third-Party Networksteps 1-5)

5.9 953 choose Receive Net Only

5.10 953 should report ‘Successful’ and lock up. {really! at least on the software rev I am on, I think v3.1}

5.11 953 remove and replace battery {I am guessing this is where I lose you…} Note: Do not remove battery if using v3.4 firmware in PE653

5.12 953 choose Include device

5.13 653 push Include button {one more time!}

5.14 953 should report ‘successful’

  1. Update the Device Handler for the Pool Controller

6.1 Select “My Devices” in the heading

6.2 Click on the “Pool Controller” device

6.3 Scroll down and click “Edit”

6.4 Open the “Type *” selection and choose “Intermatic PE653 Pool Control System”

6.5 Click “Update” to save the changes

  1. Start the SmartThings mobile App, select the “Things” tab and scroll to the Pool Control and select it.

  2. Click on the Settings “Gear” in the upper right corner.

  3. Assign appropriate values to all settings. Click “Save” when finished.

Reference Intermatic PE653 Pool Control System

(Note: primary screen will read out of range – this step reconfigures primary screen to PE653 refer to : https://www.intermatic.com/-/media/inriver/7092-8536.ashx page 42 Setting the Controller Main Screen steps 1-5)

  1. Get to the config screens again. Specifically the CNTRL OPTION page.

  2. Choose 1- PRIMARY SCREEN SEL.

  3. Set the PRIMARY SCREEN SEL to PE653 (not ZWAVE).

  4. Press ENTER and ENTER to exit the configuration.

4 Likes

Does anyone have a link to the latest DTH code? After using this for a while I have concerns that I may not be using the latest DTH code. My version is 3.05 yet I see a version 3.06 on github.
Does anyone else use the pentair LED slidebar option? This would be a great feature if it works. Mine does not appear to work - it is not cycling through the designated switch. I set sw4 to my pentair light and can hear the switches if they were switching but they’re not .

  • possibly related to above revision level (?)
    thanks

I see that you use the Classic app for setup. Once you have everything set up, does it work on the new app or do you still have to use Classic to control it all?

I’m using classic because the custom GUI works well with the DTH. The GUI does not appear in the new app. The switches do appear to work but without the GUI the interface is clunky.

Hi,

I recently implemented the PE653 DH 3.06 and also added the mod for the Pool/Spa issue that was recently corrected. I am using ver 3.4 for the PE653. The controls basically all work. The issues that I have are the following.

SW2 keeps showing up as on - when it is off.
The VSP1 shows as on when it is off but VSP 3 is actually on.
When I turn off VSP1 - VSP3 is still on but still shows off
The freeze and solar temps are 23 and 24 - don’t change - I am set up for F not C.

I get this error when in Debug mode and wonder if it could be related.

In this case I just pressed the pool temp tile.

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:54 PM: error java.lang.ArrayIndexOutOfBoundsException: 26 @line 807 (zwaveEventManufacturerProprietary)

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:54 PM: debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 00 10 02 00 00 02 01 57 5E 00 0E 37 01 00 00 04 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:54 PM: error java.lang.ArrayIndexOutOfBoundsException: 26 @line 807 (zwaveEventManufacturerProprietary)

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:53 PM: debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 00 10 02 00 00 02 01 57 5E 00 0E 37 01 00 00 04 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:51 PM: debug ManufacturerProprietary event, [1]:40 [4]:87 payload: 05 40 02 02 87 00 10 02 00 00 00 07 00 00 00 00 00 10 04 00 00 00 00 00 0E 37 01 00 00 00 20 00 00 00 00 00 00 00 00 00
#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:50 PM: debug <<<<< rspFlg=true dly:500/500
<<<<< Event: [value:87, unit:F, displayed:true, isStateChange:true, descriptionText:Water Temp is 87°F, name:temperature, linkText:Pool, data:[microDeviceTile:[type:value, icon:st.Health & Wellness.health2, backgroundColor:#d0d107]], description:, isWitnessDeterminedStateChange:true]
#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:50 PM: debug >>>>> SensorMultilevelReport(scale: 1, sensorValue: [87], precision: 0, sensorType: 1, scaledSensorValue: 87, size: 1) - description:zw device: 0D, command: 3105, payload: 01 09 57

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:50 PM: debug <<<<< rspFlg=false dly:500/500
<<<<< Dev cmd: SensorMultilevelGet() --> 3104, delay 500
<<<<< HubAction: 910005400102870301, delay 500
<<<<< HubAction: 910005400101830101

#71137d82-ec02-4180-a4cb-e6c0ab7d732c) 2:56:50 PM: debug getWaterTemp()

CA7800 - FYI - you can definitely use the AEOTEC Z-Wave stick to upgrade the PE653 and PE953. You just need to have a copy of Windows XP.

Steve

I had those out of bounds errors last season. Try my fix in this post:

Thanks Phil -

That seems to have fixed all my issues. Will test everything more thoroughly later today.

Hey ST Pool Fans, I’ve gotten a bit more active on the DTH lately and am trying to sort out the differences in behavior we’ve seen particularly in controlling pool/spa mode and heaters. I’ve come to appreciate better that the specific type of expansion model has a big impact on how the switches are addressed and am working to allow the DTH to detect this automatically. Some of you have had to apply local patches to overcome this issue. I’ve combed the past posts here and on HE to compare the differences in responses we get. I now need to correlate this with the expansion model number. For those of you listed below please replay with your specific expansion model number (or None). Thanks for your help.

@KeithR I have a P5043ME
@Barrett_Richardson I believe you have a P4243ME, please confirm
@nykr95 which do you have?
@gt1gt1 same question?
@jawzz same question?
@magicshot You may be the only one on firmware 3.9. What about expansion module?

For anyone else, I could use as many as samples as possible. If you can help please post a log that results from saving your preferences, and note what expansion module you have, if any.

Thanks everyone!

No expansion here.

Hi Keith - I have a P4043ME and on ver 3.4