[OBSOLETE]Intermatic PE653 Pool Control System

@tocipka Thank-you for your support! Please describe what you see in the new App when you select your Pool Control device and include a screen shot.

Some other things to try: On a PC browser window open a live logging window. Next go into the Settings for this device (Gear icon in new App) and enable “low-normal” debugging, check that you have set values for settings, at least down through “Delay”, then exit Settings. This should result in a bunch of lines showing in the log window. Click on your Pool Control device at the top to filter the log list to only this device, then copy and post here.

Also try the suggestion in post 875 to remove and recreate any child devices.

@KeithR Now that you have this ironed out, I’m ready to move forward acquiring this system (and obviously supporting your effort). Since you have redone your system I had few questions on what to get for startup and what comes included

  1. I assume the 953 is useless when the 653 is in ST? So don not buy? Is there any chance the remote will ever pair/work in ST?
  2. What comes in the 653 box? Air temp? Anything else?
  3. I assume the 653 would be all I need for a minimal system.
  4. For futureproofing this, is there any work on the P5043ME? will it just work and we preset a “switch”?

Thanks for looking into it! The debugging trace:
734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:49 PM: debug <<<<< rspFlg=true dly:100/100 0 Commands, 0 Delays, 8 Events
<<<<< Event: “off” to switchOne (was: “on”)
<<<<< Event: “off” to switchThree (was: “on”)
<<<<< Event: “off” to switchFour (was: “on”)
<<<<< Event: “off” to switchFive (was: “on”)
<<<<< Event: “70” to waterTemperature (was: “50”)
<<<<< Event: “69” to airTemperature (was: “60”)
<<<<< Event: “0” to solarTemperature (was: “70”)

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:49 PM: debug ----- process84Event Firmware-PE653: 3.4 state.expansionVersion=3.4 EXPANSION_5043=true getP5043=true

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:49 PM: debug >>>>> ManufacturerProprietary(type:84, payload: 05 40 02 02 84 53 10 02 02 00 02 01 46 45 00 14 34 14 00 00 00 03 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 )

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:40 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:40 PM: debug >>>>> ManufacturerProprietary(type:87, payload: 05 40 02 02 87 53 10 02 01 01 02 07 03 04 00 02 00 10 04 00 04 00 00 25 14 34 14 01 00 00 20 00 00 00 00 00 00 00 00 00 )

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:39 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:39 PM: debug ----- ManufacturerSpecificReport: ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:39 PM: debug >>>>> ManufacturerSpecificReport(productTypeId: 20549, manufacturerId: 5, manufacturerName: Intermatic, productId: 1619) - raw[zw device: 06, command: 7205, payload: 00 05 50 45 06 53 ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug <<<<< rspFlg=true dly:100/100 0 Commands, 0 Delays, 1 Events
<<<<< Event: “59” to poolSetpoint (was: “66”)

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ThermostatSetpointReport: Report without previous requested change (setpointSet), setpoint=59

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ThermostatSetpointReport: incoming requested state.poolSetpointTemp=0.0 reported Setpoint=59 state.scale=1 setpointType=1

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug >>>>> ThermostatSetpointReport(setpointType: 1, scaledValue: 59, scale: 1, precision: 0, value: [59], reserved01: 0, size: 1) - raw[zw device: 06, command: 4303, payload: 01 09 3B ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ConfigurationReport - got parameter=22 - spamode1, value=[2]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug >>>>> ConfigurationReport(parameterNumber: 22, scaledConfigurationValue: 2, reserved11: 0, size: 1, configurationValue: [2]) - raw[zw device: 06, command: 7006, payload: 16 01 02 ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ConfigurationReport - got parameter=3 - temperatureOffsets, value=[1, 0, 0, 0]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug >>>>> ConfigurationReport(parameterNumber: 3, scaledConfigurationValue: 16777216, reserved11: 0, size: 4, configurationValue: [1, 0, 0, 0]) - raw[zw device: 06, command: 7006, payload: 03 04 01 00 00 00 ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ConfigurationReport - got parameter=2 - firemanTimeout, value=[0, 1]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug >>>>> ConfigurationReport(parameterNumber: 2, scaledConfigurationValue: 1, reserved11: 0, size: 2, configurationValue: [0, 1]) - raw[zw device: 06, command: 7006, payload: 02 02 00 01 ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- rspFlg=true No Commands or Events

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug ----- ConfigurationReport - got parameter=1 - operationMode, value=[1, 0]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:33 PM: debug >>>>> ConfigurationReport(parameterNumber: 1, scaledConfigurationValue: 256, reserved11: 0, size: 2, configurationValue: [1, 0]) - raw[zw device: 06, command: 7006, payload: 01 02 01 00 ]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug -----State Variables:
state.expansionVersion = none
state.lightCircuitsList = [2]
state.lastPoll = 1614044004752
state.precision = 0
state.ManufacturerInfo = ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549
state.size = 1
state.VersionInfo = Versions: Firmware v3.4 DTH: Ver 4.1.1 zWaveLibraryType: 6 zWaveProtocol: v2.78
state.schedules =
state.scale = 1
state.firmwareVersion = 3.4
state.spaSetpointTemp = 0.0
state.poolSetpointTemp = 0.0

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug addChildDevice failed: physicalgraph.app.exception.UnknownDeviceTypeException: Device type ‘Thermostat Child Device’ in namespace ‘KeithR26’ not found.

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug <<<<< rspFlg=false dly:100/100 14 Commands, 13 Delays, 0 Events
<<<<< Cmd to Device: ConfigurationSet(parameterNumber: 1, scaledConfigurationValue: 256, reserved11: 0, defaultValue: false, size: 2, configurationValue: [1, 0]) → 700401020100, delay 100
<<<<< Cmd to Device: ConfigurationSet(parameterNumber: 3, scaledConfigurationValue: 16777216, reserved11: 0, defaultValue: false, size: 4, configurationValue: [1, 0, 0, 0]) → 7004030401000000, delay 100
<<<<< Cmd to Device: ConfigurationSet(parameterNumber: 2, scaledConfigurationValue: 0, reserved11: 0, defaultValue: false, size: 1, configurationValue: [0]) → 7004020100, delay 100
<<<<< Cmd to Device: ConfigurationSet(parameterNumber: 22, scaledConfigurationValue: 2, reserved11: 0, defaultValue: false, size: 1, configurationValue: [2]) → 7004160102, delay 100
<<<<< Cmd to Device: ConfigurationGet(parameterNumber: 1) → 700501, delay 100
<<<<< Cmd to Device: ConfigurationGet(parameterNumber: 2) → 700502, delay 100
<<<<< Cmd to Device: ConfigurationGet(parameterNumber: 3) → 700503, delay 100
<<<<< Cmd to Device: ConfigurationGet(parameterNumber: 22) → 700516, delay 100
<<<<< Cmd to Device: ThermostatSetpointGet(setpointType: 1, reserved01: 0) → 430201, delay 100
<<<<< Cmd to Device: ThermostatSetpointGet(setpointType: 7, reserved01: 0) → 430207, delay 100
<<<<< Cmd to Device: VersionGet() → 8611, delay 100
<<<<< Cmd to Device: ManufacturerSpecificGet() → 7204, delay 100
<<<<< HubAction: 910005400102870301, delay 100
<<<<< HubAction: 910005400101830101

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug ----- refreshInternal() DTH:Ver 4.1.1 state.Versioninfo=Versions: Firmware v3.4 DTH: Ver 4.1.1 zWaveLibraryType: 6 zWaveProtocol: v2.78

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug addChildDevice failed: physicalgraph.app.exception.UnknownDeviceTypeException: Device type ‘Thermostat Child Device’ in namespace ‘KeithR26’ not found.

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug ----- internalConfigure() operationMode1=1 operationMode2=0 tempOffsetwater=1 tempOffsetair=0 fireman=0 poolSpa1=2

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: debug ----- RemoveChildDevices(before) count=0 children:

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: trace ----- addChildDevice(namespace=“KeithR26”,DTH Name=“Thermostat Child Device”, dni=“06-ep12”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Spa Thermostat”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 8:53:32 PM: trace ----- addChildDevice(namespace=“KeithR26”,DTH Name=“Thermostat Child Device”, dni=“06-ep11”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Pool Thermostat”,isComponent: false]

Screen:

@KeithR Looking at the traces I realized that I do not have your device handler for the child thermostat device. I added it and now all child devices generate (seems to me properly).
But, my main “Pool Control” screen looks still the same… Thanks again for your help!

Child devices generation trace:
734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:51 AM: trace ----- addChildDevice(namespace=“KeithR26”,DTH Name=“Thermostat Child Device”, dni=“06-ep12”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Spa Thermostat”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:50 AM: trace ----- addChildDevice(namespace=“KeithR26”,DTH Name=“Thermostat Child Device”, dni=“06-ep11”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Pool Thermostat”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:50 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep6”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Spa Mode”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:49 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep5”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Switch 5”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:48 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep4”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Switch 4”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:48 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep3”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Switch 3”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:47 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep2”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Switch 2”,isComponent: false]

734a1920-851d-47e8-99d9-0cefdd4fa945 11:08:46 AM: trace ----- addChildDevice(namespace=“erocm123”,DTH Name=“Switch Child Device”, dni=“06-ep1”, hubId=null,properties=[completedSetup: true, label: “Pool Control - Switch 1”,isComponent: false]

@KeithR It looks like I am back in business…It took long time and several updates for the “Pool Control” screen to get updated. But, now it works. Thanks a lot for the code!!!
Since the basic stuff works, any plan to make the pool light circuit to work (color controlled by on/off clicks)? :slight_smile:
Also, in the “Pool Control” you have the custom capabilities (not even sure I am using the right term) like “Water Temperature” or “Heater State” and each circuit has one also. Since we might have different devices connected to different circuits it would be great to have ability to label them accordingly. Is there some simple way to have custom labels in place of “Circuit 1”, “Circuit 2”, etc. ?
If you are tired of reading the wish list just let me know :slight_smile:

@jaragonCR Welcome tot he group Jorge!

  1. To the contrary, I find the 953 of continuing value. If you following the pairing instructions in earlier posts you will be able to control the 653 not only with SmartThings but also with the 953. I like the 953 when I am in the hot tub or to provide to guests. Why ask them to download the app and configure everything for a single use?
  2. The Intermatic 653 comes in various configurations. A minimal one (like I just purchased) contains the 653, a 953 as well as a water temperature and air temperature sensor. There are larger bundles that add valve actuators and power panels.
  3. Some users have gotten by without the 953, but I like having it.
  4. I had a P5043 on my initial unit (before I moved) since it is needed to control multiple valve actuators. It is fully supported by this handler. Enhancements I made last year accurately detect the presence of the P5043 and adjust the behavior accordingly.

Good luck!

@tocipka Congratulations!

I had hoped these “caching” and delayed loading issues were limited to developers, but it seems that both you and @Rapfaff have experienced unexplainable delays, after which everything just mysteriously started working a day later. I will report and inquire about this to ST, but unfortunately they have not been responsive to these issues thus far.

Thanks @KeithR , can’t wait for my Kit to arrive :slight_smile: I got most of the answers from your release notes as well (RTFM). I hope this project takes off and gives this HW a new life.

@KeithR I am able to pair the controller, but cannot generate the child devices with the option to generate child, I get

dc84562b-9e5a-47f6-80bb-175158db6652 1:34:41 PM: error java.lang.NullPointerException: Cannot invoke method toInteger() on null object @line 1194 (internalConfigure)

OK, made some progress, it seems to be the sensors the ones that don’t want to regenerate, I was able to generate the 5 switches and verify they work. However in Debug mode I still see an exception

dc84562b-9e5a-47f6-80bb-175158db6652 1:41:30 PM: error java.lang.NullPointerException: Cannot invoke method toInteger() on null object @line 417 (getHAS_HEATER)

dc84562b-9e5a-47f6-80bb-175158db6652 1:41:30 PM: debug ----- process84Event Firmware-PE653: 3.4 state.expansionVersion=null EXPANSION_5043=false getP5043=false

dc84562b-9e5a-47f6-80bb-175158db6652 1:41:30 PM: debug ----- process84Event payload: [5, 64, 2, 2, -124, 83, 0, 0, 1, 0, 0, 1, 66, 80, 0, 23, 53, 0, 0, 0, 0, 3, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

dc84562b-9e5a-47f6-80bb-175158db6652 1:41:30 PM: debug >>>>> ManufacturerProprietary(type:84, payload: 05 40 02 02 84 53 00 00 01 00 00 01 42 50 00 17 35 00 00 00 00 03 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 )

dc84562b-9e5a-47f6-80bb-175158db6652 1:41:29 PM: debug ----- rspFlg=true No Commands or Events

OK, If I set the controller to Pool/Spa it seems to make it “work” no errors, but I still have no displayed temperature on the UI, Temp is displayed on IDE. Still fighting with how to include the 953.

UPDATE: I was able to get it to work when set to pool+spa (BOTH) paired the 953 as per Vera instructions, so All I have now is an extra button since I can’t disable pool/spa

@jaragonCR From the log you sent it appears that the “fireman” config setting is not set to a valid value. I see this as a bug in the ST preferences since it should only allow you to save with a valid choice, but many of us have stumbled over this. Please select your device, choose settings, then go to the fireman setting and explicitly choose a setting different from whatever it is currently set to and then save. You can always go back in and change it to something else immediately. Do this even if you don’t have a heater. As a result you should be able to set your pool/spa setting however you like. That said, the new App presentation does not allow me to dynamically eliminate options, so you will still see the option.

As for the 953, having done this recently, I know that the steps are long and seemingly complicated, but I have found that the best way to think about this is a 3-way pairing: ST->653, ST->953, 953->653:

  1. First pair the 653 with ST. You’ve obviously already done this. Just for completeness (and others), this is putting the ST hub in “Find new Devices” mode (blinking green light on hub), then opening the 653 access panel and pressing the small button.
  2. Next you need to get the 953 paired with SmartThings as a secondary controller. You do this by putting the ST hub in “find new devices” mode (green light blinks on the hub) and then in the second page of 953 setup, select the RECV NET ONLY. Once successful, the 953 will show up in ST as a new device. There is nothing you can do with it in ST, but it is critical that the 953 become part of the ST “home network”. It doesn’t matter what device type you set it to in ST, just leave it at default.
  3. Finally, you need to pair the 953 with the 653. Keep in mind it is the 953 which is the “controller” (secondary controller from a Z-Wave perspective). So go into the first page of 953 setup and select “Include device”, then go to the 653, open the access panel and press the small button to include the 653 in the 953s list of devices.

This process has worked consistently for me. Let me know your experience.

–Keith

@jaragonCR Jorge, Any luck with the pairing and my suggestion on the NullPointer exception?

@KeithR sorry for not replying so I had already done that, it did not work until I set it to Pool/HotTub Combo then everything imported just fine. After that I was able to move it to pool only, I think it has to be current vs expected settings sorta race condition. But the workaround was quite simple. After it was imported and fully working I moved it to pool only and it worked perfectly.

I have the PE653 along with two of the 953 handhelds. Is there a straight forward guide to get the system working with smartthings hub. My PE653 is outside next to one of the mesh hubs but it will not pair with the 653 when I press the button and smartthings is in detection mode. I have my 653 setup with a Rheem heater/temp sensors and two valves that was a pain to setup so I’m hesitant to wipe the configuration without some assurance I’ll get smartthings running successfully. Any help or guide appreciated? How close does the 653 need to be to the hubs. I have florida construction cinderblock home with stucco. Do I need a zwave extender outside? Thank you.

Here are the original instructions I used

https://raw.githubusercontent.com/KeithR26/Intermatic-PE653/master/Installation.txt

@KeithR . Being in the desert southwest we have the byproduct of overheated water. My fix is to run my waterfall at night. Ideally using a pool temp and automation would be ideal. Curious if you have an idea?

Now that I’m in season I can declare the rewrite to be huge for me. I though I had lost all hope. Thanks again!

@Neutrino Welcome to the group. The most likely reason you cannot pair to the ST hub is that your 653 is already paired to your 953 remote. The 953 plays a similar role as the ST Hub as it is a “controller” and the 653 “Receiver” (the wall mounted unit that does the real work) is a slave to it.

Start by un-pairing your 653 from you 953 remote. Do this by going into the 953 settings-> Learn Mode, and select “Remove Device” then promptly press the button inside the 653. This should return the 653 back to an unpaired mode where it can be paired to the ST Hub. Distance is important so try to get your Hub and the 653 as close as possible for the pairing operation. If this is a challenge, try introducing an intermediate Z-Wave device between them, but it must be a permanently powered device, not battery.

Once you have gotten the ST Hub to pair with the 653, then finish the remaining instructions from post 890 and the link provided by @Rapfaff in the post above.

Let us know how it goes either way. Good luck!

Keith

Hi @KeithR finally got around to pairing up with your revised DTH. I’m confused on the “Pool Spa Mode” toggle button. When I select “On” it changes to “Pool” but then after about a minute of spinning, I get “A network or server error occurred. Try again later.” Also, is there a “SmartApp” to accompany the latest DTH?

Bumping this one back up, any thoughts?

@KeithR lots of pool usage this weekend and no issues. I was fiddling with my pool light and I can’t recall how we changed the color in the last code. I see settings for light color in settings to enable something but I’m not following the usage?

I got step #1 OK. 653 is in ST. DTH updated to 4.1.1. Child Switches generated OK.
I got step #2 OK. Remote added to ST.

Verified that the 953 shows “34S” on the learn mode screen.

On step #3, I fall short. I am not offered an “Include device” option (see pic). For “PRIMARY SCREEN SEL”, I am only offered “ZWAVE” as an option (see pic).