I've gotten to a pretty major milestone at this point. The system has been converted to the socket interface. The tag database has been converted to a new format and the API has been changed to reflect these modifications.
I've also added some features to a couple of modules. The modbus module reads and writes to tags that can be configured on a per command basis. The daxlua module now has multiple periodic tasks that can be configured and I also added the ability to pre-define some tags that will be exposed to the Lua script as global variables.
It's basically back to the stage where it was when I decided to change the IPC interface. It still needs a lot of testing so please go to the downloads page and get a copy. Play with it and tell me what you think.
The next thing that I am going to work on is eliminating repetition in the module configuration by putting common elements into the library. Since moving to the socket based interface there will be a lot more of this information and it makes sense to put it all in one place to eliminate all that duplication.
After that I'll have to start working on asynchronous messaging. I need a way to send events to modules from the server so that I can implement tag change events and module to module messaging. I'll probably add the remote module code as well.
Once this is done I'll probably spend some time cleaning up a bunch of the TODO:s in the code and start working on an Insteon module so that I can finally get this thing controlling the lights at home. (Which was really the reason for starting all this in the first place.)
There is a lot more that needs to be done but these are the big ones for the next few months.