Installation von FB.Switch auf einem RaspberryPi

onkeldave
Beiträge: 78
Registriert: Mi 16. Mai 2018, 07:01
Wohnort: Bei HH
x 22

Installation von FB.Switch auf einem RaspberryPi

Ungelesener Beitrag von onkeldave » So 27. Mai 2018, 21:23

Folgende Schritte sind nötig, um FB.Switch auf einem RaspberryPi zu installieren:

Betriebssystem Raspian Stretch Lite auf eine SD Karte kopieren. Wie das geht steht hier:
https://www.raspberrypi.org/documentati ... ng-images/
https://www.datenreise.de/raspberry-pi- ... hme-howto/

Nachdem die SD Karte vorbereitet ist, empfiehlt es sich, VOR dem ersten Start des Pi auf die Boot Partion (das ist die im Windows Explorer sichtbare Partition) eine leere Datei mit Namen "ssh" anzulegen. Dadurch ist es möglich, sich direkt ohne angeschlossene Tastatur und Monitor übers Netzwerk per SSH mit dem Pi zu verbinden. Für Pi ZerwoW und Pi3 kann man auch noch eine Datei wpa_supplicant.conf mit folgendem Inhalt anlegen, bei SSID und psk natürlich eure WLAN Zugangsdaten eintragen:

Code: Alles auswählen

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-name"
       psk="passwort"
       key_mgmt=WPA-PSK
}
Der Pi verbindet sich dann beim ersten Start gleich mit dem WLAN und ist mit seiner zugewiesenen IP Adresse per SSH erreichbar.
Standartbenutzer: pi
Standartpasswort: raspberry
Ich als Windows Nutzer benutze für den SSH Zugang putty.

Nun noch ein paar Standartschritte, bevor es mit der Installation von FB.Switch losgeht. Für die Installation benötigt man ROOT Rechte:

Code: Alles auswählen

sudo su
Dann alles auf den aktuellen Stand bringen:

Code: Alles auswählen

apt-get update
apt-get upgrade
Danach die Ersteinrichtung, besonderes Augenmerk lege ich immer auf den Punkt 4 "Localisation Options", damit FB.Switch später auch die richtige Uhrzeit hat.

Code: Alles auswählen

raspi-config
Jetzt wird als erstes der Apache 2 Webserver installiert und die benötigten php Pakete hinterher:

Code: Alles auswählen

apt-get install -y apache2
apt-get install -y php php-curl php-xml php-ssh2
Danach die aktuelle Version von FB.Switch über Github installiert

Code: Alles auswählen

apt-get install -y git
cd /var/www/html
git clone https://github.com/bombcheck/FB.Switch.git
mv /var/www/html/FB.Switch /var/www/html/fb-switch
Damit wurde FB.Switch nach /var/www/html/fb-switch installiert. Die Github Installation sollte man nur bei der Erstinstallation durchführen, ansonsten zerschiesst man sich u.U. seine Installation. Spätere Updates kann man von Github als zip Downloaden und dann per FTP auf den Webserver schieben. Dazu unten mehr. Dabei ist wichtig, dass man den Ordner /fb-switch/data vorher sichert und dann zurück kopiert oder gar nicht erst überschreibt. Alle Individuellen Einstellungen legt FB.Switch in diesem Ordner an.

Jetzt noch die benötigten Rechte setzten, damit FB.Switch auf dem Webserver Schreibrechte hat:

Code: Alles auswählen

usermod -a -G www-data pi
chown -R www-data:www-data /var/www/html
chmod 775 /var/www/html
chmod g+s /var/www/html
FB.Switch sollte nun unter http://IP_Adresse _des _Pi/fb-switch erreichbar sein.
Damit die Timer funktionieren noch dies hier:

Code: Alles auswählen

cat <(crontab -l) <(echo "*/1 * * * * wget -q http://127.0.0.1/fb-switch/index.php?timerrun -O /dev/null >> /dev/null 2>>/dev/null") | crontab -
Für die einfache Administration von FB.Switch installiere ich mir immer noch einen FTP-Zugang für den Webserver, dann kann man per ftp Upload einfach Dateien hin und her kopieren, ohne mit den Rechten Probleme zu bekommen:

Code: Alles auswählen

apt-get install -y proftpd-basic
echo 'DefaultRoot ~' >> /etc/proftpd/proftpd.conf
echo 'AuthOrder mod_auth_file.c mod_auth_unix.c' >> /etc/proftpd/proftpd.conf
echo 'AuthUserFile /etc/proftpd/ftpd.passwd' >> /etc/proftpd/proftpd.conf
sudo echo 'AuthPAM off' >> /etc/proftpd/proftpd.conf
echo 'RequireValidShell off' >> /etc/proftpd/proftpd.conf
echo '/bin/false' >> /etc/shells
cd /etc/proftpd/
ftpasswd --passwd --name piftp --uid 33 --gid 33 --home /var/www/html/ --shell /bin/false
/etc/init.d/proftpd restart
In der vorletzten Zeile werden die Zugangsdaten für den FTP Server eingerichtet. Der von mir verwendete Benutzer heißt "piftp", den könnt ihr hinter "Name" beliebig ändern. Das Wunschpasswort muss dann zweimal eingegeben werden. Wie bei Linux üblich sieht man die Eingabe nicht. Nun kann mann mit ftp://IP_Adresse_des_Pi auf /fb-switch zugreifen und alles mögliche Problemlos up- und downloaden.

Es gibt zwar beim Pi auch die Möglichkeit per sftp ohne zusätzliche Softwareinstallation up- und downloads durchzuführen, allerdings passen danach die Rechte bei FB.Switch nicht mehr.

***EDIT***

Wer sich kein 433MHz Gateway anschaffen möchte, kann sich einen 433MHz Sender besorgen, diesen direkt am Pi anschliessen und per GPIO über FB.Switch schalten.
Was wird benötig?

- 433Mhz Sender Modul FS1000A, z. B.:
http://www.amazon.de/dp/B00HULZ3ZO/ref= ... hxb1S57J2M

-Funksteckdosen mit 10 DIP Schaltern, z.B.:
http://www.amazon.de/dp/B001AX8QUM/ref= ... hxb0MEPHYX

- 3 Drähte zum verbinden des Senders mit dem Pi

- 17,2 cm Drahtstück als Antenne (muss noch am Sender angelötet werden,wichtig für die Reichweite)
FS1000A.jpg
FS1000A.jpg (8.33 KiB) 17687 mal betrachtet
Verkabelung:
Pi Pin 4 (5V) -> Sender Vcc
Pi Pin 6 (GND) -> Sender GND
Pi Pin 11 (GPIO17) -> Sender Data
Pi.JPG
Nur muss noch Wiring Pi und RCSwitch-Pi installiert werden (weiterhin alles als sudo!):

Code: Alles auswählen

cd /opt
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

mkdir /opt/rcswitch-pi
cd /opt/rcswitch-pi
wget http://pi.onkeldave.de/rcswitch-pi.zip /opt/rcswitch-pi
unzip rcswitch-pi
make
Außerdem wird ein Eintrag in der sudoers Datei benötigt, damit der Benutzer "www-data" die Rechte hat, RC-Switch zu benutzen

Code: Alles auswählen

echo 'www-data ALL = NOPASSWD: /opt/rcswitch-pi/send' >> /etc/sudoers
reboot
Nach dem Neustart ist schalten über den Sender aus FB.Switch möglich, aber nur für Steckdosen mit den 10 DIP Schaltern.
Funksteckdose.jpg
Funksteckdose.jpg (13.35 KiB) 17687 mal betrachtet
Wichtig: Egal von welchem Hersteller die Steckdosen sind, sie müssen als "ELRO/mumbi" Gerät angelegt werden.

Ältere Intertechno, die nich selbslernend sind, sondern die zwei Drehschalter haben, können auch geschaltet werden. Diese werden als Intertechno angelegt.

In den Einstellungen von FB.Switch muss man nun noch GPIO-Port verwenden auf "Ja", als Sender wird beim entsprechenden Gerät "RasPi GPIO" ausgewählt.
Zuletzt geändert von onkeldave am Sa 15. Sep 2018, 14:33, insgesamt 16-mal geändert.
1 x
Beelink Mini PC Celeron, 4GB Ram, 128GB SSD mit iOBroker, FB.Switch, LMS SqueezeBox Server (Debian Linux).
Integrierte SmartHome Geräte: 433MHz Steckdosen über FB.Switch, div. WLAN Schalter/Steckdosen verschiedener Hersteller (geflashed mitTasmota), Shelly, Homematic IP, IKEA Tradfri Lampen und Rollo, AVM Steckdosen und Thermostate, KODI, SqueezeBox, WORX Landroid Roboter
Apple Homekit Integration aller Geräte und div. Statusmeldungen per Telegram Messenger über iOBroker.

Benutzeravatar
mrberni
Administrator
Beiträge: 126
Registriert: Di 15. Mai 2018, 17:25
Wohnort: City 17
x 23
Kontaktdaten:

Re: Installation von FB.Switch auf einem RaspberryPi

Ungelesener Beitrag von mrberni » So 27. Mai 2018, 23:34

Hi,

danke für deinen unermüdlichen Einsatz. :)
Aber der crontab-Eintrag hat noch einen Fehler drin: "connair"?

Gruß
1 x
We Do What We Must, Because We Can.

onkeldave
Beiträge: 78
Registriert: Mi 16. Mai 2018, 07:01
Wohnort: Bei HH
x 22

Re: Installation von FB.Switch auf einem RaspberryPi

Ungelesener Beitrag von onkeldave » Mo 28. Mai 2018, 06:51

Oh! Da bin ich in der Zeile verrutsch und hab den falschen crontab kopiert... Danke fürs Korrekturlesen, mrberni! Ist jetzt richtig.
0 x
Beelink Mini PC Celeron, 4GB Ram, 128GB SSD mit iOBroker, FB.Switch, LMS SqueezeBox Server (Debian Linux).
Integrierte SmartHome Geräte: 433MHz Steckdosen über FB.Switch, div. WLAN Schalter/Steckdosen verschiedener Hersteller (geflashed mitTasmota), Shelly, Homematic IP, IKEA Tradfri Lampen und Rollo, AVM Steckdosen und Thermostate, KODI, SqueezeBox, WORX Landroid Roboter
Apple Homekit Integration aller Geräte und div. Statusmeldungen per Telegram Messenger über iOBroker.

WOLFGANG
Beiträge: 24
Registriert: Sa 19. Mai 2018, 20:27
Wohnort: Linker Niederrhein
x 1

Re: Installation von FB.Switch auf einem RaspberryPi

Ungelesener Beitrag von WOLFGANG » Di 29. Mai 2018, 14:07

Hallo David.

Hattest du nicht mal ein ausführbaren Script für connair geschrieben?
0 x
Gruß
Wolfgang

onkeldave
Beiträge: 78
Registriert: Mi 16. Mai 2018, 07:01
Wohnort: Bei HH
x 22

Re: Installation von FB.Switch auf einem RaspberryPi

Ungelesener Beitrag von onkeldave » Di 29. Mai 2018, 18:44

Ja, aber das geht nicht mehr so recht. Ich dachte mir, ich mach mal was aktuelles. :)
0 x
Beelink Mini PC Celeron, 4GB Ram, 128GB SSD mit iOBroker, FB.Switch, LMS SqueezeBox Server (Debian Linux).
Integrierte SmartHome Geräte: 433MHz Steckdosen über FB.Switch, div. WLAN Schalter/Steckdosen verschiedener Hersteller (geflashed mitTasmota), Shelly, Homematic IP, IKEA Tradfri Lampen und Rollo, AVM Steckdosen und Thermostate, KODI, SqueezeBox, WORX Landroid Roboter
Apple Homekit Integration aller Geräte und div. Statusmeldungen per Telegram Messenger über iOBroker.

Antworten