Saturday, February 28, 2009

xPLGCal - Reminders From Your Google Calendar

This is a first release of xPLGCal. This app scans your Google Calendars every 15 minutes and sends an osd.basic message if an event is starting within 15 minutes. It will check up to 4 calendars. To use it, just create a config.txt file specifying a name and an associated Google Calendar "magic cookie." There's no need to explicitly store the Google password using this method. Here's how to find your GCal magic cookie. Make sure to replace 'basic' with 'full' on the magic cookie URL.

Your config.txt file contains a single line and goes in the same directory as the binary and will look like this with two users (John and Jane):

John,http://www.google.com/calendar/feeds/johnjohnjohn%40gmail.com/private-a33868799adfe999399e992939949edc/full,Jane,http://www.google.com/calendar/feeds/jp47574%40gmail.com/private-0123456789abcdef01234567890abcde/full

Now, just fire it up...


Sunday, February 22, 2009

BlueTracker Released

I'm releasing my BlueTracker application which tracks bluetooth devices and issues updates over xPL. It currently works with only the Microsoft BT stack, but you can hack your BT dongle to use the Microsoft stack. I don't have any Widcomm devices so it doesn't have any support for that driver - but it should be easy enough to add when the 32 Feet.NET SDK is released with Widcomm support (It's in Beta currently). You can read my previous posts on BlueTracker to get an idea how it works. Grab it.

Saturday, February 21, 2009

Trying Out Gigabit Ethernet

Since I've been toying with the idea of SageTV as an HD DVR, I've been thinking about converting part of my LAN to run GigE. Our house was built in 1999, before Cat-5e was standardized, so we've always had a 100 Mbps network on plain old Cat-5. We also only put in 2 runs of Cat-5 per location, so I ended up splitting the Cat-5 runs for the LAN (2 pairs for the LAN and 2 pairs that I could use for other low voltage needs). However, GigE needs all 4 pairs. As a test, I freed up 2 pairs on one of the living room runs, allowing me to have all 4 pairs in one run. I was able to link up two D-Link GigE switches over that run at gigabit speed. I put a cheapo Airlink GigE NIC in the HA server but I don't have any other GigE devices to test the throughput I can get over my wiring. I guess I'll find out when I eventually build a Sage server with a GigE NIC.

Update: I put another Airlink GigE NIC in our kids' computer and was able to get around 250 Mbps file transfers - not bad running over 10 year old Cat-5 wiring, Cat-5 jacks and a Cat-5 patch panel.

Update 3/22/09: I'm now seeing about 400 Mbps to our new media server with the same Airlink card.

Tuesday, February 17, 2009

Blabber - an xPL Jabber Gateway

A couple months ago, I added Jabber functionality to my xPL sCU application. I've decided to make the Jabber portion available as a standalone xPL app called Blabber. This app will let you use IM to send it messages, which you can use in your automation scripts. It also allows your automation system to send instant messages back to you.

First, you'll need to set up a Jabber account which Blabber will use. Google probably has the most reliable Jabber server and it's what I use. Add your personal IM account to the Blabber account's roster. Once that's done, you can set up your config.txt file. It's just a single line file:

<user name>,<server>,<password>

For example, assuming your Blabber account is xplblabber@gmail.com then your config.txt file would be as follows:

xplblabber,gmail.com,your_password

After you've saved config.txt in the Blabber directory, you can start it up. You'll notice a debug window that prints information messages. Now you can interface to it.

When you IM with Blabber, it will generate sensor.basic messages:
source = doghouse-blabber.xyz
dest = *
type = xpl-trig

sensor.basic
{
   device=your_email@gmail.com/gmail.some_resource_numbers
   type=message
   current=the text of the message you sent
}

Blabber will also keep track of your status:

source = doghouse-blabber.xyz
dest = *
type = xpl-trig

sensor.basic
{
   device=your_email@gmail.com/gmail.some_resource_numbers
   type=status
   current=available
}

One thing you can use IM for is if you're not home, you can create a script that will forward the contents of osd.basic messages to you over IM. Just create a control.basic packet like this:

dest = doghouse-blabber.xyz
type = xpl-cmnd

control.basic
{
   device=your_email@gmail.com/gmail.some_resource_numbers
   current=somebody rang the doorbell
}

Download Blabber. I've only tested this on XP, but it should work on Win2k.

Monday, February 16, 2009

Updated EventGhost xPL Plugin

I updated the EventGhost xPL Plugin I wrote about here. It now supports EG version 0.3.6. Grab it.

Friday, February 13, 2009

Firewall Died

My circa 1999 SonicWall SOHO firewall bit the dust this week. Everything worked fine, but for whatever reason, the throughput through the device slowed to a crawl. I replaced it with a spare firewall I had lying around, but this was a great little device offering tons of control that home firewalls can't give you out of the box. (Nowadays, I'm running Tomato). I got the SOHO when I worked at CacheFlow, one of the darlings of Internet bubble. Those were the days...

Thursday, February 12, 2009

Bluetracker Progress

I worked on my bluetooth tracking app a little more last night adding the capability to receive device updates from other BlueTrackers. I did this by adding xPL so that the app will generate xPL messages when it detects a phone or when that phone times out. Other BlueTrackers on the network, which may not be close enough to the phone to detect it, receive those xPL messages and can then update its list of present phones. My HA software can now key off phone detected messages from all BlueTrackers to establish that a phone is home. When a phone leaves the house, eventually all BlueTrackers will issue timed out messages, but only one BlueTracker will serve as a master - and only messages from that BlueTracker will be used to determine if a phone is no longer home. The app has been running on two machines overnight and is pretty much done.

Wednesday, February 11, 2009

New Bluetooth Project

I have been using xPL Bluetooth but it hasn't worked quite right for me so I've decided to write my own Bluetooth app to track our cellphones coming & going. I am using In The Hand's 32 Feet.NET PAN SDK. The example code had everything I needed to get a quick start writing my app. After a couple hours of playing around, I've got it up & running detecting some bluetooth devices. I've added code for tracking and timing out devices along with a debug window. Now, I need to decide if I'm going to add a configuration file and also how I will interface it back to my HA system. I originally wanted to add it to my xPL sCU application, which interfaces starCOMUltra, xPL, xAP, IM & UPB. Instead, I've decided on a standalone app as I'm not getting anywhere near the advertised bluetooth range - so I could end up with devices timing out if they get moved from the family room to the living room, etc. My plan is to put the app and bluetooth interfaces on all the servers around the house.



Monday, February 9, 2009

Official Google Calendar & Contacts Sync

Finally, you can sync your Gmail contacts and GCal to your mobile phone without having to use third party tools. Read about it here.