Z-Wave Multi Channel (PE653)

Hey HE 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 ST 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.

@keithriley I have a P5043ME
@CAL.hub. I believe you also have a P5043ME, right?
@JDogg016 Some type of P4xxx I believe?
@joshua Do you have an expansion mod? Please post a log (see below)

For anyone else, I could use as many as samples as possible. If you can help please post a log that results from clicking the updated button on the HE Device page for the Pool Control, and note what expansion module you have, if any.

Thanks everyone!

Yes, P5043ME.

Sorry, but I need more guidance on what to click.

EDIT: Ahh, see it. Log:

I have to be honest, this last driver release completely knocked it out the park. I have no issues and the driver, and responses to commands, work much better and quicker than prior versions.

Now in full confession, I never setup your M1-M4 automations as I relied upon RM for automations.

There are really few specifics I can give, but I can tell you that for the first time in about 8 months I was able to correctly adjust my actuator valves using your driver to tur on/off the spa.

Fantastic to hear that @JDogg016. When you get a chance please post the model of your expansion module, probably P4xxx or similar.

Thanks for the great feedback!

WANTED - Used PE653 pool controller…(with or without 953/enclosure/expansion)

Yes, I already have one, but I’d like to have a second for running tests and diagnostics without impacting my real pool. If you have decommissioned your PE653 or know of one out of use somewhere please let me know. I’ll pay a reasonable used price. As many of you know, I am trying to support two different platforms with this DTH, this would help.

Sorry for the delay. I have changed it from -1 to -2 and never saw a difference. I also clicked updated and get watertemp. Below is the screenshot and logs you asked for.

dev:2962020-06-10 04:49:31.301 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 1248 (updated)

dev:2962020-06-10 04:49:31.240 pm debugstate key: spaSetpointTemp, value: 0.0

dev:2962020-06-10 04:49:31.236 pm debugstate key: poolSetpointTemp, value: 0.0

dev:2962020-06-10 04:49:31.228 pm debugstate key: scale, value: 1

dev:2962020-06-10 04:49:31.205 pm debugstate key: lightCircuitsList, value: []

dev:2962020-06-10 04:49:31.202 pm debugstate key: precision, value: 1

dev:2962020-06-10 04:49:31.193 pm debugstate key: ManufacturerInfo, value: ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-10 04:49:31.178 pm debugstate key: VersionInfo, value: Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78

dev:2962020-06-10 04:49:31.146 pm debug+++++ updated() DTH:Ver 4.0.0 state.Versioninfo=Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78 state.ManufacturerInfo=ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-10 04:49:28.035 pm debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:swVSP2, value:on, isStateChange:true, displayed:true, descriptionText:swVSP2 set to on] <<<<< Event: [name:clock, value:16:46, displayed:false, descriptionText:PE653 Clock: 16:46]

dev:2962020-06-10 04:49:27.889 pm debug+++++ delayBetweenLog parm[13] dly=1000 responseFlg=true

dev:2962020-06-10 04:49:27.873 pm warnChild Device handler not found: 39-ep12: thermostatMode

dev:2962020-06-10 04:49:27.862 pm warnChild Device handler not found: 39-ep11: thermostatMode

dev:2962020-06-10 04:49:27.853 pm warnChild Device handler not found: 39-ep12: temperature

dev:2962020-06-10 04:49:27.842 pm warnChild Device handler not found: 39-ep11: temperature

dev:2962020-06-10 04:49:27.591 pm debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 00 00 00 01 00 00 01 56 57 00 10 2E 01 00 00 02 03 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

dev:2962020-06-10 04:49:26.730 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-10 04:49:26.709 pm warnChild Device handler not found: 39-ep12: thermostatOperatingState

dev:2962020-06-10 04:49:26.683 pm warnChild Device handler not found: 39-ep11: thermostatOperatingState

dev:2962020-06-10 04:49:26.678 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-10 04:49:26.657 pm warnChild Device handler not found: 39-ep12: thermostatOperatingState

dev:2962020-06-10 04:49:26.653 pm warnChild Device handler not found: 39-ep11: thermostatOperatingState

dev:2962020-06-10 04:49:26.643 pm debugManufacturerProprietary event, [1]:40 [4]:87 payload: 05 40 02 02 87 00 00 00 00 00 00 07 00 00 00 00 00 00 04 00 00 00 00 00 10 2E 01 01 00 00 20 00 00 00 00 00 00 00 00 00

dev:2962020-06-10 04:49:26.595 pm debugManufacturerProprietary event, [1]:40 [4]:87 payload: 05 40 02 02 87 00 00 00 00 00 00 07 00 00 00 00 00 00 04 00 00 00 00 00 10 2E 01 01 00 00 20 00 00 00 00 00 00 00 00 00

dev:2962020-06-10 04:49:25.376 pm debug<<<<< rspFlg=false dly:1000/1000 <<<<< Cmd to Device: MultiInstanceCmdEncap(command:1, commandClass:37, instance:5, parameter:[0]) --> 600605250100, delay 1000 <<<<< HubAction: 910005400102870301, delay 1000 <<<<< HubAction: 910005400101830101

dev:2962020-06-10 04:49:25.342 pm debug+++++ delayBetweenLog parm[3] dly=1000 responseFlg=false

dev:2962020-06-10 04:49:23.842 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 1248 (updated)

dev:2962020-06-10 04:49:23.818 pm debugstate key: spaSetpointTemp, value: 0.0

dev:2962020-06-10 04:49:23.815 pm debugstate key: poolSetpointTemp, value: 0.0

dev:2962020-06-10 04:49:23.810 pm debugstate key: scale, value: 1

dev:2962020-06-10 04:49:23.808 pm debugstate key: lightCircuitsList, value: []

dev:2962020-06-10 04:49:23.805 pm debugstate key: precision, value: 1

dev:2962020-06-10 04:49:23.802 pm debugstate key: ManufacturerInfo, value: ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-10 04:49:23.799 pm debugstate key: VersionInfo, value: Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78

dev:2962020-06-10 04:49:23.699 pm debug+++++ updated() DTH:Ver 4.0.0 state.Versioninfo=Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78 state.ManufacturerInfo=ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

HI Keith, not sure what you mean by "poll device page".
But using the buttons: POLL and UDATED on the device page I get this (below).
Cheers Bruce

dev:9932020-06-12 09:14:11.529 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:11.516 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:11.506 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:11.497 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:11.487 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:11.404 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:11.276 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:11.264 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:11.255 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:11.247 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:11.235 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:11.163 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:10.709 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:10.698 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:10.689 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:10.680 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:10.670 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:10.589 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:10.467 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:10.439 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:10.435 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:10.428 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:10.422 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:10.418 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:10.413 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:10.408 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:10.404 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:10.394 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:10.313 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:10.298 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:10.249 debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:airTempSolar, value:10, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-12 09:14:10.245 debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:airTempSolar, value:10, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-12 09:14:10.178 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:10.174 debug+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:10.167 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:10.163 warnChild Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-12 09:14:10.158 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:10.154 warnChild Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-12 09:14:10.149 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:10.145 warnChild Device handler not found: 19-ep12: temperature

dev:9932020-06-12 09:14:10.140 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:10.136 warnChild Device handler not found: 19-ep11: temperature

dev:9932020-06-12 09:14:10.062 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 03 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:10.058 debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 00 00 00 12 0A 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-12 09:14:08.584 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:08.195 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:08.110 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:07.179 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:07.150 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:06.949 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:06.024 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:06.021 debug+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

dev:9932020-06-12 09:14:01.608 debug<<<<< rspFlg=false dly:1000/1000 <<<<< Cmd to Device: ConfigurationSet(configurationValue:[1, 2], defaultValue:false, parameterNumber:1, reserved11:0, size:2) --> 700401020102, delay 1000 <<<<< Cmd to Device: ConfigurationSet(configurationValue:[0, 0, 0, 0], defaultValue:false, parameterNumber:3, reserved11:0, size:4) --> 7004030400000000, delay 1000 <<<<< Cmd to Device: ConfigurationSet(configurationValue:[255], defaultValue:false, parameterNumber:2, reserved11:0, size:1) --> 70040201FF, delay 1000 <<<<< Cmd to Device: ConfigurationSet(configurationValue:[0], defaultValue:false, parameterNumber:22, reserved11:0, size:1) --> 7004160100, delay 1000 <<<<< Cmd to Device: ConfigurationGet(parameterNumber:1) --> 700501, delay 1000 <<<<< Cmd to Device: ConfigurationGet(parameterNumber:2) --> 700502, delay 1000 <<<<< Cmd to Device: ConfigurationGet(parameterNumber:3) --> 700503, delay 1000 <<<<< Cmd to Device: ConfigurationGet(parameterNumber:22) --> 700516, delay 1000 <<<<< HubAction: 910005400102870301, delay 1000 <<<<< HubAction: 910005400101830101

dev:9932020-06-12 09:14:01.547 debug+++++ delayBetweenLog parm[10] dly=1000 responseFlg=false

dev:9932020-06-12 09:14:01.502 debugstate key: spaSetpointTemp, value: 0.0

dev:9932020-06-12 09:14:01.498 debugstate key: poolSetpointTemp, value: 0.0

dev:9932020-06-12 09:14:01.489 debugstate key: scale, value: 1

dev:9932020-06-12 09:14:01.482 debugstate key: lightCircuitsList, value:

dev:9932020-06-12 09:14:01.475 debugstate key: schedules, value:

dev:9932020-06-12 09:14:01.467 debugstate key: precision, value: 1

dev:9932020-06-12 09:14:01.413 debug+++++ updated() DTH:Ver 4.0.0 state.Versioninfo=null state.ManufacturerInfo=null

Thanks very much @ethelredkent , The differences in the ManufacturersProprietary responses are significant. The 84 message is shorter and the positions of key data is shifted, and there's isn't even an 87 message at all. I'll dig deeper and see where that leads.

No, thank you for doing this! Much appreciated.
Hopefully there is an easy fix.
Let me know if I can do anything else.
Cheers Bruce

Also, I was wondering if the Null clock set could cause the shift.

@aarony, this is odd. You are getting an error inside the updated() method, which explains why the commands are not being sent to the device. The error suggests that the "Preferences" are not actually being saved. Sorry to ask but, are you sure you clicked "Save Preferences" at the bottom of the Preferences section? Let's see if any of the preferences are set. Please find the line:

private List internalConfigure() {

which should be close to line 1248. Then add the following line immediately below it:

log("DEBUG", "+++++ internalConfigure()    operationMode1=$operationMode1 operationMode2=$operationMode2 tempOffsetwater=$tempOffsetwater tempOffsetair=$tempOffsetair fireman=$fireman poolSpa1=$poolSpa1")

The please rerun this test and post the results.

Also, please tell me if you have an expansion module, and if so what model it is (eg:P4243)

What did you mean Null clock shift? I am seeing a 2 byte shift that weirdly puts the firmware version in the "wrong" place that seems like I must be looking at it wrong somehow...

Also, I'm not seeing anything anywhere close to a water temperature, assuming the temp is not 10 degrees. Does your 953 remote show a good temperature?

Do you have any expansion module? I doubt it given the setup you described.

I just meant that the clock is not set and shows a time of 00:00. I just wondered if that could cause problems. Please understand that I do not know what I am talking about. Pure uniformed speculation.
Right, even my pool in B.C. Canada is a little warmer than 10 degrees :-). I also see nothing reasonable for the temperature.
Initially, I did set up the 953 but it seemed to cause problems so It is not paired right now. (It used to show the correct temperature.) I could try it again now that the z-wave is working properly. I will have no particular use for the remote if Hubitat works.

I do not have an expansion module.

When I turn on pump 2 position 7 changes from 0 to 2 and back to 0 when I turn it off.

manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, -46, 0, 0, 4, 26, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]
manProp1 : [5, 64, 2, 1, -124, 0, 2, 0, 0, 1, -61, 0, 0, 4, 24, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]
manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, -46, 0, 0, 4, 26, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]

Bruce, Here's a couple more questions and a few things you can do to help. What you did with the before/after on the pump was perfect! That shows already that the switch position is 2 bytes left of where it is in v3.4. It looks like something is changing in position 11 at the same time, and in pos 15. This kind of painstaking comparison is what it takes to reverse engineer these undocumented messages. Here are a few more questions and requests:

  1. If you could begin collecting these over a period of hours and days, this will be the best way to figure out where the temperature is reported....
  2. You mentioned that you don't use your 953, but if you could get it also paired I think we could learn a few more things from this. It would be easier to compare the 953 temperature with what you see in the manProp1 string.
  3. Is there any chance your temperatures are in C? I haven't seen evidence that the 653 supports that, but I have seen where SmartThings sometimes reports them in C, which is confusing. Just checking.
  4. Note that the ManProp1 is a list of decimal integers whereas the logs report these messages as hex bytes, so this can be confusing. I am fine with either. The manProp1 is probably easier for you to monitor because you can see them in the Hubitat UI. (Note that a negative number is just a byte greater than 0x80).
  5. You may need to change the pump on/off to ensure the mapProp1 gets updated.
  6. Also please set the Debug level to "High" and capture a log when you hit the Updated button. Then you can set it right back to Low, as it is quite noisy. Please post that log. Seems like a log of the logging is missing and this will help me see why.
  7. What temperature sensors do you have? Both water and air?

Thanks Bruce!

Sounds like a plan Keith. I will work on this in the AM. There was no air temp sensor so I added one today. However, I did not get any meaningful results,
I am not sure if it C. or F., I assume F. The 953 should tell us.
Cheers Bruce

Hi Keith, below is the verbose log with pump switch 2 running.

I hooked up the 953 and everything is still working although it seems to be taking a little longer to switch SW2.
Strangely there is no temperature showing on the 953. So I am wondering if the sensor is defective. I am investigating this as best I can. I set the clock to the right time but it still does not show up in Hubitat.

It looks from the log that the temp. is supposed to be in F.

Nice to know why there was a negative in Manprop1

This log is for the sensors wired to Water and Solar Air. Ie position 3,4 and 5,6. I tried to hook a different sensor up to position 1,2 for a test but the tiny little screw came out and was eaten by the wire chase. As soon as I get another screw I will hook up the third sensor, (The water temp sensor was originally and still is wired to position 3,4. It was showing a correct reading on the PE953)
Cheers Bruce

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.170 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=true dly:1000/1000 No Commands or Events

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.167 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:clock evt: "00:00" ==> dev:(00:00)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.164 [ **trace** ](http://192.168.178.103/device/edit/993) - 8: Map: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.160 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.157 [ **trace** ](http://192.168.178.103/device/edit/993)cmd8: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.154 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:airTempSolar evt: "55" ==> dev:(55)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.151 [ **trace** ](http://192.168.178.103/device/edit/993) - 7: Map: [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.147 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.144 [ **trace** ](http://192.168.178.103/device/edit/993)cmd7: [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.141 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:airTempFreeze evt: "15" ==> dev:(15)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.138 [ **trace** ](http://192.168.178.103/device/edit/993) - 6: Map: [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.134 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.131 [ **trace** ](http://192.168.178.103/device/edit/993)cmd6: [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.128 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:temperature evt: "0" ==> dev:(0)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.125 [ **trace** ](http://192.168.178.103/device/edit/993) - 5: Map: [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.121 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.118 [ **trace** ](http://192.168.178.103/device/edit/993)cmd5: [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.115 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch5 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.112 [ **trace** ](http://192.168.178.103/device/edit/993) - 4: Map: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.108 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.105 [ **trace** ](http://192.168.178.103/device/edit/993)cmd4: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.101 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch4 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.098 [ **trace** ](http://192.168.178.103/device/edit/993) - 3: Map: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.095 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.091 [ **trace** ](http://192.168.178.103/device/edit/993)cmd3: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.088 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch3 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.085 [ **trace** ](http://192.168.178.103/device/edit/993) - 2: Map: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.082 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.078 [ **trace** ](http://192.168.178.103/device/edit/993)cmd2: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.075 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch2 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.072 [ **trace** ](http://192.168.178.103/device/edit/993) - 1: Map: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.068 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.065 [ **trace** ](http://192.168.178.103/device/edit/993)cmd1: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.061 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch1 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.058 [ **trace** ](http://192.168.178.103/device/edit/993) - 0: Map: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.054 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.050 [ **trace** ](http://192.168.178.103/device/edit/993)cmd0: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.047 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.017 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep12: thermostatMode

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.014 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:null, attrID:16, extAttr:thermostatMode, extEPNum:12, localVal:null, extVal:off) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.005 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep11: thermostatMode

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:06.002 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:null, attrID:15, extAttr:thermostatMode, extEPNum:11, localVal:null, extVal:heat) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.993 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep12: temperature

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.990 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:temperature, attrID:12, extAttr:temperature, extEPNum:12, localVal:unknown, extVal:unknown) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.981 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep11: temperature

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.978 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:temperature, attrID:11, extAttr:temperature, extEPNum:11, localVal:0, extVal:0) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.968 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ getWaterTempEvents temp=0 poolSpaMode=

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.965 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep5:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.959 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch5, attrID:5, extAttr:switch, extEPNum:5, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 5

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.949 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep4:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.943 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch4, attrID:4, extAttr:switch, extEPNum:4, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 4

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.932 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep3:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.926 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch3, attrID:3, extAttr:switch, extEPNum:3, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 3

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.916 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep2:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.909 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch2, attrID:2, extAttr:switch, extEPNum:2, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 2

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.899 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep1:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.893 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch1, attrID:1, extAttr:switch, extEPNum:1, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 1

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.882 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ process84Event payload: [5, 64, 2, 1, -124, 0, 2, 0, 0, 1, 0, 0, 0, 15, 55, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.877 [ **debug** ](http://192.168.178.103/device/edit/993)ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 02 00 00 01 00 00 00 0F 37 00 00 00 00 03 01 00 00 00 00 00 

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.873 [ **trace** ](http://192.168.178.103/device/edit/993)>>>>> Incoming: [zw device: 19, command: 9100, payload: 05 40 02 01 84 00 02 00 00 01 00 00 00 0F 37 00 00 00 00 03 01 00 00 00 00 00 , isMulticast: false]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.302 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=true dly:1000/1000 No Commands or Events

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.298 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:clock evt: "00:00" ==> dev:(00:00)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.295 [ **trace** ](http://192.168.178.103/device/edit/993) - 8: Map: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.291 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.287 [ **trace** ](http://192.168.178.103/device/edit/993)cmd8: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.284 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:airTempSolar evt: "55" ==> dev:(55)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.280 [ **trace** ](http://192.168.178.103/device/edit/993) - 7: Map: [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.276 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.273 [ **trace** ](http://192.168.178.103/device/edit/993)cmd7: [name:airTempSolar, value:55, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.269 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:airTempFreeze evt: "15" ==> dev:(15)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.266 [ **trace** ](http://192.168.178.103/device/edit/993) - 6: Map: [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.262 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.258 [ **trace** ](http://192.168.178.103/device/edit/993)cmd6: [name:airTempFreeze, value:15, unit:F, displayed:true, isStateChange:true]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.255 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:temperature evt: "0" ==> dev:(0)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.251 [ **trace** ](http://192.168.178.103/device/edit/993) - 5: Map: [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.248 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.244 [ **trace** ](http://192.168.178.103/device/edit/993)cmd5: [name:temperature, value:0, isStateChange:true, displayed:true, descriptionText:temperature set to 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.240 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch5 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.237 [ **trace** ](http://192.168.178.103/device/edit/993) - 4: Map: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.233 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.230 [ **trace** ](http://192.168.178.103/device/edit/993)cmd4: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.226 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch4 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.223 [ **trace** ](http://192.168.178.103/device/edit/993) - 3: Map: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.219 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.216 [ **trace** ](http://192.168.178.103/device/edit/993)cmd3: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.212 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch3 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.209 [ **trace** ](http://192.168.178.103/device/edit/993) - 2: Map: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.205 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.202 [ **trace** ](http://192.168.178.103/device/edit/993)cmd2: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.198 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch2 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.195 [ **trace** ](http://192.168.178.103/device/edit/993) - 1: Map: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.191 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.187 [ **trace** ](http://192.168.178.103/device/edit/993)cmd1: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.184 [ **debug** ](http://192.168.178.103/device/edit/993) Event unnecessary. name:switch1 evt: "off" ==> dev:(off)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.180 [ **trace** ](http://192.168.178.103/device/edit/993) - 0: Map: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.177 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.173 [ **trace** ](http://192.168.178.103/device/edit/993)cmd0: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.168 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.153 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep12: thermostatMode

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.149 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:null, attrID:16, extAttr:thermostatMode, extEPNum:12, localVal:null, extVal:off) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.138 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep11: thermostatMode

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.134 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:null, attrID:15, extAttr:thermostatMode, extEPNum:11, localVal:null, extVal:heat) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.124 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep12: temperature

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.121 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:temperature, attrID:12, extAttr:temperature, extEPNum:12, localVal:unknown, extVal:unknown) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.110 [ **warn** ](http://192.168.178.103/device/edit/993)Child Device handler not found: 19-ep11: temperature

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.107 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:temperature, attrID:11, extAttr:temperature, extEPNum:11, localVal:0, extVal:0) devObj = null

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.095 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ getWaterTempEvents temp=0 poolSpaMode=

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.092 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep5:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.084 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch5, attrID:5, extAttr:switch, extEPNum:5, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 5

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.072 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep4:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.066 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch4, attrID:4, extAttr:switch, extEPNum:4, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 4

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.055 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep3:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.049 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch3, attrID:3, extAttr:switch, extEPNum:3, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 3

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.020 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep2:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.013 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch2, attrID:2, extAttr:switch, extEPNum:2, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 2

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:05.000 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< Child Event unnecessary. name:19-ep1:switch attr already was: "off" same as: "off"

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:04.994 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ createMultipleEvents( localAttr:switch1, attrID:1, extAttr:switch, extEPNum:1, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 1

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:04.980 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ process84Event payload: [5, 64, 2, 1, -124, 0, 2, 0, 0, 1, 0, 0, 0, 15, 55, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:04.975 [ **debug** ](http://192.168.178.103/device/edit/993)ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 02 00 00 01 00 00 00 0F 37 00 00 00 00 03 01 00 00 00 00 00 

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:04.972 [ **trace** ](http://192.168.178.103/device/edit/993)>>>>> Incoming: [zw device: 19, command: 9100, payload: 05 40 02 01 84 00 02 00 00 01 00 00 00 0F 37 00 00 00 00 03 01 00 00 00 00 00 , isMulticast: false]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:02.969 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=true dly:1000/1000 No Commands or Events

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:02.966 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:02.964 [ **debug** ](http://192.168.178.103/device/edit/993)----- ConfigurationReport(configurationValue:[0, 0, 0, 0], parameterNumber:3, size:4) - description:zw device: 19, command: 7006, payload: 03 04 00 00 00 00 , isMulticast: false 

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:02.958 [ **trace** ](http://192.168.178.103/device/edit/993)>>>>> Incoming: [zw device: 19, command: 7006, payload: 03 04 00 00 00 00 , isMulticast: false]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:01.679 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=true dly:1000/1000 No Commands or Events

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:01.676 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:01.673 [ **debug** ](http://192.168.178.103/device/edit/993)----- ConfigurationReport(configurationValue:[255], parameterNumber:2, size:1) - description:zw device: 19, command: 7006, payload: 02 01 FF , isMulticast: false 

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:01.668 [ **trace** ](http://192.168.178.103/device/edit/993)>>>>> Incoming: [zw device: 19, command: 7006, payload: 02 01 FF , isMulticast: false]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:00.885 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=true dly:1000/1000 No Commands or Events

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:00.882 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[0] dly=1000 responseFlg=true

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:00.874 [ **debug** ](http://192.168.178.103/device/edit/993)----- ConfigurationReport(configurationValue:[1, 2], parameterNumber:1, size:2) - description:zw device: 19, command: 7006, payload: 01 02 01 02 , isMulticast: false 

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:56:00.819 [ **trace** ](http://192.168.178.103/device/edit/993)>>>>> Incoming: [zw device: 19, command: 7006, payload: 01 02 01 02 , isMulticast: false]

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.188 [ **debug** ](http://192.168.178.103/device/edit/993)<<<<< rspFlg=false dly:1000/1000

<<<<< Cmd to Device: ConfigurationSet(configurationValue:[1, 2], defaultValue:false, parameterNumber:1, reserved11:0, size:2) --> 700401020102, delay 1000

<<<<< Cmd to Device: ConfigurationSet(configurationValue:[0, 0, 0, 0], defaultValue:false, parameterNumber:3, reserved11:0, size:4) --> 7004030400000000, delay 1000

<<<<< Cmd to Device: ConfigurationSet(configurationValue:[255], defaultValue:false, parameterNumber:2, reserved11:0, size:1) --> 70040201FF, delay 1000

<<<<< Cmd to Device: ConfigurationSet(configurationValue:[0], defaultValue:false, parameterNumber:22, reserved11:0, size:1) --> 7004160100, delay 1000

<<<<< Cmd to Device: ConfigurationGet(parameterNumber:1) --> 700501, delay 1000

<<<<< Cmd to Device: ConfigurationGet(parameterNumber:2) --> 700502, delay 1000

<<<<< Cmd to Device: ConfigurationGet(parameterNumber:3) --> 700503, delay 1000

<<<<< Cmd to Device: ConfigurationGet(parameterNumber:22) --> 700516, delay 1000

<<<<< HubAction: 910005400102870301, delay 1000

<<<<< HubAction: 910005400101830101

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.183 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> 910005400101830101

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.179 [ **trace** ](http://192.168.178.103/device/edit/993)cmd9: 910005400101830101

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.176 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> 910005400102870301

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.172 [ **trace** ](http://192.168.178.103/device/edit/993)cmd8: 910005400102870301

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.167 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationGet(parameterNumber:22)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.162 [ **trace** ](http://192.168.178.103/device/edit/993)cmd7: ConfigurationGet(parameterNumber:22)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.158 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationGet(parameterNumber:3)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.155 [ **trace** ](http://192.168.178.103/device/edit/993)cmd6: ConfigurationGet(parameterNumber:3)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.151 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationGet(parameterNumber:2)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.147 [ **trace** ](http://192.168.178.103/device/edit/993)cmd5: ConfigurationGet(parameterNumber:2)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.144 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationGet(parameterNumber:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.140 [ **trace** ](http://192.168.178.103/device/edit/993)cmd4: ConfigurationGet(parameterNumber:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.136 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationSet(configurationValue:[0], defaultValue:false, parameterNumber:22, reserved11:0, size:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.132 [ **trace** ](http://192.168.178.103/device/edit/993)cmd3: ConfigurationSet(configurationValue:[0], defaultValue:false, parameterNumber:22, reserved11:0, size:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.128 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationSet(configurationValue:[255], defaultValue:false, parameterNumber:2, reserved11:0, size:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.124 [ **trace** ](http://192.168.178.103/device/edit/993)cmd2: ConfigurationSet(configurationValue:[255], defaultValue:false, parameterNumber:2, reserved11:0, size:1)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.108 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationSet(configurationValue:[0, 0, 0, 0], defaultValue:false, parameterNumber:3, reserved11:0, size:4)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.099 [ **trace** ](http://192.168.178.103/device/edit/993)cmd1: ConfigurationSet(configurationValue:[0, 0, 0, 0], defaultValue:false, parameterNumber:3, reserved11:0, size:4)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.095 [ **trace** ](http://192.168.178.103/device/edit/993) - l -> ConfigurationSet(configurationValue:[1, 2], defaultValue:false, parameterNumber:1, reserved11:0, size:2)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.091 [ **trace** ](http://192.168.178.103/device/edit/993)cmd0: ConfigurationSet(configurationValue:[1, 2], defaultValue:false, parameterNumber:1, reserved11:0, size:2)

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:56.058 [ **debug** ](http://192.168.178.103/device/edit/993)+++++ delayBetweenLog parm[10] dly=1000 responseFlg=false

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.992 [ **debug** ](http://192.168.178.103/device/edit/993)state key: spaSetpointTemp, value: 0.0

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.989 [ **debug** ](http://192.168.178.103/device/edit/993)state key: poolSetpointTemp, value: 0.0

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.977 [ **debug** ](http://192.168.178.103/device/edit/993)state key: scale, value: 1

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.970 [ **debug** ](http://192.168.178.103/device/edit/993)state key: lightCircuitsList, value: []

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.962 [ **debug** ](http://192.168.178.103/device/edit/993)state key: schedules, value: []

[dev:993](http://192.168.178.103/logs#dev993)2020-06-15 15:55:55.955 [ **debug** ](http://192.168.178.103/device/edit/993)state key: precision, value: 1

LOL..yes I did save my preferences many times. I'm not sure what you mean by expansion module. I don't think I do. i have basic unit with a VSP pump, light, and boaster pump (cleaner).

Here is what I did.

-added you code on line 1239 and saved it.
-changed water temp to 0 and saved.
-clicked on get water temp
-changed to -2 saved
-clicked get water temp

here are the logs:

dev:2962020-06-17 01:51:32.248 pm debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:swVSP4, value:on, isStateChange:true, displayed:true, descriptionText:swVSP4 set to on] <<<<< Event: [name:clock, value:13:48, displayed:false, descriptionText:PE653 Clock: 13:48]

dev:2962020-06-17 01:51:31.952 pm debug+++++ delayBetweenLog parm[13] dly=1000 responseFlg=true

dev:2962020-06-17 01:51:31.909 pm warnChild Device handler not found: 39-ep12: thermostatMode

dev:2962020-06-17 01:51:31.886 pm warnChild Device handler not found: 39-ep11: thermostatMode

dev:2962020-06-17 01:51:31.863 pm warnChild Device handler not found: 39-ep12: temperature

dev:2962020-06-17 01:51:31.840 pm warnChild Device handler not found: 39-ep11: temperature

dev:2962020-06-17 01:51:31.369 pm debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 00 00 00 05 00 00 01 57 57 00 0D 30 01 00 00 08 03 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

dev:2962020-06-17 01:51:30.483 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-17 01:51:30.447 pm warnChild Device handler not found: 39-ep12: thermostatOperatingState

dev:2962020-06-17 01:51:30.424 pm warnChild Device handler not found: 39-ep11: thermostatOperatingState

dev:2962020-06-17 01:51:30.360 pm debugManufacturerProprietary event, [1]:40 [4]:87 payload: 05 40 02 02 87 00 00 00 00 00 00 07 00 00 00 00 00 00 04 00 00 00 00 00 0D 30 01 01 00 00 20 00 00 00 00 00 00 00 00 00

dev:2962020-06-17 01:51:29.571 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-17 01:51:29.566 pm warnChild Device handler not found: 39-ep12: thermostatMode

dev:2962020-06-17 01:51:29.511 pm warnChild Device handler not found: 39-ep11: thermostatMode

dev:2962020-06-17 01:51:29.480 pm warnChild Device handler not found: 39-ep12: temperature

dev:2962020-06-17 01:51:29.431 pm warnChild Device handler not found: 39-ep11: temperature

dev:2962020-06-17 01:51:29.363 pm debug+++++ SensorMultilevelReport value=87 unit=1

dev:2962020-06-17 01:51:29.105 pm debug<<<<< rspFlg=false dly:1000/1000 <<<<< Cmd to Device: SensorMultilevelGet() --> 3104, delay 1000 <<<<< HubAction: 910005400102870301, delay 1000 <<<<< HubAction: 910005400101830101

dev:2962020-06-17 01:51:29.092 pm debug+++++ delayBetweenLog parm[3] dly=1000 responseFlg=false

dev:2962020-06-17 01:51:29.088 pm debug+++++ getWaterTemp()

dev:2962020-06-17 01:51:29.085 pm debug+++++ quickGetWaterTemp

dev:2962020-06-17 01:51:11.559 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 1249 (updated)

dev:2962020-06-17 01:51:11.551 pm debug+++++ internalConfigure() operationMode1=6 operationMode2=5 tempOffsetwater=-2 tempOffsetair=0 fireman=null poolSpa1=0

dev:2962020-06-17 01:51:11.545 pm debugstate key: spaSetpointTemp, value: 0.0

dev:2962020-06-17 01:51:11.541 pm debugstate key: poolSetpointTemp, value: 0.0

dev:2962020-06-17 01:51:11.537 pm debugstate key: scale, value: 1

dev:2962020-06-17 01:51:11.523 pm debugstate key: lightCircuitsList, value: []

dev:2962020-06-17 01:51:11.466 pm debugstate key: precision, value: 1

dev:2962020-06-17 01:51:11.461 pm debugstate key: ManufacturerInfo, value: ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-17 01:51:11.456 pm debugstate key: VersionInfo, value: Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78

dev:2962020-06-17 01:51:11.387 pm debug+++++ updated() DTH:Ver 4.0.0 state.Versioninfo=Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78 state.ManufacturerInfo=ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-17 01:50:46.262 pm debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:swVSP4, value:on, isStateChange:true, displayed:true, descriptionText:swVSP4 set to on] <<<<< Event: [name:airTempFreeze, value:87, unit:F, displayed:true, isStateChange:true] <<<<< Event: [name:clock, value:13:47, displayed:false, descriptionText:PE653 Clock: 13:47]

dev:2962020-06-17 01:50:45.943 pm debug+++++ delayBetweenLog parm[13] dly=1000 responseFlg=true

dev:2962020-06-17 01:50:45.889 pm warnChild Device handler not found: 39-ep12: thermostatMode

dev:2962020-06-17 01:50:45.864 pm warnChild Device handler not found: 39-ep11: thermostatMode

dev:2962020-06-17 01:50:45.838 pm warnChild Device handler not found: 39-ep12: temperature

dev:2962020-06-17 01:50:45.814 pm warnChild Device handler not found: 39-ep11: temperature

dev:2962020-06-17 01:50:45.354 pm debugManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 02 84 00 00 00 05 00 00 01 57 57 00 0D 2F 01 00 00 08 03 04 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

dev:2962020-06-17 01:50:44.816 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-17 01:50:44.765 pm warnChild Device handler not found: 39-ep12: thermostatOperatingState

dev:2962020-06-17 01:50:44.673 pm warnChild Device handler not found: 39-ep11: thermostatOperatingState

dev:2962020-06-17 01:50:44.535 pm debugManufacturerProprietary event, [1]:40 [4]:87 payload: 05 40 02 02 87 00 00 00 00 00 00 07 00 00 00 00 00 00 04 00 00 00 00 00 0D 2F 01 01 00 00 20 00 00 00 00 00 00 00 00 00

dev:2962020-06-17 01:50:43.680 pm debug<<<<< rspFlg=true dly:1000/1000 <<<<< Event: [name:temperature, value:87, isStateChange:true, displayed:true, descriptionText:temperature set to 87]

dev:2962020-06-17 01:50:43.635 pm debug+++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:2962020-06-17 01:50:43.615 pm warnChild Device handler not found: 39-ep12: thermostatMode

dev:2962020-06-17 01:50:43.586 pm warnChild Device handler not found: 39-ep11: thermostatMode

dev:2962020-06-17 01:50:43.556 pm warnChild Device handler not found: 39-ep12: temperature

dev:2962020-06-17 01:50:43.508 pm warnChild Device handler not found: 39-ep11: temperature

dev:2962020-06-17 01:50:43.385 pm debug+++++ SensorMultilevelReport value=87 unit=1

dev:2962020-06-17 01:50:43.066 pm debug<<<<< rspFlg=false dly:1000/1000 <<<<< Cmd to Device: SensorMultilevelGet() --> 3104, delay 1000 <<<<< HubAction: 910005400102870301, delay 1000 <<<<< HubAction: 910005400101830101

dev:2962020-06-17 01:50:43.029 pm debug+++++ delayBetweenLog parm[3] dly=1000 responseFlg=false

dev:2962020-06-17 01:50:42.977 pm debug+++++ getWaterTemp()

dev:2962020-06-17 01:50:42.973 pm debug+++++ quickGetWaterTemp

dev:2962020-06-17 01:49:48.590 pm errorjava.lang.NullPointerException: Cannot invoke method toInteger() on null object on line 1249 (updated)

dev:2962020-06-17 01:49:48.504 pm debug+++++ internalConfigure() operationMode1=6 operationMode2=5 tempOffsetwater=0 tempOffsetair=0 fireman=null poolSpa1=0

dev:2962020-06-17 01:49:48.493 pm debugstate key: spaSetpointTemp, value: 0.0

dev:2962020-06-17 01:49:48.460 pm debugstate key: poolSetpointTemp, value: 0.0

dev:2962020-06-17 01:49:48.437 pm debugstate key: scale, value: 1

dev:2962020-06-17 01:49:48.420 pm debugstate key: lightCircuitsList, value: []

dev:2962020-06-17 01:49:48.410 pm debugstate key: precision, value: 1

dev:2962020-06-17 01:49:48.405 pm debugstate key: ManufacturerInfo, value: ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

dev:2962020-06-17 01:49:48.388 pm debugstate key: VersionInfo, value: Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78

dev:2962020-06-17 01:49:48.223 pm debug+++++ updated() DTH:Ver 4.0.0 state.Versioninfo=Versions: Firmware v3.4 DTH: Ver 4.0.0 zWaveLibraryType: 6 zWaveProtocol: v2.78 state.ManufacturerInfo=ManufacturerInfo: manufacturerId: 5, manufacturerName: Intermatic, productId: 1619, productTypeId: 20549

Hi Keith,

Since I was not getting any meaningful results from my 2 main sensors air and water I decided to check the sensors. Turns out neither one was working properly, I replaced them both with a couple of cheap sensors for testing and can report that:

  • the pool temp sensor is at position 11
  • the air temp sensor is position 13

manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, 70, 0, 0, 16, 44, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]
pool temp 70 air temp 0

manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, 69, 0, 73, 17, 6, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]
pool temp 69 air temp 73

manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, 82, 0, 72, 17, 14, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]
pool temp 82 air temp 72

  • the PE953 is now displaying the correct pool temp i.e. position 11

However the "current states" data is incorrect for air, freeze and pool.

  • airTempFreeze : 19
  • airTempSolar : 43
  • clock : 00:00
  • poolSpaMode : disabled
  • swVSP1 : disabled
  • swVSP2 : disabled
  • swVSP3 : disabled
  • swVSP4 : disabled
  • switch : off
  • switch1 : off
  • switch2 : off
  • switch3 : off
  • switch4 : off
  • switch5 : off
  • temperature : 76

The temperature displayed is the "Air temp" not the "Pool temp:"
No idea what the

  • airTempFreeze : 19
  • airTempSolar : 43 data is.

Likewise the Dashboard is showing the air temp and not the pool temp.

Current States

  • airTempFreeze : 19
  • airTempSolar : 43
  • clock : 00:00
  • poolSpaMode : disabled
  • swVSP1 : disabled
  • swVSP2 : disabled
  • swVSP3 : disabled
  • swVSP4 : disabled
  • switch : off
  • switch1 : off
  • switch2 : off
  • switch3 : off
  • switch4 : off
  • switch5 : off
  • temperature : 76

So, it looks to me like the only problem is, as you surmised earlier, a shift in data.

I will try to figure out the "freeze temp" position tomorrow.

Hope this helps.

Cheers Bruce

HI Keith,

The airTempFreeze is, as suspected, at position 12 of the manProp.

manProp1 : [5, 64, 2, 1, -124, 0, 0, 0, 0, 1, 73, 74, 0, 16, 8, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0] pool temp 73 freeze temp 73

2020-06-18 16:12:32.981 [ debug ]ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 00 00 00 00 01 4A 4B 00 10 0C 00 00 00 00 03 01 00 00 00 00 00

The temperatures do not update on their own but need a "poll "or "quickgetwatertemp" for a current reading.
I have observed that the water temp is displayed for a couple of seconds in the "current states" / dashboard. It is then overwritten by the "airtemp"

Just to recap the manprop positions -
Pool switch : 7
airTempFreeze : 12
airTempSolar : 13
waterTemp : 11

Is there anything else that you would like me to do?

Cheers Bruce

HI Keith,
just one more log and comments.
Initially, the DTH reads the correct water temperature (61) and moves it to the "temperature". This can be seen in the Current States for a few seconds,
Subsequently it get changed to (63) which is the "air temp" which then gets moved to the "temperature" variable, which is where it screws up. I think this has something to do with the "poolspa" setting which seems to have a different Manprop1 definition.
It is also taking the Clock/Time from the wrong position of manprop1,
In Current states it has changed the air and freeze temps to Time. ie

  • airTempFreeze : 6
  • airTempSolar : 30
    This is the correct time ie 6:30.

Cheers Bruce

dev:9932020-06-21 06:21:01.498 debug +++++ createMultipleEvents( localAttr:switch1, attrID:1, extAttr:switch, extEPNum:1, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 1

dev:9932020-06-21 06:21:01.494 debug <<<<< rspFlg=true dly:1000/1000

<<<<< Event: [name:temperature, value:63, isStateChange:true, displayed:true, descriptionText:temperature set to 63]

<<<<< Event: [name:airTempFreeze, value:6, unit:F, displayed:true, isStateChange:true]

<<<<< Event: [name:airTempSolar, value:20, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.487 debug +++++ process84Event payload: [5, 64, 2, 1, -124, -1, 0, 0, 0, 1, 61, 0, 63, 6, 20, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]

dev:9932020-06-21 06:21:01.483 debug Event unnecessary. name:clock evt: "00:00" ==> dev:(00:00)

dev:9932020-06-21 06:21:01.468 debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 FF 00 00 00 01 3D 00 3F 06 14 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-21 06:21:01.464 trace >>>>> Incoming: [zw device: 19, command: 9100, payload: 05 40 02 01 84 FF 00 00 00 01 3D 00 3F 06 14 00 00 00 00 03 01 00 00 00 00 00 , isMulticast: false]

dev:9932020-06-21 06:21:01.460 trace - 8: Map: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

dev:9932020-06-21 06:21:01.457 trace - l -> [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

dev:9932020-06-21 06:21:01.437 trace cmd8: [name:clock, value:00:00, displayed:false, descriptionText:PE653 Clock: 00:00]

dev:9932020-06-21 06:21:01.433 debug Event necessary. name:airTempSolar evt: "20" ==> dev:(46)

dev:9932020-06-21 06:21:01.414 trace - 7: Map: [name:airTempSolar, value:20, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.397 trace - l -> [name:airTempSolar, value:20, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.393 trace cmd7: [name:airTempSolar, value:20, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.389 debug Event necessary. name:airTempFreeze evt: "6" ==> dev:(15)

dev:9932020-06-21 06:21:01.385 trace - 6: Map: [name:airTempFreeze, value:6, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.381 trace - l -> [name:airTempFreeze, value:6, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.377 trace cmd6: [name:airTempFreeze, value:6, unit:F, displayed:true, isStateChange:true]

dev:9932020-06-21 06:21:01.373 debug Event necessary. name:temperature evt: "63" ==> dev:(61)

dev:9932020-06-21 06:21:01.368 trace - 5: Map: [name:temperature, value:63, isStateChange:true, displayed:true, descriptionText:temperature set to 63]

dev:9932020-06-21 06:21:01.364 trace - l -> [name:temperature, value:63, isStateChange:true, displayed:true, descriptionText:temperature set to 63]

dev:9932020-06-21 06:21:01.360 trace cmd5: [name:temperature, value:63, isStateChange:true, displayed:true, descriptionText:temperature set to 63]

dev:9932020-06-21 06:21:01.340 debug Event unnecessary. name:switch5 evt: "off" ==> dev:(off)

dev:9932020-06-21 06:21:01.336 trace - 4: Map: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

dev:9932020-06-21 06:21:01.332 trace - l -> [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

dev:9932020-06-21 06:21:01.328 trace cmd4: [name:switch5, value:off, isStateChange:true, displayed:true, descriptionText:switch5 set to off]

dev:9932020-06-21 06:21:01.323 debug Event unnecessary. name:switch4 evt: "off" ==> dev:(off)

dev:9932020-06-21 06:21:01.319 trace - 3: Map: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

dev:9932020-06-21 06:21:01.315 trace - l -> [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

dev:9932020-06-21 06:21:01.311 trace cmd3: [name:switch4, value:off, isStateChange:true, displayed:true, descriptionText:switch4 set to off]

dev:9932020-06-21 06:21:01.306 debug Event unnecessary. name:switch3 evt: "off" ==> dev:(off)

dev:9932020-06-21 06:21:01.302 trace - 2: Map: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

dev:9932020-06-21 06:21:01.298 trace - l -> [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

dev:9932020-06-21 06:21:01.294 trace cmd2: [name:switch3, value:off, isStateChange:true, displayed:true, descriptionText:switch3 set to off]

dev:9932020-06-21 06:21:01.289 debug Event unnecessary. name:switch2 evt: "off" ==> dev:(off)

dev:9932020-06-21 06:21:01.285 trace - 1: Map: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

dev:9932020-06-21 06:21:01.280 trace - l -> [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

dev:9932020-06-21 06:21:01.276 trace cmd1: [name:switch2, value:off, isStateChange:true, displayed:true, descriptionText:switch2 set to off]

dev:9932020-06-21 06:21:01.272 debug Event unnecessary. name:switch1 evt: "off" ==> dev:(off)

dev:9932020-06-21 06:21:01.268 trace - 0: Map: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

dev:9932020-06-21 06:21:01.222 trace - l -> [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

dev:9932020-06-21 06:21:01.218 trace cmd0: [name:switch1, value:off, isStateChange:true, displayed:true, descriptionText:switch1 set to off]

dev:9932020-06-21 06:21:01.214 debug +++++ delayBetweenLog parm[9] dly=1000 responseFlg=true

dev:9932020-06-21 06:21:01.210 debug respType:84 differences:4

__ __ --- --- --- --- --- --- --- --- --- --- 10 --- 12 13 14 --- --- --- --- --- --- --- --- --- --- ---

new-: 05 40 02 01 84 FF 00 00 00 01 3D 00 3F 06 14 00 00 00 00 03 01 00 00 00 00 00

old-- : 05 40 02 01 84 FF 00 00 00 01 40 00 43 0F 2E 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-21 06:21:01.157 warn Child Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-21 06:21:01.153 debug +++++ createMultipleEvents( localAttr:null, attrID:16, extAttr:thermostatMode, extEPNum:12, localVal:null, extVal:off) devObj = null

dev:9932020-06-21 06:21:01.144 warn Child Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-21 06:21:01.140 debug +++++ createMultipleEvents( localAttr:null, attrID:15, extAttr:thermostatMode, extEPNum:11, localVal:null, extVal:heat) devObj = null

dev:9932020-06-21 06:21:01.131 warn Child Device handler not found: 19-ep12: temperature

dev:9932020-06-21 06:21:01.127 debug +++++ createMultipleEvents( localAttr:temperature, attrID:12, extAttr:temperature, extEPNum:12, localVal:unknown, extVal:unknown) devObj = null

dev:9932020-06-21 06:21:01.119 warn Child Device handler not found: 19-ep11: temperature

dev:9932020-06-21 06:21:01.115 debug +++++ createMultipleEvents( localAttr:temperature, attrID:11, extAttr:temperature, extEPNum:11, localVal:63, extVal:63) devObj = null

dev:9932020-06-21 06:21:01.105 debug +++++ getWaterTempEvents temp=63 poolSpaMode=

dev:9932020-06-21 06:21:01.100 debug <<<<< Child Event unnecessary. name:19-ep5:switch attr already was: "off" same as: "off"

dev:9932020-06-21 06:21:01.093 debug +++++ createMultipleEvents( localAttr:switch5, attrID:5, extAttr:switch, extEPNum:5, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 5

dev:9932020-06-21 06:21:01.081 debug <<<<< Child Event unnecessary. name:19-ep4:switch attr already was: "off" same as: "off"

dev:9932020-06-21 06:21:01.073 debug +++++ createMultipleEvents( localAttr:switch4, attrID:4, extAttr:switch, extEPNum:4, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 4

dev:9932020-06-21 06:21:01.062 debug <<<<< Child Event unnecessary. name:19-ep3:switch attr already was: "off" same as: "off"

dev:9932020-06-21 06:21:01.054 debug +++++ createMultipleEvents( localAttr:switch3, attrID:3, extAttr:switch, extEPNum:3, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 3

dev:9932020-06-21 06:21:01.044 debug <<<<< Child Event unnecessary. name:19-ep2:switch attr already was: "off" same as: "off"

dev:9932020-06-21 06:21:01.036 debug +++++ createMultipleEvents( localAttr:switch2, attrID:2, extAttr:switch, extEPNum:2, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 2

dev:9932020-06-21 06:21:01.025 debug <<<<< Child Event unnecessary. name:19-ep1:switch attr already was: "off" same as: "off"

dev:9932020-06-21 06:21:01.013 debug +++++ createMultipleEvents( localAttr:switch1, attrID:1, extAttr:switch, extEPNum:1, localVal:off, extVal:off) devObj = Intermatic Pool Control System - Switch 1

dev:9932020-06-21 06:21:00.993 debug +++++ process84Event payload: [5, 64, 2, 1, -124, -1, 0, 0, 0, 1, 61, 0, 63, 6, 20, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0]

dev:9932020-06-21 06:21:00.976 debug ManufacturerProprietary event, [1]:40 [4]:84 payload: 05 40 02 01 84 FF 00 00 00 01 3D 00 3F 06 14 00 00 00 00 03 01 00 00 00 00 00

dev:9932020-06-21 06:21:00.967 trace >>>>> Incoming: [zw device: 19, command: 9100, payload: 05 40 02 01 84 FF 00 00 00 01 3D 00 3F 06 14 00 00 00 00 03 01 00 00 00 00 00 , isMulticast: false]

dev:9932020-06-21 06:20:59.841 debug <<<<< rspFlg=true dly:1000/1000

<<<<< Event: [name:temperature, value:61, isStateChange:true, displayed:true, descriptionText:temperature set to 61]

dev:9932020-06-21 06:20:59.831 debug Event necessary. name:temperature evt: "61" ==> dev:(67)

dev:9932020-06-21 06:20:59.769 trace - 0: Map: [name:temperature, value:61, isStateChange:true, displayed:true, descriptionText:temperature set to 61]

dev:9932020-06-21 06:20:59.762 trace - l -> [name:temperature, value:61, isStateChange:true, displayed:true, descriptionText:temperature set to 61]

dev:9932020-06-21 06:20:59.754 trace cmd0: [name:temperature, value:61, isStateChange:true, displayed:true, descriptionText:temperature set to 61]

dev:9932020-06-21 06:20:59.746 debug +++++ delayBetweenLog parm[1] dly=1000 responseFlg=true

dev:9932020-06-21 06:20:59.732 debug +++++ SensorMultilevelReport cmds=[[name:temperature, value:61, isStateChange:true, displayed:true, descriptionText:temperature set to 61]]

dev:9932020-06-21 06:20:59.728 warn Child Device handler not found: 19-ep12: thermostatMode

dev:9932020-06-21 06:20:59.724 debug +++++ createMultipleEvents( localAttr:null, attrID:16, extAttr:thermostatMode, extEPNum:12, localVal:null, extVal:off) devObj = null

dev:9932020-06-21 06:20:59.708 warn Child Device handler not found: 19-ep11: thermostatMode

dev:9932020-06-21 06:20:59.701 debug +++++ createMultipleEvents( localAttr:null, attrID:15, extAttr:thermostatMode, extEPNum:11, localVal:null, extVal:heat) devObj = null

dev:9932020-06-21 06:20:59.684 warn Child Device handler not found: 19-ep12: temperature

dev:9932020-06-21 06:20:59.678 debug +++++ createMultipleEvents( localAttr:temperature, attrID:12, extAttr:temperature, extEPNum:12, localVal:unknown, extVal:unknown) devObj = null

dev:9932020-06-21 06:20:59.660 warn Child Device handler not found: 19-ep11: temperature

dev:9932020-06-21 06:20:59.651 debug +++++ createMultipleEvents( localAttr:temperature, attrID:11, extAttr:temperature, extEPNum:11, localVal:61, extVal:61) devObj = null

dev:9932020-06-21 06:20:59.618 debug +++++ getWaterTempEvents temp=61 poolSpaMode=disabled

dev:9932020-06-21 06:20:59.604 debug +++++ SensorMultilevelReport value=61 unit=1

dev:9932020-06-21 06:20:59.593 debug ----- SensorMultilevelReport(precision:0, scale:1, sensorType:1, sensorValue:[61], size:1, scaledSensorValue:61) - description:zw device: 19, command: 3105, payload: 01 09 3D , isMulticast: false

dev:9932020-06-21 06:20:59.503 trace >>>>> Incoming: [zw device: 19, command: 3105, payload: 01 09 3D , isMulticast: false]

dev:9932020-06-21 06:20:59.169 debug <<<<< rspFlg=false dly:1000/1000

<<<<< Cmd to Device: SensorMultilevelGet() --> 3104, delay 1000

<<<<< HubAction: 910005400102870301, delay 1000

<<<<< HubAction: 910005400101830101

dev:9932020-06-21 06:20:59.165 trace - l -> 910005400101830101

dev:9932020-06-21 06:20:59.162 trace cmd2: 910005400101830101

dev:9932020-06-21 06:20:59.158 trace - l -> 910005400102870301

dev:9932020-06-21 06:20:59.155 trace cmd1: 910005400102870301

dev:9932020-06-21 06:20:59.149 trace - l -> SensorMultilevelGet()

dev:9932020-06-21 06:20:59.146 trace cmd0: SensorMultilevelGet()

dev:9932020-06-21 06:20:59.140 debug +++++ delayBetweenLog parm[3] dly=1000 responseFlg=false

dev:9932020-06-21 06:20:59.109 debug +++++ getWaterTemp()

dev:9932020-06-21 06:20:59.105 debug +++++ quickGetWaterTemp