- Shelly Plus 1PM ist ein Wlan-und Bluetooth-gesteuerter intelligenter Relaisschalter mit 1 Kanal und bis zu 16 A mit Energiemessung , der auch als Wlan-Repeater verwendet werden kann. Shelly Plus 1PM kann verwendet werden, um alle Haushaltsgeräte, Stromkreise und Bürogeräte individuell zu steuern.
- AUTOMATISIERE JEDES ELEKTROGERÄT UND STEUERE ES AUS DER FERNE- Mit dem Shelly Plus 1PM kannst Du jedes Elektrogerät in Deinem Haus automatisieren und fernsteuern. Der Shelly Plus 1PM kann Geräte mit hoher Last steuern und eignet sich deshalb perfekt für die Überwachung und Steuerung von Küchengeräten und Haushaltssystemen. Miss den Stromverbrauch jedes Geräts genau und schalte es aus der Ferne ein- und aus - egal, wo Du Dich befindest
- SICHER UND EINFACH ZU INSTALLIEREN - Shelly Plus 1PM ist klein genug, um hinter jeden Wandschalter oder jede Steckdose zu passen, ist nachrüstbar und kann in weniger als 10 Minuten installiert werden. Verbesserte Sicherheit - MQTT- und WSS-Unterstützung, Unterstützung von TLS und kundenspezifischen Zertifikaten
- SHELLY KUNDENSERVICE - Shelly ist eine der am schnellsten wachsenden Smart Home Marken der Welt mit Geräten, die Lösungen für die Automatisierung von Privathäusern, Gebäuden und Unternehmen bieten. Wir bieten unseren Kunden professionellen Support und eine 3-jährige Gerätegarantie
- Mit der SHELLY SMART CONTROL APP können Sie Ihre Shelly-Geräte aus der Ferne steuern und werden über alle automatisierten Ereignisse in Ihrem Haus benachrichtigt; Sie können die Geräte ganz einfach konfigurieren und ihre Einstellungen einzeln verwalten, oder Sie können personalisierte Szenen erstellen, indem Sie Shelly-Geräte kombinieren, um bestimmte Aktionen in Ihrer Hausautomation auszulösen
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