Difference between revisions of "OpenHAB"

From air
Jump to navigation Jump to search
 
(7 intermediate revisions by 2 users not shown)
Line 15: Line 15:
   
 
==Liens==
 
==Liens==
* Website: https://code.google.com/p/openhab/
+
* Website: http://www.openhab.org
 
* Online Demo: http://demo.openhab.org:8080/greent/
 
* Online Demo: http://demo.openhab.org:8080/greent/
 
* Code Metrics : (130 Kloc) http://www.ohloh.net/p/openhab
 
* Code Metrics : (130 Kloc) http://www.ohloh.net/p/openhab
Line 21: Line 21:
 
==Projets @ AIR==
 
==Projets @ AIR==
 
* [[SmartDollHouse|Smart Doll House]]
 
* [[SmartDollHouse|Smart Doll House]]
  +
* [[SmartCampus2014]]
  +
* [http://fablab.ensimag.fr/index.php/Projet_%22Infrastructure_Logicielle_pour_B%C3%A2timent_Intelligent%22 Projets PILBI de la filière ISI3 de l'ENSIMAG]
   
  +
=OpenHAB 2=
 
==Installation==
 
<pre>
  +
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
 
</pre>
   
==Configuration==
+
==Lancement==
 
<pre>
La structure est la suivante :
 
  +
cd openhab-offline-2.0.0-SNAPSHOT
 
  +
./start.sh
 
</pre>
   
  +
Dans la console d'OpenHAB 2 (ie [[Apache Karaf]])
 
<pre>
 
<pre>
  +
help
./webapps/images --> icones des items et des groupes (l'icone type-val.png sera affiché si l'item a la value val)
 
  +
list
./configurations/items/demo.items --> liste de groupes et des items
 
  +
list -l
./configurations/items/demo.sitemap --> structure du panneau de navigation (classicUI, greentUI)
 
  +
ls
./configurations/items/demo.rules --> regles ECA
 
  +
./configurations/persistence/demo.* --> regles de persistence
 
  +
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
  +
 
</pre>
 
</pre>
   
  +
==Utilisation==
   
  +
Visiter les interfaces
Pour GreenT
 
  +
* Général http://localhost:8080
  +
* Configuration http://localhost:8080/ui/index.html
  +
* Classique http://localhost:8080/classicui/app
  +
  +
==Configuration==
 
===Things===
  +
====Via l'IHM====
  +
http://localhost:8080/ui/index.html#/configuration/things
  +
====Via le fichier de configuration====
 
<pre>
 
<pre>
  +
cat > conf/things/demo.things
./configurations/items/greent.items
 
  +
./webapps/greent.war
 
  +
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
 
</pre>
 
</pre>
   
  +
==Développement==
==Installation et Démarrage==
 
  +
TODO
Téléchargez les .zip de la dernière distribution d'OpenHAB (1.3.1 dans l'exemple) dans un répertoire OpenHAB
 
https://code.google.com/p/openhab/downloads/list
 
   
  +
=OpenHAB 1=
<pre>
 
  +
==Configuration==
OPENHAB_VERSION=1.3.1
 
 
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 Docker ==
  +
 
https://hub.docker.com/r/openhab/openhab/
  +
  +
== 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
  +
  +
  +
<source lang="bash">
 
OPENHAB_VERSION=1.5.1
 
cd ./openhab-runtime-$OPENHAB_VERSION
 
cd ./openhab-runtime-$OPENHAB_VERSION
   
Line 57: Line 118:
 
./start.sh
 
./start.sh
   
</pre>
+
</source>
   
   
 
Depuis la console Equinox Gogo d'OpenHAB
 
Depuis la console Equinox Gogo d'OpenHAB
  +
<source lang="bash">
<pre>
 
 
help
 
help
 
lb
 
lb
</pre>
+
</source>
   
 
Ouvrir un navigateur sur http://localhost:8080/openhab.app?sitemap=demo
 
Ouvrir un navigateur sur http://localhost:8080/openhab.app?sitemap=demo
Line 70: Line 131:
   
 
Depuis la console [[VisualVM]]
 
Depuis la console [[VisualVM]]
  +
<source lang="bash">
<pre>
 
 
jvisualvm
 
jvisualvm
</pre>
+
</source>
   
 
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
 
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
Line 86: Line 147:
   
   
org.openhab.action.mail-1.3.1.jar
+
org.openhab.action.mail-1.5.1.jar
org.openhab.action.nma-1.3.1.jar
+
org.openhab.action.nma-1.5.1.jar
org.openhab.action.prowl-1.3.1.jar
+
org.openhab.action.prowl-1.5.1.jar
org.openhab.action.twitter-1.3.1.jar
+
org.openhab.action.twitter-1.5.1.jar
org.openhab.action.xbmc-1.3.1.jar
+
org.openhab.action.xbmc-1.5.1.jar
org.openhab.action.xmpp-1.3.1.jar
+
org.openhab.action.xmpp-1.5.1.jar
org.openhab.binding.asterisk-1.3.1.jar
+
org.openhab.binding.asterisk-1.5.1.jar
org.openhab.binding.bluetooth-1.3.1.jar
+
org.openhab.binding.bluetooth-1.5.1.jar
org.openhab.binding.comfoair-1.3.1.jar
+
org.openhab.binding.comfoair-1.5.1.jar
org.openhab.binding.configadmin-1.3.1.jar
+
org.openhab.binding.configadmin-1.5.1.jar
org.openhab.binding.cups-1.3.1.jar
+
org.openhab.binding.cups-1.5.1.jar
org.openhab.binding.digitalstrom-1.3.1.jar
+
org.openhab.binding.digitalstrom-1.5.1.jar
org.openhab.binding.dmx-1.3.1.jar
+
org.openhab.binding.dmx-1.5.1.jar
org.openhab.binding.dmx.lib485-1.3.1.jar
+
org.openhab.binding.dmx.lib485-1.5.1.jar
org.openhab.binding.dmx.ola-1.3.1.jar
+
org.openhab.binding.dmx.ola-1.5.1.jar
org.openhab.binding.enocean-1.3.1.jar
+
org.openhab.binding.enocean-1.5.1.jar
org.openhab.binding.epsonprojector-1.3.1.jar
+
org.openhab.binding.epsonprojector-1.5.1.jar
org.openhab.binding.exec-1.3.1.jar
+
org.openhab.binding.exec-1.5.1.jar
org.openhab.binding.fritzaha-1.3.1.jar
+
org.openhab.binding.fritzaha-1.5.1.jar
org.openhab.binding.fritzbox-1.3.1.jar
+
org.openhab.binding.fritzbox-1.5.1.jar
org.openhab.binding.homematic-1.3.1.jar
+
org.openhab.binding.homematic-1.5.1.jar
org.openhab.binding.http-1.3.1.jar
+
org.openhab.binding.http-1.5.1.jar
org.openhab.binding.hue-1.3.1.jar
+
org.openhab.binding.hue-1.5.1.jar
org.openhab.binding.ihc-1.3.1.jar
+
org.openhab.binding.ihc-1.5.1.jar
org.openhab.binding.knx-1.3.1.jar
+
org.openhab.binding.knx-1.5.1.jar
org.openhab.binding.koubachi-1.3.1.jar
+
org.openhab.binding.koubachi-1.5.1.jar
org.openhab.binding.milight-1.3.1.jar
+
org.openhab.binding.milight-1.5.1.jar
org.openhab.binding.modbus-1.3.1.jar
+
org.openhab.binding.modbus-1.5.1.jar
org.openhab.binding.mpd-1.3.1.jar
+
org.openhab.binding.mpd-1.5.1.jar
org.openhab.binding.mqtt-1.3.1.jar
+
org.openhab.binding.mqtt-1.5.1.jar
org.openhab.binding.networkhealth-1.3.1.jar
+
org.openhab.binding.networkhealth-1.5.1.jar
org.openhab.binding.nibeheatpump-1.3.1.jar
+
org.openhab.binding.nibeheatpump-1.5.1.jar
org.openhab.binding.nikobus-1.3.1.jar
+
org.openhab.binding.nikobus-1.5.1.jar
org.openhab.binding.novelanheatpump-1.3.1.jar
+
org.openhab.binding.novelanheatpump-1.5.1.jar
org.openhab.binding.ntp-1.3.1.jar
+
org.openhab.binding.ntp-1.5.1.jar
org.openhab.binding.onewire-1.3.1.jar
+
org.openhab.binding.onewire-1.5.1.jar
org.openhab.binding.onkyo-1.3.1.jar
+
org.openhab.binding.onkyo-1.5.1.jar
org.openhab.binding.opensprinkler-1.3.1.jar
+
org.openhab.binding.opensprinkler-1.5.1.jar
org.openhab.binding.owserver-1.3.1.jar
+
org.openhab.binding.owserver-1.5.1.jar
org.openhab.binding.piface-1.3.1.jar
+
org.openhab.binding.piface-1.5.1.jar
org.openhab.binding.plcbus-1.3.1.jar
+
org.openhab.binding.plcbus-1.5.1.jar
org.openhab.binding.plugwise-1.3.1.jar
+
org.openhab.binding.plugwise-1.5.1.jar
org.openhab.binding.pulseaudio-1.3.1.jar
+
org.openhab.binding.pulseaudio-1.5.1.jar
org.openhab.binding.rfxcom-1.3.1.jar
+
org.openhab.binding.rfxcom-1.5.1.jar
org.openhab.binding.samsungtv-1.3.1.jar
+
org.openhab.binding.samsungtv-1.5.1.jar
org.openhab.binding.serial-1.3.1.jar
+
org.openhab.binding.serial-1.5.1.jar
org.openhab.binding.snmp-1.3.1.jar
+
org.openhab.binding.snmp-1.5.1.jar
org.openhab.binding.sonos-1.3.1.jar
+
org.openhab.binding.sonos-1.5.1.jar
org.openhab.binding.squeezebox-1.3.1.jar
+
org.openhab.binding.squeezebox-1.5.1.jar
org.openhab.binding.systeminfo-1.3.1.jar
+
org.openhab.binding.systeminfo-1.5.1.jar
org.openhab.binding.tcp-1.3.1.jar
+
org.openhab.binding.tcp-1.5.1.jar
org.openhab.binding.tinkerforge-1.3.1.jar
+
org.openhab.binding.tinkerforge-1.5.1.jar
org.openhab.binding.urtsi-1.3.1.jar
+
org.openhab.binding.urtsi-1.5.1.jar
org.openhab.binding.vdr-1.3.1.jar
+
org.openhab.binding.vdr-1.5.1.jar
org.openhab.binding.wol-1.3.1.jar
+
org.openhab.binding.wol-1.5.1.jar
org.openhab.binding.zwave-1.3.1.jar
+
org.openhab.binding.zwave-1.5.1.jar
org.openhab.io.dropbox-1.3.1.jar
+
org.openhab.io.dropbox-1.5.1.jar
org.openhab.io.multimedia.tts.freetts-1.3.1.jar
+
org.openhab.io.multimedia.tts.freetts-1.5.1.jar
org.openhab.io.multimedia.tts.marytts-1.3.1.jar
+
org.openhab.io.multimedia.tts.marytts-1.5.1.jar
org.openhab.persistence.cosm-1.3.1.jar
+
org.openhab.persistence.cosm-1.5.1.jar
org.openhab.persistence.db4o-1.3.1.jar
+
org.openhab.persistence.db4o-1.5.1.jar
org.openhab.persistence.exec-1.3.1.jar
+
org.openhab.persistence.exec-1.5.1.jar
org.openhab.persistence.gcal-1.3.1.jar
+
org.openhab.persistence.gcal-1.5.1.jar
org.openhab.persistence.logging-1.3.1.jar
+
org.openhab.persistence.logging-1.5.1.jar
org.openhab.persistence.mqtt-1.3.1.jar
+
org.openhab.persistence.mqtt-1.5.1.jar
org.openhab.persistence.rrd4j-1.3.1.jar
+
org.openhab.persistence.rrd4j-1.5.1.jar
org.openhab.persistence.sense-1.3.1.jar
+
org.openhab.persistence.sense-1.5.1.jar
org.openhab.persistence.sql-1.3.1.jar
+
org.openhab.persistence.sql-1.5.1.jar
org.openhab.persistence.sql.mysql-1.3.1.jar
+
org.openhab.persistence.sql.mysql-1.5.1.jar
 
</pre>
 
</pre>
   
 
==Compléments==
 
==Compléments==
   
  +
===[http://air.imag.fr/index.php/Extensions_XBMC#Plugin_OpenHab XBMC]===
===[[XBMC]]===
 
   
 
===[[GStreamer]]===
 
===[[GStreamer]]===
Line 175: Line 236:
   
 
Ajoutez les propriétés de configuration dans le fichier ./start.sh
 
Ajoutez les propriétés de configuration dans le fichier ./start.sh
  +
<source lang="bash">
<pre>
 
 
# For Apache Felix UPnP Tester
 
# For Apache Felix UPnP Tester
 
OPTIONS="$OPTIONS -Djava.awt.headless=false"
 
OPTIONS="$OPTIONS -Djava.awt.headless=false"
Line 183: Line 244:
   
   
</pre>
+
</source>
   
   

Latest revision as of 16:48, 6 January 2017

logo OpenHAB

Description

OpenHAB Dashboard (GreenT UI)
OpenHAB Dashboard (GreenT UI)
OpenHAB Dashboard (Standard UI)
OpenHAB Designer
OpenHAB Architecture
OpenHAB Architecture

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

Projets @ AIR

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

Configuration

Things

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 Docker

https://hub.docker.com/r/openhab/openhab/

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


OPENHAB_VERSION=1.5.1
cd ./openhab-runtime-$OPENHAB_VERSION

cp -R ../openhab-demo-configuration-$OPENHAB_VERSION/addons .
cp -R ../openhab-demo-configuration-$OPENHAB_VERSION/configurations .

chmod 775 start.sh

./start.sh


Depuis la console Equinox Gogo d'OpenHAB

help
lb

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


Depuis la console VisualVM

jvisualvm

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


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

Compléments

XBMC

GStreamer

VLC

Equinox

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

# For Apache Felix UPnP Tester
OPTIONS="$OPTIONS -Djava.awt.headless=false"

# For Apache Felix Bundle Repository
OPTIONS="$OPTIONS -Dobr.repository.url=http://felix.apache.org/obr/releases.xml"


Distribution Karaf

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

Arduino