Power Outlets, Strips and Controllers - Automation

How to automate your garden. One of the more challenging aspects of running a automated system at home is setting up the infrastructure needed to control power to the various devices in any home growing operations.

We can break this down into the most common components that need a timer.

  1. High pressure Cycle Pump and or Solenoid (most difficult; needs seconds timer)

  2. Low pressure drain pump

  3. Lights for VEG

  4. Lights for Bloom

  5. Exhaust Fan

  6. Humidifier

  7. Air pump/stones for RES

 

 

Below are the various products I have used and tested in my grow tents over years.

Solutions and Products

Kasa Power Strips

Summary:

Overall a good little power strip for very little money; can automate most of the functions in grow tent. The exceptions being the cycle pump due to the lack of resolution of timer (does not support seconds).

App is mostly ok; take about 10mins to figure out. Ran for about 6 months with no real issues; had it kicking on the grow VEG light, exhaust fan and drain pump on a daily basis. Around 800 watts draw.

Product page:

https://www.amazon.com/Kasa-Smart-Power-Strip-TP-Link/dp/B07G95FFN3/ref=sr_1_1?crid=PWP18JYHLE5K&keywords=kasa+power+strip&qid=1643593099&sprefix=kasa+power+%2Caps%2C96&sr=8-1

Pros

  • 15 amp

  • Cheap

  • simple to use with mobile app interface

  • Can schedule timers down to minute resolution through the app

  • Supports both cycle and time/day ops

  • Has metrics on power usage for each outlet

  • wifi

Cons

  • cheap

  • Relays seem a bit “home grade”; not sure I would use for 10+amps (ie: would probably relay larger grow lights)

  • Cheap, not a commercial product.

  • API is somewhat available, they had a firmware that disabled for awhile and then patched back in. Overall some open source around for better automation.

Conclusion

Strong Buy for starting out; for 50 bucks it is hard to go wrong and can cover 90% of garden automation. Cannot believe how cheap it is.

 

DLI - Digital loggers Web Power switch

Summary:

Industrial grade power switch that allows control via wireless ethernet. Works 100% offline and no cloud / remote mgmt. required; has a embedded Linux OS.

Product Page:

https://www.digital-loggers.com/lpc.html

Pros

  • 15 amp

  • well/over-built; heavy duty cycle

  • custom scripting

  • Supports just about everything

  • wifi

  • Massive relays can support grow lights

  • Full API

Cons

  • Complex and requires some basic LUA scripting

  • Expensive - commercial product.

  • Hard to setup, no wizards here

 

LUA code for controller sample

--[[ Power controller user script code. The scripting implementation has changed, and is no longer compatible with the older BASIC implementation. The most important changes are: - Now Lua-based. - No more line numbers, blocks of code identified by functions. - Most of ON, OFF, etc. are kept as legacy functions, which can be called like e.g ON(2345), ON("2345") or ON "2345", your choice. Execution is still based on threads. Now threads are more visible and manageable. Try starting some and you'll see them appearing in the list. Scripting samples are now available as snippets (below), separate from the main script code. You can copy/paste them from/to the main script. Stock snippets have names starting with 'default.'; changing or creating snippets with such names is not recommended as your changes may be erased on an upgrade. ]]-- function start_all_the_things() -- freaking lua -- thread.run(outlet_glight1_on_schedule, "azsis lighttttt!", "outlet_glight1_on_schedule") thread.run(outlet_pump2_on_schedule, "zeee pump!", "outlet_pump2_on_schedule") thread.run(outlet_exhaust_on_schedule, "kill all the skunks", "outlet_exhaust_on_schedule") end function outlet_glight1_on_schedule() -- light grow switch, runs for 12 hours on / 12 hours off while true do local event = wait_until({hour=13,min=20},{hour=1,min=20}) if event == 1 then outlet[1].on() else -- event == 2 outlet[1].off() end delay(120) -- prevent it from running more than once in the same minute end end function outlet_pump2_on_schedule() -- drain pump, runs for 1 min per hour while true do local event = wait_until({min=1},{min=2}) if event == 1 then outlet[8].on() else -- event == 2 outlet[8].off() end delay(55) -- prevent it from running more than once in the same minute end end function outlet_exhaust_on_schedule() -- exhaust fan run for 15 mins per hour while true do local event = wait_until({min=1},{min=45}) if event == 1 then outlet[2].on() else -- event == 2 outlet[2].off() end delay(55) -- prevent it from running more than once in the same minute end end

 

 

 

Buy me a coffee here (all donations will go back into garden!) https://www.buymeacoffee.com/jasoncae