I want to adapt my homebuilt system that currently uses a bunch of Arduinos. I have looked at several OpenSource systems but they have required that the server be installed on a computer with Intenet access. We live in the boonies and I do not want to be dependent on our very crappy DSL provider (only one in the area) and have no need for control when away from the home, thus no Internet needed.
I tried the OSA Server but it needed Internet during the install. So, now I am looking at OHAB. Can I install this just as an internal system?
If so, what download(s) do I need to use for a windows 7pro setup?
There are no requirements to have Internet access, unless you use an addon that requires it (like cloud-based APIs – Netatmo, Nest, Ecobee, weather, and a few others, my.openHAB for remote access, or the NTP binding unless you have a local time server, or you want to track Location items in the UI (lat,long) with mapping). Bindings for local hardware like Z-Wave, for example, have no Internet dependencies. I suppose it depends on what you will be connecting openHAB to.
Once you’ve downloaded the zip files described below you do not need an internet connection to install openHAB. OF course you need Internet to download the zip files in the first place though. You will need to download and install the Java Runtime Environment too. You can get the offline installer for that here.
You will download the packages here. Download core, addons, demo setup, and Designer which will all some as zip files.
Note that the core of openHAB and the bindings are platform independent but there is a special Windows distribution for Designer.
Then see the Windows installation instructions here.. Installation is primarily just unzipping the files in a standard location and you are done.
It says Designer is optional but I strongly recommend you install it as well. Developing rules without Designer will make your life much more difficult.
One thing to note is some of the bindings do require internet access so, for example, the Network Time binding (unless you have an internal NTP server to point it to) and the Weather binding will not work. You also won’t be able to use my.openhab. But most of the stuff it sounds like you will really care about should work with no problems.
OK, thanks to you both. I will need accurate time for controlling the electric heaters currently using an RTC board with the Arduino handling the sequencing. The heating system consists of a Nano, RTC and 4-relay board driving four 40-Amp relays. I was figuring that openHAB would be replacing the Nano or do I have the wrong idea on what openHAB can do?
The win7 PC is on an internal router-network that is not connected to the Internet, could openHAB get the time from the router? I can manually maintain that time-setting easily.
Currently there are no commercial things connected like zwave, but I do have a bunch of old X10 that were terrible to control with their software so tossed them in the back of a cupboard. But, reading more about X10, they may have to stay in the cupboard as I have two sets of Powerline wifi extenders communicating via the mains wiring. The Powerline adapters actually interfered with the programmable Honeywell heater thermostats, so had to toss the thermostats and take control with Arduino. I feel trapped on a roundabout.
openHAB is far too heavyweight to run on an Arduino. People do run it on Raspberry Pis, BeagleBones, and other board computers but not microcontrollers. It really isn’t designed for that anyway. OH is designed to be a big translation hub that abstracts a whole bunch of different Internet of Things technologies (120+ officially supported bindings and counting) in such a way that they all can interact and you can write rules to control them without the rules caring what technology they are. For example, a z-wave switch, a Hue Lightbulb switch, and a custom made switch that uses a custom built ASCII TCP protocol can all be use the same way in the rules.
So, unless you can wire up your 4-relay to your Windows 7 machine or are willing to replace the Nano with a board computer with GPIO pins (e.g. Raspnerry Pi), you will still need the Nano plus you need a way for the Nano to communicate to openHAB.
A common way to integrate Arduino controlled sensors and actuators is to wire up some sort of wireless board to the microcontroller (e.g. RMF69) , wire another board up to some sort of gateway which translates to/from the RMF69 to MQTT. Then configure MQTT to communicate with the devices via MQTT. If you put an ethernet board or wifi board on your Arduino you can put the MQTT on it directly. If you replace the Nano with a Raspberry Pi or BeagleBone running openHAB, you can have openHAB interact with your relays through the GPIO binding and there is no need for anything extra, but that often isn’t an option as what you are controlling isn’t always close to where you want to deploy the server.
So you are sort of right, openHAB can replace the Nano in that the code you have running on the Nano that controls the relays based on time will move to openHAB, but you will likely still need the Nano plus some additional hardware. You shouldn’t need the RTC any longer though as the clock will come from the server where openHAB is running, potentially synched with an NTP server on your network.
If your router runs an NTP server. But if you are manually maintaining it on the router, you can maintain it on your Windows machine or board computer directly just as easily. None of these computers should have issues with a lot of time drift or power cycles.
Rich, thanks for the details but you need to slow down and read what I wrote. I said “replace the Nano” as I had mentioned in the OP, openHAB would be on a win7 PC.
If your router runs an NTP server. But if you are manually maintaining it on the router,
Thanks, I was confused by your earlier comment “the Network Time binding”. It sounded like you meant that openHAB couldn’t get the time from the host computer, but it had get it from an NTP server somewhere.
I was a Technical Writer for many years and tend to take written instructions as absolute and complete.
Thanks anyway, but openHAB is not what I am looking for, been a programmer for 40+ years so think I will write my own. OpenHAB may be good in concept, but I get the impression it is trying to be everything for everyone and that is never a good solution.
I would push back on that last statement. openHAB is designed and intended to solve a real problem in Internet of Things, which is the proliferation of different technologies and protocols. It does this by providing an abstraction layer between the specifics of the technologies and the business logic (i.e. rules), user interface (i.e. sitemap), and storage (i.e. persistence). I too have been a programmer, only 20 years for me but long enough that I feel confident in saying that openHAB does a fantastic job solving this problem. It isn’t emacs (an operating system masquerading as a text editor) nor is trying to be all things for all people.
The architectural approach openHAB uses is a well known and well defined design pattern which has been in common use in “Enterprise” systems for decades and embedded systems even longer (e.g. OBDII follows a somewhat similar design pattern). It is a well tested and well thought out approach and openHAB does an excellent job implementing it.
However, openHAB solves the problem of integrating lots of different technologies using a plug-in architecture. This may be what gives it the impression that it is trying to be all things for all people. But I argue that is a false impression as even the most complex systems I’ve heard about use probably fewer than 10 addons total. Which ten are used will vary greatly between deployments as there are hundreds of IoT technologies and protocols to contend with. But despite this proliferation of plugins, some of which are of better quality than others, the core of openHAB is pretty rock solid and does what it is supposed to and nothing else.
It may not be a good solution for your particular situation as you have a single well defined thing you are trying to control. That isn’t really the type of problem openHAB was created to solve (though it could). I would agree, a custom script or program would probably be a better solution in that case. However, for people who’s problem is to create home automation without being tied to the walled garden of one technology or another with all the limitations that implies, openHAB is absolutely the right solution.