[OBSOLETE] App to Manage Shop / Garage Dust Collector / Vacuum System

I’ve modified the SmartThings energy app (normally turns switches off if an energy threshold is exceeded) to turn on/off selected switches if a set power use threshold is exceeded on monitored Smart Switches.

Normally you would use a remote, or a load sensing outlet to manage a dust collector (vacuum) when a power tool is powered up. I’m using a few inexpensive: Aeon Labs DSC06106-ZWUS - Z-Wave Smart Energy Switches to manage the dust collector automatically. SmartThings Smart Plugs (Zigbee) work well too, but they are only rated to 12 amps. The Aeon Smart Energy Switch monitors energy use, works as a switch, and is rated to 15 amps.

If tools are plugged into one or more selected smart plugs, powering up any tool will trigger selected switches to remotely turn on dust collectors or vacuums, providing tool power draw is above the threshold you select. Once power use is below the set threshold on monitored Smart Plugs, the app powers off the “slave” switches. You can also set an off delay so the dust collector can clear the dust collection tubes after you power off the tool. This frees you to plug tools and vacuums/collectors into separate circuits to avoid popping breakers. This bit of code and a few smartplugs effectively replaces devices like this without the need to run extension cords from separate circuits.

https://sea1.discourse-cdn.com/smartthings/uploads/default/optimized/3X/8/6/86f84618385e286130b1b089eccf699974f0fa0b_1_690x361.jpg

The app below will not work correctly unless you use this very slick device handler for the Aeon. It reports power use changes instantaneously to Smarthings and allows you configure a few options. Make sure you configure ReportType=1 in the device options via the smartphone app: https://raw.githubusercontent.com/constjs/jcdevhandlers/master/devicetypes/jscgs350/my-aeon-metering-switch.src/my-aeon-metering-switch.groovy

Here’s the bit of code you will need to install to yourself using the web ide. I am an absolute code neophyte, so if you see any issues, feel free to comment :slight_smile:

/**

  • Shop Dust Management Control
  • Copyright 2016 Dennis Wood
  • Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except
  • in compliance with the License. You may obtain a copy of the License at:
  • http://www.apache.org/licenses/LICENSE-2.0
  • Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
  • on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
  • for the specific language governing permissions and limitations under the License.

*/
definition(
name: “Dust Collector Switch Control”,
namespace: “denniswood”,
author: “Dennis Wood”,
description: “App to Manage Dust Collector”,
category: “My Apps”,
iconUrl: “https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png”,
iconX2Url: “https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png”,
iconX3Url: “https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png”)

preferences {
section {
input(name: “meter”, type: “capability.powerMeter”, title: “When any of These SmartPlugs…”, required: true, multiple: true, description: null)
input(name: “threshold”, type: “number”, title: “Reports Power use Above…”, required: true, description: “in either watts or kw.”)
input(name: “switches”, type: “capability.switch”, title: “Turn On These Switches”, required: true, multiple: true, description: null)
input(name: “offdelay”, type: “number”, title: “Off Delay when Power Drops (seconds)”, required: true )
}
}

def installed() {
log.debug “Installed with settings: ${settings}”
unsubscribe()
initialize()
}

def updated() {
log.debug “Updated with settings: ${settings}”
unsubscribe()
initialize()
}

def initialize() {
subscribe(meter, “power”, meterhandler)
}

def meterhandler(evt) {
def meterValue = evt.value as double
def thresholdValue = threshold as int
log.debug “$evt.displayName is $evt.value”
if (meterValue > thresholdValue) {
switches.on()
}
else {
def delay = offdelay * 1000
log.debug “Delay is ${delay} ms”
switches.off(delay: delay)
}

}

Here are a few pics of the dust collection system. The Dust Deputy Cyclone is very effective at capturing dust/debris.

One of the tool vacuum connections:

Table saw vacuum connection.

2 1/2" system with blast gates.

This Zwave receptacle powers the Rigid vacuum. The app switches it on/off based on the smart switch power use to the tools.

The cyclone captures virtualy all the dust, keeping the vaccum very clean.

Here’s what actually ended up in the cyclone bucket.

The smart switch tool connections.

If you want to use a manual dust control, this works: http://ivacswitch.com/ivac-switch/

If you’re a newbee like I was a few weeks ago, read this:

4 Likes

Awesome write up, thanks! I literally just came in from the garage after setting up a small collection system for my counter top tools (took the better part of two days, but I custom built my own blast gates).

Anyway, I’m using an appliance plug for the shop vac, and a minimote on an arm band to turn it on. I was thinking about putting contact sensors on the blast gates to turn on the vac system, but now I’m second guessing that in favor of power sensing…

Any comments about how well the system is working for you? My only concern with power sensing is that it doesn’t take into account the blast gates condition. I guess I could put contact sensors on the blast gates as a condition in RM, then use the amp sensing to trigger the appliance switch. Seems like that’s a bit über geek but, then again, most of my HA stuff is.

Thanks!

Ryan, with Smarthings’ cloud processing, the on/off delay might be an issue for some. I have a Vera Edge hub at the office, and using the “Combination Switch” app, response times are much faster…more or less “instant”. My sense of things is that the Vera would be a much better fit for this task.

I suspect that using a Smarthings contact sensor trigger instead of a remote) and smart plug with standard device handlers and the ST Smart Lighting app would take processing local, and reduce on/off delays. That would limit you though to 12 amps. Regardless, I posted up this solution to share and perhaps spark some other solutions.

The iVac manual switch is “instant”, and auto mode is super simple…no remote, app, hub or expensive switches. For something like the chop saw (on and off in a few seconds), it may be the best solution. For most other tasks where tool on/cycles are longer, the ST solution I posted is great.

Thanks for the info. I ordered another contact switch as well as one of the Aeon in-line voltage sensors you had shown. I’ll hook them up and see. Honestly, I see a blended system ending up in my garage. Switches on some, remotes for others. Just depends on use case for each tool I suppose. I’ll expiration the and see what works for me!

Ryan, please do post your observations here :slight_smile: Based on direct observation, I figure the contact sensor and “stock” lighting automation app will provide nearly instant tool response. The AEON smart energy switches are less expensive than Z-wave outlets…and easy to move around.

If you are going with the approach above, make sure you also use the standard installed device for the AEON switch, as using the (better) one that I linked to will cause the automation to go to the cloud, instead of local.

I’m on a V1 hub, so it’s all going to go to the cloud, t I’ll post info when I get it set up anyway!

I know this thread is a little old, but I just wanted to let you know this is exactly what I was looking for. It works well with the newer Aeotec smart switch 6.

I’ve currently got it sensing power draw from a miter saw and then turning on a Harbor Freight dust collector.

Thanks for putting in the work to figure this out.

Thanks Requiem :slight_smile: How are you finding response times between the mitre saw and dust collector starting?

You’re quite welcome :slight_smile: I 've been experimenting with a Hubitat hub, and response times are much, much faster as everthing is local. ST shows a bit more of a delay.

I also updated the original post’s image links so they work again :slight_smile:

1 Like