Nice Diggin Hari!
Looks like you've done your homework...
I can probably use my Insteon code (more or less) as a template..
Let me finish the Insteon.. Ask me again once I release the code.
Hey Dan if you can re-use your Insteon code as a template that wold be great. PLCBUS would pull in a lot of interest outside N. America. Maybe you can code it such that the Insteon & PLCBUS drivers share some common code libaries with all the protocol dependent stuff (ie Insteon & PLCBUS) pulled out into two separate libraries. That way maintaining/supporting/updating the code for both would be easier... just an idea of course! ;-)
I'm in the final stages of a new and improved Obect Oriented design.
This new code should give these advantages:
1. Takes care of the threading issue. Handles queuing of all commands and responses.
2. Allows a simple 'cut&paste' method for most home automation protocols.
3. Each protocol will be implemented as a class. This makes maintaining code MUCH easier.
I'm debugging as I'm writing this..
Of course, I will wiki my results, and instructions on how to create the protocolObnject class.