Sunday, January 18, 2015

IBM's Node-Red and HA

As I've noted in previous blog entries I've been busy with HA research on my tablet. The research is for my TCF presentation in March and my VCF presentation in April. Actually you could say that I've been a bit hyperactive. I've been busy with work, taking a new course a month, writing several pieces of software, researching topics and preparing the presentations. Much of my research will be posted to my Linux HA and US Home Automation web sites, something I haven't really been doing that well lately.

While researching MQTT I came across some references to Rules Engines to make decisions based on conditions (typical user's if-then-else type stuff used in a lot of HA). One of the things I've come across is Node-Red. A project that was created at IBM for graphically programming the IoT (HA is a subset of the IoTs). At first I thought it was a bit hokey, I recall Logo and a few other similar UIs. This time I think someone got things a lot more right. I was playing with Node-Red and was able to get data from one MQTT topic, parse it in Javascript, and send it back to another MQTT topic. I spent more time trying to recall the Javascript syntax than haggling with Node-Red to get it to work. While I'm not sure I'd try to write a full Linux file server with Node-Red I can see using it for handling the typical HA type Business Intelligence. I would expect the typical home user BI to be less complex than what I see at work but there are similarities. At this moment I'm not sure if it is possible to build the building blocks that would make HA more flexible for the home user but I am sure that by using MQTT, with DHCP, Node-Red and a HA server package it should be possible to have a user add a new node to the existing HA system with a minimum of trouble.

Saturday, January 10, 2015

My Tablet gets a lot more use now

This blog entry will sound like a lot of moaning and groaning but it's mainly me thinking out loud. I'm working through the learning curve of the tablet and trying to figure the best ways to share information between the tablet, laptop and desktop environments.

I've been seeing a lot articles about the doom of the dekstop and death of the laptop. The winner, they declare, is the tablet! I'm not sure what that really means. I guess for most folks the tablet is enough. For me, more often than not, I need a keyboard. A tablet with a keyboard is a laptop, so getting a keyboard for the laptop isn't a good idea. I do like that I can move around easily with the tablet and respond to tweets and short emails quickly (I use swype). I've also taken a liking to Evernote (using Geeknote in Linux) to use for my research on HA topics. And I've switched to using my tablet and Chromecast to watch my online courses. All of this is great but I still find that I can't quite let go of my desktop (think cheap server) or laptop. The desktop has the storage, ram and lots of CPU horsepower I need in my development work. Things that cause a laptop to overheat and would kill a tablet's battery in a matter of minutes. Yes I know my desktop is really more of a server with a desktop on it. My laptop is more of an intelligent terminal than a laptop but contains enough aplications to get real work done away from the network. At work, it's all laptop. We have access to real servers and I run screen on them to keep my connections from terminating. The laptop is great for traveling between offices and sharing work. It's not so good with screen real estate. I've gotten quite used to my 32" monitor and TV in my home office.

One big difficulty I haven't worked out is how to take notes during my online course videos (playing on the tablet). The programming courses are impossible to do solely on the tablet as I need to do the programming work at a system with a real keyboard and the programming env. So for now I play the video on the tablet, chromecast it to the TV and program on the desktop (more screen real estate). Really I'm more than happy with this technology and I'm sure the future will solve these problems That's kind of my job. :-)