[OBSOLETE]Intermatic PE653 Pool Control System

Anyone know if the zwave can be used to control actuator valves using the optional P4243ME valve controller?

If @JDogg016 got the pool/spa function working, then yes. Failing that, one alternative would be to just use one of the circuits, setting the mode to pool only. But then it would not switch between pool and spa set points for the heater, if connected.

Just so we are clear, what I got working was the ability to set the temperature on my pool heater. I don’t have a spa, so I am sort of ignorant as to what the Pool/Spa feature does.

Sorry, I meant @KeithR

@Alibaba, I have a P5043ME with 3 actuators and I am able to control those valves over Z-Wave, I am not familiar with the P4243ME, but if it works with the PE653 then you may be in luck.

@JDogg016, @Barrett_Richardson, My changes are taking a little longer than I planned but I’m still working on the updates. Just wanted you to know I haven’t gone dark. To your question Barrett, it was a lot of trial and error along with a bunch of logging enhancements and diagnostics.

1 Like

I am eternally grateful for you even trying to this point

Would love to see any interim progress you would care to share. Happy to learn from your success.

Hey @codytruscott, are you still planning to share your device handler?

I’m new to smart things and am also building a pool is the PE653RC the only way to go and have your pool integrate with smart things?

Hey Guys, I’m posting my first code for the enhanced PE653 device handler. The code is here:

There is a README file there. PLEASE READ IT COMPLETELY before using this code. I have included extensive information about what is new in this device handler as well as various suggestions and cautions.

I do want to once again acknowledge @bigpunk6 and his generous contribution to this group that started this whole thing.

I do hope that we get some positive results for the others that have either had issues with firmware v3.4 (as I did) or who have been looing for pool/spa and VSP support. I’m sure this will only the first of many more updates.

3 Likes

This is really great! Thank you @KeithR.

Can you elaborate on how the 653 remote fits into your configuration and installation process? Do I unpair to begin? Then does it pair as a secondary controller after the 953 is paired to ST?

I believe, from your instructions, that I have to use the 953 to set thermostat setpoints, right?

When it’s all done, do you control timer settings from 1) ST, 2) the internal 653 timers, or 3) a choice of either?

Thank you, thank you.

EDIT: P.S. Do you have github repo integration (I’m hopeful and appreciative that I’ll be doing a lot of updates. :sunny: ) )

@CAL7, I first paired the PE653 (not the remote but the controller) to ST. Then I followed the instructions elsewhere on this forum to pair the PE953 remote (as secondary) and then pair it to PE653. I use both side by side. You are correct that I am using the 953 to set the thermostat setpoints since I can’t get the app to do that (yet).

By the way, my 953 frequently reports β€œout of range” initially but then works normally, even though it is close to the 653. I don’t know if anyone else experiences this, but this only started happening since I made it the secondary, but this is only a minor annoyance.

I set the schedules for normal daily pool cleaning in 953 for circuit 2, schedule #1 or #2, then let ST app use schedule #3 for pool/spa in β€œcircuit PS”. I can see the effect of the ST apps schedule change in the 953 if I look at PS sched #3.

Hope this helps.

1 Like

I finally was able to pair both the PE953 (remote) and PE653 (Controller). But not much else.

The PE953 shows β€œ34S” in the right corner (as opposed to β€œ34-34-34P” before all this. I take it to mean that the version is 3.4 and it is now a secondary controller. Although ST saw enough of it to pair, neither ST nor the remote indicate any awareness of each other. The remote screen just says OUT OF RANGE. I did pull the batteries.

Here is what the ST SmartApp is showing (β€œPR” is my typo) for the remote:

And here is the PE653 page (97 is an accurate temp):

And, logs:

  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž39β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:0, displayed:true, name:powerlevel, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 powerlevel is 0] 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž39β€Ž β€ŽPM: debug >>>>> PowerlevelReport(powerLevel: 0, timeout: 0) - description:zw device: 24, command: 7303, payload: 00 00  
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž29β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 pool setpoint is 39Β°F] 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž29β€Ž β€ŽPM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 1, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 01 09 27  
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž27β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549), isStateChange:true, displayed:true, linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž27β€Ž β€ŽPM: warn Captured zwave command ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž27β€Ž β€ŽPM: debug >>>>> ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) - description:zw device: 24, command: 7205, payload: 00 05 50 45 06 53  
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž24β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, scaledValue: 38, setpointType: 1, size: 1, value: [38]) --> 4301010926, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž24β€Ž β€ŽPM: trace setPoolSetpoint(38.0, 1000) 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž24β€Ž β€ŽPM: debug quickSetPool 38.0 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž22β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, scaledValue: 38, setpointType: 1, size: 1, value: [38]) --> 4301010926, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž22β€Ž β€ŽPM: trace setPoolSetpoint(38.0, 1000) 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž22β€Ž β€ŽPM: debug quickSetPool 38.0 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž21β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ThermostatSetpointSet(precision: 0, reserved01: 0, scale: 1, scaledValue: 38, setpointType: 1, size: 1, value: [38]) --> 4301010926, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž21β€Ž β€ŽPM: trace setPoolSetpoint(38.0, 1000) 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž21β€Ž β€ŽPM: debug quickSetPool 38.0 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž09β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: SensorMultilevelGet() --> 3104, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 7) --> 430207, delay 1000
<<<<< Dev cmd: ThermostatSetpointSupportedGet() --> 4304, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 1) --> 700501, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 2) --> 700502, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 3) --> 700503, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 21) --> 700515, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 38) --> 700526, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 41) --> 700529, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 44) --> 70052C, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 47) --> 70052F, delay 1000
<<<<< Dev cmd: ManufacturerSpecificGet() --> 7204, delay 1000
<<<<< Dev cmd: VersionGet() --> 8611, delay 1000
<<<<< Dev cmd: AssociationGroupingsGet() --> 8505, delay 1000
<<<<< Dev cmd: MultiInstanceGet(commandClass: 37) --> 600425, delay 1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 1, parameter: []) --> 6006012502, delay 1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 2, parameter: []) --> 6006022502, delay 1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 3, parameter: []) --> 6006032502, delay 1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 4, parameter: []) --> 6006042502, delay 1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 5, parameter: []) --> 6006052502, delay 1000
<<<<< Dev cmd: PowerlevelGet() --> 7302 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž09β€Ž β€ŽPM: trace delay instanceof physicalgraph.zwave.commands.associationv2.AssociationGroupingsGet 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž09β€Ž β€ŽPM: debug +++++ getVSPSpeed() 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž09β€Ž β€ŽPM: debug +++++ refresh() 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž08β€Ž β€ŽPM: debug <<<<< dly:1000/1000 No Commands or Events 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž08β€Ž β€ŽPM: debug >>>>> AssociationGroupingsReport(supportedGroupings: 1) - description:zw device: 24, command: 8506, payload: 01  
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž08β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: AssociationGroupingsGet() --> 8505, delay 1000
<<<<< Dev cmd: AssociationSet(groupingIdentifier: 1, nodeId: 1) --> 85010101, delay 1000
<<<<< Dev cmd: AssociationGet(groupingIdentifier: 1) --> 850201, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [1, 0], defaultValue: false, parameterNumber: 1, reserved11: 0, size: 2) --> 700401020100, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [1, 1, 0, 0], defaultValue: false, parameterNumber: 3, reserved11: 0, size: 4) --> 7004030401010000, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [2], defaultValue: false, parameterNumber: 19, reserved11: 0, size: 1) --> 7004130102, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [0], defaultValue: false, parameterNumber: 2, reserved11: 0, size: 1) --> 7004020100 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž08β€Ž β€ŽPM: trace delay instanceof physicalgraph.zwave.commands.associationv2.AssociationGroupingsGet 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž08β€Ž β€ŽPM: debug +++++ configure() 
  β€Ž4β€Ž:β€Ž49β€Ž:β€Ž00β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [1, 0, 159, 5], defaultValue: false, parameterNumber: 21, reserved11: 0, size: 4) --> 7004150401009F05, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 21) --> 700515 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž59β€Ž β€ŽPM: debug <<<<< Event: [name:poolSpaMode, value:spa, isStateChange:true, displayed:true, descriptionText:(poolSpaMode set to spa), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž59β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 6 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž59β€Ž β€ŽPM: debug +++++ setSpaMode 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž56β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:(switch4 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž56β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 4 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž56β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 4, parameter: [0]) - description:zw device: 24, command: 6006, payload: 04 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž54β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:(switch4 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž54β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 4 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž53β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 4, parameter: [0]) - description:zw device: 24, command: 6006, payload: 04 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž53β€Ž β€ŽPM: debug <<<<< dly:2300/1000
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 1, commandClass: 37, instance: 4, parameter: [0]) --> 600604250100, delay 2300
<<<<< Dev cmd: MultiInstanceCmdEncap(command: 2, commandClass: 37, instance: 4, parameter: []) --> 6006042502 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž53β€Ž β€ŽPM: debug +++++ offMulti(4) 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž40β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:0, displayed:true, name:powerlevel, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 powerlevel is 0] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž40β€Ž β€ŽPM: debug >>>>> PowerlevelReport(powerLevel: 0, timeout: 0) - description:zw device: 24, command: 7303, payload: 00 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch4, value:on, isStateChange:true, displayed:true, descriptionText:(switch4 set to on), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 4 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 4, parameter: [255]) - description:zw device: 24, command: 6006, payload: 04 25 03 FF  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:(switch5 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 5 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž39β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 5, parameter: [0]) - description:zw device: 24, command: 6006, payload: 05 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž37β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:(switch3 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž37β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 3 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž37β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 3, parameter: [0]) - description:zw device: 24, command: 6006, payload: 03 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž36β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:(switch2 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž36β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 2 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž36β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 2, parameter: [0]) - description:zw device: 24, command: 6006, payload: 02 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž35β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:(switch1 set to off), linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž35β€Ž β€ŽPM: trace CME: CANT'T FIND INSTANCE: 1 enabledEndpoints:null 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž35β€Ž β€ŽPM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 1, parameter: [0]) - description:zw device: 24, command: 6006, payload: 01 25 03 00  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž34β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [name:epInfo, value:["10012527","100025","100025","100025","100025","100025","110025"], displayed:true, descriptionText:, isStateChange:false, linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž34β€Ž β€ŽPM: trace createEndpointInfo(5) endpointCnt=7 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž34β€Ž β€ŽPM: debug >>>>> MultiInstanceReport(commandClass: 37, instances: 5, res11: false) - description:zw device: 24, command: 6005, payload: 25 05  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž34β€Ž β€ŽPM: debug <<<<< dly:1000/1000 No Commands or Events 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž34β€Ž β€ŽPM: debug >>>>> AssociationGroupingsReport(supportedGroupings: 1) - description:zw device: 24, command: 8506, payload: 01  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž31β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549), isStateChange:true, displayed:true, linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž31β€Ž β€ŽPM: warn Captured zwave command ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž31β€Ž β€ŽPM: debug >>>>> ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) - description:zw device: 24, command: 7205, payload: 00 05 50 45 06 53  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž25β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null), isStateChange:true, displayed:true, linkText:Intermatic PE653] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž25β€Ž β€ŽPM: warn Captured zwave command ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null) 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž25β€Ž β€ŽPM: debug >>>>> ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null) - description:zw device: 24, command: 4305, payload: 41  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž23β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:spaSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 spa setpoint is 39Β°F] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž23β€Ž β€ŽPM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 7, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 07 09 27  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž22β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 pool setpoint is 39Β°F] 
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž22β€Ž β€ŽPM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 1, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 01 09 27  
  β€Ž4β€Ž:β€Ž48β€Ž:β€Ž19β€Ž β€ŽPM: debug <<<<< dly:1000/1000
<<<<< Event: [value:97, unit:F, name:temperature, isStateChange:false, displayed:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 temperature is 97Β°F] 

Any direction - any at all - would be appreciated. What else can I provide to help diagnose? Thanks in advance.

Some more logs with Debug=High

 5:18:42 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:0, displayed:true, name:powerlevel, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 powerlevel is 0]
 5:18:42 PM: debug >>>>> PowerlevelReport(powerLevel: 0, timeout: 0) - description:zw device: 24, command: 7303, payload: 00 00
 5:18:41 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:(switch5 set to off), linkText:Intermatic PE653]
 5:18:41 PM: trace CME: CANT'T FIND INSTANCE: 5 enabledEndpoints:null
 5:18:41 PM: debug ..... createMultipleEvents( instance:5, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:18:41 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 5, parameter: [0]) - description:zw device: 24, command: 6006, payload: 05 25 03 00
 5:18:40 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:(switch4 set to off), linkText:Intermatic PE653]
 5:18:40 PM: trace CME: CANT'T FIND INSTANCE: 4 enabledEndpoints:null
 5:18:40 PM: debug ..... createMultipleEvents( instance:4, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:18:40 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 4, parameter: [0]) - description:zw device: 24, command: 6006, payload: 04 25 03 00
 5:18:39 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:(switch3 set to off), linkText:Intermatic PE653]
 5:18:39 PM: trace CME: CANT'T FIND INSTANCE: 3 enabledEndpoints:null
 5:18:39 PM: debug ..... createMultipleEvents( instance:3, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:18:39 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 3, parameter: [0]) - description:zw device: 24, command: 6006, payload: 03 25 03 00
 5:18:38 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:(switch2 set to off), linkText:Intermatic PE653]
 5:18:38 PM: trace CME: CANT'T FIND INSTANCE: 2 enabledEndpoints:null
 5:18:38 PM: debug ..... createMultipleEvents( instance:2, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:18:38 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 2, parameter: [0]) - description:zw device: 24, command: 6006, payload: 02 25 03 00
 5:18:37 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:(switch1 set to off), linkText:Intermatic PE653]
 5:18:37 PM: trace CME: CANT'T FIND INSTANCE: 1 enabledEndpoints:null
 5:18:37 PM: debug ..... createMultipleEvents( instance:1, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:18:37 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 1, parameter: [0]) - description:zw device: 24, command: 6006, payload: 01 25 03 00
 5:18:36 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:epInfo, value:["10012527","100025","100025","100025","100025","100025","110025"], displayed:true, descriptionText:, isStateChange:false, linkText:Intermatic PE653]
 5:18:36 PM: trace createEndpointInfo(5) endpointCnt=7
 5:18:36 PM: debug >>>>> MultiInstanceReport(commandClass: 37, instances: 5, res11: false) - description:zw device: 24, command: 6005, payload: 25 05
 5:18:35 PM: debug <<<<< dly:1000/1000 No Commands or Events
 5:18:35 PM: debug >>>>> AssociationGroupingsReport(supportedGroupings: 1) - description:zw device: 24, command: 8506, payload: 01
 5:18:34 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"91":1,"25":1,"27":1,"20":1,"43":1,"31":1,"70":1,"81":1,"72":1,"86":1,"60":2,"73":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:34 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 145) - description:zw device: 24, command: 8614, payload: 91 01
 5:18:33 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"81":1,"72":1,"25":1,"86":1,"60":2,"73":1,"27":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:33 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 134) - description:zw device: 24, command: 8614, payload: 86 01
 5:18:32 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"25":1,"72":1,"81":1,"73":1,"60":2,"27":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:32 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 133) - description:zw device: 24, command: 8614, payload: 85 01
 5:18:31 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"81":1,"72":1,"25":1,"60":2,"73":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:31 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 129) - description:zw device: 24, command: 8614, payload: 81 01
 5:18:30 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"25":1,"72":1,"73":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:30 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 115) - description:zw device: 24, command: 8614, payload: 73 01
 5:18:29 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"72":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:29 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 114) - description:zw device: 24, command: 8614, payload: 72 01
 5:18:28 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"70":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:28 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 112) - description:zw device: 24, command: 8614, payload: 70 01
 5:18:27 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:27 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 2, requestedCommandClass: 96) - description:zw device: 24, command: 8614, payload: 60 02
 5:18:26 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"31":1,"25":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:26 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 67) - description:zw device: 24, command: 8614, payload: 43 01
 5:18:25 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"31":1,"25":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:25 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 49) - description:zw device: 24, command: 8614, payload: 31 01
 5:18:24 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"25":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:24 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 39) - description:zw device: 24, command: 8614, payload: 27 01
 5:18:23 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"25":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:23 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 37) - description:zw device: 24, command: 8614, payload: 25 01
 5:18:22 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:18:22 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 32) - description:zw device: 24, command: 8614, payload: 20 01
 5:18:20 PM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549), isStateChange:true, displayed:true, linkText:Intermatic PE653]
 5:18:20 PM: warn Captured zwave command ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549)
 5:18:20 PM: debug >>>>> ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) - description:zw device: 24, command: 7205, payload: 00 05 50 45 06 53
 5:18:11 PM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null), isStateChange:true, displayed:true, linkText:Intermatic PE653]
 5:18:11 PM: warn Captured zwave command ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null)
 5:18:11 PM: debug >>>>> ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null) - description:zw device: 24, command: 4305, payload: 41
 5:18:10 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:spaSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 spa setpoint is 39Β°F]
 5:18:10 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 7, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 07 09 27
 5:18:09 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 pool setpoint is 39Β°F]
 5:18:09 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 1, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 01 09 27
 5:18:08 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:98, unit:F, name:temperature, isStateChange:false, displayed:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 temperature is 98Β°F]
 5:18:08 PM: debug >>>>> SensorMultilevelReport(precision: 0, scale: 1, scaledSensorValue: 98, sensorType: 1, sensorValue: [98], size: 1) - description:zw device: 24, command: 3105, payload: 01 09 62
 5:18:07 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: SensorMultilevelGet() --> 3104, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 7) --> 430207, delay 1000
<<<<< Dev cmd: ThermostatSetpointSupportedGet() --> 4304, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 1) --> 700501, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 2) --> 700502, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 3) --> 700503, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 21) --> 700515, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 38) --> 700526, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 41) --> 700529, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 44) --> 70052C, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 47) --> 70052F, delay 1000
<<<<< Dev cmd: ManufacturerSpecificGet() --> 7204, delay 1000
<<<<< Dev cmd: VersionGet() --> 8611, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 32) --> 861320, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 37) --> 861325, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 39) --> 861327, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 49) --> 861331, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 67) --> 861343, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 96) --> 861360, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 112) --> 861370, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 114) --> 861372, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 115) --> 861373, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 129) --> 861381, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 133) --> 861385, delay 1000
<<<...[TRUNCATED]
 5:18:07 PM: trace delay instanceof physicalgraph.zwave.commands.associationv2.AssociationGroupingsGet
 5:18:07 PM: debug +++++ getVSPSpeed()
 5:18:07 PM: debug +++++ refresh()
 5:17:33 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:0, displayed:true, name:powerlevel, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 powerlevel is 0]
 5:17:33 PM: debug >>>>> PowerlevelReport(powerLevel: 0, timeout: 0) - description:zw device: 24, command: 7303, payload: 00 00
 5:17:32 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:(switch5 set to off), linkText:Intermatic PE653]
 5:17:32 PM: trace CME: CANT'T FIND INSTANCE: 5 enabledEndpoints:null
 5:17:32 PM: debug ..... createMultipleEvents( instance:5, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:17:32 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 5, parameter: [0]) - description:zw device: 24, command: 6006, payload: 05 25 03 00
 5:17:31 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:(switch4 set to off), linkText:Intermatic PE653]
 5:17:31 PM: trace CME: CANT'T FIND INSTANCE: 4 enabledEndpoints:null
 5:17:31 PM: debug ..... createMultipleEvents( instance:4, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:17:31 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 4, parameter: [0]) - description:zw device: 24, command: 6006, payload: 04 25 03 00
 5:17:30 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:(switch3 set to off), linkText:Intermatic PE653]
 5:17:30 PM: trace CME: CANT'T FIND INSTANCE: 3 enabledEndpoints:null
 5:17:30 PM: debug ..... createMultipleEvents( instance:3, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:17:30 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 3, parameter: [0]) - description:zw device: 24, command: 6006, payload: 03 25 03 00
 5:17:29 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:(switch2 set to off), linkText:Intermatic PE653]
 5:17:29 PM: trace CME: CANT'T FIND INSTANCE: 2 enabledEndpoints:null
 5:17:29 PM: debug ..... createMultipleEvents( instance:2, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:17:29 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 2, parameter: [0]) - description:zw device: 24, command: 6006, payload: 02 25 03 00
 5:17:28 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:(switch1 set to off), linkText:Intermatic PE653]
 5:17:28 PM: trace CME: CANT'T FIND INSTANCE: 1 enabledEndpoints:null
 5:17:28 PM: debug ..... createMultipleEvents( instance:1, cmdClass:37, cmdVal:3, externalParm:0, myParm:off)
 5:17:28 PM: debug >>>>> MultiInstanceCmdEncap(command: 3, commandClass: 37, instance: 1, parameter: [0]) - description:zw device: 24, command: 6006, payload: 01 25 03 00
 5:17:27 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:epInfo, value:["10012527","100025","100025","100025","100025","100025","110025"], displayed:true, descriptionText:, isStateChange:false, linkText:Intermatic PE653]
 5:17:27 PM: trace createEndpointInfo(5) endpointCnt=7
 5:17:27 PM: debug >>>>> MultiInstanceReport(commandClass: 37, instances: 5, res11: false) - description:zw device: 24, command: 6005, payload: 25 05
 5:17:26 PM: debug <<<<< dly:1000/1000 No Commands or Events
 5:17:26 PM: debug >>>>> AssociationGroupingsReport(supportedGroupings: 1) - description:zw device: 24, command: 8506, payload: 01
 5:17:25 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"91":1,"70":1,"25":1,"72":1,"81":1,"73":1,"60":2,"86":1,"27":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:25 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 145) - description:zw device: 24, command: 8614, payload: 91 01
 5:17:24 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"81":1,"72":1,"25":1,"86":1,"60":2,"73":1,"27":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:24 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 134) - description:zw device: 24, command: 8614, payload: 86 01
 5:17:23 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"25":1,"72":1,"81":1,"73":1,"60":2,"27":1,"85":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:23 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 133) - description:zw device: 24, command: 8614, payload: 85 01
 5:17:22 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"81":1,"72":1,"25":1,"60":2,"73":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:22 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 129) - description:zw device: 24, command: 8614, payload: 81 01
 5:17:21 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"25":1,"72":1,"73":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:21 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 115) - description:zw device: 24, command: 8614, payload: 73 01
 5:17:20 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"72":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:20 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 114) - description:zw device: 24, command: 8614, payload: 72 01
 5:17:19 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"70":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:19 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 112) - description:zw device: 24, command: 8614, payload: 70 01
 5:17:17 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"25":1,"60":2,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:17 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 2, requestedCommandClass: 96) - description:zw device: 24, command: 8614, payload: 60 02
 5:17:17 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"43":1,"25":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:16 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 67) - description:zw device: 24, command: 8614, payload: 43 01
 5:17:16 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"25":1,"27":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:16 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 39) - description:zw device: 24, command: 8614, payload: 27 01
 5:17:16 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"31":1,"25":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:16 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 49) - description:zw device: 24, command: 8614, payload: 31 01
 5:17:14 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1,"25":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:14 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 37) - description:zw device: 24, command: 8614, payload: 25 01
 5:17:13 PM: debug <<<<< dly:1000/1000
<<<<< Event: [name:ccVersions, value:{"20":1}, displayed:false, descriptionText:, isStateChange:true, linkText:Intermatic PE653]
 5:17:13 PM: debug >>>>> VersionCommandClassReport(commandClassVersion: 1, requestedCommandClass: 32) - description:zw device: 24, command: 8614, payload: 20 01
 5:17:10 PM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549), isStateChange:true, displayed:true, linkText:Intermatic PE653]
 5:17:10 PM: warn Captured zwave command ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549)
 5:17:10 PM: debug >>>>> ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549) - description:zw device: 24, command: 7205, payload: 00 05 50 45 06 53
 5:17:01 PM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null), isStateChange:true, displayed:true, linkText:Intermatic PE653]
 5:17:01 PM: warn Captured zwave command ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null)
 5:17:01 PM: debug >>>>> ThermostatSetpointSupportedReport(autoChangeover: null, cooling: null, dryAir: null, furnace: null, heating: null, moistAir: null, none: null) - description:zw device: 24, command: 4305, payload: 41
 5:17:00 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:spaSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 spa setpoint is 39Β°F]
 5:17:00 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 7, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 07 09 27
 5:16:59 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:39, unit:F, displayed:true, name:poolSetpoint, isStateChange:false, linkText:Intermatic PE653, descriptionText:Intermatic PE653 pool setpoint is 39Β°F]
 5:16:59 PM: debug >>>>> ThermostatSetpointReport(precision: 0, reserved01: 0, scale: 1, scaledValue: 39, setpointType: 1, size: 1, value: [39]) - description:zw device: 24, command: 4303, payload: 01 09 27
 5:16:58 PM: debug <<<<< dly:1000/1000
<<<<< Event: [value:98, unit:F, name:temperature, isStateChange:true, displayed:true, linkText:Intermatic PE653, descriptionText:Intermatic PE653 temperature is 98Β°F]
 5:16:58 PM: debug >>>>> SensorMultilevelReport(precision: 0, scale: 1, scaledSensorValue: 98, sensorType: 1, sensorValue: [98], size: 1) - description:zw device: 24, command: 3105, payload: 01 09 62
 5:16:58 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: SensorMultilevelGet() --> 3104, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 1) --> 430201, delay 1000
<<<<< Dev cmd: ThermostatSetpointGet(reserved01: 0, setpointType: 7) --> 430207, delay 1000
<<<<< Dev cmd: ThermostatSetpointSupportedGet() --> 4304, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 1) --> 700501, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 2) --> 700502, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 3) --> 700503, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 21) --> 700515, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 38) --> 700526, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 41) --> 700529, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 44) --> 70052C, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 47) --> 70052F, delay 1000
<<<<< Dev cmd: ManufacturerSpecificGet() --> 7204, delay 1000
<<<<< Dev cmd: VersionGet() --> 8611, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 32) --> 861320, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 37) --> 861325, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 39) --> 861327, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 49) --> 861331, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 67) --> 861343, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 96) --> 861360, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 112) --> 861370, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 114) --> 861372, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 115) --> 861373, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 129) --> 861381, delay 1000
<<<<< Dev cmd: VersionCommandClassGet(requestedCommandClass: 133) --> 861385, delay 1000
<<<...[TRUNCATED]
 5:16:58 PM: trace delay instanceof physicalgraph.zwave.commands.associationv2.AssociationGroupingsGet
 5:16:58 PM: debug +++++ getVSPSpeed()
 5:16:58 PM: debug +++++ refresh()
 5:16:39 PM: debug <<<<< dly:1000/1000
<<<<< Event: [descriptionText:Intermatic PE653: AssociationReport(groupingIdentifier: 1, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0), isStateChange:true, displayed:true, linkText:Intermatic PE653]
 5:16:39 PM: warn Captured zwave command AssociationReport(groupingIdentifier: 1, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0)
 5:16:39 PM: debug >>>>> AssociationReport(groupingIdentifier: 1, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0) - description:zw device: 24, command: 8503, payload: 01 05 00 01
 5:16:37 PM: debug <<<<< dly:1000/1000 No Commands or Events
 5:16:37 PM: debug >>>>> AssociationGroupingsReport(supportedGroupings: 1) - description:zw device: 24, command: 8506, payload: 01
 5:16:37 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: AssociationGroupingsGet() --> 8505, delay 1000
<<<<< Dev cmd: AssociationSet(groupingIdentifier: 1, nodeId: 1) --> 85010101, delay 1000
<<<<< Dev cmd: AssociationGet(groupingIdentifier: 1) --> 850201, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [1, 0], defaultValue: false, parameterNumber: 1, reserved11: 0, size: 2) --> 700401020100, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [1, 1, 0, 0], defaultValue: false, parameterNumber: 3, reserved11: 0, size: 4) --> 7004030401010000, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [2], defaultValue: false, parameterNumber: 19, reserved11: 0, size: 1) --> 7004130102, delay 1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [0], defaultValue: false, parameterNumber: 2, reserved11: 0, size: 1) --> 7004020100
 5:16:36 PM: trace delay instanceof physicalgraph.zwave.commands.associationv2.AssociationGroupingsGet
 5:16:36 PM: trace state=[scale:1, precision:0, ccVersions:[:], endpoints:5, endpointInfo:[10012527, 100025, 100025, 100025, 100025, 100025, 110025], groups:1, size:1]
 5:16:36 PM: debug +++++ configure()
 5:14:15 PM: debug <<<<< dly:1000/1000
<<<<< Dev cmd: ConfigurationSet(configurationValue: [255, 255, 255, 255], defaultValue: false, parameterNumber: 21, reserved11: 0, size: 4) --> 70041504FFFFFFFF, delay 1000
<<<<< Dev cmd: ConfigurationGet(parameterNumber: 21) --> 700515
 5:14:15 PM: debug <<<<< Event: [name:poolSpaMode, value:pool, isStateChange:true, displayed:true, descriptionText:(poolSpaMode set to pool), linkText:Intermatic PE653]
 5:14:15 PM: trace CME: CANT'T FIND INSTANCE: 6 enabledEndpoints:null

Did you then pair the 953 and 653? According to this, you see β€˜out of range’ until you do.

http://forum.micasaverde.com/index.php?topic=24372.0

As far as β€˜awareness’, I see a device handler for the remote in the ST configuration, but nothing in the app. You pair the remote as a secondary controller, so the z-wave will let the 953 and 653 β€˜see’ each other. That is about it.

No. I had the MiCasaVerde instructions right in front of me, but I neglected to do it. That made all the difference. I now have a good integration of all three pieces (PE653, PE953, ST).

This was just me being dumb - I completely forgot to install the multichannel app. That being said, I don’t understand the purpose. I have control through the DTH. Is the SmartApp necessary to expose the switch endpoints as ST controllable devices?

The net of it all is that I just said, β€œAlexa, turn on the waterfall”, and voila!.. water began flowing. :grinning:

A couple of other questions, about the DTH:

  1. The large top panel with the large temp, has up/down buttons. Are they supposed to do anything (mine don’t seem to)?

  2. In the DTH, 3rd bar down, slider labeled β€œPower 0”. What is that?

  3. Likewise, the bar below that is unlabeled. What is that?

@CAL7, congratulations! Love the waterfall action. Yes, the multichannel app is what exposes the endpoints. That’s why in the logs there were all those β€œcan’t find endpoint” messages. You should no longer have those once the multi-channel app is installed.

The Power and Speed sliders are two separate attempts at VSP control. If you don’t have one then just disregard. If you do, try each of those as well as endpoint 7 and let me know.

As I mentioned in the README, I have been unable to control the thermostat setpoints at all. The up/down arrows β€œshould” control these, if they worked. I will be curious if you or anyone has different experience, as it could be firmware related. Has anyone ever been able to control setpoints with any version of the bugpunk6 code, or version or firmware?

So far so good it seems. Anxious to hear feedback from @JDogg016 and @Barrett_Richardson. :slight_smile:

1 Like

Hey Keith,

For some reason, despite checking often, I missed your post! I am very excited to see this. I will try to crack into it tomorrow. The pool/spa is blowing my mind. There is a way to β€˜schedule’ pool mode and spa mode? Is there an equivalent that is done with the remote?

When your code sets the spa mode schedule all day, does the remote show β€˜spa’ and use the spa set point and engage the actuators linked to circuit 4?

I am also thinking that I will be trying to lift code to add to the driver I have, as I too have been extending.

Talk to you soon.

-Barrett

@Barrett_Richardson, yes there is a PS schedule on the 953. From the main screen, hold the P/S button to enter β€œSet time” mode. Then press Enter successively to step through the Circuit schedules: each page holds 3 schedules, and you can advance through 5 pages corresponding to the five circuits. For example, I have 10 hours a day on circuit 2 for my pump on low-speed. This is all documented in the standard manuals that come with the unit.

Here’s the magic though: if you advance one more page beyond circuit 5, you come to one more page for PS. This allows you to set 3 time ranges to enable Spa mode. This is NOT documented and I stumbled onto it just by exploring the remote in detail.

Interesting note: the documents that I found on the β€œpepper” site do not list the configuration command class β€œparameter pages” for these three pages. In fact, these documents show config page 19 (0x13) as something different altogether. This is what makes me suspect this may vary by firmware version. If I’m right, some of us may have different results on older firmware. On the other hand these discrepancies may pre-date anything any of us have. We are all on at least 3.x after all.

More cool pages: the Pepper document does describe 12 config pages (3 schedules * 4 Speeds) for VSP schedules. This is the basis of my β€œSpeed” control and endpoint 7. (FYI: the β€œPower” slider sends a β€œpowerLevel” command class Set, which the β€œmanufacturer config string” lists as a supported command class.

Well, let me know how it goes. I’m also anxious to hear about your own enhancements…

This is totally OT, but something that has puzzled me. I use the Spa programming for my suction cleaner (runs the same pump as pool mode, but throws a valve - basically uses the Spa logic but for a clean cycle). Here’s my question:

Of the three programming slots, I use #1; #2 is unused; and #3 can’t be cleared. I have set #3 as 12:00am/12:00am and it seems to be ignored. Anybody know what it’s for?