This page last changed on Dec 16, 2009 by kkreuzer.

Hi,

Just to start some brainstorming discussion about possible future (protocol) extensions of OR, I'd like to sum up my requirements regarding connectivity (based on my Misterhouse installation, which is doing all of this already):

  1. WakeOnLan: to remotely start up computers, very useful
  2. Bluetooth: Presence detection, if I (with my mobile phone) am in the vicinity, there will be an incoming event
  3. RS-232: I have a Denon AVR with a serial interface to control it; very similar to the existing Russound support. There might be many other AVRs that could be supported in the same way (which makes things similar to LIRC, so this could be a candidate for beehive)
  4. RS-232: I have an RFID transponder system which sends events through a serial interface. No need for door keys anymore...
  5. PC applications: Be it iTunes, Windows Media Player, Windows Media Center, Amarok or whatever: As the ORB is running on some standard PC hardware, it is likely that there is other software that should be possibly remotely controlled.
  6. TCP/IP / Telephony: I have my FritzBox VoIP DSL router connected as well to be informed about incoming calls etc. Very useful to turn down the volume if your phone rings
  7. HTTP: All kinds of web scraping, be it temperature values from Google Weather or stock prices from Yahoo Finance. I tend to dim the lights to save costs, if stock prices fall...

This is just a starting list of what I already have in place today - I guess we could come up with many more useful things.
One thing that strikes the eye: It seems to make sense not to talk about technical protocols (such as KNX, X10, TCP/IP, HTTP, etc.), but rather about application level protocols (WakeOnLan over TCP/IP, FritzBox-Telephony over TCP/IP, Weather over HTTP, and especially the PC applications themselves). You can even have multiple serial (RS-232 or USB) devices running at the same time, so the technical protocol is not enough as an identifier. I'd therefore suggest to introduce an new higher-level "connector" notion in the architecture.

Hope this helps for gathering further requirements
Kai

Hi Kai,

your protocol proposal sure is interesting and probably a lot is already on Juha's list

  • We were already thinking of some generic RS-232 protocol implementation but that needs further thinking. My irtrans eg needs ascii commands wheres russound needs hex values. On the "wire" its all bytes but we would need some smart translator for this. And we also have to be able to analyze incoming packets from a devices and send them somewhere.
  • WakeOnLan is interesting and really takes like 4 lines of java code. How about contributing?
  • I already did some generic TCP/IP stuff but here we also have to think further to be really generic. The question is if it would not be easier (once we have the services framework) to just program a service for the device needed?
  • A generic HTTP scraper would be cool. This is something other products (gira, misterhouse) already have and should be on the list.
  • Bluetooth: LinuxMCE (Pluto) has an implementation for that. You can walk from one room into another and the music or video is following you. But this means that you will have Bluetooth receiver in each room. I rather have only one ORB running in the basement and not a few small pc's distributed in the house.

--Marcus

PS: Kai where are you from? Maybe we can chat one day and exchange ideas?

Posted by mredeker at Dec 16, 2009 21:18

How about contributing? [...] once we have the services framework

You mean the service container (OSGi) architecture? Yes, as soon as there's a way that I can contribute a bundle for such connectors, I'll do so

I rather have only one ORB running in the basement and not a few small pc's distributed in the house.

I have more than one, but not one per room, that's for sure. But besides "follow-me" functionality, you can also think of other use cases. I have a BT receiver placed under my front door, so my house can notice, when I am coming home and react however I want it.

Kai where are you from?

Darmstadt and Lausanne. So whoever is close to any of these cities, feel free to meet me for a beer

Posted by kkreuzer at Dec 16, 2009 22:56

Hi Kai,

About the presence detection using bluetooth, I made an experiment wich was not concluding. I used both bluetooth and peridodic IP pings in order to detect portable devices (like my OR iTouch). Idea was as follows : device appears, I switch on something, device disappears, I switch off something.

Problem is that you can't make a difference between a sleeping mode and an out of range. So, you're ending up with a home acting like a christmas tree.

About RFID, what kind of reader do you have ? I'm running an java implementation of a "pseudo" standard protocol for some (manufactured by Scemtec), using ETX/STX stuff over RS232 (or IP sockets).

Cheers,

Mathieu

Posted by mgallissot at Dec 17, 2009 14:32

Hi Mathieu,

with my Misterhouse xAP bluetooth scripts I have similar experiences as you: You cannot rely on the fact that the state stays "on" if you stay within the range. That's why I use it so far only for "coming home", so it only needs to detect once, if I am coming into range. As soon as I open my door, my house is in "at home" mode, so that it doesn't react to BT notifications anymore.

But nonetheless, it must be possible to implement it in a stable way and that's why I would like to try it out myself in Java. Car kits etc. have no problem staying connected; on my Mac I used HomeZone for a while, which also worked quite stable. So no need to give up on this

Regarding RFID, I am using a pretty cheap transponder solution from RSS-Systems. It's passive and unencrypted, but it's a good choice to start with.

Posted by kkreuzer at Dec 17, 2009 15:28

A generic HTTP scraper would be cool. This is something other products (gira, misterhouse) already have and should be on the list.

Without reinventing the wheel, use YQL on Pipes to create RSS and add a feed lib.

Posted by juha at Dec 20, 2009 01:47

Kai,

How about XMPP? It would seem to me that pub-sub would be a good framework for an HA messaging protocol.

Thoughts?

Posted by rtbatch at Mar 08, 2010 18:17

Hi Rob,

I do not now about the internals of XMPP, but to me this rather asks to be used on a WAN rather than a LAN. And it is really purely a transport protocol without any semantics about HA.

But as you can see in some other post, I am also very fond of the idea of a pub-sub protocol.

I was actually reading today the protocol definition of xPL and this comes very close to what I had in mind earlier on. And seeing that xPL has already found quite some adoption around Open Source Home Automation, it could be really interesting to at least interface with it.

Posted by kkreuzer at Mar 08, 2010 18:36

Kai,

If I may speak at a conceptual level.  What I believe is needed in the HA market is, for lack of a better word, a "dial tone" for issuing control plane messages to devices.  Intrinsically, I think pub-sub, rather than request-response is a far better foundation for managing message flows. In addition, I think it will be very helpful to use the concept of "presence" to understand the availability / state of devices connected this way.  Further, I think that something like an "HAXML," could be used to create an abstraction layer for HA device characteristics / functions.  Further, HAXML could also be used to describe the topology of the devices in the network.

In this regard, perhaps the best, most extensible, light-weight messaging protocol is XMPP for something like HAXML.  BTW, XMPP is not just a WAN protocol.  It was conceived of as a general purpose framework for pub-sub application messaging - even if its first killer app was IM.

I have a couple of high level PDF documents I'd like to share in this regard. How might I best do that?

Posted by rtbatch at Mar 08, 2010 19:57

Rob,

I would really encourage you to have a look at the xPL protocol definition - this looks pretty much like what you describe as HAXML (with the small exception that it actually is no XML ) It is kept simple, but offers all that you would need for HA (well, that's it's primary purpose).

Due to its broadcast concept xPL can only be used in subnets - so maybe a xPL over XMPP would be a good idea to extend it's range and possibilities?

I have a couple of high level PDF documents I'd like to share in this regard. How might I best do that?

Not sure how to do this in this forum - probably best to host them somewhere else and link to them?

Posted by kkreuzer at Mar 08, 2010 20:10

Kai,

Is there a repository of architectural diagrams or canonical forms I can access.  I'm looking for some "large animal" pictures.  New to the site.

Thanks

Posted by rtbatch at Mar 08, 2010 20:10

You mean about xPL? No, no diagrams as far as I could see... Try start reading here to get an idea what it is about: http://xplproject.org.uk/wiki/index.php?title=Main_Page.

Posted by kkreuzer at Mar 08, 2010 20:17

Kai,

Not XML - big, big mistake IMHO. If we make it XML, it can submitted to IETF, OASIS, etc.  This needs a large, open standards organization to champion the cause.  Vendors with proprietary architectures will have no motivation to adopt otherwise - because they are hiding behind the fig leaf of those architecture to create (artificial) competitive advantage.

Posted by rtbatch at Mar 08, 2010 20:52

Thanks. I'll grok it.

Posted by rtbatch at Mar 08, 2010 21:02
Document generated by Confluence on Jun 05, 2016 09:31