Access Keys:
Skip to content (Access Key - 0)
 

Proposal of New Protocols

Kai Kreuzer

On Dec 16, 2009 14:40

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

 
Labels:
Participants: Juha Lindfors , Kai Kreuzer , Mathieu Gallissot , Marcus Redeker , Rob Batchelder
  1. Dec 16, 2009

    Marcus Redeker says:

    Hi Kai, your protocol proposal sure is interesting and probably a lot is alread...

    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?

    1. Dec 16, 2009

      Kai Kreuzer says:

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

      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

    2. Dec 20, 2009

      Juha Lindfors says:

      A generic HTTP scraper would be cool. This is something other products (gira, m...

      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.

  2. Dec 17, 2009

    Mathieu Gallissot says:

    Hi Kai, About the presence detection using bluetooth, I made an experiment wich...

    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

    1. Dec 17, 2009

      Kai Kreuzer says:

      Hi Mathieu, with my Misterhouse xAP bluetooth scripts I have similar experience...

      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.

  3. Mar 08, 2010

    Rob Batchelder says:

    Kai, How about XMPP? It would seem to me that pub-sub would be a good framework...

    Kai,

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

    Thoughts?

    1. Mar 08, 2010

      Kai Kreuzer says:

      Hi Rob, I do not now about the internals of XMPP, but to me this rather asks to...

      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.

      1. Mar 08, 2010

        Rob Batchelder says:

        Kai, If I may speak at a conceptual level.  What I believe is needed in th...

        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?

        1. Mar 08, 2010

          Kai Kreuzer says:

          Rob, I would really encourage you to have a look at the xPL protocol definition...

          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?

          1. Mar 08, 2010

            Rob Batchelder says:

            Kai, Not XML - big, big mistake IMHO. If we make it XML, it can submitted to IE...

            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.

      2. Mar 08, 2010

        Rob Batchelder says:

        Kai, Is there a repository of architectural diagrams or canonical forms I can a...

        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

        1. Mar 08, 2010

          Kai Kreuzer says:

          You mean about xPL? No, no diagrams as far as I could see... Try start reading h...

          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.

          1. Mar 08, 2010

            Rob Batchelder says:

            Thanks. I'll grok it.

            Thanks. I'll grok it.

Adaptavist Theme Builder Powered by Atlassian Confluence
Free theme builder license