OpenHAB

Description
''The open Home Automation Bus (openHAB) project aims at providing a universal integration platform for all things around home automation. It is a pure Java solution, fully based on OSGi. The Equinox OSGi runtime and Jetty as a web server build the core foundation of the runtime.''

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

OpenHAB is the first contribution of the brand-new Eclipse Smart Home project.

Liens

 * Website: http://www.openhab.org
 * Online Demo: http://demo.openhab.org:8080/greent/
 * Code Metrics : (130 Kloc) http://www.ohloh.net/p/openhab

Projets @ AIR

 * Smart Doll House
 * SmartCampus2014
 * Projets PILBI de la filière ISI3 de l'ENSIMAG

=OpenHAB 2=

Installation
wget https://openhab.ci.cloudbees.com/job/openHAB-Distribution/lastSuccessfulBuild/artifact/distributions/openhab-offline/target/openhab-offline-2.0.0-SNAPSHOT.zip unzip openhab-offline-2.0.0-SNAPSHOT.zip

Lancement
cd openhab-offline-2.0.0-SNAPSHOT ./start.sh

Dans la console d'OpenHAB 2 (ie Apache Karaf) help list list -l ls

smarthome:items smarthome:links smarthome:discovery smarthome:inbox smarthome:status smarthome:status DemoLocation smarthome:status Radio_Station smarthome:update smarthome:update Radio_Station" 1" smarthome:update Radio_Station NULL

Utilisation
Visiter les interfaces
 * Général http://localhost:8080
 * Configuration http://localhost:8080/ui/index.html
 * Classique http://localhost:8080/classicui/app

Via l'IHM
http://localhost:8080/ui/index.html#/configuration/things

Via le fichier de configuration
cat > conf/things/demo.things

yahooweather:weather:grenoble [ location="593720" ] astro:sun:home [ geolocation="45.19398,5.77060", interval=60 ] ntp:ntp:demo [ ntpServer="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]

^C

Développement
TODO

=OpenHAB 1=

Configuration
La structure est la suivante :


 * ./webapps/images --> icones des items et des groupes (l'icone type-val.png sera affiché si l'item a la value val)
 * ./configurations/items/demo.items --> liste de groupes et des items
 * ./configurations/items/demo.sitemap --> structure du panneau de navigation (classicUI, greentUI)
 * ./configurations/items/demo.rules --> regles ECA
 * ./configurations/persistence/demo.* --> regles de persistence

Pour GreenT
 * ./configurations/items/greent.items
 * ./webapps/greent.war

Installation et Démarrage
Téléchargez les .zip du runtime et des addons de la dernière distribution d'OpenHAB (1.5.1 dans l'exemple) dans un répertoire OpenHAB http://www.openhab.org/downloads.html

Depuis la console Equinox Gogo d'OpenHAB

Ouvrir un navigateur sur http://localhost:8080/openhab.app?sitemap=demo

Depuis la console VisualVM

Pour aller plus loin, vous pouvez ajouter les addons (qui sont des bundles OSGi) de la distribution openhab-addons-$OPENHAB_VERSION dans ./openhab-runtime-$OPENHAB_VERSION/addons

La documentation de ces addons est sur
 * https://code.google.com/p/openhab/wiki/Bindings
 * https://code.google.com/p/openhab/wiki/Persistence

ls ../openhab-addons-$OPENHAB_VERSION/

org.openhab.action.mail-1.5.1.jar org.openhab.action.nma-1.5.1.jar org.openhab.action.prowl-1.5.1.jar org.openhab.action.twitter-1.5.1.jar org.openhab.action.xbmc-1.5.1.jar org.openhab.action.xmpp-1.5.1.jar org.openhab.binding.asterisk-1.5.1.jar org.openhab.binding.bluetooth-1.5.1.jar org.openhab.binding.comfoair-1.5.1.jar org.openhab.binding.configadmin-1.5.1.jar org.openhab.binding.cups-1.5.1.jar org.openhab.binding.digitalstrom-1.5.1.jar org.openhab.binding.dmx-1.5.1.jar org.openhab.binding.dmx.lib485-1.5.1.jar org.openhab.binding.dmx.ola-1.5.1.jar org.openhab.binding.enocean-1.5.1.jar org.openhab.binding.epsonprojector-1.5.1.jar org.openhab.binding.exec-1.5.1.jar org.openhab.binding.fritzaha-1.5.1.jar org.openhab.binding.fritzbox-1.5.1.jar org.openhab.binding.homematic-1.5.1.jar org.openhab.binding.http-1.5.1.jar org.openhab.binding.hue-1.5.1.jar org.openhab.binding.ihc-1.5.1.jar org.openhab.binding.knx-1.5.1.jar org.openhab.binding.koubachi-1.5.1.jar org.openhab.binding.milight-1.5.1.jar org.openhab.binding.modbus-1.5.1.jar org.openhab.binding.mpd-1.5.1.jar org.openhab.binding.mqtt-1.5.1.jar org.openhab.binding.networkhealth-1.5.1.jar org.openhab.binding.nibeheatpump-1.5.1.jar org.openhab.binding.nikobus-1.5.1.jar org.openhab.binding.novelanheatpump-1.5.1.jar org.openhab.binding.ntp-1.5.1.jar org.openhab.binding.onewire-1.5.1.jar org.openhab.binding.onkyo-1.5.1.jar org.openhab.binding.opensprinkler-1.5.1.jar org.openhab.binding.owserver-1.5.1.jar org.openhab.binding.piface-1.5.1.jar org.openhab.binding.plcbus-1.5.1.jar org.openhab.binding.plugwise-1.5.1.jar org.openhab.binding.pulseaudio-1.5.1.jar org.openhab.binding.rfxcom-1.5.1.jar org.openhab.binding.samsungtv-1.5.1.jar org.openhab.binding.serial-1.5.1.jar org.openhab.binding.snmp-1.5.1.jar org.openhab.binding.sonos-1.5.1.jar org.openhab.binding.squeezebox-1.5.1.jar org.openhab.binding.systeminfo-1.5.1.jar org.openhab.binding.tcp-1.5.1.jar org.openhab.binding.tinkerforge-1.5.1.jar org.openhab.binding.urtsi-1.5.1.jar org.openhab.binding.vdr-1.5.1.jar org.openhab.binding.wol-1.5.1.jar org.openhab.binding.zwave-1.5.1.jar org.openhab.io.dropbox-1.5.1.jar org.openhab.io.multimedia.tts.freetts-1.5.1.jar org.openhab.io.multimedia.tts.marytts-1.5.1.jar org.openhab.persistence.cosm-1.5.1.jar org.openhab.persistence.db4o-1.5.1.jar org.openhab.persistence.exec-1.5.1.jar org.openhab.persistence.gcal-1.5.1.jar org.openhab.persistence.logging-1.5.1.jar org.openhab.persistence.mqtt-1.5.1.jar org.openhab.persistence.rrd4j-1.5.1.jar org.openhab.persistence.sense-1.5.1.jar org.openhab.persistence.sql-1.5.1.jar org.openhab.persistence.sql.mysql-1.5.1.jar

Distribution Felix
Téléchargez et copiez dans le répertoire ./addons les bundles suivants de la distribution de Apache Felix (http://felix.apache.org/downloads.cgi)
 * La web console d'administration OSGi et ses plugins
 * Remote Shell
 * le modèle de composants iPOJO
 * UPnP Base Driver

Ajoutez les propriétés de configuration dans le fichier ./start.sh

Distribution Karaf
Téléchargez la dernière distribution de la plateforme Apache Karaf. Copiez les bundles de Karaf suivants dans ./addons