[OBSOLETE] Evap Cooler Thermostat

This smartapp provides automatic control for Evaporative Coolers (single or two speed motors) using any temperature sensor. On a call for cooling the water pump is turned on and given two minutes to wet pads before fan low speed is enabled. The fan high speed is turned on if the temperature continues to rise above the adjustable differential. There is an optional motion override. CoRE will do this same control very well however a simple setpoint change can be tedious.

Single Speed Application
Even though this was designed around complete control of a two speed fan, it will work with single speed motor applications by default when leaving “Fan Hi-Lo Speed Control device” blank. The same is true if you prefer basic Fan/Pump ON together without pre-wetting of pads. Simply use the Fan motor switch and wire the pump in parallel.

Basically you can use this smartapp for something as simple as a standard cooling only thermostat or as complex as a two speed evap cooler with pad pre-wetting cycle before energizing the fan On.

If you need help in installing custom smartapps see @JDRoberts FAQ: An Overview of Using Custom Code in SmartThings here.


This smartapp was developed to allow full control of a two speed evaporative cooler. The amps of my 1HP fan motor exceed the 10amp ratings of the common zwave switch so I selected the Remotec ZFM-80 (15amp relay) for fan control and used an Omron LY1F (15amp relay) for my speed selection relay. I used an Enerwave ZWN-RSM2 (dual 10amp relays) to control the lower amp water pump and drive the higher amp capacity Omron for speed control. The ZWM-RSM2 has inputs for the old existing switches for manual local control.

The Remotec ZFM80 also has aux switch input but I didn’t use it because it also has an integral button to control the relay directly and I didn’t have room in my gangbox.

The Omron LY1F was mounted in a separate enclosure. You could mount it in an weatherproof enclosure at the evap cooler.

@dalec I know this post has aged a bit, but this is exactly what I’m looking for. However, I’m unable to save the app after configuring it in the ST app. I’ve seen some references to that behavior, but can’t seem to get past it. If you get this, can you advise? - Error: java.lang.NullPointerException: Cannot get property ‘filterEvents’ on null

The cooling season just started up here so I have mine up and running as of this week. I will be able to watch to see if I can debug it all. Can you open up Live Logging and watch the logging for the Evap Cooling Thermostat and let me know what it telling you. Tell me exactly what you are configuring in terms of what is the hardware you are using for the inputs and outputs which should help me see what might be happening.

Thanks for the quick response and I hope your weekend is going well! Here’s the logs and description of activity

  • I install the app from “My Apps” in Marketplace.
  • I then configure just the first set of config items (identify the switch, the sensor and the setpoint).
  • I do not configure anything in “Optional Settings”.
  • I hit “Done” and the green banner pops saying that it is now installed and automating.
  • I then hit “Done” again and it throws a red banner with the error “An unexpected error has occurred”.
  • I then have to back out of the app to get back to SmartThings, discarding unsaved changes (although SOME changes seem to stick).
  • I then go back into the app and it’s got data saved, but when I hit done the routine starts all over again.
  • Even with the data populated in some fields when I go back in, it does NOT trigger the switch at the set point.

Here’s the corresponding logs:

0e51238a-74f0-4cdd-9401-cfdc32bd3034https://graph.api.smartthings.com/ide/logs#0e51238a-74f0-4cdd-9401-cfdc32bd3034 9:48:47 AM: error java.lang.NullPointerException: Cannot get property ‘filterEvents’ on null object @ line 191
0e51238a-74f0-4cdd-9401-cfdc32bd3034https://graph.api.smartthings.com/ide/logs#0e51238a-74f0-4cdd-9401-cfdc32bd3034 9:48:47 AM: debug def INITIALIZE with settings: [fanMotor:Evaporative Cooler Fan High, tempSensor:Back Door, setpoint:73]
0e51238a-74f0-4cdd-9401-cfdc32bd3034https://graph.api.smartthings.com/ide/logs#0e51238a-74f0-4cdd-9401-cfdc32bd3034 9:48:47 AM: debug def INSTALLED with settings: [fanMotor:Evaporative Cooler Fan High, tempSensor:Back Door, setpoint:73]

For the equipment, my contact switches are GoControl ZWave contact switch FS20Z-1. Device type is Z-Wave Relay.

Thanks. Sorry for the null exception issues. I will be back in town to troubleshoot further this weekend. I will PM you if I get it solved.

Thanks man! Looking forward to using it!

Quick question: do you think the rooted wink relay come to any use in this?

I don’t have any experience with Wink relay, on SmartThings sorry. Maybe someone else can chime in to help you.


I would also like to use this app but get the same errors.

I am also very interested in using this too. Please let me know if you’re able to get it running again and thank you so much for the time and energy on this.