Wednesday, June 22, 2016

A return to projects and a Vera upgrade...

It appears it’s been more than a year since I last blogged about a project. It’s been a fascinating year and all good things, but so busy. I’ve concentrated almost entirely on bringing the core and UI of XTension up to snuff with the more recent OSX updates. The UI especially has been languishing a little bit and lots of cleanup and just making things work better was necessary. I’ve been doing a weekly build and getting so much stuff done it’s felt really great. The software is starting to shine again now and I believe is on par or better than anything else thats out there. We’ve always had better internals than anyone else ;) but the UI was sometimes hard to use or understand. That is much better now.

Then there was the construction project around here. About 7  or 8 months ago we finally got a contractor who was able to start working on some small additions we wanted done. When we moved into this house it was a little smaller than the last house, which was good, but it didn’t have a couple of things that we really needed. As soon as we sold the old house we were going to add on to the garage for me to have a little workshop and put on a screened in porch for my wife to enjoy. Neither of which you’d think was that huge a project. It took 3 years to get the old house sold which was WAY longer than we expected and then it took a further 2 years of mucking about to get a contractor to actually do anything other than a few vague drawings and then disappear for months at a time. Most of them just never returned calls after that initial meeting. One of them who finally did some design work disappeared for 4 months and then came back, returned our check to him and said he was going to retire that he couldn’t do it anymore! The next one would only return my emails after I would follow up when I would suggest that he might recommend someone with more time on their plate. Finally we landed a company who was excited about the project and who’s estimate only came in about 20% over what I wanted to pay for it so we ran with them! The first set of framing subcontractors had to be fired because they never showed up. The second set of framing subcontractors who came in to fix everything and rebuild from scratch some of the stuff the second group did were terrific. They showed up every day they said they were going to, they were skilled and friendly and they had a foreman on site with the carpenters all the time to make the important decisions and make sure everything was going to plan.

The addition to the garage also gave me an opportunity to extend my office and lab which is above the garage over the new space. Four months and change ago I took apart my professional life, packed it in boxes and stacked it up in the center of the room while they came through the wall and very slowly finished the new section of my space! It’s finally done up here! I am very slowly starting to make sense of where I put everything and am going to rebuild all my workbenches. In another few days I’ll actually have a place to solder things that isn’t the kitchen table! It’s a huge job just given the volume of stuff that I need to organize. I’ll be putting kits together and getting ready to release more XTension kits for more things in the very near future and I’m very excited. Right now it’s a horrific mess, but that will change.

Lastly I finally got around to something I’ve been meaning to do for a long time. XTension and I are huge fans of the Vera device as a ZWave interface. We’re not huge fans of the user interface to it on it’s web pages nor it’s flexibility as far as scripting and logic are concerned, which is why we recommend it as the Z-Wave interface for XTension and not as your only home automation device. I had pre-ordered the new Vera Plus which has Zigbee functions, Z-Wave plus support, BlueTooth LE and all sorts of new low level things that will be very nice. I knew that the backend connections were compatible with XTension as we already have users using them without any difficulty, but some things are subtly different and I really needed it to test with. XTension connects to it via it’s excellent and well documented REST API and JSON interfaces. Having a documented protocol also makes it possible for us to support things without having to continually reverse engineer the changes that they make. Going forward I’m really only going to support devices with a documented protocol. Their support is pretty good too. I was previously running a Vera Lite interface with a much earlier version of the UI firmware. For any other XTension users that are upgrading I’ve not written a wiki article yet on the process, but here’s the gist.

Vera has on their site several support articles for upgrading from different boxes to the latest one. Since I had the Lite I followed this one. The only trouble I had was that the new Vera would not accept the transfer until I rebooted it one more time. After that it did and all was well. Both devices will show in their status lines that something is happening if it’s working. It will take the new box some time before the devices start to show up in the devices tab, so don’t panic. It will just say that it’s configuring the ZWave devices or some such. When all the devices are visible, even if they aren’t all reachable yet, you can upload the backup file you saved off in an earlier step of the process on the web page above.  Initially things aren’t going to work very well. There were several devices that simply were not responding that evening, but this morning it’s finished it’s re-routing magic and as far as I can tell everything is working again.

The only thing you need to know about upgrading XTension is NOT to create a new interface and point it to the new box. When the units are automatically created you’ll end up with 2 units for each real device, one assigned to the old interface and one on the new interface.

The proper method is to keep the connection to the old box open during the upgrade and transfer process. When the process is complete simply disable the old interface, change the IP to the new box and re-enable the interface. Thats all.
.code { background:#f5f8fa; background-repeat:no-repeat; border: solid #5C7B90; border-width: 1px 1px 1px 20px; color: #000000; font: 13px 'Courier New', Courier, monospace; line-height: 16px; margin: 10px 0 10px 10px; max-height: 200px; min-height: 16px; overflow: auto; padding: 28px 10px 10px; width: 90%; } .code:hover { background-repeat:no-repeat; }