Snom Telefon – Sprache von Englisch auf Deutsch umstellen

Vor einiger Zeit habe ich mir ein IP-Telefon Snom 300 gekauft, das ich an meiner Fritz Box als IP-Nebestelle betreibe. Soweit passt alles, allerdings ist sowohl das Telefon-Menü als auch das Webinterface auf Englisch. In den Einstellungen wird mir auch nur Englisch angeboten. Das hat mich jetzt längere Zeit nicht gestört, aber jetzt wünsche ich mir doch auch ein Deutsches Menü.

Im Internet habe ich ein paar Anleitungen gefunden, die das mit eigenen Provisioning-XML-Dateien lösten. Sicher machbar, aber auf die schnelle zu umständlich.

Im Snom Wiki gab es einen gut versteckten Eintrag hierzu. Das ganze funktioniert dann auch beim Snom 300, 320 und 360: Man kopiert sich den zu seiner Firmware passenden Link von der Seite raus und fügt in unter Advanced / Update / Setting URL wieder ein. Nach einem Neustart kann man dann „Deutsch“ als Sprache auswählen.

So lange man nur eines oder wenige Snom-Telefone hat, ist das durchaus ein gangbarer und schneller Weg.

FHEM – Einbinden einer bestehenden Max! Heizungssteuerung

Seit langem verwende ich ein Heizungssteuerungssystem Max! von ELV. Damit bin ich fast zufrieden. Fast deswegen, weil alles gut ist, außer die iPhone-App. Die macht nicht immer das was sie soll und dieses Desaster war auch der Hauptgrund, warum ich mich jetzt überhaupt mit FHEM befasse. Vorhanden sind bei mir zahlreiche Heizungsthermostate, ein Fensterschalter, mehrere Wandthermostate und ein (nicht genutzter) Eco-Taster sowie ein Steckdosenadapter für die Umwälzpumpe des Warmwassers.

Grundsätzlich gibt es zwei Möglichkeiten um die Komponenten an FHEM anzubinden. Entweder man lernt alles direkt an FHEM an. Hierzu benötigt man einen Funkadapter, einen sogenannten CUL, der per USB mit dem Raspberry verbunden wird. Alternativ hierzu kann man den vorhandenen Max Cube einbinden. Da ich einen Max Cube habe, werde ich diesen Weg wählen. Zunächst habe ich mit der Original-Software von ELV den Internet-Portal-Zugriff deaktiviert. Wenn man dann oben auf Logout geht, sieht man die IP-Adresse vom Max Cube. Die brauchen wir später noch. Jetzt kann die Max! Anwendung beendet werden.

Nun gibt man im FHEM diesen Befehl ein (IP-Adresse muss natürlich durch die eigene ersetzt werden):

define maxlan MAXLAN 192.168.178.21

Und schon werden die am Cube angelernten Komponenten im FHEM angezeigt. Nur leider mit komischen Namen.

 

FHEM – Einbinden von Fritz DECT 200 / AVM

Das ist nun der erste Teil meiner kleinen Miniserie über FHEM. Ziel ist es, das ich alles was bei mir im Haus an Systemen kreucht und fleucht, mit FHEM steuere. Den Anfang macht eine einzelne Steckdose, über die meine Terassenbeleuchtung gesteuert wird. Da ich von der Reichweite her bei dieser Steckdose mit Homematic-Komponenten nicht mehr weitergekommen bin, verwendete ich hier eine Fritz DECT 200 Steckdose, die per DECT an meine FritzBox und den DECT-Repeater der Box gekoppelt ist. Bevor jetzt der Aufschrei kommt: ja, die DECT 200 ist nur für den Innenbereich. Ich habe die aber in einem wassergeschützten Schacht montiert, also besteht hier keine Gefahr. Ansonsten gibt es für den Einsatz im freien ja auch noch die DECT 210, für die diese Anleitung genau so gilt.

Für die Nutzung der AVM-Hausautomationsgeräte gibt es das FHEM-Modul FBAHAHTTP. Das ist der Nachfolger des Moduls FBAHA, welches nur mit alter FritzBox-Firmware funktioniert. Die ausführliche Befehlsreferenz findet man im FHEM-Wiki.

Um das Modul einzurichten, hilft der Befehl

define fritzbox FBAHAHTTP fritz.box

weiter. Zwei Dinge muss man an dieser Stelle eventuell anpassen: fritzbox ist der Name, mit dem das Modul später in FHEM erscheint und fritz.box ist die Adresse der FritzBox.

Mit „set password <passwort>“ muss man nun noch das Passwort der FritzBox hinterlegen, und beim Attribut fritzbox-user muss ein FritzBox-Nutzer hinterlegt werden, der die Berechtigung hat, Hausautomation an der FritzBox zu nutzen. Die Funktion „Hausautomation“ muss logischerweiße in der FritzBox auch aktiviert werden. Mit „set refreshstate“ werden nun die Daten abgeholt und die entsprechenden Devices vom Typ FBDECT automatisch angelegt. Bei mir wurden nun zwei Devices erkannt: Meine schaltbare Steckdose und mein DECT-Repeater.

Bei mir hat es etwas gedauert, dann wurde das hier angezeigt:

Das erste FBDECT-Gerät ist die schaltbare DECT-Steckdose. Die Lampe rechts zeigt, das sie aktuell an ist. Mit on/off kann man sie ein- oder ausschalten. Aktuell steuere ich die aber noch per Zeitsteuerung in der FritzBox – das werde ich später mal auf FHEM übertragen. Ist aber kein Problem – diese Koexistenz der Geräte ist unterstützt.

Das zweite Gerät, das nur die Fragezeichen anzeigt ist mein DECT-Repeater. Mit dem kann man immerhin den Temperatursensor auslesen.

Bei der Steckdose sieht das ganze schon stwas umfangreicher aus. Hier werden u.a. die Temperatur und der aktuelle Stromverbrauch des angeschlossenen Gerätes (hier 3,21 W) angezeigt.

 

 

Nextcloud Sicherheitscheck

In der Nextcloud (oder auch ownCloud) sind die Daten sicher, weil sie nicht bei irgendeiner großen (amerikanischen) Firma liegen. Sollte man denken. Das setzt aber voraus, das man alles richtig konfiguriert hat und nicht durch Konfigurationsfehler oder mangelnde Updates hier „Löcher“ aufgerissen hat.

Seit kurzem gibt es den Nextcloud Security Scan unter https://scan.nextcloud.com .

Hier kann man schnell (und kostenlos) die eigene Nexcloud-Installation in Hinblick auf die Sicherheit bewerten lassen. Ein A+ ist natürlich das erwünschte Ergebnis. Auch wenn es der Name nicht nahelegt: man kann damit auch ownCloud-Installationen scannen!

Passt mit der Konfiguration irgendwas nicht, oder hat man an der eigenen Installation Punkte zu Optimierung, wird das auch gleich mit hilfreichen Tipps angezeigt.

Kleiner Fallstrick noch: wurde die eigenen Cloud schonmal gescannt, so werden die historischen Daten angezeigt. Neben „scanned at“ steht der Zeitpunkt und mit dem Doppelpfeil rechts davon kann man einen Neu-Scan veranlassen.

Fazit: ein muss für jeden der eine Nextcloud oder ownCloud selber betreibt.

Zugriff auf die Raspberry-Kamera über ein Webinterface

Über den vorher installierten nginx-Webserver und PHP wollte ich das Kameramodul vom Raspberry ansprechen. Dabei sollte das ganze als Dokumentenkamera dienen, die nur bei Aufruf einer Webseite jeweils ein stehendes Bild überträgt. Zunächst dachte ich: kein Problem. Aber im folgenden zeigte sich, das man doch einige Dinge beachten muss, damit das ganze optimal zusammenspielt.

An der Kommendozeile des Raspberrys kann man über den Befehl „raspistill -o dateiname.jpg“ ein einzelnes Foto machen und als Datei ablegen. Genau damit wollte ich das auch in PHP machen.

Hier nun die Lösung:

Datei bild.php:

<?PHP
 shell_exec("/usr/bin/raspistill -q 60 -br 50 -ex auto -co 20 -sa 20 -mm average -sh 10 -w 1920 -h 1440 -n -o /var/www/html/out/image.jpg");
 $filename = "out/image.jpg";
 $handle = fopen($filename, "rb");
 $contents = fread($handle, filesize($filename));
 fclose($handle);
 echo $contents;
 unlink($filename);
 ?>

Im Webserververzeichnis muss man noch das Verzeichnis „out“ anlegen, in dem dann die Bilder abgelegt werden und dem Schreibrechte für alle geben – also sudo chmod 555 /var/www/html/out/image.jpg

Nun baut man sich eine kleine HTML-Datei, die das PHP als Bild einfügt. Es muss also sowas in der Art im Body-Bereich drinnen stehen:

<img src="bild.php" width="1920" height="1440">

Und natürlich kann man das ganze noch in hübsch machen und vielleicht noch einen JavaScript-Reload-Button anbringen.

Wenn man die HTML-Datei nun so aufruft, wird es aber noch immer nicht funktionieren, da der User des Webservers keinen Zugriff auf das Video-Device des Raspberrys hat. Das löst man nun einmalig mit

sudo chmod 777 /dev/vchiq

Nun kann man es mal testen. Nach einem Neustart vom Raspberry werden aber die Zugriffsrechte von /dev/vchiq wieder zurückgesetzt.

Dauerhaft bekommt man das so hin:

echo 'SUBSYSTEM=="vchiq",GROUP="video",MODE="0777"' > /etc/udev/rules.d/10-vchiq-permissions.rules

 

FHEM Hausautomation auf Raspberry Pi installieren

Hausautomation ist ein Wort, das man immer häufiger hört. In dem Zusammenhang gibt es bei mir zu Hause ein echtes Durcheinander:

  • Heizungssteuerung mit dem System „Max“ von ELV
  • Rauchmelder, Bewegungsmelder, Lichtsteuerung und Wasseralarm im Keller mit „Homematic / Homematic IP“ von ELV
  • Steckdosen im Außenbereich mit den schaltbaren DECT-Steckdosen von AVM (über FritzBox)

Das unschöne daran: jeder Hersteller braut von der Oberfläche her sein eigenes Süppchen und jeder bringt eine unterschiedlich gute oder schlechte App für das iPhone mit. Gerade bei der Heizungssteuerung nervt mich die App nur noch.

Was ich die nächsten Monate über tun möchte: Die unterschiedlichen Systeme zu einem einheitlichen System zusammenfassen, das per Handy gesteuert werden kann. Hier fiel meine Wahl auf das kostenlos erhältliche FHEM. Dieses sollte auf einem vorhandenen Raspberry Pi 2 installiert werden. Benötigt wird ein Raspberry Pi mit funktionsfähigem und aktuellen Raspbian.

Am einfachsten geht das mit Hilfe der apt-get Pakete auf debian.fhem.de

Zunächst muss man den GPG-Key vom Repository importieren:

wget -qO - http://debian.fhem.de/archive.key | apt-key add -

Dann editiert man die Datei /etc/apt/sources.list mit einem Editor wie z.B. nano und fügt diese Zeile ein:

deb http://debian.fhem.de/nightly/ /

Nun holt man sich aktuelle Paketlisten ab:

apt-get update

Und zu guter letzt installiert man FHEM:

apt-get install fhem

Nun etwas Geduld. Wenn die Installation fertig ist, kann man über http://raspberrypi:8083/fhem die Oberfläche von FHEM aufrufen. Wobei man hier natürlich statt raspberrypi die Adresse des Raspberrys angeben muss.

Sollte hier nichts angezeigt werden, sollte man mit /etc/init.d/fhem stop und /etc/init.d/fhem start den FHEM einfach mal beenden und wieder starten. Bei zwei Installationen die ich machte, war dies jeweils erforderlich.

Obwohl wir den FHEM nun aus den aktuellen Paketquellen installiert haben, ist nun zunächst ein Update von FHEM erforderlich. Hierzu tippt man oben in die FHEM-Befehlszeile einfach „update“ ein und bestätigt mit Return. Nun werden die einzelnen FHEM-Module aktualisiert, was auch einige Minuten dauern kann.

Wird nun Global global UPDATE in der Ausgabe angezeigt, ist das Update fertig. Glückwunsch – jetzt haben wir einen funktionsfähigen FHEM-Server im Netz. Was man damit tut bzw. wie man die vorhandenen Geräte in obigen Systemen daran anbindet, das werde ich in den folgenden Wochen hier im Blog in mehreren Beiträgen schreiben.

nginx Webserver auf Raspberry Pi mit PHP installieren

Für den Apache-Webserver gibt es genug Anleitungen, wie man den am Raspberry installiert und PHP aktiviert. Ich war aber auf der Suche nach einer Lösung mit dem ressourcenschonenden nginx-Server. Wie so oft habe ich hier einige falsche Anleitungen gefunden. Hier nun eine „richtige“, die ich mit dem aktuellen Raspian getestet habe.

Zunächst installieren wir den nginx-Webserver:

sudo apt-get install nginx

Als nächstes können wir PHP und die wichtigsten Zusatzmodule installieren. Die Zusatzmodule sind nicht unbedingt erforderlich – hier kann man bei Bedarf auch einzelne weglassen.

sudo apt-get install php5 php5-fpm php-pear php5-common php5-mcrypt php5-mysql php5-cli php5-gd

Jetzt öffnen wir mit einem Editor wie z.B. nano die Datei /etc/nginx/sites-enabled/default – also z.B. sudo nano /etc/nginx/sites-enabled/default

Damit der Server nicht standardmäßig nur die index.html sondern auch noch die index.php aufruft, suchen wir nun nach einer Zeile die so aussieht und ergänzen Sie um den fett geschriebenen Teil:

index index.php index.html index.htm;

Etwas weiter unten in dieser Datei gibt es dann einen Abschnitt, in dem die PHP-Einbindung konfiguriert wird. Hier müssen wir lediglich vor einigen wenigen Zeilen das Kommentarzeichen # entfernen. Das ganze muss am Ende so aussehen:

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;

                # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

Das wars dann auch schon. Mit sudo /etc/init.d/nginx reload wird nun noch die geänderte Konfiguration geladen und schon sollte alles funktionieren.

Um zu testen, ob PHP nun auch vom Webserver unterstützt wird, legt man sich am besten eine Datei mit dem Namen test.php im Serververzeichnis an und trägt dort folgenden Inhalt ein:

<?php echo phpinfo(); ?>

Wenn man nun die test.php im Browser aufruft, sieht man, ob alles geklappt hat.

Passwortgeschützte ZIP-Dateien am Mac erstellen

Eine komprimierte ZIP-Datei ist am Mac ja bekanntlich sehr schnell erstellt: zunächst markiert man die Dateien, die man komprimieren will und dann wählt man im Kontextmenü (Control + Maustaste) den Eintrag „x Objekte komprimieren“. Leider gibt es hier aber mit Bordmitteln keine Möglichkeit, dieses Archiv mit einem Passwort zu schützen.

Abhilfe schafft die kostenlose Software Keka, die man unter kakosx.com herunterladen kann.

Die Benutzung ist erfreulich einfach: Nach der Installation einfach Keka starten.

Oben wählt man den gewünschten Dateityp – z.B. „Zip“ aus. Unten kann man dann 2x das gewünschte Kennwort eingeben. Nun zieht man einfach die gewünschten Dateien oder den / die Ordner auf das Keka-Fenster und schon wird ein passwortgeschütztes Archiv erstellt. Ganze einfach und schnell. Dem Archiv gibt man nun am besten noch einen aussagekräftigen Namen, bevor man es dann z.B. per E-Mail verschickt.