openHAB is probably the best home automation system I have come across. It is open source and has a great community. It’s not tied to any brand or technology. There are a ton “Bindings” for different devices. It’s been running in my home for about 5 years.
You can find some great tutorials on the website. Here, I will just going to quickly run through some of the basics from my experience.
OH2 has realtivly low requirements, many people are using RaspberryPi’s. In my case its running on an old pentium 4 Ubuntu server, also hosting other applications. The community forum has more details on different setups.
Setup is pretty straightforward, depending on how complex your requirements our. The first thing your want to do is determine what bindings you will need and what is available. If there isn’t a pre-made binding, as I mentioned earlier, you can probably use the HTTP binding to connect to a device that has a rest API. I have also use OH to trigger command line functions before there was an official binding.
In my home, I started with X10, but have since added both Insteon and Z-Wave devices. The more advanced 2.0 bindings will automatically detect new “Things” (devices) on your system. Older legacy 1.0 bindings will requirement a little more hand coding of items. Again refer to the tutorials to create an item. When your creating an item, like a switch, your telling OH2 what binding to use to communicate with your device.
The real power of automation comes through in rules. You can create rules that can be triggered by different events (i.e. time of day, sensors). You can do just about anything you can dream of with rules. Your limited only by your coding skills and imagination.