Schlagwort-Archive: FS20

[openhab] mail bei Bewegung

Neben dem Licht einschalten bei Bewegungserkennung kann mit entsprechender Regel auch eine E-Mail versendet werden.

Zunächst muss das Modul org.openhab.action.mail-*.jar in dem addons Verzeichnis abgelegt und openhab neu gestartet werden.
Zusätzlich müssen in der openhab.cfg der smtp Server und die entsprechenden Zugangsdaten hinterlegt werden.

Damit die Benachrichtigung deaktiviert werden können, wurde folgender Schalter in einer items Datei angelegt.
Switch BewegungInfoAbwesenheit "Bewegung Info Abwesenheit" (maschine) {OFF,ON}

Die Regel aus dem Artikel zur Bewegungserkennung wurde um folgende Zeilen erweitert:

if(BewegungInfoAbwesenheit.state == ON && Presence.state == OFF){
sendMail("E-Mail Adresse", "Betreff", "Nachricht")
}

[openhab] fs20 Funk-Dämmerungssender einbinden

Für das schalten von Aktoren kann wie in einem vorangegangenen Artikel die Anwesenheitserkennung verwendet werden. Durch eine Regel wird in einem bestimmten Zeitraum geprüft ob jemand zu Hause ist und die Aktoren werden eingeschaltet. Handelt es sich bei den Aktoren jedoch um Lampen, kann es vorkommen das Diese zu früh beziehungsweise zu spät geschaltet werden. Damit das Schalten zum richtigen Zeitpunkt erfolgt, kann der jeweilige Sonnenaufgang / Sonnenuntergang berechnet werden und mit in die Regel eingebunden werden.

Ich habe mich jedoch für einen Dämmerrungssensor entschieden, diesen gibt es für das fs20 System als Bausatz von ELV. Für das löten und zusammensetzen der einzelnen Komponenten benötigt man ca. 30 Minuten. Der Sensor bietet zwei Kanäle die einzeln konfiguriert werden können. Je nach Konfiguration und Helligkeit wird ein on bzw off gesendet. Zum auslesen des voreingestellten Hauscodes hatte ich bereits den Artikel http://www.itbasic.de/openhab-fs20-fernbedienung-und-switch-status-aktualisierung/ geschrieben.

Über die angepasste Regel wird das Licht nun in einem definierten Zeitraum ein bzw ausgeschaltet, wenn jemand zu Hause ist und der definierte Lichtwert erreicht wurde.

rule AnwesendFlur
when
Time cron "* */5 * * * ?"
then
if (now.getHourOfDay() >= 6 && now.getHourOfDay() <=22 && Presence.state == ON && FlurAutomatik.state == ON && fsda1.state == ON) {
if(FlurAlle.state == OFF){
sendCommand(FlurAlle, ON)
logInfo("PresenceCheck", "LICHT AN" )
}
} else {
if(FlurAlle.state == ON && FlurAutomatik.state == ON){
sendCommand(FlurAlle, OFF)
logInfo("PresenceCheck", "LICHT AUS" )
}
}
end

Die beiden Kanäle des Sensors wurden wie folgt in einer items Datei hinterlegt:
Switch fsda1 "Daemmer1 " (fstest) {fs20="C4A600"}
Switch fsda2 "Daemmer2 " (fstest) {fs20="C4A601"}

fs20-daemmer

die gelieferten Bauteile

 

FS20 Steckdosen gegen 433 MHz Steckdosen

Die 433 MHz Steckdosen lassen sich über den 433 MHz Sender mit Hilfe des Script einfach schalten und Sie sind günstig in der Anschaffung. Leider musste ich immer wieder feststellen das die Steckdose erst nach mehrfachem schalten über openhab ein beziehungsweise ausgeschaltet wurden.
Mittlerweile musste ich die ein oder andere Steckdose austauschen, da sie auch über die normale Fernbedienung nicht mehr geschaltet werden konnten.

Unter dem Weihnachtsbaum lag das FS20 Starterset mit drei Steckdosen und einer Fernbedienung.
Ich habe nun zwei der 433 MHz Steckdosen gegen FS20 Steckdosen ausgetauscht und muss zugeben, das ich seit dem noch kein Problem hatte das eine Steckdose nicht geschaltet hat.

Leider sind die Steckdosen in der Anschaffung relativ teuer und neben der Steckdose wird zum Beispiel noch eine CUL(www.busware.de) benötigt.
Wenn man jedoch sich eine CUL zugelegt hat, kann darüber auch auf andere Aktoren und Sensoren(Amazon Partnerlink) aus dem FS20 System zugegriffen werden.

FS20 Steckdosen

[openhab] fs20 über cul einbinden

Ursprünglich hatte ich den fs20 Umschalter von ELV über die CUL(busware) in fhem eingebunden. Mittlerweile bin ich auf openhab umgestiegen und nachdem die 433 MHz Steckdosen problemlos geschaltet werden konnten, wurde es Zeit für fs20.

Openhab wird unter dem Benutzer openhab ausgeführt und damit der Benutzer auf die cul (/dev/ttyACM0) zugreifen kann, wurde der Benutzer der Gruppe dialout hinzugefügt.
Fehlt die Gruppenzugehörigkeit, erhält man unter openhab 1.6.1 folgende Fehlermeldung:
22:35:49.756 [ERROR] [.o.b.fs20.internal.FS20Binding:81 ] - Can't open cul device org.openhab.io.transport.cul.CULDeviceException: gnu.io.NoSuchPortException
at org.openhab.io.transport.cul.internal.CULSerialHandlerImpl.openHardware(CULSerialHandlerImpl.java:129) ~[na:na]
at org.openhab.io.transport.cul.internal.AbstractCULHandler.open(AbstractCULHandler.java:148) ~[na:na]

Für die Integration der CUL werden die Addons org.openhab.binding.fs20-1.6.1.jar und org.openhab.io.transport.cul-1.6.1.jar benötigt.
Zusätzlich muss die folgende Zeile in der openhab.cfg hinzugefügt werden.
fs20:device=serial:/dev/ttyACM0

Nun kann in der entsprechenden items Datei der eigentliche Aktor angelegt werden:
Group garten
Switch weg "Wegbeleuchtung" (garten) {fs20="1b1b01"}

Die Hausadresse sowie die Geräte Adresse 1b1b01 hatte ich aus der fhem Konfiguration übernommen.

Das Einzigste was openhab derzeit gegenüber fhem anscheinend noch nicht kann ist, das wenn ein Aktor über eine Fernbedienung aktualisiert wird, der Schaltvorgang von openhab nicht erkannt wird. Leider wird dadurch der Status des Aktors in openhab nicht aktualisiert.

Die cul von busware

Die cul von busware

UPDATE 1. Januar 2015

Der Status des Switches aktualisiert sich in openhab, wenn der Aktor über die FS20 Fernbedienung geschaltet wird. Bitte den Artikel http://www.itbasic.de/openhab-fs20-fernbedienung-und-switch-status-aktualisierung/ beachten.

[Raspberry Pi] CUL in Fhem einbinden

Endlich habe ich es geschafft die Stehlampen im Garten an den FS20 Umschalter anzuschließen. Über die Fernbedienung konnte ich die einzelnen Ausgänge bereits schalten, nun sollte es auch über Fhem möglich sein.

In der Dokumentation hatte ich gelesen das es reicht die CUL anzuschließen und den Fhem neu zu starten. Kurz nach dem Neustart kam folgende Meldung auf der Kommandozeile:

Use of uninitialized value in string ne at ./FHEM/99_CULflash.pm line 63.

Die Meldung tritt auf wenn man beim einstecken den kleinen Taster nicht eingedrückt hat. Also nochmal raus, Taster drücken, einstecken und Fhem neu starten.

Jedoch blinkte die CUL nicht und In den fhem logs kam folgende Meldungen
Can't open /dev/ttyAMA0: Keine Berechtigung

Ich änderte die Rechte auf /dev/ttAMA0 und startete Fhem neu, diesmal erhielt ich folgende Meldung:
usb create starting
Opening CUL device /dev/ttyAMA0
Setting CUL baudrate to 38400
CUL device opened
usb create end

Was mich jedoch wunderte ist, das in den Dokumentationen von /dev/ttyACM0 die Rede ist und die CUL auch nicht blinkte. In einem Forum stieß ich auf die Lösung, wenn Fhem auf dem Rasbperry Pi läuft gibt es Probleme beim einspielen der Firmware.

Also lud ich mich mir FLIP für Windows von Atmel herunter und die benötigte Firmware. Nach der Installation der Software ließ sich die Firmware ohne Probleme aufspielen und die CUL blinkte.
Nun gab es unter Linux auch das Device /dev/ttyACM0 und in der fhem.cfg fügte ich folgende Zeile hinzu:
define CUL1 CUL /dev/ttyACM0@9600 1234

Einbinden in Fhem

Ich hatte erst am nächsten Tag Zeit den FS20 Aktor in Fhem einzubinden. Als ich Fhem im Browser aufrief gab es bereits den Raum FS20, darunter befanden sich vier Schalter.
Ich klickte den ersten Schalter an und siehe da, die Lampen gingen an. Anscheinend erkennt die CUL alle FS20 Vorgänge und leitet sie an den Fhem weiter, dieser erstellt den passenden Schalter.
Nun musste ich nur noch in der fhem.cfg die angelegten Schalter nach meinen Wünschen umbenennen.

fhem fs20

Automatisch angelegte Schalter

Fhem registriert es wenn ich die Lampen per Fernbedienung schalte und ändert den Status im Webfrontend.

cul

CUL gekauft www.busware.de