Skip to content

Commit

Permalink
Merge pull request #1 from openhab/master
Browse files Browse the repository at this point in the history
Update from original
  • Loading branch information
mod42 committed Sep 29, 2014
2 parents 8eebde6 + c1b21a2 commit 87c4490
Show file tree
Hide file tree
Showing 3,233 changed files with 209,254 additions and 29,793 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ bin/
bundles/io/org.openhab.io.multimedia.tts.marytts/lib/
.antlr*
.metadata/
.DS_Store
*/plugin.xml_gen

distribution/openhabhome/logs/*.log
Expand Down
65 changes: 14 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,8 @@ The open Home Automation Bus (openHAB) project aims at providing a universal int

It is designed to be absolutely vendor-neutral as well as hardware/protocol-agnostic. openHAB brings together different bus systems, hardware devices and interface protocols by dedicated bindings. These bindings send and receive commands and status updates on the openHAB event bus. This concept allows designing user interfaces with a unique look&feel, but with the possibility to operate devices based on a big number of different technologies. Besides the user interfaces, it also brings the power of automation logics across different system boundaries.

## News
For further Information please refer to our homepage http://www.openhab.org. The release binaries can be found in the ['releases' section on Github](https://github.com/openhab/openhab/releases). Nightly Snapshot-Builds can be obtained from [Cloudbees](https://openhab.ci.cloudbees.com/job/openHAB/).

September 26, 2013 -- We gave a [talk about openHAB](https://oracleus.activeevents.com/2013/connect/sessionDetail.ww?SESSION_ID=9177) at the JavaOne Conference in San Francisco.

September 22, 2013 -- We are proud to announce that openHAB is a winner of the [Duke's Choice Award 2013](https://www.java.net/dukeschoice).

September 22, 2013 -- Our new landing page http://www.openhab.org has been published today.

September 20, 2013 -- We have moved our sources from Google Code to GitHub - check out our [new git repository](https://github.com/openhab/openhab)!

September 8, 2013 -- openHAB 1.3 has been released! Read the [release notes](https://code.google.com/p/openhab/wiki/ReleaseNotes13) to learn what cool new features it brings.


... more [archived news](https://code.google.com/p/openhab/wiki/NewsArchive)

<a href="http://twitter.com/openHAB"><img src="http://wiki.openhab.googlecode.com/hg/images/twitter.png" /></a>

## Demo

Expand All @@ -30,65 +16,42 @@ To see openHAB in action, you can directly access our demo server - choose one o
- Install the [native iOS client from the AppStore](http://itunes.apple.com/us/app/openhab/id492054521?mt=8) on your iPhone, iPod Touch or iPad, which is preconfigured to use the demo server.
- Try the [REST API](http://demo.openhab.org:8080/rest) directly on the demo server

If you just want to watch for a start, you might also like our [YouTube channel](http://www.youtube.com/watch?v=F0ImuuIPjYk&list=PLKshtVD6aY8Ig9Vg6qCBy8kcm1Owdajgb)!

[![HABDroid](https://developer.android.com/images/brand/en_app_rgb_wo_45.png)](https://play.google.com/store/apps/details?id=org.openhab.habdroid) [![iOSApp](http://wiki.openhab.googlecode.com/hg/images/app-store-badges.png)](http://itunes.apple.com/us/app/openhab/id492054521?mt=8")

## Upcoming Events

October 29th-31st, 2013 -- The Eclipse Smart Home project (and implicitly openHAB) will be presented by Kai and Thomas at [EclipseCon](http://www.eclipsecon.org/europe2013/eclipse-smart-home) Conference in Ludwigsburg, Germany.
If you just want to watch for a start, you might also like our [YouTube channel](http://www.youtube.com/playlist?list=PLGlxCdrGUagz6lfgo9SlNLhdwI4la_VSv)!

November 12th, 2013 20:00 -- openHAB will be presented by Thomas at [Devoxx](http://www.devoxx.be/dv13-thomas-eichstdt-engelen.html?presId=3689) Conference in Antwerpen, Belgium. **Note:** This is BOF session which you can freely attend.

## Presentations

September 10th, 2013 -- openHAB has been presented by Thomas at [M2M Summit 2013](http://www.m2m-summit.com/index.php?article_id=209&clang=0) in Düsseldorf. The [slides](http://www.m2m-summit.com/index.php?article_id=219&clang=0) are now available. The recorded video is now available on [Youtube](http://www.youtube.com/watch?v=k8ig9kkuuqw&feature=share&list=PL7y_R_7H0YGw-K6Rtdtj9xgIIKHVSKNtM).

May 16, 2013 -- openHAB was presented by Kai and Thomas at [GeeCON](http://2013.geecon.org/schedule) Conference in Krakow (Poland). The [slides](http://s3-eu-west-1.amazonaws.com/presentations2013/1_presentation.pdf) are now available.

April 24, 2013 -- openHAB was presented by Kai and Thomas at [JAX](http://jax.de/2013/sessions/?tid=2880#session-25084) Conference in Mainz (Germany).

November 17, 2012 -- The experience of making a home automation system based entirely on Open Source technologies (Arduino and openHAB) was shared by Francesco di Guidieri and Sandro Salari at [Codemotion](http://venezia.codemotion.it/talk/make01.html) in Venice (Italy) ([translated](http://translate.google.de/translate?hl=en&sl=it&tl=en&u=http%3A%2F%2Fvenezia.codemotion.it%2Ftalk%2Fmake01.html)). You can view the [slides on Slideshare](http://www.slideshare.net/SandroSalari/make01).

November 14, 2012 -- openHAB was presented by Kai and Thomas at [Devoxx](http://www.devoxx.com/display/DV12/Home+Automation+for+Geeks) Conference in Antwerpen (Belgium). You can view the [slides on Slideshare](http://de.slideshare.net/xthirtynine/open-hab-devoxx-2012). The recorded video is now available [Parleys.com](http://parleys.com/play/5148922b0364bc17fc56c8c3).

October 18, 2012 -- openHAB was presented at [JUGS](http://www.jugs.org/2012-10-18.html), Java
User Group in Stuttgart. You can view the [slides on Slideshare](http://www.slideshare.net/ThomasEichstdtEngelen/openhab-jug-stuttgart).

September 27, 2012 -- openHAB was presented at [rheinJUG](http://rheinjug.de/knowledge/vortr-mainmenu-28/188-openhab-heimautomatisierung-in-der-praxis), Java User Group in Düsseldorf. You can view the [recorded video](http://mediathek.hhu.de/watch/0b862d8c-cba3-4de8-9a46-c86fdbb0e849) and the [slides on Slideshare](http://www.slideshare.net/ThomasEichstdtEngelen/openhab-rheinjug-dsseldorf-14800519).

August 08, 2011 -- A [TechTalk](http://www.developergarden.com/apis/techtalk/openhab-home-automation-in-practice) about openHAB was held at Deutsche Telekom AG in Darmstadt. You can view the [recorded video](http://www.youtube.com/watch?v=m6A-Zew0DBc) and the [slides on Slideshare](http://www.slideshare.net/xthirtynine/openhab-techtalk-developergarden-darmstadt).
[![HABDroid](https://developer.android.com/images/brand/en_app_rgb_wo_45.png)](https://play.google.com/store/apps/details?id=org.openhab.habdroid) [![iOSApp](http://raw.github.com/wiki/openhab/openhab/images/app-store-badges.png)](http://itunes.apple.com/us/app/openhab/id492054521?mt=8)


## Quick Start

If you do not care about reading docs and just want to see things running, here are the quick start instructions for you:

1. [Download](http://code.google.com/p/openhab/downloads/list?can=3) the release version of the openHAB runtime (or alternatively the [latest snapshot build](https://openhab.ci.cloudbees.com/job/openHAB))
1. [Download](http://www.openhab.org/downloads.html) the release version of the openHAB runtime (or alternatively the [latest snapshot build](https://openhab.ci.cloudbees.com/job/openHAB))
1. Unzip it to some local folder
1. [Download](http://code.google.com/p/openhab/downloads/list?can=3) the demo files
1. [Download](http://www.openhab.org/downloads.html) the demo configuration files
1. Unzip to your openHAB folder
1. run `start.sh` resp. `start.bat`
1. Point your browser at [http://localhost:8080/openhab.app?sitemap=demo](http://localhost:8080/openhab.app?sitemap=demo)

If you want to use more bindings, you can download the [addons.zip](http://code.google.com/p/openhab/downloads/list?can=3) and extract it into the addons folder of the openHAB runtime.
If you want to use more bindings, you can download the [addons.zip](http://www.openhab.org/downloads.html) and extract it into the addons folder of the openHAB runtime.

If you are interested in more details, please see the [setup guide](https://code.google.com/p/openhab/wiki/Setup).
If you are interested in more details, please see the [setup guide](https://github.com/openhab/openhab/wiki/Quick-Setup-an-openHAB-Server).


## Further Reading

Check out [the presentations](https://code.google.com/p/openhab/wiki/Presentations) that have been done about openHAB so far. If you are interested in the system architecture and its internals, please check out the wiki for the [architecture overview](https://code.google.com/p/openhab/wiki/Architecture).
Check out [the presentations](https://github.com/openhab/openhab/wiki/Presentations) that have been done about openHAB so far. If you are interested in the system architecture and its internals, please check out the wiki for the [Architecture](https://github.com/openhab/openhab/wiki).

![Features](http://wiki.openhab.googlecode.com/hg/images/features.png)
![](http://raw.github.com/wiki/openhab/openhab/images/features.png)

## Community: How to get Support and How to Contribute

If you are looking for support, please check out the [different support channels](https://code.google.com/p/openhab/wiki/Support) that we provide.
If you are looking for support, please check out the [different support channels](https://github.com/openhab/openhab/wiki/Support-options-for-openHAB) that we provide.

As any good open source project, openHAB welcomes any participation in the project. Read more in the [how to contribute](https://github.com/openhab/openhab/wiki/How-To-Contribute) guide.

As any good open source project, openHAB welcomes any participation in the project. Read more in the [how to contribute](https://code.google.com/p/openhab/wiki/HowToContribute) guide.
If you are a developer and want to jump right into the sources and execute openHAB from within Eclipse, please have a look at the [IDE setup](https://github.com/openhab/openhab/wiki/IDE-Setup) procedures.

If you are a developer and want to jump right into the sources and execute openHAB from within Eclipse, please have a look at the [IDE setup](https://code.google.com/p/openhab/wiki/IDESetup) procedures.
[![](http://raw.github.com/wiki/openhab/openhab/images/twitter.png)](http://twitter.com/openHAB)

## Trademark Disclaimer

Expand Down
68 changes: 68 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,70 @@
This repository provides additional bundles for openHAB.

CUL transport
=============
For the most bindings this bundle is essential. It provides access to culfw
(culfw.de) based devices such as the CULLite. Most other bindings provided
here depend on this transport. Simply put org.openhab.io.transport.cul-{version}.jar
in your addon directory to use it

FHT binding
===========
This binding uses the CUL transport to communicate with FHT-80b based devices. Currently
room thermostats, Valves (reading only) and window contacts are supported.
The very least your openhab.cfg needs to contain two new lines:

- fht:device=serial:/dev/ttyACM0
- fht:housecode=6261

Where the housecode needs to be a valid hexadecimal housecode which isn't used by your devices
yet. Additional you can configure this binding to update the date and time of the room
thermostats at certain times and to actively request status updates. This can be achieved
with:
- fht:time.update=true
- fht:time.update.cron=0 15 04 * * ?
- fht:reports=true;
- fht:reports.cron=0 15 05 * * ?

A item configuration consists of specifying the housecode of the device communicate with and the
infortmation you are interested in. For example
- {fht="housecode=3D49;address=00;datapoint=VALVE"}
would receive the valve opening if the first valve actor with the housecode 3D49.
For addressing the FHT-80b itself you have to omit the address part.
Valid datapoints are MEASURED_TEMP, DESIRED_TEMP, BATTERY, WINDOW, VALVE. Please refer
to the FHT documentation which data points can be read from or written to a device.

FS20 binding
============
This binding allows you to communicate with FS20 devices. To use it you need the CUL transport
and have to specify the CUL device to use in your openhab.cfg
- fs20:device=serial:/dev/ttyACM0

The item config looks like
- {fs20="C05B10"}
where C05B10 is the complete rf address of the device including the housecode.
Depending on the item type commands will be converted to FS20 commands if possible.

Intertechno binding
===================
This binding can send commands to Intertechno switches. Other devices or the receiption of Intertechno
messages is not supported. Again this binding needs the CUL transport and you have to specify
the device to use in your openhab.cfg
- culintertechno:device=serial:/dev/ttyACM0

The item config depends on the specific Intertechno device. There are three parser for convenient
configuration. If you have an "original", FLS or REV Intertechno device you can specify classic, fls,
or rev as the type and then just specify the group and switch address as you see it on the housing of
the switch.
For example configuring a FLS type switch looks like:
- {culintertechno="type=fls;group=IV;address=1"}

In case you have an unknown Intertechno device you can specifiy "raw" parameters for the CUL:
- {culintertechno="type=raw;address="FFF000FF,on=0FF,off=0F0"}
Please refer to http://www.fhemwiki.de/wiki/Intertechno_Code_Berechnung for more information on
Intertechno and its addresses.



openHAB Build Instructions
==========================

Expand Down Expand Up @@ -48,6 +115,7 @@ the designer zips are placed in there.
=======================

- unzip the file distribution-<version>-runtime.zip to a local folder
- unzip the file distribution-<version>-demo.zip over the same folder
- launch the runtime with the "start.sh" (resp. "start.bat") script
- check if everything has started correctly: http://localhost:8080/openhab.app?sitemap=demo

Expand Down
27 changes: 27 additions & 0 deletions bundles/action/org.openhab.action.homematic/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Manifest-Version: 1.0
Private-Package: org.openhab.action.homematic.internal
Ignore-Package: org.openhab.action.homematic.internal
Bundle-License: http://www.eclipse.org/legal/epl-v10.html
Bundle-Name: openHAB Homematic Action
Bundle-SymbolicName: org.openhab.action.homematic
Bundle-Vendor: openHAB.org
Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.openhab.action.homematic.internal.HomematicActivator
Bundle-ManifestVersion: 2
Bundle-Description: This is the Homematic action of the open Home Aut
omation Bus (openHAB)
Import-Package: org.openhab.core.items,
org.openhab.core.library.items,
org.openhab.core.library.types,
org.openhab.core.scriptengine.action,
org.openhab.core.types,
org.osgi.framework,
org.osgi.service.cm,
org.osgi.service.component,
org.slf4j
Bundle-DocURL: http://www.openhab.org
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Service-Component: OSGI-INF/action.xml
Bundle-ClassPath: .
Bundle-ActivationPolicy: lazy
Require-Bundle: org.openhab.binding.homematic;bundle-version="1.5.0"
22 changes: 22 additions & 0 deletions bundles/action/org.openhab.action.homematic/OSGI-INF/action.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2010-2014, openHAB.org and others.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
-->
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" activate="activate" deactivate="deactivate" immediate="true" name="org.openhab.action.homematic.action">
<implementation class="org.openhab.action.homematic.internal.HomematicActionService" />

<service>
<provide interface="org.openhab.core.scriptengine.action.ActionService" />
<provide interface="org.osgi.service.cm.ManagedService" />
</service>

<property name="service.pid" type="String" value="org.openhab.homematic.action" />

</scr:component>
6 changes: 6 additions & 0 deletions bundles/action/org.openhab.action.homematic/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
source.. = src/main/java/,\
src/main/resources/
bin.includes = META-INF/,\
.,\
OSGI-INF/
output.. = target/classes/
35 changes: 35 additions & 0 deletions bundles/action/org.openhab.action.homematic/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.openhab.bundles</groupId>
<artifactId>action</artifactId>
<version>1.6.0-SNAPSHOT</version>
</parent>

<properties>
<bundle.symbolicName>org.openhab.action.homematic</bundle.symbolicName>
<bundle.namespace>org.openhab.action.homematic</bundle.namespace>
<deb.name>openhab-addon-action-homematic</deb.name>
<deb.description>openhab addon action homematic</deb.description>
</properties>

<modelVersion>4.0.0</modelVersion>
<groupId>org.openhab.action</groupId>
<artifactId>org.openhab.action.homematic</artifactId>

<name>openHAB Homematic Action</name>

<packaging>eclipse-plugin</packaging>

<build>
<plugins>
<plugin>
<groupId>org.vafer</groupId>
<artifactId>jdeb</artifactId>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/**
* Copyright (c) 2010-2014, openHAB.org and others.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.openhab.action.homematic.internal;

import org.openhab.binding.homematic.internal.common.HomematicContext;
import org.openhab.binding.homematic.internal.communicator.client.HomematicClientException;
import org.openhab.core.scriptengine.action.ActionDoc;
import org.openhab.core.scriptengine.action.ParamDoc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* This class provides static methods that can be used in automation rules for
* sending messages to Homematic remote control displays.
*
* @author Gerhard Riegler
* @since 1.5.0
*/
public class Homematic {
private static HomematicContext context = HomematicContext.getInstance();

private static final Logger logger = LoggerFactory.getLogger(Homematic.class);

/**
* Sends a text to a Homematic remote control display.
*/
@ActionDoc(text = "Sends a text to a Homematic remote control display")
public static boolean sendHomematicDisplay(
@ParamDoc(name = "remoteControlAddress", text = "The address of the remote control") String remoteControlAddress,
@ParamDoc(name = "text", text = "The text to send to the display") String text) {

return sendDisplay(remoteControlAddress, text, null);
}

/**
* Sends a text to a Homematic remote control display with options.
*/
@ActionDoc(text = "Sends a text to a Homematic remote control display with options")
public static boolean sendHomematicDisplay(
@ParamDoc(name = "remoteControlAddress", text = "The address of the remote control") String remoteControlAddress,
@ParamDoc(name = "text", text = "The text to send to the display") String text,
@ParamDoc(name = "options", text = "The beep, backlight, unit and symbol options to send to the display") String options) {
return sendDisplay(remoteControlAddress, text, options);
}

private static boolean sendDisplay(String remoteControlAddress, String text, String options) {
if (!context.getHomematicClient().isStarted()) {
logger.warn("The Homematic client is not started, ignoring action sendHomematicDisplay!");
return false;
} else {
try {
context.getHomematicClient().setRemoteControlDisplay(remoteControlAddress, text, options);
return true;
} catch (HomematicClientException ex) {
logger.error(ex.getMessage(), ex);
return false;
}
}
}

}
Loading

0 comments on commit 87c4490

Please sign in to comment.