Im Menü der Paper UI:
Configuration – Services – Basic UI (Classic UI):

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Alles rund um die Heimautomatisierung mit Fhem und Homematic usw.
Wie läuft der Umstieg von OpenHAB 1 auf die Version 2? Da ist eine Menge umgebaut worden. Da bei mir alles unter der Version 1 läuft, habe ich nicht große Not alles umzustellen.
Aber die neue GUI usw. ist doch ein Anreiz.
Deshalb habe ich mal Testweise auf einen Raspberry Pi Zero W die Version 2 installiert, wie hier beschrieben.
Das lief schon mal ganz gut. Nun wollte ich mal ein erstes Binding testen. Das Wemo-Binding. „OpenHAB2 mit Raspberry Pi Zero W: ERROR: 500 – Internal Server Error“ weiterlesen
Heute wird auf dem Raspberry Pi Zero W mal OpenHAB 2 installiert. Die 1.x Version läuft bei mir seit über einem Jahr erfolgreich. Mal sehen wie der Zero sich so schlägt.
Die Installation geht ziemlich schnell. Zuerst mal eine SD-Karte mit Jessie Lite 2.3.17 installieren.
Dann die folgenden Schritte:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# System aktualisieren sudo apt-get update sudo apt-get upgrade # Namen und ein paar Einstellungen sudo raspi-config # neue Firmware sudo apt-get dist-uprade # neues update Prog. installieren sudo apt-get install rpi-update # neueste Treiber installieren sudo rpi-update # Reboot sudo reboot now # Java 1.8 installieren, wenn nicht schon vorhanden sudo apt-get update && sudo apt-get install oracle-java8-jdk # so, jetzt die eigentliche OpenHAB 2 Installation # zuerst den Openhab Key ergänzen wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - # das Repo ergänzen echo 'deb http://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list # nun wieder alles updaten, da ein neues Repo ergänzt wurde sudo apt-get update # OpenHAB 2 installieren sudo apt-get install openhab2 # OpenHAB autom. bei Systemstart starten sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable openhab2.service # und OpenHAB 2.0 starten sudo /bin/systemctl start openhab2.service # der Start hat ein paar Minuten gedauert, deshalb mal den Status ausgeben sudo systemctl status openhab2.service # wenn ein Restart nötig ist, dann sudo systemctl restart openhab2.service |
So, dann kann die URL im Browser aufgerufen werden:
http://(raspberry-pi-adresse):8080
Dort erscheint dann dieser Auswahl Dialog. Ich habe da den „Expert Best for 1.X User“ gewählt, da ich schon ein 1.x OpenHAB laufen habe. Da könnte man dann aber wohl Standard wählen:

„Raspberry Pi Zero W: OpenHAB 2.0 installieren in ca. 60 Minuten“ weiterlesen
675 Tassen Kaffee trinkt jeder Deutsche im Schnitt pro Jahr (2015). Das geht aus einer Erhebung des Statista Consumer Market Outlooks hervor. Wie sieht es aber bei mir aus?
Wer wissen will, wieviel Kaffee er trinkt oder besser gesagt kocht, kann den Raspberry Pi dazu verwenden.
Wenn dort OpenHab installiert ist, kann man eine Regel erstellen, die jedesmal eine Pushover Nachricht an das Handy sendet und gleichzeitig in einem Diagramm auf Thinkspeak die Anzahl zählt bzw. darstellt. Die Erfassung an der Kaffeemaschine geht über einen Leistungsmesser von Homematic. Das ist hier im Blog schon mal beschrieben worden.
Hier die Architektur:
In diesem Thingspeak Diagramm wird in Echtzeit jeweils der aktuelle Stand ab heute automatisch erstellt. Also immer mal wieder vorbeischauen, dann weiß man, wann bei mir Kaffee-Time ist und ob ich den Durchschnitt von 675 Tassen pro Jahr erreiche 😉
Hier die OpenHab Regel: „Raspberry Pi: Echtzeit Benachrichtigung wenn ein Kaffee (قهوة) gekocht wurde via OpenHab und ThingSpeak bzw. Pushover“ weiterlesen
Mein heutiges Raspberry Pi Projekt soll einfach eine Pushover Nachricht auf alle Handys und iPads versenden, wenn ein Kaffee gekocht wurde. So kann ich immer sehen, wieviele Kaffee ich so am Tag getrunken habe und wann.
Es wird ein Homematik „Pushover Nachricht mit dem Raspberry Pi versenden wenn ein Kaffee (قهوة) gekocht wurde via OpenHab“ weiterlesen
Wie können Flugdaten von MQTT Servern empfangen und in openHAB angezeigt werden? Hier ein Beispiel, wie von einem öffentlichen Testserver (test.mosquitto.org) die Anzahl von Flugzeuge in Hannover per MQTT empfangen, und alle 5 Minuten in realtime in openHAB angezeigt wird.
Das geht ganz einfach mit dem MQTT-Binding das in das addon Verzeichnis kopiert werden muss ( Datei: org.openhab.binding.mqtt-1.8.3.jar ). Dann den MQTT-Broker in der openhab.cfg eintragen: „Wie können Flugdaten von MQTT Servern empfangen und in openHAB angezeigt werden?“ weiterlesen
Auf dem Raspberry Pi läuft openHAB. Einmal am Tag bekomme ich per Pushover eine Nachricht mit dem Systemstatus auf das Handy gesandt:
Ups, da ist ja die Systemtemperatur nach dem Komma etwas lang.
Obwohl der Eintrag in der items Datei wie folgt lautet:
|
1 2 |
// Über ein Script die Systemtemperatur des Raspberry Pis auslesen Number systemTempPi "System Temperatur [%.1f °C]" (System) { exec="<[./configurations/scripts/getSystemTemp.sh:600000:REGEX((.*?))]" } |
Damit man die OpenHAB Konfigurationsdateien einfach bearbeiten kann, gibt es den openHAB Designer (aktuelle Version 1.8.3). Der kann von dieser Seite für den Mac, Linux oder Windows kostenlos geladen werden. Diese Datei dann installieren.
Tip: Erscheint bei der Installation bei Mac OS X eine Fehlermeldung: „… das Archive bzw. das Programm ist defekt und soll in den Papierkorb verschoben werden…“
liegt es daran, das das Archive nicht signiert ist. Dann wählen Sie „Apple“ > „Systemeinstellungen“
und klicken Sie auf „Sicherheit“ und danach auf „Allgemein“ für die App zulassen.
Dann noch einmal versuchen, und es müsste laufen. Die Einstellung kann dann wieder zurück gesetzt werden, wenn der Designer einmal erfolgreich gestartet wurde.
Den openHAB Designer nun starten, es erscheint eine schöne auf Eclipse basierende GUI.
Da der openHAB Server auf einem Raspberry Pi läuft, muss das OpenHAB Konfigurationsverzeichnis /etc/openhab/configurations noch Freigegeben werden um vom Mac aus darauch zuzugreifen. Zu dem openHAB Designer erst mal eine Mindmap
„Wie wird der openHAB Designer 1.8.3 für einen Mac optimal installiert mit Freigaben für einen Raspberry Pi?“ weiterlesen
Normalerweise habe ich die Antenne drinnen. Da es heute aber so schön ist, wird sie mal draußen angebracht
und schon ist der Empfang fast doppelt so groß und fast 300 Km weit:
oder hier
Hier auf Twitter kann jeder in Echtzeit mit 5 Minuten Verzögerung die Anzahl ablesen, da ein Raspberry Pi über node-red die Ergebnisse postet:
Anzahl #Flugzeuge in #Hannover (#HAJ #EDDV) 51 angefragt per #ADSB am Sat Jun 04 2016 17:26:28 GMT+0200 (CEST) per #Raspberry #Pi
— Thomas Wenzlaff (@twusb) 4. Juni 2016
Wie können Flugdaten mit dem Raspberry PI und node-RED auf Twitter alle 5 Minuten ausgegeben werden? Und wie kann eine einfach Gui erstellt werden?
Mit diesen Node-RED Flow, werden die Flugdaten von thinkspeak.com eingelesen (die Daten kommen von eine meiner Raspberry Pis und können frei verwendet werden) und alle 5 Minuten an Twitter gesendet.
Die Funktion die den Text für Twitter erstellt, kann diesen Inhalt haben:
|
1 2 3 4 5 6 7 |
var newMsg = { payload: msg.payload + " #Flugzeuge im Umkreis von #Hannover (#HAJ #EDDV #Airport) Abfrage per #ADSB am " + new Date() + " mit #Raspberry Pi" }; return newMsg; |
Hier die node-red GUI, die über die Url http://pi-adresse:1880/ui/ geöffnet wird:
Hier werden an Twitter die Daten alle 5 Minuten hingesendet, bitte folgen:
Anzahl #Flugzeuge in #Hannover (#HAJ #EDDV) 18 angefragt per #ADSB am Tue May 31 2016 21:50:48 GMT+0200 (CEST) per #Raspberry #Pi
— Thomas Wenzlaff (@twusb) 31. Mai 2016
Hier kann der Flow importiert werden:
Die node-red Admin Konsole kann im Terminal wie folgt installiert werden:

|
1 |
sudo npm install -g node-red-admin |
Ergebnis nach ein paar Minuten: „Wie kann die node-red-admin Konsole auf den Raspberry Pi installiert werden?“ weiterlesen
Meine Hausautomatisation die auf einen Raspberry Pi mit Debian Linux läuft, arbeitet mit Openhab.
Wie können da nun die Transpondersignale von den Flugzeugen in Hannover (EDDV) angezeigt werden?
Das geht mit der REST Schnitstelle von ThinkSpeak.
So sieht die Seite von Openhab aus.
Oben wird die aktuelle Anzahl von Flugzeugen und der Zeitpunkt der Daten die gerade empfangen werden angezeigt. Eine automatisch Aktualisierung ist bei mir auf 15 Minuten eingestellt. Der Feed wird alle 5 Minuten aktualisiert und wenn man die letzten Daten angezeigt bekommen will, braucht man nur auf den „aktualisieren“ Schalter klicken.
Die Daten kann jeder abfragen, da die API von ThinkSpeak öffentlich ist!
Was ist nötig?
Ein Eintrag in der Sitemap Datei:
|
1 2 3 4 5 6 7 8 9 10 11 |
Frame { Group item=gFlug label="Fluginfos" icon="flugzeug"{ Frame label="Hannover HAJ (EDDV)" { Text item=flugzeugeAnzahl icon="flugzeug" Text item=flugzeugeUpdate icon="flugzeug" Switch item=flugzeugeAktualisieren icon="flugzeug" Text item=flugzeugeZeitpunkt icon="flugzeug" } } } |
Eine neue Datei im Items Verzeichnis Flug.items mit diesm Inhalt:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
// // Steuerung des Fluginformationen via OpenHAB // // (c) 2016 Thomas Wenzlaff http://www.wenzlaff.info // // Liefert aus den Feed die Anzahl Flugzeuge als Json Feed // https://api.thingspeak.com/channels/44177/feeds/last.json // // z.B. // {"created_at":"2016-05-16T14:05:02Z","entry_id":80051,"field1":"15"} Group gFlug // alle 15 Minuten abfragen String flugzeugeAnzahl "Anzahl Flugzeuge [%s]" { http="<[https://api.thingspeak.com/channels/44177/feeds/last.json:900000:JS(getAnzahlFlugzeuge.js)]" } // Zeitpunkt der letzten aktualisierung des Feeds String flugzeugeUpdate "Letztes Feed update [%s]" // Zeitpunkt der letzen aktualisierung String flugzeugeZeitpunkt "Letzte aktualisierung [%s]" // Schalter zum aktualisieren der Anzahl der Flugzeuge Switch flugzeugeAktualisieren "aktualisieren" |
Eine neue Datei im Transform Verzeichnis mit Namen getAnzahlFlugzeuge.js mit diesem Inhalt
|
1 |
JSON.parse(input).field1; |
Und noch eine Flug.rules im Rules Verzeichnis, die bei klick auf den Schalter aktiv wird:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
import org.openhab.core.library.types.* import org.openhab.model.script.actions.* import java.util.Date import java.text.SimpleDateFormat // // Fluginfos für OpenHAB // // (c) 2016 Thomas Wenzlaff http://www.wenzlaff.info // //------------------------------------------------------------------------ // Aktualisiert die Fluginfos, d.h die Anzahl der Flugzeuge aus ThingSpeak //------------------------------------------------------------------------ rule "Aktualisiert die Fluginfos von ThingSpeak" when Item flugzeugeAktualisieren received command ON then logInfo("Flug","aktualisiere Fluginfos ...") var String result = sendHttpGetRequest("https://api.thingspeak.com/channels/44177/feeds/last.json") // {"created_at":"2016-05-16T16:10:02Z","entry_id":80076,"field1":"11"}' by the function '$.field1' logInfo("Flug", "nur das Ergebnis der Abfrage: " + result) var String anzahl = transform("JSONPATH", "$.field1", result) logInfo("Flug", "Anzahl der Flugzeuge, update auf: " + anzahl) var String createdAt = transform("JSONPATH", "$.created_at", result) logInfo("Flug", "Letztes update um: " + createdAt) // aktualisierungs Datum setzen flugzeugeUpdate.postUpdate(createdAt) // aktualisiere Anzahl der Flugzeuge flugzeugeAnzahl.postUpdate(anzahl) // Schalter wieder zurücksetzen flugzeugeAktualisieren.postUpdate("OFF") var SimpleDateFormat df = new SimpleDateFormat( "HH:mm:ss dd.MM.YYYY" ) var String timestamp = df.format( new Date() ) flugzeugeZeitpunkt.postUpdate(timestamp); end |
Und noch das von mir erstellte Icon des Flugzeuges:
Dies super Icon kann kostenlos von hier geladen und frei verwendet werden. Wer kann ein besseres zur freien Verwendung zeichnen?
Ich hatte schon hier mit Fhem davon berichtet. Jetzt ist alles auf openHAB umgestellt, und damit geht es auch einfach.
Habe mal ein aufwendiges Whiteboard Video für Euch erstellt, um die Zusammenhänge in 10 Sekunden darzustellen:
Manchmal möchte man auch in openHAB die Wetterdaten des Heimatortes (oder auch jeden exbeliebigen Ort) anzeigen und dann bei Frost oder so über Regel reagieren wie z.B eine Nachricht versenden.
Das abfragen von Wetterdaten geht mit der API von OpenWeatherMap. Dort können kostenlos bis zu 60 Abfragen pro Minute gemacht werden. In einer Sekunde ändert sich das Wetter in der Regel nicht wesentlich. Ich frage eh nur alle halbe Stunde die aktuellen Daten ab.
Also zuerst anmelden bei OpenWeatherMap und den API Key in die openhab.cfg Datei kopieren: „Raspberry Pi: Wie können Wetterdaten in openHAB von OpenWeatherMap angezeigt werden?“ weiterlesen
Kann unter OpenHAB auf einem Raspberry Pi mit Homematic/Homegeare und FS20 Binding gleichzeitig über einen CUL betrieben werden? Die kurze Antwort: Leider NEIN.

Und hier die lange Beschreibung mit Vorgehen. „Kann OpenHAB auf einem Raspberry Pi gleichzeitig Homematic/Homegeare und FS20 Binding über einen CUL verwenden?“ weiterlesen
Manchmal möchte man openHAB einfach über die Oberfläche neu starten. Das geht wie folgt.

Zuerst eine System.rules Datei im rules Verzeichnis erstellen, mit dieser Regel:
„Raspberry Pi: Wie kann in openHAB ein restart Schalter eingebaut werden?“ weiterlesen
Wer eine Fritzbox hat, kann dort auch Telefonbücher anlegen, so das beim Anruf eine E-Mail versendet wird. Bei mir wird bei Anruf auch eine Pushover Nachricht auf das Handy gesendet und der Name und die Nummer mit openHAB via Karotz angesagt, so das ich schon hören kann, wer anruft.

Das läuft über das openHab Fritzbox 064 Binding ganz gut. Von dem Bindig wird aber bisher nur das erste Telefonbuch aus der Fritzbox ausgelesen. Wer ein anderes benutzt muss die Daten exportieren und in dem ersten Telefonbuch wiederherstellen, da es keine löschen Funktion in der Fritzbox gibt.
Bei mir war noch das Problem, das viele Telefonnummern (über 600) Blanks, Bindestriche und Klammern enthielt. Z.B. (0)511-123 456 und die wird bisher in dem Binding nicht erkannt. Deshalb habe ich einen kleinen Konverter geschrieben, der alle Blanks, (,),- löscht und auch alle Nr. die kein +49 haben und mit 0 beginnen mit dem gültigen prefix +49 ohne 0 ergänzt. Weitere Regeln können leicht angepasst werden.
In diesem Java Programm, kann man auch sehen, wie mit einem SAXBuilder ein JDom Dokument erzeugt gelesen und verändert werden kann. Hier das Programm: „Fritzbox Telefonbuch (Phonebook) mit Java bearbeiten via JDom und SAXBuilder“ weiterlesen
Wie sieht denn morgens so der Stromverbrauch aus?

Eine Tasse Kaffee zwei Toast und etwas Staubsaugen muss auch sein.
Hier das Diagramm, das mit openHab auf einen Raspberry Pi und einer Homematic Steckdose vermessen wurden. „Leistungsmessung (Kaffee, Toast, Staubsaugen) am morgen mit OpenHab und Raspberry Pi“ weiterlesen
Auf dem Raspberry Pi läuft openHab. Wie können da die Wemo Geräte eingebunden werden.
Zuerst die Wemo Binding installieren mit
|
1 |
sudo apt-get install openhab-addon-binding-wemo |
und dann im Log nach den erkannten Geräten suchen. Dann eine Wemo.items Datei anlegen mit diesem Inhalt (Sensor Nr. anpassen)
|
1 2 3 4 5 |
// Netz Schalter Switch wemoSchalter "Wemo Schalter" {wemo="Socket-1_0-1111111111111"} // Bewegungssensor wenn bewegung erkannt 1 sonst 0 Switch wemoBewegung "Wemo Bewegung [MAP(an-aus.map):%d]" {wemo="Sensor-1_0-1111111111111"} |
Und in der Sitemap Datei
|
1 2 3 4 |
Frame label="Wemo" { Switch item=wemoSchalter Text item=wemoBewegung icon="selfMotion" } |
Im Transform Verzeichnis noch eine an-aus.map Datei anlegen mit diesem Inhalt:
|
1 2 |
1=An 0=Aus |
Schon ist der Netzschalter und der Bewegungsmelder aktiv:
Wie kann an einem Raspberry Pi auf dem openHab unter Debian Jessie läuft, die Homematic Geräte mit einem CUL angebunden werden. Da meine Homatic Geräte alle unter Fhem liefen, musste jedes Gerät resetet und neu gepeert und angelernt (gepairt) werden. Und es soll die Heizung, Brandmelder, Leistungsmesser und die Tür und Fensterkontakte ja laufen, sonnst kommt noch jemand ungebeten ins Haus 😉
Dabei muss man darauf achten, zuerst die Schalter mit den Heizungsventilen zu pairen und dann zum Schluss an die CUL Zentrale pairen. Anders läuf es nicht. Auch ist es wichtig, die für das Betriebssystem richtige Homegeare Version zu installieren.
„OpenHab: CUL an Homematic über Homegear auf dem Raspberry Pi unter Debian – Jessie“ weiterlesen