- Elegante Beleuchtung: Die Hue Iris setzt farbige Highlights an Wänden oder Möbeln und sorgt mit diffuser Beleuchtung an der Rückseite für tolles Ambiente
- Personalisierte Beleuchtung: Wählen Sie aus Millionen von Farben und Weißtönen, um die Stimmung in Ihrem Zuhause individuell anpassen zu können
- Ideal kombinierbar mit dem Hue Dimmschalter: Steuere deine Tischleuchte einfach mit dem separat erhältlich Dimmschalter
- Intelligente Beleuchtung: Philips Hue ist kompatibel mit dem Amazon Echo Dot (3.Generation), Echo Plus und Echo Show (2.Generation)
- Für das volle Smart Home Erlebnis im gesamten Zuhause: Erweitern Sie Ihr System mit der Hue Bridge (separat erhältlich) und entdecken Sie viele weitere Funktionen
- Umgebendes Produkt: Dieses Produkt ist aufgrund des fest verbauten Leuchtmittels als umgebenes Produkt klassifiziert. Daher wird kein EEL-Label benötigt.
In diesem Abschnitt werden die notwendigen Schritte erklärt, um den PI als HomeControl-Server einzurichten.
Dazu zählen die folgenden Schritte:
- SD mit Raspbian-Image einrichten / aktualisieren
- Netzwerkeinstellungen vornehmen
- Apache/PHP/MySql einrichten
- PhpMyAdmin installieren
- Samba-Freigabe auf HttpDocs Verzeichnis einrichten
- Webseite für die Steuerung herunterladen/konfigurieren
- Datenbank einrichten
- Cron-Jobs einrichten
Nach frisch geflashtem aktuellem Raspbian-Image zuerst im raspi-config die folgenden Punkte anpassen:
– SD-Speicher erweitern
– Grafikspeicher reduzieren
– Spracheinstellung, Zeitzone, Tastaturlayout
– Passwort setzen
– SSH aktivieren
– update > neustart
Update
sudo apt-get update sudo apt-get upgrade
Netzwerkeinstellungen bearbeiten
sudo nano /etc/network/interfaces
Beispiel:
auto lo eth0 iface lo inet loopback iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Damit man diese Einstellungen später in der Oberfläche anpassen kann passen wir noch die Rechte dazu an:
sudo chown pi:www-data /etc/network/interfaces sudo chmod 775 /etc/network/interfaces
Apache, PHP, MySQL
Zuerst installieren wir die benötigten Pakete für den Webserver und die Datenbank.
sudo apt-get install apache2 php5 mysql-server sudo apt-get install mysql-client php5-mysql php5-mysql libapache2-mod-php5 libapache2-mod-perl2 php5 php5-cli php5-common php5-curl php5-dev php5-gd php5-imap php5-ldap php5-mhash php5-mysql php5-odbc php-pear php-apc sendmail
Jetzt können wir das Rewrite Modul einrichten
sudo a2enmod rewrite sudo service apache2 restart
Anschließend müssen wir noch das HttpRoot festlegen. Dazu öffnen wir die entsprechende Konfiguration mit dem folgenden Befehl.
sudo vi /etc/apache2/sites-enabled/000-default.conf
In der Datei suchen wir im Block <VirtualHost *:80> den Eintrag “DocumentRoot”. Dieser muss auf “/var/www” gesetzt sein. Sollte dieser Eintrag nicht existieren fügen Sie die folgende Zeile im oben genannten Block ein:
DocumentRoot /var/www
Nun fügen wir noch den Web-Benutzer als sudoer hinzu. Dazu rufen wir mit folgendem Kommando den Editor auf.
sudo visudo
Am Ende der Datei fügen wir die folgende Zeile ein:
www-data ALL=(ALL) NOPASSWD: ALL
Samba
Zuerst installieren wir für Windows-Freigaben benötigte Pakete und legen einen Benutzer “pi” für den Samba-Zugriff an (Der Benutzer muss bereits im System existieren)
sudo apt-get install samba samba-common-bin sudo smbpasswd -a pi
Nachdem der Benutzer angelegt wurde, richten wir die Freigabe des HttpDocs Verzeichniss ein, um später bequem über den Explorer darauf zugreifen zu können. Dazu bearbeiten wir die Datei /etc/samba/smb.conf.
sudo nano /etc/samba/smb.conf
In der Konfigurationsdatei fügen wir nun folgende Zeilen ein, um die Freigabe zu erstellen:
[www] comment = Webserver HTTP-Docs read only = no locking = no path = /var/www guest ok = no
Webseite
Um den Quelltext der Webseite von Github herunter zu laden installieren wir git und clonen das entsprechende Repository.
sudo apt-get install git cd /var/www sudo rm * -R sudo git clone https://github.com/CyborgOne/cybihomecontrol_ui.git --branch beta .
Da einige Änderungen im Beta gelandet sind die dort eigentlich nicht hingehören, müsstet Ihr nun den aktuellen Stand ein wenig zurück setzen. Das geht mit folgendem Befehl:
sudo git checkout beta sudo git reset --hard 8045b627b7528fbd39bad8095869ffb3e083a181
Damit später kein Rechteproblem auftritt, sollten hier schon mal die Log-Files erzeugt werden:
sudo chown pi:www-data /var/www echo > switch.log echo > signalIn.log echo > switch.cut echo > signalIn.cut
Nun müssen wir noch die passenden Berechtigungen setzen.
sudo chown pi:www-data /var/www/* -R sudo chmod 755 /var/www/* -R sudo chown root:www-data /etc/network/interfaces -R sudo chmod 775 /etc/network/interfaces -R sudo chmod 775 /var/www/pics/raumplan -R sudo chmod 775 /var/www/cam_pics sudo chmod 755 /etc/cron.manual/* -R sudo chmod +x /etc/cron.manual/* -R sudo chmod 775 /var/www/signalIn.log sudo chmod 775 /var/www/switch.log sudo chmod 775 /var/www/signalIn.cut sudo chmod 775 /var/www/switch.cut
Datenbank
Zuerst muss die Datenbank mit dem folgenden Befehl erzeugt werden:
mysql -u root -p -e "CREATE database homecontrol;"
Danach können wir die mit Webseite mitgelieferte Sql-Datei in der Datenbank ausführen um die benötigten Tabellen und Daten zu erzeugen.
mysql -u root -p homecontrol < homecontrol.sql
Damit die HomeControl-Webseite später auch Zugriff auf die Datenbank hat, legen wir einen Benutzer mit Rechten für die DB an. (am einfachsten über PhpMyAdmin). Die entsprechenden Daten (Benutzername, Passwort, Datenbank-Name und Host) tragen wir dann in die DB-Konfigurationsdatei der Webseite ein.
nano /var/www/config/dbConnect.php
Jetzt sollte die Steuerung unter http://ip-adresse-deines-pis/ erreichbar sein.
PhpMyAdmin
Als erstens müssen wir wieder die benötigten Pakete installieren. Der zweite Befehl verlinkt noch die Konfigurations-Datei an die richtige Stelle.
sudo apt-get install phpmyadmin ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf
Anschließend starten wir den Webserver neu.
sudo /etc/init.d/apache2 reload
Jetzt sollte PhpMyAdmin unter: http://ip-adresse-deines-pis/phpmyadmin/ erreichbar sein
Cron-Jobs
Die Grundeinrichtung ist nun eigentlich fast abgeschlossen. Das System wäre so schon zum manuellen Schalten von Geräten einsatzbereit. Damit auch automatisierte Vorgänge funktionieren müssen noch Cron-Jobs eingerichtet werden. Um eigene Crons die keins der Standard-Intervalle (stündlich, täglich, wöchentlich oder jährlich) verwenden, sondern ein spezielles Intervall erhalten sollen, lege ich meist einen eigenen Ordner an. Um das zu tun, geben wir in der Konsole des Raspberry PI folgendes ein:
sudo mkdir /etc/cron.manual
In dem neuen Ordner kopieren wir die benötigten Files und passen die Berechtigungen an:
sudo cp /var/www/installFiles/crons/* /etc/cron.manual/ sudo chmod +x /etc/cron.manual/* sudo chmod 755 /etc/cron.manual/*
Damit diese kopierten Scripts auch regelmäßig aufgerufen werden, müssen sietail noch in die Crontab eingetragen werden. Zum bearbeiten der crontab geben wir folgenden Befehl in der Konsole des Raspberry PI ein:
sudo crontab -e
In dem sich öffnenden Editor fügen wir am Ende der Datei die folgende Zeile ein und speichern das ganze ab.
*/1 * * * * /etc/cron.manual/homecontrol_mail >> /var/log/homecontrol_cron */1 * * * * /etc/cron.manual/homecontrol_cron >> /var/log/homecontrol_cron 0 0 * * * /etc/cron.manual/homecontrol_log_cleanup >> /var/log/homecontrol_log_cleanup 0 10 * * * /etc/cron.manual/homecontrol_motion_cleanup >> /var/log/homecontrol_motion_cleanup
Nun wird automatisch jede Minute geprüft, ob ein Ereignis für die aktuelle Uhrzeit in der Zeitsteuerung eingetragen ist und ggf. die entsprechende Aktion ausgeführt. Alle Ausgaben des Scripts werden in der Datei /var/log/homecontrol_cron gespeichert. Sollte Probleme auftreten, kann man hier ggf. benötigte Informationen zu aufgetretenen Fehlern finden.
Ebenfalls wird jede Minute auf Mails geprüft, morgens um 0:00Uhr wird das Log in der DB bereinigt und um 10:00Uhr werden die Bilder der PI-Cam aufgeräumt.
Damit das Motion-Cleanup Script funktioniert müssen darin noch die Angaben zum Datenbankbenutzer angepasst werden.
Dazu rufen wir mit folgendem Kommando den Editor auf und passen Benutzer und Passwort an:
sudo nano /etc/cron.manual/homecontrol_motion_cleanup