Saturday, December 31, 2011

Home Automation 2011

Since I wrote about 2011 downloads, I thought I'd write about the automation & related projects I worked on this year.

1) The biggest effort for the year was the Chumby/Infocast project that resulted in Panel Builder, xPLChumbyTTS, and the xPLChumby Python script. I learned how to program ActionScript/Flash and ended up with these awesome, low power and cheap touch panels that make great picture frames and TTS clients. I also totally revamped Panel Builder with a V2 but never finished it up enough to release. Built screens to control every aspect of the HA system, a lot of the screens automatically generated by PHP scripts populating from from existing MySQL databases. The Infocasts also got updated to run Chumby 8 firmware.

2)Integration of the OBi110 VOIP adapter with our existing Asterisk and MagicJack setup. Wrote a syslog Perl script (the main parts are available here) to monitor all sorts of events from the Obi, including touch tones, line status & caller ID. It also does caller ID lookups from our MySQL db of contacts sending results via xPL. Also migrated Asterisk from a Dockstar to the SageTV server.

3) Upgraded SageTV server from Server 2003 to Win 7 Pro & wrote a new xPL Sage app to replace my xPL Plugin. Also paid for and upgraded SageTV to V7 just weeks before they were acquired by Google and gave away the V7 upgrade for free >8(

4) Built an xPL Facebook app with a scripting engine and created a Doghouse Labs page where certain random events are posted on the fb feed via the app.

5) Did a bit of upgrading my Jab2Twit Jabber-Twitter connector. It's the main way I interact with Twitter since GMail/GTalk is always on my PC or phone. It's great getting an IM whenever Amazon's Appstore announces their free app of the day - no need to start another app or check their webpage to find out.

6) Upgraded all my IM client apps, including Jab2Twit, from using the Jabber-NET library to agsXMPP, which is much more robust.

7) Wet my feet with Android development building in tweaks to gtalksms.

8) Did a lot of tuning & tweaking w/ BlueBlabber, my bluetooth-Jabber connector, which I have running on my work PC so my automation system knows when I'm in my office. I just need to publish the latest version. As you can tell, I love using IM as a communication protocol. It's great for bridging remote networks - no need for firewall holes - plus it has the added security of SSL encryption. You can also encode your messages your own way as well to make things more obscure.

9) Added Z-Wave to the HA system, hacking xPL into the open-zwave demo app. I'm really liking Z-Wave, even more than UPB.

10) Lucked out & got a couple of $99 HP Touchpads in the first wave. Installed CM7 on them & have been extremely pleased. The kids & wife love using them.

11) Got the kids (8 & 10) AKA spoiled brats ;) their own Sandy Bridge based laptops, loaded them with Ubuntu & Google Chrome running AdBlock and WOT extensions, and configured with OpenDNS Family Shield so they can surf safely and smartly. Copied the xPLChumby Python script to their laptops so I can send text-to-speech and on-screen messages to their laptops. Added them to my host monitoring so that every 20 minutes of uptime, they are sent a reminder to get up and walk around to rest their eyes and stretch their legs.

12) Hacked pyrocket to put USB rocket launcher on a Seagate Dockstar and use as an xPL controllable pan-tilt webcam.

13) Wrote an extension of xPLGameport to work with cheap 12 button gamepads, obviously named xPLGamepad.

14) Replaced our public webserver (NSLU2) with Seagate Dockstar and picked up a cheap Pogoplug as a backup for the 3 Dockstars that are deployed. The Pogo's been loaded up with Arch Linux.

15) Finally deployed the WebControl I bought nearly 2 years ago. For now, just using the analog inputs and some CdS sensors to detect light levels in rooms. Of course, it's using xPLWebControl - which got a new feature - a fake SMTP server that the WebControl can send an email to, which will be converted to an xPL message.

16) Wrote a Perl script to screen scrape Yahoo Sports and send TTS over our whole house speaker system so I can listen to play-by-play of football games that aren't on TV while I'm debugging the house.

17) Added IP control of our Samsung TV and Blu-ray player via a Python script.

18) Installed 2 new outdoor bullet cams to upgrade the coverage in front of our house.

19) Rooted and installed a custom ROM on my Galaxy S phone in order to fix GPS that Samsung broke with the Gingerbread update and get rid of the Carrier IQ crapware. Been automating my phone lately with Llama and android scripting.

20) Finally unplugged the last Rio Receivers, which were in the kids' rooms. The kids got migrated to Squeezeboxes and I shut down MediaNet, which, with its predecessor xPLRioNet, have been in use with the Rio's since the early 2000s. Those servers first introduced me to xPL and really opened my eyes to a lot of what can be done with home automation.

21) Lots of minor things:
- hardwiring sensors that were once connected to DS10A's now connected to a distributed network of gamepads/gameports residing on Dockstars, thin clients & servers.
- script to import Android contacts into MySQL DB for caller ID lookups
- constantly refining the 4800 line script that runs in starCOMUltra (my main automation engine) and the 2500+ lines of code running in my xPL scripting engine
- did some natural langugage parsing for the system's IM interface - allowing better voice control via IM using the speech input feature of Android & Google Talk - before people got all hot & bothered about Siri & home automation
- integration of reading Google Voice SMS's based on this

I think that's a pretty good summary of my HA work in 2011. What about you?

Thursday, December 29, 2011

Most Downloaded of 2011

Here is our annual list of popular downloads:

1. EventGhost xPL Plugin - 101 times
2. xScript - 67
3. BlueTracker - 54
4. xPLChumby - 51
5. xPLSerial - 21
5. xPLWebControl - 21
7. BlueTrackerScript - 16
8. xPLChumbyTTS - 16
9. xPLGVoice - 16
10. xPLWav - 10

Surprisingly, the EG plugin led the way yet again, but overall downloads were lower than last year. I admit, I haven't been as prolific turning out apps this year. The whole Chumby/Infocast effort was really draining and I don't I think ever recovered from it. It took a lot of the fun out of developing. We do use the Infocasts all the time though. The real interest in Chumby wasn't seen in the download numbers since Panel Builder gets served off of I did see over 1200 unique IP addresses previewing Panel Builder - although I don't how many actually installed it.