OpenHAB: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Image:Openhablogo.png|300px|center|logo OpenHAB]]
[[Image:Openhablogo.png|300px|center|logo OpenHAB]]


==Description==

[[Image:Openhab-dashboard.png|300px|right|thumb|OpenHAB Dashboard (GreenT UI)]]
[[Image:Openhab-dashboard-2.png|300px|right|thumb|OpenHAB Dashboard (GreenT UI)]]
[[Image:Openhab-dashboard-3.png|300px|right|thumb|OpenHAB Dashboard (Standard UI)]]
[[Image:Openhab-designer.png|300px|right|thumb|OpenHAB Designer]]
[[Image:Openhab-archi1.png|300px|right|thumb|center|OpenHAB Architecture]]
[[Image:Openhab-archi2.png|300px|right|thumb|center|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.''
''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.''
''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 now a part of the [[Eclipse Smart Home]] project.
OpenHAB is the first contribution of the brand-new [[Eclipse Smart Home]] project.


==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


==Projets @ AIR==
[[Image:Openhab-dashboard.png|600px|center|OpenHAB Dashboard (in GreenT)]]
* [[SmartDollHouse|Smart Doll House]]
[[Image:Openhab-archi1.png|600px|center|OpenHAB Architecture]]
* [[SmartCampus2014]]
[[Image:Openhab-archi2.png|600px|center|OpenHAB Architecture]]
* [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==
<pre>
cd openhab-offline-2.0.0-SNAPSHOT
./start.sh
</pre>

Dans la console d'OpenHAB 2 (ie [[Apache Karaf]])
<pre>
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

</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

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

chmod 775 start.sh

./start.sh

</source>


Depuis la console Equinox Gogo d'OpenHAB
<source lang="bash">
help
lb
</source>

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


Depuis la console [[VisualVM]]
<source lang="bash">
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


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


<pre>
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
</pre>

==Compléments==

===[http://air.imag.fr/index.php/Extensions_XBMC#Plugin_OpenHab 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
* [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===

Latest revision as of 14: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