OpenHAB: Difference between revisions
(12 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
==Liens== |
==Liens== |
||
* Website: |
* 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> |
|||
==Lancement== |
|||
==Installation et Démarrage== |
|||
<pre> |
|||
Téléchargez les .zip de la dernière distribution d'OpenHAB (1.3.1 dans l'exemple) dans un répertoire OpenHAB |
|||
cd openhab-offline-2.0.0-SNAPSHOT |
|||
https://code.google.com/p/openhab/downloads/list |
|||
./start.sh |
|||
</pre> |
|||
Dans la console d'OpenHAB 2 (ie [[Apache Karaf]]) |
|||
<pre> |
<pre> |
||
help |
|||
OPENHAB_VERSION=1.3.1 |
|||
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 |
|||
</pre> |
|||
==Utilisation== |
|||
Visiter les interfaces |
|||
* 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> |
|||
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 |
|||
</pre> |
|||
==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 |
|||
<source lang="bash"> |
|||
OPENHAB_VERSION=1.5.1 |
|||
cd ./openhab-runtime-$OPENHAB_VERSION |
cd ./openhab-runtime-$OPENHAB_VERSION |
||
Line 38: | Line 118: | ||
./start.sh |
./start.sh |
||
</ |
</source> |
||
Depuis la console Equinox Gogo d'OpenHAB |
Depuis la console Equinox Gogo d'OpenHAB |
||
<source lang="bash"> |
|||
<pre> |
|||
help |
help |
||
lb |
lb |
||
</ |
</source> |
||
Ouvrir un navigateur sur http://localhost:8080/openhab.app?sitemap=demo |
Ouvrir un navigateur sur http://localhost:8080/openhab.app?sitemap=demo |
||
Line 51: | Line 131: | ||
Depuis la console [[VisualVM]] |
Depuis la console [[VisualVM]] |
||
<source lang="bash"> |
|||
<pre> |
|||
jvisualvm |
jvisualvm |
||
</ |
</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 67: | Line 147: | ||
org.openhab.action.mail-1. |
org.openhab.action.mail-1.5.1.jar |
||
org.openhab.action.nma-1. |
org.openhab.action.nma-1.5.1.jar |
||
org.openhab.action.prowl-1. |
org.openhab.action.prowl-1.5.1.jar |
||
org.openhab.action.twitter-1. |
org.openhab.action.twitter-1.5.1.jar |
||
org.openhab.action.xbmc-1. |
org.openhab.action.xbmc-1.5.1.jar |
||
org.openhab.action.xmpp-1. |
org.openhab.action.xmpp-1.5.1.jar |
||
org.openhab.binding.asterisk-1. |
org.openhab.binding.asterisk-1.5.1.jar |
||
org.openhab.binding.bluetooth-1. |
org.openhab.binding.bluetooth-1.5.1.jar |
||
org.openhab.binding.comfoair-1. |
org.openhab.binding.comfoair-1.5.1.jar |
||
org.openhab.binding.configadmin-1. |
org.openhab.binding.configadmin-1.5.1.jar |
||
org.openhab.binding.cups-1. |
org.openhab.binding.cups-1.5.1.jar |
||
org.openhab.binding.digitalstrom-1. |
org.openhab.binding.digitalstrom-1.5.1.jar |
||
org.openhab.binding.dmx-1. |
org.openhab.binding.dmx-1.5.1.jar |
||
org.openhab.binding.dmx.lib485-1. |
org.openhab.binding.dmx.lib485-1.5.1.jar |
||
org.openhab.binding.dmx.ola-1. |
org.openhab.binding.dmx.ola-1.5.1.jar |
||
org.openhab.binding.enocean-1. |
org.openhab.binding.enocean-1.5.1.jar |
||
org.openhab.binding.epsonprojector-1. |
org.openhab.binding.epsonprojector-1.5.1.jar |
||
org.openhab.binding.exec-1. |
org.openhab.binding.exec-1.5.1.jar |
||
org.openhab.binding.fritzaha-1. |
org.openhab.binding.fritzaha-1.5.1.jar |
||
org.openhab.binding.fritzbox-1. |
org.openhab.binding.fritzbox-1.5.1.jar |
||
org.openhab.binding.homematic-1. |
org.openhab.binding.homematic-1.5.1.jar |
||
org.openhab.binding.http-1. |
org.openhab.binding.http-1.5.1.jar |
||
org.openhab.binding.hue-1. |
org.openhab.binding.hue-1.5.1.jar |
||
org.openhab.binding.ihc-1. |
org.openhab.binding.ihc-1.5.1.jar |
||
org.openhab.binding.knx-1. |
org.openhab.binding.knx-1.5.1.jar |
||
org.openhab.binding.koubachi-1. |
org.openhab.binding.koubachi-1.5.1.jar |
||
org.openhab.binding.milight-1. |
org.openhab.binding.milight-1.5.1.jar |
||
org.openhab.binding.modbus-1. |
org.openhab.binding.modbus-1.5.1.jar |
||
org.openhab.binding.mpd-1. |
org.openhab.binding.mpd-1.5.1.jar |
||
org.openhab.binding.mqtt-1. |
org.openhab.binding.mqtt-1.5.1.jar |
||
org.openhab.binding.networkhealth-1. |
org.openhab.binding.networkhealth-1.5.1.jar |
||
org.openhab.binding.nibeheatpump-1. |
org.openhab.binding.nibeheatpump-1.5.1.jar |
||
org.openhab.binding.nikobus-1. |
org.openhab.binding.nikobus-1.5.1.jar |
||
org.openhab.binding.novelanheatpump-1. |
org.openhab.binding.novelanheatpump-1.5.1.jar |
||
org.openhab.binding.ntp-1. |
org.openhab.binding.ntp-1.5.1.jar |
||
org.openhab.binding.onewire-1. |
org.openhab.binding.onewire-1.5.1.jar |
||
org.openhab.binding.onkyo-1. |
org.openhab.binding.onkyo-1.5.1.jar |
||
org.openhab.binding.opensprinkler-1. |
org.openhab.binding.opensprinkler-1.5.1.jar |
||
org.openhab.binding.owserver-1. |
org.openhab.binding.owserver-1.5.1.jar |
||
org.openhab.binding.piface-1. |
org.openhab.binding.piface-1.5.1.jar |
||
org.openhab.binding.plcbus-1. |
org.openhab.binding.plcbus-1.5.1.jar |
||
org.openhab.binding.plugwise-1. |
org.openhab.binding.plugwise-1.5.1.jar |
||
org.openhab.binding.pulseaudio-1. |
org.openhab.binding.pulseaudio-1.5.1.jar |
||
org.openhab.binding.rfxcom-1. |
org.openhab.binding.rfxcom-1.5.1.jar |
||
org.openhab.binding.samsungtv-1. |
org.openhab.binding.samsungtv-1.5.1.jar |
||
org.openhab.binding.serial-1. |
org.openhab.binding.serial-1.5.1.jar |
||
org.openhab.binding.snmp-1. |
org.openhab.binding.snmp-1.5.1.jar |
||
org.openhab.binding.sonos-1. |
org.openhab.binding.sonos-1.5.1.jar |
||
org.openhab.binding.squeezebox-1. |
org.openhab.binding.squeezebox-1.5.1.jar |
||
org.openhab.binding.systeminfo-1. |
org.openhab.binding.systeminfo-1.5.1.jar |
||
org.openhab.binding.tcp-1. |
org.openhab.binding.tcp-1.5.1.jar |
||
org.openhab.binding.tinkerforge-1. |
org.openhab.binding.tinkerforge-1.5.1.jar |
||
org.openhab.binding.urtsi-1. |
org.openhab.binding.urtsi-1.5.1.jar |
||
org.openhab.binding.vdr-1. |
org.openhab.binding.vdr-1.5.1.jar |
||
org.openhab.binding.wol-1. |
org.openhab.binding.wol-1.5.1.jar |
||
org.openhab.binding.zwave-1. |
org.openhab.binding.zwave-1.5.1.jar |
||
org.openhab.io.dropbox-1. |
org.openhab.io.dropbox-1.5.1.jar |
||
org.openhab.io.multimedia.tts.freetts-1. |
org.openhab.io.multimedia.tts.freetts-1.5.1.jar |
||
org.openhab.io.multimedia.tts.marytts-1. |
org.openhab.io.multimedia.tts.marytts-1.5.1.jar |
||
org.openhab.persistence.cosm-1. |
org.openhab.persistence.cosm-1.5.1.jar |
||
org.openhab.persistence.db4o-1. |
org.openhab.persistence.db4o-1.5.1.jar |
||
org.openhab.persistence.exec-1. |
org.openhab.persistence.exec-1.5.1.jar |
||
org.openhab.persistence.gcal-1. |
org.openhab.persistence.gcal-1.5.1.jar |
||
org.openhab.persistence.logging-1. |
org.openhab.persistence.logging-1.5.1.jar |
||
org.openhab.persistence.mqtt-1. |
org.openhab.persistence.mqtt-1.5.1.jar |
||
org.openhab.persistence.rrd4j-1. |
org.openhab.persistence.rrd4j-1.5.1.jar |
||
org.openhab.persistence.sense-1. |
org.openhab.persistence.sense-1.5.1.jar |
||
org.openhab.persistence.sql-1. |
org.openhab.persistence.sql-1.5.1.jar |
||
org.openhab.persistence.sql.mysql-1. |
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]=== |
|||
===[[GStreamer]]=== |
|||
===[[VLC]]=== |
|||
===Equinox=== |
===Equinox=== |
||
====Distribution Felix==== |
|||
Complétez la plateforme à partir du [[ Installation d'Eclipse Equinox & Premières commandes|tutoriel Equinox]] en ajoutant des services de la plateforme [[Apache Felix]] et de la plateforme [[Apache Karaf]] : la web console d'administration OSGi et ses plugins, JMX, UPnP Base , le modèle de composants iPOJO, ... |
|||
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 |
|||
* [http://felix.apache.org/site/apache-felix-remote-shell.html Remote Shell] |
|||
* le modèle de composants [[iPOJO]] |
|||
* UPnP Base Driver |
|||
Ajoutez les propriétés de configuration dans le fichier ./start.sh |
|||
<source lang="bash"> |
|||
# 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" |
|||
</source> |
|||
====Distribution Karaf==== |
|||
Téléchargez la dernière distribution de la plateforme [[Apache Karaf]]. |
|||
Copiez les bundles de Karaf suivants dans ./addons |
|||
() |
|||
===Arduino=== |
===Arduino=== |
Latest revision as of 14:48, 6 January 2017
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
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
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 ()