For quite long time I have been using my “so called” smart home system based on Z-Wave device (around 20 pieces) with RazBerry and software from its web page. Additionally I used several plugins and mobile phone app on iPhone. How was it? Not bad – I could monitor house parameters, active some scenes… But I missed like hell a few features:
- diagrams/charts – there is no a build-in solution in z-wave.me smarthome supporting chart preparations. There is an interesting IntChart plugin but it missed some features like easy elimination of invalid readings from chart, describing properly source of device.
- integration with other sources of events – it was possible, there are several plugins for HTTP devices and so on. But it wasn’t straightforward. Of course I was using mostly Z-Wave and it was working fine (with exception of some cheap items from China which missed certain features – but it is device related problem). As I started playing with ESP32 chips it started being more and more interesting for me however.
- Finally during last months of 2017 I started having problems with getting access to my home device from Internet. Probably z-wave.me service was overloaded and I could use smarthome only from internal network.
- Missing notifications to mobile phone
I was thinking also about implementing some features myself… but I am not JS person unfortunately.
All above made me to look for something new.
Finally my steps lead me to openHAB. Solution looks at first very promising, developed in Java. And it was great that it allows for integration with Z-Wave in two ways – using Z-Way and Z-Wave binding. Installation of my Raspberry was quick and during Christmas break I started testing what I could do.
First of all I have added mySQL database to keep data persistence – and from start I knew I will be able to reprocess data if needed.
In order to connect to devices (Things) binding must be installed. From the list I chose first Z-Way as it allowed for seamingless integration with my existing smarthome software using REST API shared by smarthome. Additionally in parallel I kept original software talking to RaZberry board.
All devices from RaZberry were listed quickly – both physical and virtual and I let system run without much changes. I played with my Christmas lights at the front door and it was fun… Until I notice that responsivity of system was getting poorer in time. On average after 10 hours I could not switch lights using openHab – RaZberry software was still running. A few retries and monitoring of Raspberry showed that CPU load of java process was jumping often above 100% and binding had problems with parsing some JSON structures read from Z-Way API.
Advantage of having nice charts using HABadmin UI, notifications was lost as if system is unreliable with readings then it is useless.
The good news is that there is second binding and after quick look at GitHub I have found it is still developed and much more active. Z-Wave binding works differently – it talks directly to serial port on Z-Wave controller (RaZberry for me but can be also USB).
First step was to disable original software and configure serial port for binding. There is good documentation on it – and I started the system again.
Unfortunately not all devices were found properly – mostly the cheap devices with which I had problems with old software.
But… I was a little shocked when I found that responsivity of whole network – plugs, light switches – improved a lot! Earlier switching stairs light or dimmer right to the controller were talking even 5+ seconds… now it was without noticeable delays. It made me very happy, really.
What about CPU load? It is below 3%… and I monitor it easily with System Info binding which displays on UI necessary information (also I can chart it 🙂 ).
With Network binding I put periodical pinging of mobile phones to investigate presence detection of my family – all results are in database so I can make some conclusions and turn of lights and heating in my son’s room 🙂
Access from outside is via openHAB cloud. There is instance available for anybody but no SLA is guaranteed – it is slow, really. But this cloud software is available for personal installation so diversity is possible – installation of it is on my task list.
New system is much more flexible, these days it requires some more work with building nice UI (with sitemap) but tools are under development and editing text file to adapt UI is easy. It does not require from user deep technical knowledge however some skill. But results are very impressive.
I will assemble some notes and share experience with some advice.