Nice job. Easy to read and follow what you did and your reasoning.
A couple of comments.
If you are not into editing configuration files, you can download the Eclipse based OpenHAB Designer, which I haven’t tried yet.
I will argue that Designer s more than just a nice to have for people who don’t like text editors. One of the weaknesses of openHAB is that error reporting is not always obvious or clear. It seems that NullPointerException gets thrown for everything. When you use Designer, all of the syntax errors, typos, and miss-references get caught as you type. So if Designer doesn’t flag anything you can be sure that any errors you have are caused by logic errors, not syntax errors or typos. I can’t tell you how many people I’ve helped on this forum solve errors that would have been caught had they used Designer.
Found in /usr/share/openHAB/configuration for Linux
It might be worth while mentioning how you installed openHAB. There are sooooo many tutorials out there that give instruction to manually download and install it into /opt. The officially recommended approach for Linux is to use apt-get (see the wiki for details).
I have no idea what method you used. Manual installs usually put everything in /opt. The apt-get install buts the binaries into /usr/share/openhab but configs go to /etc/openhab/configuration. I’m not sure where /usr/share/openHAB/configuration comes from, unless you manually installed openHAB into /usr/share.
The nice thing is openHAB picks up any changes usually in a few seconds except for the openhab.cfg.
This is also true for the logback.xml file so if you want to change the logging it also requires a restart.
Here are the main components/configuration files in the order of dependency.
You are missing persistence which is a pretty big deal though easily forgotten or skipped over. You have clearly set it up since you are using RRD charts. A mention that an every minute strategy is necessary for rrd4j for charts to work.
One thing to note is it seems icons set on frames doesn’t show anywhere.
You can fake this by doing something like:
Text label="My label" icon="icon_name" {
Frame {
// sub items
}
}
Set up last seen time stamps for each device (Need to know if the battery died)
Timers are a good option for this too.