Intermatic CA3750 2xSPST control with SmartThings

Anyone try out the new code yet?

Sorry I’m out of town till the end of the week. I did update the device type and did some testing remotely. Here’s what the log generated. I have no way to verify what actions are actually occurring until I get home.

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎48‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎48‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎46‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎32‎ ‎PM: debug On Digital

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎26‎ ‎PM: debug Off Digital

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎22‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎22‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎21‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎20‎ ‎PM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎14‎ ‎PM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎12‎ ‎PM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎08‎ ‎PM: error groovy.lang.MissingPropertyException: No such property: sw1 for class: script14234392195151973813346
Possible solutions: log, app @ line 300

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎47‎:‎06‎ ‎PM: error groovy.lang.MissingPropertyException: No such property: sw1 for class: script14234392195151973813346
Possible solutions: log, app @ line 321

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎46‎:‎59‎ ‎PM: error groovy.lang.MissingPropertyException: No such property: sw1 for class: script14234392195151973813346
Possible solutions: log, app @ line 321

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎4‎:‎46‎:‎52‎ ‎PM: error groovy.lang.MissingPropertyException: No such property: sw1 for class: script14234391227571973813346
Possible solutions: log, app @ line 321

OK - updated code for the errors on line 300 and 321

We may have something. I just updated the code and switch2 seems to be responding in the app, on and off. Again, I cant verify the actions that are actually physically occurring.

@William_Rector can you try out the latest code to see if it works?

Here’s the latest log:

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎41‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎41‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎33‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎33‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎23‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎22‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎19‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎19‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 0) 0

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎04‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎03‎:‎04‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎54‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 0) 0

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎54‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎49‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎49‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎48‎ ‎AM: debug On Digital

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎03‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎03‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎02‎ ‎AM: debug mi v1 specific report ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217) - ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217)?.instance - ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎02‎:‎01‎ ‎AM: debug Polling Switch - Outdoor Landscape Lights

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎01‎:‎10‎ ‎AM: debug mi v1 report MultiInstanceReport(commandClass: 0, instances: 0) - MultiInstanceReport(commandClass: 0, instances: 0)?.instance - MultiInstanceReport(commandClass: 0, instances: 0)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎01‎:‎10‎ ‎AM: debug mi v1 specific report ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217) - ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217)?.instance - ManufacturerSpecificReport(manufacturerId: 5, manufacturerName: Intermatic, productId: 14160, productTypeId: 17217)?.commandClass

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎01‎:‎08‎ ‎AM: debug Switch BINARY (button) - SwitchBinaryReport(value: 255) 255

1f1c422a-6fea-4206-8701-75afc16a03c1 ‎9‎:‎01‎:‎08‎ ‎AM: debug Polling Switch - Outdoor Landscape Lights

Just a quick update: No luck controlling SW2… I’m actually getting some sporadic actions where the SW2 buttons are turning of SW1.

I don’t have this device so I may be talking nonsense. However I do have an enerwave dual relay. SmarThings does not support dual relays. The only way to get them to work is using a mulit load binder SmartApp and 2 Virtual/Simulated Device Types (Switches) to control each of the relays.

For me, I installed the two Virtual/Simulated Switches and then have the actual device hidden in a Grouping for stuff I don’t touch.

Here is more info

That is expected - the hope was that by turning on/off both and then toggling sw1 after we would get there - so question is whether or not sw2 (or relay 2 in the unit) is going on/off at all?

No, I wasn’t able to get a response out of sw2 (relay 2).

I found a page that has a ton of information on the CA3750. Not sure if any of it will be useful.

Hi All
I just bought the intermit controller thinking all wave devices should work, and now came across this thread, whats the status, Cooper has been busy and thanks Cooper, but i have no idea if the latest code works, I just want to use it to turn off the hot water remotely at the holiday home
Thanks for all your help
Tarik

I tried loading coopers app, and got the following compilation error:
No signature of method: script1437670581308133996642.metadata() is applicable for argument types: (script1437670581308133996642$_run_closure1) values: [script1437670581308133996642$_run_closure1@63b22c62] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

Hey, got a question for you. I’m just using one switch on the CA3750 but this handler is showing SW2 is on yet everything is off. Also the refresh button seems to give a response of “groovy.lang.MissingMethodException: No signature of method: static java.lang.Integer.toString() is applicable for argument types: (null, java.lang.Integer) values: [null, 16]” Any thoughts, I’m a little out of my league with coding, don’t really do it but I cut and copied your code thinking it should work. It controls it but the tiles really don’t work right!? Thanks, Lance

Hi @spovegasboy& @tmackmood

I was never able to get the code to work to control both relays independently (2xSPST mode). Currently I have the CA3750 running in DPST mode using the standard Z-Wave switch device type.

I’m experiencing the same results. I’ll review the code a little bit. Obviously it’s possible if other controllers can utilize the two relays.

1 Like

I bought one of these to control my hot tub pump and air jets. I have both relays working and am putting the finishing touches on a device profile for the Intermatic. My main sticking point right now is just trying to figure out how to poll the second relay as well as attempting to automatically determine whether the switch is set to 1xDPST or 2xSPST so that I know how many switch tiles to display. Check out my github for the code. Once I’m done (hopefully today or tomorrow) I’ll post the code up for everyone as well as submitting it to SmartThings.

And… done! I’ve submitted a pull request for this as well so hopefully soon it will be part of the public repo.

Github Repo

1 Like

Nice work @LunkwillAndFook

I had a little trouble at first. I have two CA3750’s and they both became completely unresponsive after switching the device type. I had to remove the devices and then rejoin them immediately switching the device type over to your new device type to get it working. After all of that it works like a charm now.

Thanks for solving this problem for us!

I sure hope there is a deviceType left that handles the DPST use case after you all get done!
I just got mine, but it is on the shelf pending an electrician to help me with the structural wiring move for the pool pump and a few other things. Soon, now that the big storm is gone.

@Bryan_Fleming Weird that you had to unpair and repair them to get the device type to work. I didn’t have that problem. If anyone else does please let me know. I also put a description of how the device type works in my reply to @gtc100. Let me know if there are problems or questions and I’ll try to get them resolved/answered. I’ve been using the device type for a few days now and so far I haven’t had any problems.

@gtc100 This device type should handle 1xDPST as well as 2xSPST. Regardless of the setting you will see three switches: the primary switch, Switch 1, and Switch 2. The behavior of the main switch is configurable in preferences to trigger Switch 1, Switch 2, or both. If your CA-3750 is set to 1xDPST Switch 1 and Switch 2 will both trigger both relays. If your CA-3750 is set to 2xSPST Switch 1 will trigger the primary relay and Switch 2 will trigger the secondary relay.

Got it working! What Voo Doo. Include, Exclude. Carry Hub- guess what? it goes from flashing green (inclusion) to flashing blue (no network) when you unplug it. Make sense? yes, if it is not supposed to be functional disconnected. I doubt it actually was in inclusion mode – seemed spazzed by the wire pulled instead. Hub needs a separate status light for offline inclusion mode! So I moved the hub - really liking these EoP units. Until they stop working. And, love the docs / writeups on the CA3750. What is the red flashing again? Power? Just push the white for inclusion? why does the red stop flashing sometimes? So I gave up. Then 30 minutes later I went back through the app for the nth time because I had seen a ghost device at some point - 30 minutes after giving up and leaving it alone, there’s a zwave multichannel device. I went to the IDE and switched to the device type here. (I am 120v in, 240 DPST out). (Yes, had it set on 240 for awhile today - what’s that humming? set the jumper to the input voltage…) This device type did not turn it on. I switched back to the zwave multichannel device and Voila! Well, after messing with the setLevel slider. What the heck is a slider doing in a Relay? Well, I am done for now. Thanks for the help and for being here. Now to setup the App so teh pump comes on if it gets close to freezing.