Openhab restart

sudo service openhab2 restart

Openhab cache leeren

./clearoh2cache.sh
Wenn danach nichts geht:
wget http://status.button.co.at/org.ops4j.pax.url.mvn.cfg
sudo mv org.ops4j.pax.url.mvn.cfg /var/lib/openhab2/etc/
sudo chmod 777 /var/lib/openhab2/etc/org.ops4j.pax.url.mvn.cfg
sudo service openhab2 start

App findet Rasp nicht / kein Frontend auf http://RASPIP:3000

Mit
pm2 status
schauen ob alles online ist (lt, server, proxy, proxy2), wenn nicht
./pm2reset.sh
wenn pm2 logs dann noch Fehler anzeigt zusätzlich
sudo service mongodb start
ausführen.

SSH

Ein browserbasierter SSH-Client läuft auf Port 4200:

https://button.local:4200/

Items/Widgets/Szenen/Kundendaten aus Backup einspielen

mongorestore --drop DUMPVERZEICHNIS
Danach noch aus der Weboberfläche Items/Szenen schreiben

CCU Backup einspielen

Über das CCU Webfrontend

Backup manuell erstellen

sudo ./create_backup.sh
erstellt ein Backup von der CCU, Items, Widgets, etc, liegt anschliessend unter /home/button/backup/backup.7z, alternativ mongodump oder Backup aus der CCU wenn man nur das eine oder andere braucht.

HM-IP Geräte lassen sich nicht anlernen

Wenn sich keine ip-aktoren mehr anlernen lassen hat die CCU beim löschen oder importieren oder sonstwo irgendwas vergessen und man kann die betreffenden Dinge mit

sudo service debmatic stop
sudo rm -rf /etc/config/hmip_address.conf /etc/config/hmip_networkkey.conf /etc/config/crRFD/*
sudo service debmatic start
händisch löschen.

Keine CCU in der Geräteliste der CCU

Antenne hat was, siehe CCU startet nicht

CCU startet nicht oder langsam

zuerst mit
sudo debmatic-info
Daten für die Antenne checken, eventuell hat sie was/steckt nicht richtig drauf/etc... Wenn überall unknown steht /etc/config/rfd.conf checken ob dort
Improved Coprocessor Initialization = true
steht, sonst eintragen und neustarten. Wenn das nichts hilft Antenne neu flashen.
Ist ein LAN-GW eingetragen aber nicht im Netz dauert der Start auch ewig. Wenn kein LAN-GW eingetragen ist und die Antenne funktioniert hilft möglicherweise ein neuanlegen der homematic.regadom:
sudo service debmatic stop
sudo rm -f /etc/config/homematic.regadom
sudo service debmatic start

Antenne flashen

Falls debmatic-info keine Adressen anzeigt und sonst auch nix hilft kann man die kleine Antenne mit
sudo service debmatic stop
sudo eq3configcmd update-coprocessor -t HM-MOD-UART -p /dev/raw-uart -c -u -l 0 -d /firmware/HM-MOD-UART/
sudo reboot
neu flashen

Rollos umdrehen (KNX, Homematic)

Um Rollos umzudrehen das entsprechende Binding (knx oder homematic) aus
/etc/openhab2/services/addons.cfg
entfernen und dann das geänderte Binding herunterladen und an die richtige Stelle kopieren. Für KNX:
wget http://status.button.co.at/org.openhab.binding.knx-2.5.9.jar
sudo cp org.openhab.binding.knx-2.5.9.jar /usr/share/openhab2/addons/
Für Homematic:
wget http://status.button.co.at/org.openhab.binding.homematic-2.5.9.jar
sudo cp org.openhab.binding.homematic-2.5.9.jar /usr/share/openhab2/addons/
Danach schickt Openhab invertierte Werte an den KNX-Bus/die CCU und dreht empfangene Stati ebenfalls um.

MyOpenHab UUID/Secret

http://IPRASP:8089/api/setups/getCloudData

Allgemein

es gibt vier nodejs Services die laufen, der Server (Port 3000) ist einerseits die Weboberfläche zum Konfigurieren andererseits auch der Ort wo die App letztendlich Ihre Daten bis auf die Stati herbekommt, also Itemnamen, Icons, Räume, Regeln etc. Ausser im Browser wird nicht direkt darauf zugegriffen sondern über die Ports 8088 und 8089. Das sind Proxys die Anfragen der App entweder an Openhab oder den Server auf Port 3000 weiterleiten und die Antworten wieder zurück an die App schicken (wobei die Antwort teilweise noch bearbeitet wird). der Proxy der auf 8089 läuft ist für die interne Kommunikation, der auf 8088 für extern, dort wird jede Kommunikation verschlüsselt. Der letzte Service ist localtunnel, das baut einfach eine Verbindung zu status.button.co.at/button.gmbh/wie sie alle heissen auf und stellt dort unter einer zufälligen Domain http://2002535866ba.button.gmbh auf dem Port 9000 den lokalen Port 8088 bereit.

Auf Port 81 läuft ein Webfrontend für Openhab, intern rennt Openhab auf Port 8080, aber von aussen kommt man dort nicht drauf. Openhab bekommt vom Proxy Anfragen über die Stati und Schaltbefehle weitergeleitet. Weiters schreibt der Server die Items und Regeln die über das Webfrontend oder die App angelgt oder bearbeitet werden in die Configverzeichnisse von openhab unter /etc/openhab2. Hier gibt es die selbsterklärenden Verzeichnisse items und rules sowie things. In things befinden sich je nach Binding mehr oder weniger Daten, bei Homematic beispielsweise nur die IP der Bridge bei KNX die ganzen Gruppenadressen. Grundsätzlich sind bei Openhab2 Aktoren ein Thing mit mehreren Channels (ähnlich wie die Kanäle bei Homematic) und jedes Item wird mit einem channel verknüpft, also zB einem Dimmwert oder einer Temperatur. Danach werden widgets mit Items verknüpft um angezeigt zu werden. Widgets können auch ohne Items angelegt werden (das Kamerawidget zum Beispiel) und Items brauchen nicht zwingend mit einem Channel verknüpft werden.

Auf Port 82 rennt die CCU, in unserem Fall debmatic

Auf Port 4200 rennt ein Browserbasierter SSH-Client (https:// nicht vergessen)

Weiters läuft im Schnitt alle 15 Minuten der Cloudupdater, der Daten an status.button.co.at schickt die dann in der Clientliste landen.

Dateien/Verzeichnisse in /home/button

activitylog.flag
     wenn vorhanden werden logfiles in die backups geschrieben
addlink
addlink.sh
     skript das direktverknüpfungen für hmwired aktoren erstellt, hat bei vielen aktoren irgendwann probleme
aesProxy
     der proxy für den externen zugang
backup
create_backup.sh
     verzeichnis und skript für die backups die 2x täglich erstellt werden, backups beinhalten einen mongodb dump (alle daten für die app), ein ccu backup und ein backup von openhab
checkLocaltunnel.sh
     überprüft regelmässig die erreichbarkeit von aussen, startet localtunnel bei bedarf neu
clearoh2cache.sh
     löscht den cache von openhab und startet es anschliessend neu, was etwas dauert
cloudUpdater
     skript das daten an status.button.co.at schickt, startet ausserdem mongodb und die nodejs-dienste (lt, server, proxy, proxy2) neu wenn es keinen Zugriff auf http://localhost:3000/api/sys hat
editApi
     code für den server unter port 3000
firstreboot.done
     wird beim ersten booten angelegt
getDailyLogs.sh
     skript das logfiles filtert und für die backups zur verfügung stellt
homekit.pin
     pin für homekit, kann nicht beliebig vergeben werden
hostapd.conf
hostapd.conf_template
     config dateien für das wlan das aufgebaut wird, wird anschliessend nach /etc/hostapd kopiert
import
     alte bindings aus openhab 1.x zeiten
info.sh
     skript das diverse infos anzeigt wie ssid/passwort und anderes      
nonAesProxy
     proxy für den lokalen betrieb
pm2reset.sh
     startet die nodejs services neu (server, proxy, proxy2, lt)
prepimage
     bereitet das system darauf vor ein neues image zu werden, setzt versionsnummer neu und setzt flag aufgrund dessen /etc/rc.local beim nächsten boot alle sachen ausführt die gebraucht werden (generiert Keys, SSID, Passwörter, etc)
reset.sh
     setzt alles Zurück was über Webfrontend oder App angelegt/bearbeitet wurde
www
     die seite die im browser angezeigt wird wenn man auf port 80 zugreift