FS20 - Hausautomatisierung
UPDATE:
Die Haussteuerung lässt sich bestens mit amazons Echo (Dot) und google home kombinieren.
Da sich mit relativ günstigen Mitteln eine Hausautomatisierung umsetzen lässt habe ich mich nun mal zum Winter hin an diese Thema begeben.
Dazu soll der vorhandenen Raspberry PI (Homeserver) genutzt werden. Dieser kleine und kostengünstige ARM Rechner ist eine gute Basis.
Dazu wird noch ein Funkmodul benötigt. (Hier kann der Raspberry direkt mitbestellt werden).
Alternative:
Busware CC1101 Transceiver für Raspberry Pi inkl. Antenne
Die benötigte Software ist hier zu finden.
Raspberry Pi RBCA000 Mainboard (ARM 1176JZF-S, 512MB RAM, HDMI, 2x USB 2.0, 3,5 Watt)
Hier das neueste Modell: Raspberry Pi Model B+ (B Plus)
Das passende Netzteil: NEU! MAREL Steckernetzteil Micro-USB 5V 2000mA für Raspberry Pi B+ & Raspberry Pi & Banana Pi
Das Modul CUL wird einfach oben aufgesteckt.
Vorbereitung Raspberry PI
Zunächste lädst du die aktuelle Debian Version für den Raspberry herunter. Die gibt es hier.
In meinem Fall war das Wheezy.
Als nächstes benötigt man ein Tool mit dem man Debian auf der SD karte installieren kann. Das gibt es hier.
In dem Tool die SD Karte und das Image auswählen und ausführen. - fertig.
SD Karte in den Raspberry stecken und booten.
Nun erscheint ein Setup Fenster. Hier erweitert man zunächst das root Dateisystem und rebootet.
Benutzer ist: pi / Kennwort raspberry - das sollte man auch ändern.
Folgende Befehle nacheinander ausführen:
Optional, wenn eine feste IP manuel vergeben werden soll (ggf im Router einfach sagen: Gerät immer selbe IP zuweisen).
Den Inhalt der Datei nun anpassen:
Hinweis: Diese IPs sind ein Bsp. Für dein Netz musst du ggf. andere vergeben.
Hinweis: nano ist ein Texteditor. Gespeichert wird mit STRG+O, geschlossen dann mit STRG+X
Raspberry PI FS20 fähig machen
Show/Hidden bash code
nano /etc/inittab
Löschen / Auskommentieren: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Hier auch: /boot/cmdline.txt - Wenn es dort vorhanden ist
cd /tmp
wget HTTPS://fhem.de/fhem-5.8.deb
dpkg - i fhem-5.8.deb
nano /etc/init.d/fhem
Alles zwischen Start) und Stop) ersetzen:
echo "resetting 868MHz extension..."
if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
echo out > /sys/class/gpio/gpio17/direction
echo out > /sys/class/gpio/gpio18/direction
echo 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo "Starting fhem..."
$fhz $conf
RETVAL=$?
;;
STRG + O
STRG + X
(die fhem.cfg lässt sich auch im Browser bearbeiten HTTPS://IPDESRASPI:8083/fhem --> Edit files)
Zeile am Ende hinzufügen:
STRG + O
STRG + X
Erste Ausbaustufe: Steuern einer Funksteckdose über Iphone, Ipad, Android, Webgui.
Oben, im globalen Teil definierst du einen Raum (Einfügen):
An die Datei hängst du folgende Zeilen an:
STRG + O
STRG + X
Erklärung:
12344321= Hauscode - dieser ist frei wählbar (8 Stellen, Zahlen 1-4)
54 = Gerätecode - frei wählbar
Dienst neu starten:
An der Webgui anmelden:
HTTPS://IP_DES_RASPI:8083/fhem
Oder die iphone App "fhemobile" starten...
Den Funkschalter in die Steckdose stecken, während du gleichzeitig den Taster drückst.
Dieser sollte nun blinken. Nun einfach über die GUI einen Schaltvorgang (AN/AUS) auslösen.
Jetzt ist der Schalter eingerichtet.
FS20 ST-3 Funk-Schaltsteckdose
Zweite Ausbaustufe: Programmierung Zeitschaltuhr
anhängen:
STRG + O
STRG + X
Dritte Ausbaustufe: IRDA Steuerung
FS20 IRF
Nach der Anleitung die gewünschten IRDA Befehle programmieren. - Es können bis zu 16 werden.
fhem.cfg um einen Befehl erweitern.
Vierte Ausbaustufe: Heizungssteuerung
Thermostat FHT80b - Bei der Grundausstattung empfiehlt es sich die Heizungssteuerung im Set zu kaufen.
ELV FHT80b 1-Raum-Heizungsregelung pro (1x FHT80B + 1xFHT8V + 1x FHT80TF-2)
Auch einzeln möglich:
FS20 STR Funk-Raumthermostat einzeln, inkl. Batterien
Ich habe mich außerdem für die Bausatzvariante entschieden.
ELV FHT8V Funk-Stellantrieb mit Adapterset
Funk-Tür-Fensterkontakt FHT80TF-2
Die Geräte werden mit dem Thermostat FHT80b nach Anleitung verbunden.
Das Thermostat wird dann in fhem sichtbar.
Minimale nötige Konfiguration:
Show/Hidden bash code
define Thermostat_Wohnz FHT 3c3c
attr Thermostat_Wohnz retrycount 3
attr Thermostat_Wohnz room Wohnzimmer
define FileLog_Thermostat_Wohnz FileLog /var/log/fhem/Thermostat_Wohnz-%Y.log Thermostat_Wohnz
attr FileLog_Thermostat_Wohnz logtype fht:Temp/Act,text
attr FileLog_Thermostat_Wohnz room Wohnzimmer
define weblink_Thermostat_Wohnz weblink fileplot FileLog_Thermostat_Wohnz:fht:CURRENT
attr weblink_Thermostat_Wohnz label "Thermostat_Wohnz Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Thermostat_Wohnz room Wohnzimmer
define Schiebetuer CUL_FHTTK c8ecbc
attr Schiebetuer fm_fav 999
attr Schiebetuer fm_view 0,0
attr Schiebetuer room Wohnzimmer
define FileLog_Schiebetuer FileLog /var/log/fhem/Schiebetuer.log Schiebetuer
attr FileLog_Schiebetuer logtype fht80tf:Window,text
attr FileLog_Schiebetuer room Wohnzimmer
define weblink_Schiebetuer weblink fileplot FileLog_Schiebetuer:fht80tf:CURRENT
attr weblink_Schiebetuer label "Schiebetuer Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Schiebetuer room Wohnzimmer
Fünfte Ausbaustufe: Heizungssteuerung für Fortgeschrittene
Meine Heizung (GAS) kann an und abgeschaltet werden.
Das hat früher eine Zeitschaltuhr übernommen.
Jetzt habe ich das über ein FS20 Funkrelais gelöst:
Zudem habe ich eine Warmwassertherme (120l) die nur dann
gewärmt wird, wenn die Heizung läuft. Dazu habe ich dann einen Temparatursensor verwendet.
Dieser ist so eingestellt, dass er bei 45 Grad schaltet.
Nach 45 Minuten Therme erwärmen wieder abschalten.
Dieses Script prüft alle 5 Minuten ob das Thermostat die Heizung aufgedreht hat.
Wenn ja, muss die Heizung aktiviert werden.
Show/Hidden bash code
define HeizAbsenkung at +*00:05 {\
my $FHT_Actuator=ReadingsVal("Thermostat_Wohnz","actuator","101%");;\
my $FS20_State=ReadingsVal("Flamme","state","off");;\
my $Therme_State=ReadingsVal("Therme","state","off");;\
my $zaehler=1;;\
$FHT_Actuator=substr($FHT_Actuator,0,length($FHT_Actuator)-1);;\
Log 0, "State: " . $FS20_State;;\
Log 0, "Actuator: " . $FHT_Actuator;;\
Log 0, "Therme: " . $Therme_State;;\
\
$FHT_Actuator = $FHT_Actuator + $FHT_Actuator2;;\
Log 0, "Actuator: " . $FHT_Actuator;;\
if ($FHT_Actuator>13 || $Therme_State eq "on" ){\
if ($FS20_State eq "off"){\
while($zaehler <= 5) {\
fhem('set Flamme on');;\
sleep(3);;\
$zaehler++;;\
};;\
};;\
};;\
\
if ($FHT_Actuator<11){\
if ($Therme_State eq "off"){\
while($zaehler <= 5) {\
fhem('set Flamme off');;\
sleep(3);;\
$zaehler++;;\
};;\
};;\
};;\
}
Und dieses Script prüft ob ein Fenster auf ist.
Sechste Ausbaustufe: Batterien prüfen
Auf der Linux Konsole:
STRG + O
STRG + X
fhem.cfg
Diese Bücher kann ich dir noch empfehlen:
Hier geht es weiter mit dem zweiten Teil zum Thema Hausautomatisierung.
Falls du schon immer mal Interesse an einem Multicopter (manche nennen es auf fälschlicher Weise Drohne) hast, bist du hier richtig.
Dir hat das Projekt gefallen? Dann Unterstütze mich, damit ich weiterhin solche Projekte vorstellen kann!
Kommentare
super Tutorial. Kurze Frage, eigentlich müsste es doch möglich sein auch einen FS20 Funk-Rolladenschalter einzubinden oder?
Viele Grüße
Tim
Hallo,
tolles Tutorial!
Liebe Grüße,
mizziTANTE
Alle Kommentare dieses Beitrages als RSS-Feed.