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"
}
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:
Installation Telegram-Bot
Alles schön erklärt: http://openhab2.wermescher.com/dienst-telegram/
Anwendungsbesipiele mit OpenHAB2
- https://klenzel.de/kategorie/technik/hausautomatisierung/openhab
- http://onesmarthome.de/category/komfort/
- Dokumentation eines OpenHAB Users: https://openhabdoc.readthedocs.io/de/latest/setpoint/
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
- Java Runtime Environment (JRE) 8 von Oracle herunterladen (Zu der Zeit meiner Installation war aktuell die JDK 8 Update 152)
- Oracle Downloadseite: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- 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"
- Entpacken:
tar -xzvf server-jre-8u25-linux-x64.tar.gz
- Den entpackten Java Ordner an die richtige Stelle verschieben:
mv /DOWNLOAD-Ordner/jdk1.8.0_152 /usr/lib/jvm
- Der originale Java Ordner der Version 8 heißt java-8-oracle. Damit wir etwas flexibler sind machen wir uns jetzt einen Symlink.
- Symlink erstellen:
ln -s /usr/lib/jvm/jdk1.8.0_152/ /usr/lib/jvm/java-8-oracle
- 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
- 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