Help

Just finished the first iteration of Beehive, so here is a short list of what is there and what is to come:

LIRC codes

The LIRC codes are a seed that was planted to support our first use case: Controlling A/V systems with Infrared. You can browse about 100.000 codes for about 2.500 remote controls here. This database is a 1:1 representation of the LIRC configuration files. Think text configuration files that have been imported into a clean SQL database, so we can do aggregation, searching, etc. on the data in the future.

We also have a web form for uploading new LIRC configuration files, and you can also delete configuration files.

Beehive Webservice

Users (and other projects) can access the Beehive database online through an HTTP webservice. Here is an example for the LIRC data:

GET http://openremote.org/seam/resource/restv1/beehive/lirc

This gives you a list of all vendors for which we have LIRC datafiles, in XML/XHTML. You can even open this in a browser, however, this REST-oriented API is supposed to be used by software clients.

GET http://openremote.org/seam/resource/restv1/beehive/lirc/sony

This is an URI of the representation of a particular vendor, as a list of LIRC configuration files - again as XML/XHTML.

GET http://openremote.org/seam/resource/restv1/beehive/lirc/sony/RM-J701

Finally, this is a plain-text representation of a LIRC configuration file. We don't have an XML representation yet, it's easy to add if we should need it.

The webservice also supports uploading of new LIRC configuration files:

POST http://openremote.org/seam/resource/restv1/beehive/lirc/SOME_VENDOR/MY_NEW_REMOTE

And, deletion:

DELETE http://openremote.org/seam/resource/restv1/beehive/lirc/sony/RM-J701

Updating is not yet supported but easy to add later.

Permissions and history

All of the operations, be it reading, uploading, or deleting of LIRC files require certain permissions. Currently everyone can read all the data and users with a Contributor role on the openremote.org website can also upload or delete records. This is configurable, of course. (Minor issue: The webservice doesn't have authentication enabled, so users can't modify records at the moment because they can't supply their credentials with a request. Will be fixed soon.)

Secondly, we have a simply history event log so we can track who uploaded and who deleted records in Beehive. Naturally the only events you will currently see are the LIRC modifications. At this point I'm not sure we need more than simple event log. We might in the future want to keep a full audit trail of any modification (think temporal data).

What about the Beehive vision?

The goal of Beehive was and still is to be a receptacle for all kinds of codes useful for home automation. The LIRC seed is just the first step. I'm working on a unified and higher-level data model that can encompass Infrared codes, RS codes, what-have-you. This will be the real Beehive database. We are not there yet.

Post Comment
Creative Commons License Content on this website is licensed under Creative Commons BY-NC-SA 3.0.