openhab / openhab1-addons

Add-ons for openHAB 1.x
Eclipse Public License 2.0
3.43k stars 1.7k forks source link

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

Closed openhab-bot closed 10 years ago

openhab-bot commented 10 years ago

From franz.kr...@gmail.com on January 23, 2012 08:38:46

  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: http://code.google.com/p/openhab/issues/detail?id=65

openhab-bot commented 10 years ago

From mishoboss on January 23, 2012 00:55:09

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.

openhab-bot commented 10 years ago

From jdkst...@gmail.com on January 23, 2012 01:11:26

Look at: http://www.rfxcom.com/index.htm Sounds very well, but very expensive.

openhab-bot commented 10 years ago

From franz.kr...@gmail.com on January 23, 2012 09:53:41

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

openhab-bot commented 10 years ago

From mishoboss on January 24, 2012 00:13:11

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.

openhab-bot commented 10 years ago

From kai.openhab on January 24, 2012 16:47:37

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.

Status: Rejected

openhab-bot commented 10 years ago

From mishoboss on January 25, 2012 00:46:57

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).