Introduction: My Home Assistant (Automation System)!

Picture of My Home Assistant (Automation System)!

Here is how I automated my Home. I needed a means to;

- manage my solar power system including the ability to switch to/from utility supply should I need it.

- manage the food and water to my three doggies.

- control the outside lights.

- provide metering for the power consumption within the home.

- remotely control/monitor the home.

- Provide voice annunciation for key events (yes I love having my home talk to me like a person).

- a couple other functions.

Now I simply don't have the time or energy to learn how to use those awesome arduino, raspberry pi, Micro controllers etc. Those are for extreme minds (respect!). I can't wrap my head around those things. On technical note, those stand alone microcontrollers are not good at multitasking which is what I need out of a proper automation design.

So, how did I automate my home? Read on for my solution!

Step 1: The Labjack U3 Hv!

Picture of The Labjack U3 Hv!

This USB digital acquisition board is the cornerstone to my home automation needs! It is supported in Windows and several software packages support it! I got this from Amazon for approximately 130usd.
It has digital I/O, analog I/O, counters, timers, The CB15 extension board brings out more IO from a labjack u3. A single labjack u3 hv has proven sufficient for all my automation needs.

The wiring is straight forward. I used shielded cat5e cables for noise reduction. All the 0VDC busses are tied to the GND terminals of the labjack u3 (I used the shield of the cat5e cables as the 0VDC lines).

Any switches (pushbutton or momentary) I wired between a digital input and GND. When a switch (NO) is physically actuated, the logic input for the digital input goes to FALSE.

To have this beauty working i used a Windows pc (the more energy efficient the better), the driver from the labjack website and a software suite to create the program for decision making.

Read these instructables concerning the actual pc I had used to automate the home.

I housed the labjack u3 and other components within a wall mounted ABS enclosure. Here's the instructable on how I did that:


Picture of FLOWSTONE!

This graphical programming suite is made by dsprobotics and supports the labjack u3 plus many other automation device across multiple manufacturers.

For me it's the perfect means to create an automation program and interface to My labjack u3. It supports line based programming with ruby but I stuck with the visual based object oriented programming.

I learned flowstone in one weekend via the online tutorials at their website.

It's very easy once you know about basic programming and electronics. Make sure to have your labjack u3 handy to play around with.

Step 3: Initializing the Labjack U3.

Picture of Initializing the Labjack U3.

The first screenshot shows the mandatory primitive and module needed to get the labjack u3 ready for data. The I/O config sets up parameters for the channels. For example in my setup, all my analog inputs are set to special (SP) to allow the maximum range of 20VDC.

Digital channels are assigned as input or output (the default is input). For example on channel 5 (i.e. FIO5) I have it set as a digital output: DO5. If I wanted it as a digital input it would be: DI5, or you can omit it and leave it as default input. If I wanted it as an analog input it would be: AI5. Sorry guys and girls, no analog out on the FIO channels!

So its pretty easy to configure the labjack u3!

Step 4: Reading My Lifepo4 Battery Bank.

Picture of Reading My Lifepo4 Battery Bank.

The labjack u3 can accept a maximum of 20vdc on 4 of its dedicated analog inputs. My Lifepo4 battery bank goes up to 29.1vdc so I used a 10k-ohm potentiometer to divide the voltage to 14vdc maximum.

Via software I used basic maths to bring the voltage reading back to the real value. I also can tell how many minutes the charge controller has been on constant voltage mode (how "full" the battery bank is"). Its all about voltage levels in this section of my flowstone schematic.

Here is the link to my Lifepo4 battery bank.

Step 5: Switching of Real World Devices.

Picture of Switching of Real World Devices.

I used a couple of these relay cards to turn on and off devices such as lights, motors, automatic transfer switches, valves and so on.

Once a relay pin is tied to 0v that relay coil will turn on. Basically in FLOWSTONE once I send a logic of false to a digital output, the relay wired to that output will turn on. Each relay has NO and NC contacts so the world of possibilities are made available!

Very easy to do and any amount of creativity can be used to control home devices.

Step 6: Metering of Power.

Picture of Metering of Power.

I used DC hall sensors to obtain a voltage reading that is proportional to the current supplied by the charge controller and also the load on the batteries. I already have the voltage reading of the lifepo4 bank so power consumption is an easy calculation (V x I).

My instuctable below details how I wired the hall sensors.

Step 7: Scheduling of Events.

Picture of Scheduling of Events.

Flowstone has a time module to give information from year down to millisecond. Very convenient to have and use. A Tick is used to drive regular output of the Time module and that information I used to trigger my dog feeder/waterer and external lights. Also at night the counter for constant voltage mode "minutes" reading is cleared.

All made possible with the time module.

Step 8: Analog Output.

Picture of Analog Output.

The Labjack u3 has two DAC outputs: 0 to 5VDC. This is very handy for controlling, for example, a PWM controller that accepts 0 to 5VDC input. I used this to control the speed of my solar water pump. Take a read of my instructable on it!

Step 9: Voice Annunciation.

Picture of Voice Annunciation.

Yes my automation PC speaks to me (or anyone listening) concerning key events. The sound is routed through the surround sound speakers for the PC (yes its also my home entertainment system).

All I used is a text to mp3 online site to create the voice alerts. Next I used a separate program to play the mp3. Send a False to True logic state via the Bool to True Trigger and The Exec module will pull up the mp3 and play it with the program specified. Quite easy!

Step 10: Remote Access.

Picture of Remote Access.

I used Teamviewer to access the home automation pc. I can do this from my phone or another PC. It's completely free for personal use. Very easy to setup and works like a charm.

Step 11: The Graphical User Interface.

Picture of The Graphical User Interface.

The GUI is so easy with flowstone and its fully customizable in terms of scaling, colors, text etc.

Any switch, level meter, LED, text box, string box in the flowstone schematic will show up on the GUI. To make a free standing EXE to run in windows, just click the EXE button at the bottom of the GUI page. You can include you own custom ICON for the EXE file as well.

So that's a summary on how I created my home automation system using a windows PC, labjack u3 hv, flowstone, relays cards, wiring, miscellaneous items and some skills! I hope you enjoyed reading this.

PS: I uploaded the latest schematic file I used to make my home automation system for your cannibalizing pleasure!


BillR113 (author)2017-03-18

I already know plc logic and microcontrollers. I still use the same microcontrollers that I used in the 70's,lol.

Im in the process if moving to the desert with no electric power. Looking forward to it

monroerl (author)2015-05-10

Learn how to use your microcomputers. The basic terminal will not tell you when there is a fault or malfunction in the system. A RPI, BBB, Radxa Rock or another other microcomputer can and will notify you of what is happening and where the issue is. There is a learning curve but to properly automate your home, you need smarter technology that can made easy decisions for you. These inexpensive devices can text you, email you, or even call you (VOIP) with a message telling you what is happening. You've built an awesome system here. Now make it a smart system. A few senors here and there will make it super cool too.

Mjtrinihobby (author)monroerl2016-12-21

It is perfect as is for my needs. Besides I don't understand microcontrollers and I'm too old to learn how to.

morsed2 (author)2016-03-24

Some very good ideas.

I also use Teamviewer, great program.


Mjtrinihobby (author)morsed22016-03-25

Thank you.

jradiamondruff (author)2015-05-10

I'm interested in doing this also. It might be helpful if you had put a web address for the software your describing hre.

Goto the dsprobotics site. The licence is 99usd.

Everything impossible (author)2015-05-10

Use a stepper motor to operate a slide to alow the food to fall downin to the tank, adjust the timeing for the amount of food in the tank.

A servo might be better for something like that.

jiefu (author)2015-05-21

This is great and very cool...

I have on going project for home automation controlled by computer and android phone which I've wrote my own software for the interfacing connectivity and control. I want to share it but I'm not good in writing like what you did.

Mjtrinihobby (author)jiefu2015-05-21

you should publish it. just write it clearly with photos so anyone can understand. I preferred windows based automation for ease of configuration and the ability to SCALE i.e. I can slap on more I/O channels or even another labjack u3 for my future fire suppression project. More people will prefer android based automation like what you are proposing. The other half of my control network is actually controlled directly from my android phone but its a different project. You can check out my instructable on it (replacing all my remotes with an android phone).

All the best!

junglegeo (author)2015-05-10

Wow! This is genius! I want to do something simpler only for house security. Like to turn comera on when someone rings the bell or open the door. Do you know if teamview works for that? Congrats!

MichaelR5 (author)junglegeo2015-05-13

You really want a camera to turn on BEFORE someone rings the doorbell. I'm playing with a DropCam, (indoor only, external power), and a friend is playing with a couple Arlo cameras (indoor/outdoor, battery power). The Arlo can talk to eachother. His outdoor cam signals the indoor cam to turn on when it senses motion. The DropCam can be set to record (to cloud) for movement, lound sound, or both. I'm using the DropCam to check in on, listen to and occasionally talk to my dogs.

Mjtrinihobby (author)junglegeo2015-05-10

Teamviewer is not automation software. FLOWSTONE is the software and yes it can interface with cameras. I just don't need to do that for my home. I use ispy.

junglegeo (author)Mjtrinihobby2015-05-10

Thanks, I'll check these out. Hope they work in Mac! :D

Phil_S (author)2015-05-11

My experience was in a large public utility and PLC's ruled the roost, mainly controlling pumps etc. with flow and so on as inputs. The PLC programmers were God-like figures and on some schemes, I had sole ownership of the program. However, when something failed, the PLC man was first in the firing line. The really dumb bit was when I left the company, no-one had bothered to take over the programming and documentation, so nothing gained. PLC's were really all that was available then, but knowing what I do now of the capabilities of MCU's, much of the work could have been done on a 2GBP chip - persuading management to adopt something like that and given that someone or something has to take the blame, no-one would have taken the chance. My rule of thumb was anything with more than a couple of relays and a couple of timers, PLC was the answer. However, now, I prefer the DIY MCU route and heaven help us if home automation becomes the properties of the Honeywell's etc. or legislation stops "tinkering". I'm doing home sensing, heating and ventilation etc, all Arduino-based and easily customised and I wouldn't go down the PLC route. However, 20-30 years ago there were no nice IDE's or friendly compilers, so unless you were "C" trained, MCU's weren't an option. Just an observation

absolutekold (author)2015-05-11

I too have come from an industry, am well versed in the PLC ladder logic, and worship at the church of the microcontroller. From an industry standpoint a company wants, and will pay someone else to give it to them and support it. A few community classes and a maint-tech can be a tolerably competent PLC programmer seeing as the people you bought the system from should already have the code 99.99% done. In this sense we treat every factory like a one off and the ROI isn't there so the shop stays away. A majority of microcontroller variants on the market are there mostly as developer candy. You're expected to come up with interfaces,program the logic, and if it all ends in a haze of smoke it's all on you. This is great for finding what you need "cheaply" then making a dedicated board and building dozens if not hundreds of copies. Again most shops that I know do everything that they can to distance themselves from liability, not take more on, so being on the hook for the control system is a no-go. I have seen microcontrollers slipping their way into the PLC world because it gives the otherwise "dumb" controllers a little more in the way of being able to monitor, and make small automatic adjustments to predetermined trends. Currently, providing useable metrics as to what the systems are doing is near the top of a microcontrollers value in a packaged system.

wb7okh (author)2015-05-10

Are you selling it yet? I don't want to loose my fish due to some kind of a jam in the feeder.

Mjtrinihobby (author)2015-05-10

This is by no means a plc. Completely different animal. Trust me I have installed plcs. I personally do not like plc for project use but this is my opinion.

iamuke (author)2015-05-10

Excellent use of off-the-shelf components. I have been considering hacking something together using a Raspberry Pi and various electronic doodads, but this is intriguing. You found a bunch of compoents that played well together and built a very cool system. Well done!

Mjtrinihobby (author)iamuke2015-05-10

Thanks u!

Kevin White (author)2015-05-10

I've been interested in home automation for a long time, but apartment living is generally incompatible. But now I have a landlord who is totally into it so I have been with the Pi and Arduino. This iinstructable has opened up a whole new world. Thanks!!!

Mjtrinihobby (author)Kevin White2015-05-10

Wow thanks.

wb7okh (author)2015-05-10

I am doing something similar to this with the Raspberry Pi. I have it worked out fairly well except that I want to add a fish feeder for my aquaponics garden. What do you use for your dog feeder? I have seen several ideas and I am not sure I like the way they work. I am leaning toward individual containers for each feeding and timing them to tip at feeding time. My concern with a large container is if it could jam open and dump al the feed, or have a chunk block the feed and it not feed.

ganastor (author)2015-05-07

Now I simply don't have the time or energy to learn how to use those
fancy arduino, raspberry pi, Micro controllers etc. Those are for
extreme minds (respect!). I can't wrap my head around those things. <---just had to comment on this after reading through this instructable about how different sides of a coin really are.. Being a linux user these items are the easiest thing in the world for me to program but everything about the your instructable makes me think that the labjack is actually the thing for extreme minds :)

hickman (author)ganastor2015-05-10

I think we're all on similar planes, but, like most things, it's whatever you're familiar with. The same project can be done with Programmable Logic Controllers and "ladder logic". But honestly I hope there are strides being made to simplify industrial/automation processes,because ladder logic gets really confusing, really quickly for me. Programming for the Pi or Arduino makes WAY more sense to me.

mp 15-22 (author)2015-05-08

I would like to say your setup is totally awesome. I own a pi and all I use it for in a mini computer. can't figure out how to do anything else with it. I think I could have better luck with yours if I had a little time. if I start to work one of my own may i contact you for some pointers and times? great build.

VulcanJedi (author)2015-05-07

One of the best automation set ups I've seen.

Are you just using TeamViewer from the web/app with your known session id,

or did you actually program your device to launch the view automatically?

Mjtrinihobby (author)VulcanJedi2015-05-08

Thanks very much for the thumbs up! I installed the host version on my Pc. The mobile app is on my phone. Once the phone connects to the automation pc, it's like a virtual keyboard and board with monitor.

About This Instructable




Bio: As of April 2017 I have decided to no longer post on instructables. The fact that several of my published works have been removed without ... More »
More by Mjtrinihobby:External Light Sensor Night Light.Replacing a Toilet Tank Float Valve. How to Make Pig Feet Souse!
Add instructable to: