Home automation - good useable products?


Aspiring Daemon

Reaction score: 166
Messages: 958

Hi all again, hope all is well with you folks.

I did some searching, found older articles, so I thought I would start a more fresh discussion. I am interested in some home automation ("some" currently means turning some lights on/off), and although I can easily buy 'smart' stuff at big box stores, I am wanting to avoid that for various reasons, and thus am wondering what technology and products are available to use with FreeBSD. Some points to clarify what I am thinking / wondering.

I would like:
  • 'Switching modules' to be LAN/Wifi/IP based instead of RF based. (For various reasons).
  • Products to be open source based.
  • System works with FreeBSD ports that are actively being developed & updated.
  • Said port(s) provide a web page for me to monitor and control the switching modules.
  • An application to install on an Android device, as an alternative to web page use, to work with the FreeBSD port.
  • Little to no custom coding involved.
  • The whole complete system works wonderfully well, and the tecnically challenged folks in my house could use it easily.
So in other words, I would install various switch modules around the house, and configure them to (a) use my Wifi and (b) work with the FreeBSD port. I would configure the FreeBSD port (via http) to use those modules, and build the automation logic/schedules, etc.

I realize X10 and other competing products have been around for ages, but they often use RF, or inject signals in your power wires, and from what I understand 'interference' issue can be common. As for the 'smart home' products, brands and technology seem to come and go like the wind.

So what options do I have folks?

As always, thanks again in advanced.


Aspiring Daemon

Reaction score: 187
Messages: 569

In my experience with working with these things, none of this stuff is any good, in particular, anything that uses TCP/IP.


Son of Beastie

Reaction score: 1,991
Messages: 2,862

For home automation I would actually recommend "prosumer" / hobbyist hardware like Arduinos and Raspberry Pi's. Mainly because the hardware is easily available and you won't be buying in bulk. It might be a little more expensive but you likely won't be buying it all at once anyway.

If you want to minimize coding, perhaps something like this: https://pibakery.org/

However if you can just about follow through with some simple Arduino hat tutorials, it really does open up a lot of possibilities.

... or at least exhaust you enough that it makes physically walking over to your light switch look much more enticing XD


Beastie's Twin

Reaction score: 2,646
Messages: 5,561

I don't like Java but I think this software is worth it.
Openhab integrates nicely with IPCams. It is not easy to setup. It encompasses alot via modules.
I do believe after a you built a HAB it would be usable to anyone in the household.
The docs are good for me.

I was messing with zones around my house exterior using a drawing I imported.
Trying to visually flash colors in zone where motion occurs on my HAB.


Beastie's Twin

Reaction score: 2,646
Messages: 5,561

I also think it would be good to take a specific area that interests you.
Home Automation can mean different things to different people.
In the past i have used x10 for indoor motion sensors. They worked well.
I like the monitoring aspect of home automation while some might want instant coffee brewing or catnip dispenser.
Take a task and try it out. Dont try to automate everything at once. That is my advice.
Last edited:



Reaction score: 45
Messages: 90

some home automation
Take care if using WiFi because high-tech home gadgets, like those in the Arduino camp, require you to enter your credentials in plain-text. They degrade security. I like ESP32 which has WiFi and Bluetooth.
My current project is upgrade my Honeywell air conditioner from line-voltage control to wireless. I use bluetooth for that.

The obsolete line-voltage control has a flexible metal disk that contains a gas which expands such that the disk presses a microswitch that turns on the cooler. It is the cheapest thing that could possibly work but the temperature varies +/- 2 Cdegrees. When warming the cooler is late to turn on and it runs too long after the temp. has dropped. My ESP32 with DS18B20 1-wire sensor can maintain 1 degree of variance.

I am not sure of the Honeywell specs and can't tinker with the line voltage wiring so I use a HS-422 servo to press the disk which turns on the cooler.


Son of Beastie

Reaction score: 2,299
Messages: 3,207

I use several parts to home automation, which are somewhat related.

First: Light switches, controlling mains power (120V stuff) like attic fans and Christmas lights: For that I use UPB (Universal Powerline Bus), which is a successor to X-10. It is a set of switches (both user interfaces and actually electrical controls) that can communicate with each other, and with a computer. Communication occurs over the power line itself (at hundreds of baud), which is why it is exceedingly reliable. I have a computer interface connected via serial port to by FreeBSD home server, where several programs communicate with it. This system is expensive (every light switch is about $100), but bulletproof, meets electrical code, and is extremely reliable. Really, the only time I get communication errors is when either (a) my software breaks (happened this weekend!), or (b) a breaker trips and part of the electrical system becomes disconnected. Matter-of-fact, I now have a cron job that tries to communicate with certain UPB switches once an hour, and it's only purpose in life is to tell me when certain breakers have tripped (for a while, I had a problem with moisture and GFCI breakers).

Second: I have a somewhat complex system to control and monitor our water pumps and the well, which is built around industrial controls (float switches, level sensors, industrial controllers). That is in turn connected to two Raspberry Pi computers, and again to my home server (via a serial port and some industrial control acquisition boards). Also going in there is monitoring temperatures via Dallas/Maxim 1-wire sensors, connected both to a web-based interface and to the Raspberry Pis. All comes together in my home server.

Then there is a sprinkler controller (for garden watering, which in our case includes several large fire-fighting sprinklers), which is web-connected. I picked the RainMachine brand that has very good open-source interfaces, even if the code that runs on the controller is in and of itself not open sourced. Plus, it can be locally controlled (via IP ports), without having to go through a cloud interface (even though cloud access is also available). And a weather station, which ends up being Ethernet connected; this one is a Davis, because their sensing hardware has the best reputation among prosumer stuff. And the greatest software interface in the world doesn't help if the temperature or wind sensor is spitting out nonsense values.

Switching modules' to be LAN/Wifi/IP based instead of RF based. (For various reasons).
LAN/Wifi/IP is not very reliable. It requires a heck of a lot of infrastructure to work (DNS servers, DHCP servers, routers, all that stuff). Even worse, hardware that requires going in and out of the cloud (like many internet-based thermostats and sprinkler controllers) are unreliable, because the local broadband needs to be up for them to work. Pieces of wire and 24V relays are very very reliable. Industrial control hardware is very reliable. Powerline interfaces (such as X-10 and derivative technologies) are reliable. But: I do share your dislike of RF. Even if it happens to work flawlessly on my Davis weatherstation.

Products to be open source based.
Honestly, I will never do a detailed code review on the code that runs in my thermostat, light switch, or sprinkler controller. So having that code available has no value to me. It is more important that they have good, clean and documented interfaces.

System works with FreeBSD ports that are actively being developed & updated. Said port(s) provide a web page for me to monitor and control the switching modules. Little to no custom coding involved.
Don't have that. I write all that myself, for fun. It's one of my hobbies.

An application to install on an Android device, as an alternative to web page use, to work with the FreeBSD port.
My sprinkler controller has an Android app (and also an iOS one), which is SUPER convenient. When gardening, I can quickly check whether a sprinkler is working by pulling my phone out. I can also access it from my code, but that's not easy from a cellphone (I'm a CLI guy).