Domotica software layer
Posted: Fri Aug 27, 2010 4:58 pm
There are a number of commercial Domotica software products and quite a few people in this forum have written, or are writing, their own. I know I have!
This software might be Linux, Mac, Windows based. It might be embedded. Perhaps it has a GUI, perhaps it's web-driven and accessible over Internet. Perhaps it has it's own event handling language, maybe it can record things in an SQL table. Perhaps it can produce charts. This is all up to the application and the application writer and is why new applications are written.
But in every case there's a layer of the application entirely devoted to communicating with peripherals. Perhaps Dallas 1-wire chips, speech input, a GSM phone, a CM12, an RFXCOM receiver or even your own home-built parallel port interface. And every time somebody writes their own Domotica application, they have to work out how to talk to every single device. It's a lot of work and seems a bit wasteful because it's been done before.
Wouldn't it be better if we could come up with a cross-platform layer of software immediately above device-drivers which offers a consistent, tested and working interface so all any new application has to do is talk to that?
xPL does a lot of this. If xPL covered every device you wanted, all your Domotica application ever needs to do is talk xPL. It doesn't need to know the details of how to communicate with every single peripheral. Yet how many applications support xPL? Mine can, but it's never been tested with anything except the xPL clock. I don't have xPL set up to talk to each device; like most Domotica applications, I talk directly to the peripheral's device driver.
I have not thought this through yet, I'm wondering what everyone else thinks.
Cheers, Steve
This software might be Linux, Mac, Windows based. It might be embedded. Perhaps it has a GUI, perhaps it's web-driven and accessible over Internet. Perhaps it has it's own event handling language, maybe it can record things in an SQL table. Perhaps it can produce charts. This is all up to the application and the application writer and is why new applications are written.
But in every case there's a layer of the application entirely devoted to communicating with peripherals. Perhaps Dallas 1-wire chips, speech input, a GSM phone, a CM12, an RFXCOM receiver or even your own home-built parallel port interface. And every time somebody writes their own Domotica application, they have to work out how to talk to every single device. It's a lot of work and seems a bit wasteful because it's been done before.
Wouldn't it be better if we could come up with a cross-platform layer of software immediately above device-drivers which offers a consistent, tested and working interface so all any new application has to do is talk to that?
xPL does a lot of this. If xPL covered every device you wanted, all your Domotica application ever needs to do is talk xPL. It doesn't need to know the details of how to communicate with every single peripheral. Yet how many applications support xPL? Mine can, but it's never been tested with anything except the xPL clock. I don't have xPL set up to talk to each device; like most Domotica applications, I talk directly to the peripheral's device driver.
I have not thought this through yet, I'm wondering what everyone else thinks.
Cheers, Steve