Domotica software layer

Pop your questions regarding Home automation software here.....

Domotica software layer

Postby steve2xyz » 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
steve2xyz
Starting Member
Starting Member
 
Posts: 34
Joined: February 2010

Re: Domotica software layer

Postby drmacchi » Sat Aug 28, 2010 10:22 am

just a contribute to help people like me not programmer to understand what you refer to :

http://xplproject.org.uk/
http://xplproject.org.uk/wiki/index.php?title=Main_Page

Ciao :)
drmacchi
Advanced Member
Advanced Member
 
Posts: 827
Joined: August 2007
Location: Italy

Re: Domotica software layer

Postby Tiz » Sat Aug 28, 2010 11:05 am

ok, I have just tried it again, but although the whole xPL ideas seems very attractive to me I really hate the site they have built.
Where do I see what an xPL message looks like? What is it exactly that I can reuse and what does its interface look like?
The site has far far too much text, too less pictures and diagrams. It really frustrates me that such a good idea is documented so extremely bad. And by bad I do not mean the information is not there because I didn't check. Why didn't I check? because I just can not find what I am looking for. Just bits and pieces, but no overview. Hrf, frustration growing again because such a good idea is going to waste, at least for me.
Mathijs
Tiz
Member
Member
 
Posts: 146
Joined: May 2009
Location: Netherlands

Re: Domotica software layer

Postby b_weijenberg » Sat Aug 28, 2010 12:04 pm

User avatar
b_weijenberg
Forum Moderator
Forum Moderator
 
Posts: 1735
Joined: May 2006
Location: Netherlands

Re: Domotica software layer

Postby Bwired » Sat Aug 28, 2010 2:03 pm

XPL is using UDP, For a lot of things OK.
But for certain devices and related status you have to be sure and have confirmation etc.
not sure how this is handled?
User avatar
Bwired
Administrator
Administrator
 
Posts: 5315
Joined: March 2006
Location: Netherlands

Re: Domotica software layer

Postby b_weijenberg » Sat Aug 28, 2010 2:45 pm

This is not handled in xPL or xAP. For permanent errors the heart-beat time outs can be used to detect network problems. The sensor side can transmit multiple UDP records like done on RF to cover single errors but I don't know if this is implemented.

On the other hand how big is the risk that UDP messages are lost in a private network?
User avatar
b_weijenberg
Forum Moderator
Forum Moderator
 
Posts: 1735
Joined: May 2006
Location: Netherlands

Re: Domotica software layer

Postby steve2xyz » Sun Aug 29, 2010 1:01 am

The xPL library I'm using comes from here http://xplproject.org.uk/. It turns out that my Domotica application can both read and write xPL, but it's only ever been tested with the xPL clock.

I meant for xPL to be an example of the sort of thing we might use to avoid having to reinvent every Domotica application talking to every device. I'd imagine that this Domotica software layer might be more tightly bound to the application than xPL.

Domotica application
-------------------------------------
Domotica software layer
-------------------------------------
Device drivers
-------------------------------------

Steve
steve2xyz
Starting Member
Starting Member
 
Posts: 34
Joined: February 2010

Re: Domotica software layer

Postby Digit » Sat Sep 04, 2010 1:07 pm

b_weijenberg wrote:On the other hand how big is the risk that UDP messages are lost in a private network?


You're right. I use UDP broadcast to inform GUI client(s) of device value changes. Works without any problem on a local network.
User avatar
Digit
Global Moderator
Global Moderator
 
Posts: 3388
Joined: March 2006
Location: Netherlands

Re: Domotica software layer

Postby steve2xyz » Mon Sep 06, 2010 9:41 pm

I use UDP for measurements and status queries and have had no problem on my LAN. But UDP is unreliable so I guess you have to bear that in mind and be prepared to retransmit vital data and take care of the ordering and any fragmentation if it's necessary. I make use of broadcasts too but in new code use multicasting.

This is quite a good discussion on it: http://www.isoc.org/inet97/proceedings/F3/F3_1.HTM

Steve
steve2xyz
Starting Member
Starting Member
 
Posts: 34
Joined: February 2010


Return to Questions & Discussions Forum

Who is online

Users browsing this forum: No registered users and 1 guest