kennychou0529 / openhab

Automatically exported from code.google.com/p/openhab
0 stars 0 forks source link

Bindings for generic RF Transceivers (433/868MHZ/EnOcean/...) and DIY actors/sensors #65

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
1. Feature Description
I'd like to use openHAB together with either USB or IP connected RF 
Transceiver, like the following HW examples, but not limited to ...

http://shop.busware.de/index.php/cPath/1
http://www.ezcontrol.de/content/view/36/28/
http://www.mediola.de/mediola/products/gateway.htm

2. Example Use Case
openHAB (incl. Designer) should run eg on an Internet Access gateway (no-PC!), 
where I'd be able to "connect" several RF controlled actors & sensor, like 
those from 

http://www.kopp.eu/index.php?option=com_content&view=products&id=85&Itemid=85
http://www.homeeasy.eu/Products/
http://www.intertechno.at/
http://www.elv.de/Funk-System-FS20/x.aspx/cid_74/detail_1/detail2_1402

Thanks,
/FJ

Original issue reported on code.google.com by franz.kr...@gmail.com on 23 Jan 2012 at 7:38

GoogleCodeExporter commented 9 years ago
Hi Franz,
it is very hard to obtain all these devices. 433 MHz, 868MHz, 2.4 GHz are just 
mediums over which run transport, network and application protocols, many of 
them proprietary. Some of the gateways carry about the transport and network 
layers and expect just the application protocol from the software. But many of 
them, not. For example I have played with EnOcean devices from Eltako 
electronics with hard-wire RS-485 bus, not wireless (very nice devices and very 
cost-effective). I used a regular USB <-> RS-485 dongle as a gateway to the 
system and wrote a simple C++ "driver" that converted commands to binary, 
packed them to the EnOcean protocol capsule and sent the serial data to the 
USB. My point is that writing separate bindings for many different protocols 
and DIY devices is definitely not cost-effective and probably even impossible.

Instead I suggest to focus on a single binding that would be something like a 
protocol framework and could be used over the serial and tcp/udp bindings 
(tcp/udp binding is not yet implemented). This protocol framework should define 
a "protocol schema" via DSL syntax as everything in openHAB. The protocol 
schema should describe device addresses, payloads, sumchecks and so on. The 
binding must provide convert methods to binary, hex, decimal, ASCII and also 
defining custom methods.

I think this is the right way and this would greatly expand openHAB to the DIY 
market. I imagine users will create these protocol schemes and share them to 
other users. Kai, Thomas, what do you think about this?

> openHAB (incl. Designer) should run eg on an Internet Access gateway (no-PC!)

openHAB runtime should run even now on devices with ARM architecture and little 
RAM. Please check this thread - 
http://groups.google.com/group/openhab/browse_thread/thread/6bff8cfc48f6c7dd 
However most of the Internet Access gateways/routers on the market have 
relatively low hardware, especially memory - 64MB - 128MB. I better bet on 
plug-computers like SheevaPlug or projects like 
BeagleBoard/PandaBoard/EagleBoard (the last one is a quad-core OMAP5 board, but 
it's still in development) or even Raspberry Pi.

Regarding the openHAB Designer, there are plans openHAB to provide REST API to 
the file system, so it would be possible to use the Designer remotely and will 
open the front for web-based Designer.

Hope I helped.

Original comment by mishoboss on 23 Jan 2012 at 8:55

GoogleCodeExporter commented 9 years ago
Look at:  http://www.rfxcom.com/index.htm 

Sounds very well, but very expensive.

Original comment by jdkst...@gmail.com on 23 Jan 2012 at 9:11

GoogleCodeExporter commented 9 years ago
thx so far ... I'm not familiar with all those protocol and methods stuff ... 
due to the fact I'm going to fix up a house, I started to look into that "home 
automation stuff" and quite soon I got the feeling, that there is lot of 
proprietary stuff out there ... so I'm looking for an app frame and rf 
gateway/tranceiver to get that abstracted and still have a nice smart phone UI 
without having a traditional "PC" running ...

/fj 

Original comment by franz.kr...@gmail.com on 23 Jan 2012 at 5:53

GoogleCodeExporter commented 9 years ago
Franz, you're absolutely right - the home automation area is a proprietary area 
of a big companies that force their rules, their licenses, their software and 
their monthly fees in most cases... However there could be found good 
open-source hardware projects and good open-source software projects like 
openHAB. If you find a system that "speaks" ASCII based protocol and there is a 
serial gateway (RS-232, USB), I'm almost sure you could control it via openHAB 
even now with the serial binding and the built-in powerful RegExp method.

Original comment by mishoboss on 24 Jan 2012 at 8:13

GoogleCodeExporter commented 9 years ago
As Mihail points out, there is no chance to implement a binding that will be 
able to support different kinds of DIY RF systems. In contrast, I fear that 
there is no chance to connect to many of them at all as they are based on 
proprietary technology and being able to send on 868MHz (or other) does not 
mean that you can talk to these devices.

In general, I therefore focus on bindings for systems for which a Java API is 
available (or any other way of connection through Java, e.g. TCP or whatever).

Regarding the suggestion of creating a "generic ASCII syntax/protocol": I am 
not really fond of this idea as it would mean some additional 
"openHAB-proprietary" protocol definition. If there is a need for something 
like this, I would rather look for something existing like e.g. VSCP 
(http://www.vscp.org/).

As this issue is too generic, I reject it. I hope you do not mind, otherwise 
please re-open it.

Original comment by kai.openhab on 25 Jan 2012 at 12:47

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
> Regarding the suggestion of creating a "generic ASCII syntax/protocol": I am 
not really fond of this idea as it would mean some additional 
"openHAB-proprietary" protocol definition.

No, I don't think this means another new protocol here. There is already a 
"openHAB-proprietary" protocol definition consisting of item name and item 
command(s) that speak with the openHAB event bus. What I suggest is nothing 
more than a highly extended RegExp over the Serial and the TCP/UDP. I think 
even now openHAB has a "generic ASCII syntax/protocol" over Serial as you could 
parse ASCII pretty well with the RegExp. I consider to test this statement 
pretty soon, as I have plans to build myself an Arduino based electricity meter 
that will speak over serial with some custom ASCII protocol. The problem is 
when a protocol speaks binary (most of them do).

Original comment by mishoboss on 25 Jan 2012 at 8:46