. Allgemeines – Smarthome

bookmark_bordernginx / FRITZ!Box / IPv6

Ich wollte mir nun noch nginx als reverse proxy installieren um den Port 80 auf dem RaspPi direkt zu OpenHAB durchzuleiten. Gesagt getan und mit der IP-Adresse (IPv4) ging das auch sehr flott gemäß der Anleitung hier. Mein Eintrag in der nginx config sieht dann so aus:

server {
    listen                                    80;
    server_name                               IPV4_openhab;

    location / {
        proxy_pass                            http://localhost:8080/;
        proxy_set_header Host                 $http_host;
        proxy_set_header X-Real-IP            $remote_addr;
        proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto    $scheme;
    }
}

Nur leider ging es dann nicht wenn ich den Hostnamen eingebe. Nach etwas Recherche und einem kurzen Test mit tracert konnte ich sehen, dass die FRITZ!Box den Hostname auf die IPv6-Adresse auflöst. Somit ist ein zusätzlicher Eintrag in der nginx config notwendig der wie folgt aussehen muss. Danach klappt es auch mit IPv6 und dem Hostnamen.

server {
    listen                                    [::]:80;
    server_name                               hostname_openhab;

    location / {
        proxy_pass                            http://localhost:8080/;
        proxy_set_header Host                 $http_host;
        proxy_set_header X-Real-IP            $remote_addr;
        proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto    $scheme;
    }
}

Edit: Zunächst hat die obige Konfiguration funktioniert. Aber es scheint wohl nicht alles abgefackelt zu sein weshalb meine Konfig nun so aussieht. Damit habe ich hoffentlich alle möglichen Fälle abgedeckt. Zudem leite bei der Eingabe des Host Namen immer direkt auf die Basic UI

server {
    listen                                    80;
    listen                                    [::]:80;
    server_name                               IPV4_openhab;
    location / {
        proxy_pass                            http://localhost:8080/;
        proxy_set_header Host                 $http_host;
        proxy_set_header X-Real-IP            $remote_addr;
        proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto    $scheme;
        }
    }

server {
    listen                                    80;
    listen                                    [::]:80;
    server_name                               hostname_openhab;

    location = / {
        return 301 /basicui/app;
        }

    location / {
        proxy_pass                            http://localhost:8080/;
        proxy_set_header Host                 $http_host;
        proxy_set_header X-Real-IP            $remote_addr;
        proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto    $scheme;
        }
    }

bookmark_borderHikvision Kamera Update

Ich habe auf Empfehlung eines Freundes 2 Hikvision Kameras im Einsatz mit denen ich sehr zufrieden bin und die ich auch in mein OpenHAB eingebunden habe, sodass ich die Bilder in der Sitemap sehen kann. Dies geht recht einfach mit dem folgenden Eintrag im Sitemap

Image url="http://USER:PASSWORD@192.168.0.XXX/Streaming/channels/1/picture" refresh=15000

Nach dem Update der Firmware auf Version 5.5.5. ging dies leider nicht mehr. Nach längerer Recherche konnte ich die Einstellung finden die auf der Kamera zu tätigen ist damit es wieder klappt wie vorher. Auf dem folgenden Reiter muss Hikvision-CGI aktiviert werden und die Authentifizierung auf „digest/basic“ umgestellt werden. Dann funktioniert wieder alles wie gewohnt.

 

bookmark_borderUniFi Controller als Docker auf der Synology

Nachdem ich etwas über ein Jahr standhaft behauptet habe, dass man den Controller eigentlich nicht auf einem Server installieren braucht und es völlig ausreicht, wenn er lokal läuft, habe ich nun doch meine Meinung geändert. Ich wollte einfach mal das Arbeiten mit Docker Containern auf der Synology ausprobieren und da es den UniFi Controller schon als fertiges Paket gibt habe ich mich dafür entschieden. Dazu habe ich den Container von Jacob Alberty.

Ich habe beim Anlegen des Containers den Netzwerk Bridge Modus belassen aber anschließend alle Ports 1:1 gemappt da die Ports bei mir noch frei waren.

Danach muss man die Geräte noch auf den neuen Controller umziehen. Dazu habe ich die Geräte aus meinem lokalen Controller entfernt. Anschließend ein Backup erstellt um meine Netzwerkeinstellungen während des ersten Starts des neuen Controllers dort zu importieren.
Nach dem Entfernen der Geräte auf dem lokalen Controller muss man mit den UnFi-Discover Tool noch die Inform Adresse ändern, da die Geräte sich sonst nicht von selbst beim neuen Controller melden. Also „http://ip-of-controller:8080/inform“. Jetzt sind alle Vorbereitungen getroffen. Als nächstes beim neuen Controller anmelden „http://ip-of-controller:8080“, das Backup importieren und die Geräte hinzufügen. Fertig.
Das einzige was bei mir verloren ging waren die fest eingestellten WLAN Kanäle und die fixen IP’s, das ist aber schnell wieder erledigt.

 

bookmark_borderOpenHAB2 – Yahoo Weather Binding

Das Binding ist eigentlich sehr simpel gehalten und benötigt lediglich die WOEID (Where On Earth IDentifier). Doch genau hier liegt auch die Stolperfalle, denn wo bekomme ich die WOEID her? Das Problem ist auch, dass bei einer falschen WOEID erstmal viele komische Fehlermeldungen auftauchen. Auf der folgenden Webseite konnte ich für Deutschland funktionierende WOEID’s erstellen: http://woeid.factormystic.net/

bookmark_borderWas soll dieser Blog?

Da ich mich gerade intensiv mit dem Thema openHAB2 und Z-Wave beschäftige stelle ich hier meine Erfahrungen und Notizen online und hoffe, dass dies dem ein oder anderen viel Zeit und Nerven erspart. Dennoch ist die Verwendung der Anleitungen natürlich auf eigenes Risiko, wenn ihr aber Fragen habt schreibt doch gerne etwas in die Kommentare und ich versuche zeitnah zu reagieren.