Thursday, December 19, 2013

Christmas lights

I'm trying to decide what to get for my hacker friends (old style, hardware hackers, white hats) for Christmas. I think I've settled on ZigBee controlled lights from Lowes. It unusual enough and interesting enough that it most likely will get used and played with. I'm still checking the lights out but I think that's the route I'll go. They already have a Raspberry Pi so that won't be an issue (node.js + Pi + IP = Linux HA ;-) ). I'd also like to get a couple of the Philips Hue WiFi bulbs.. I love the idea of it being able to change color. Could be useful for an alert system. We'll see what I can find after Christmas.

Some of the other things I've been busy with are my my studies of OOP analysis and design, TDD, and node.js. So far that's mostly what I've been reading in my spare time. I've written more on the IRRNODE, I now have the conditionals working (though I have no cron jobs updating the extCnds.json file yet). I'll get that posted to the git repos soon. I also started tackling the node HCS II replacement system (but no work on the Brultech monitors yet). I've tackled the Javascript 'class' template for my dummy device. I've got a good sample of multi-class inheritance. I'll continue to work on that and the user code with a subset of Javascript with access to the node module objects. If it works I'll get the simulator (dummy classes, devices and network interfaces) to emulate real devices. This would provide a proof of concept from which I can proceed to an actual working application. Actually the new classes (node.js modules) would talk to real devices such as an X10 interface. That's a pretty short step from concept to production. In the coming weeks I'll need to interface to some kind of db, something that can live on a Raspberry Pi (maybe using a cloud drive). Yes, the architecture is still evolving. I still have to work out a few details, such as state change of variables (objects). The user will probably want to turn on a light just once when it gets dark and not each time through the loop when it is dark. Of course there are times when you may want to check the motion sensor when it is dark and not only when it just became dark. Misterhouse has a set of methods for this called state and state_now. Those worked rather well. I'm also interested in a web page that is a layout of the home. I already have this in Misterhouse though it sorely lacks some features (such as popups for the icons to give exact control and current information). So many things to still do but at least I feel like I'm making progress.

In November I picked up an inexpensive desoldering station. So far I've been practicing on single sided boards but all I can say is: Wow!!! I unsoldered a 40 pin DIP chip in about 20 seconds with no need to fight with the chip. Once unsoldered I pulled it from the board with my fingers. My next test will be on multilayer, through hole board and see how well that works. My Solderpult is good but it's a bit more work. It is nice to have the right tools.

And finally for those who have been following along. Yes, I'm actually working on several things at once. I suffer from the typical mental afflictions many geeks suffer from, ADD. But I've taken a bit of advantage of it in recent years. Since my mind likes to wonder from project to project (I wonder if Divinci suffered from ADD?) I do something I refer to as "5 minute programming". I attempt to do only small chunks of a project, something that can be done in about "5 minutes" (not literally). This seems to work well with the Agile testing work I'm doing at work (change one thing at a time, until it works). It's not the best way to get a project (or projects) done but it does fit the time I have. I try to keep the number of projects to a small set, though I'm not usually 100% successful.


Post a Comment

<< Home