Skip to main content

OpenHAB2

Meine Testumgebung

Die Definitionen

Items

So sieht meine Definition der Items in der Datei test.items im Ordner /etc/openhab2/items aus:

Number numTemp
Number numTemp2

Sitemap

Meine Sitemap home.sitemap im Ordner /etc/openhab2/sitemaps sieht so aus:

sitemap home label="My home sitemap" {
    Setpoint item=numTemp label="Heizung Wohnzimmer [%.1f °C]" minValue=12 maxValue=30 step=1 icon="temperature"
    Text item=numTemp label="Heizung Wohnzimmer [%s °C]" icon="temperature"
    Text item=numTemp2 label="Heizung Testanzeige [%s °C]" icon="temperature"
}

So sieht es dann aus:
OpenHAB2-sitemap-home.png

Rules

Hier die Definition meiner Regel heating.rules im Ordner /etc/openbhab2/rules:

rule "Simulate the heating control"

when
    Item numTemp changed
then
    var int newValue=numTemp.state
    //newValue=newValue+1
    numTemp2.postUpdate((newValue as DecimalType)+100)
end

Rechnen mit Items vom Typ Numbers

Vorwort

Da ich selber gerade erst angefangen habe mich mit OpenHAB2 zu beschäftigen, musste ich mich erstmal durch die Dokumentation hangeln und teste noch herum wie was geht.
Meine Testumgebung mit allen Definitionen habe ich bereits weiter oben beschrieben.

Die Berechnung

Jetzt habe ich herausgefunden, dass man beim Rechnen mit Numbers den Wert den man benutzen will nochmal als "DecimalType" definieren muss.

var int newValue=numTemp.state
numTemp2.postUpdate((newValue as DecimalType)+100)

Damit wollte ich mal testen wie man mit einen Wert rechnen kann und diesen Wert mit einem Sitemap-Element vom Typ "Text" ausgibt. In meiner Sitemap habe ich das "Text"-Element wie folgt definiert: Text item=numTemp2 label="Heizung Testanzeige [%s °C]" icon="tempereature"
Das sieht dann in der "BasicUI" so hier aus:
OpenHAB2-TextItem1.png

Installation Telegram-Bot

Alles schön erklärt: http://openhab2.wermescher.com/dienst-telegram/

Anwendungsbesipiele mit OpenHAB2

Installation

Vorraussetzungen

Java SDK

Vorwort

In dem aktuellen Debian Paket befindet sich ein Bug. Da Oracle auf seinen Downloadseiten einiges umgebaut hat und man zuerst die AGB´s akzeptieren muss, kann der Paketmanager die aktuellste Java Version nicht downloaden. Dafür ist das Paket nicht programmiert.
Also was tun wir? Richtig, wer nicht warten will bis das Debianpaket gefixt wird, der muss sich Java selber manuell herunterladen und installieren. Und das erkläre ich euch jetzt. Eine schäne Anleitung, die mir geholfen hat, findet ihr auch hier bei sysadminslife.com

Installation

  1. Java Runtime Environment (JRE) 8 von Oracle herunterladen (Zu der Zeit meiner Installation war aktuell die JDK 8 Update 152)
    1. Oracle Downloadseite: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    2. Befehl: wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz"
  2. Entpacken: tar -xzvf server-jre-8u25-linux-x64.tar.gz
  3. Den entpackten Java Ordner an die richtige Stelle verschieben: mv /DOWNLOAD-Ordner/jdk1.8.0_152 /usr/lib/jvm
    1. Der originale Java Ordner der Version 8 heißt java-8-oracle. Damit wir etwas flexibler sind machen wir uns jetzt einen Symlink.
  4. Symlink erstellen: ln -s /usr/lib/jvm/jdk1.8.0_152/ /usr/lib/jvm/java-8-oracle
  5. Jetzt teilen wir dem System mit, dass er die von uns bereitgestellte Java Version nutzen soll: update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-8-oracle/bin/java" 1
  6. Abschließend könnt ihr kontrollieren ob das Java funktioniert und welche Version er installiert hat: java -version

Meine Ausgabe sieht so aus:
root@Server:/usr/lib/jvm# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

Installation OpenHAB2

Hier will ich gar nicht viele Worte verlieren, weil auf der Projektseite von OpenHAB2 alles super dokumentiert ist. http://docs.openhab.org/installation/linux.html#installation