ELRO Flamingo FA20RF mit SIGNALduino - git-developer/fhem-examples GitHub Wiki

ELRO Flamingo FA20RF mit SIGNALduino

Dieser Artikel beschreibt die Einbindung des Rauchmelders ELRO Flamingo FA20RF über das Modul SIGNALduino in FHEM. Voraussetzung ist eine aktuelle FHEM-Installation mit dem Modul SIGNALduino.

FHEM-Device für SIGNALduino anlegen

Der Arduino ist an einem Windows-Rechner an der seriellen Schnittstelle COM13 angeschlossen. Um später beim Auslösen der Rauchmelder Log-Ausgaben zu erhalten, muss das Attribut verbose mindestens auf den Wert 4 gesetzt werden.

define sduino SIGNALduino COM13@57600
attr   sduino verbose 4

Arduino mit dem Sketch flashen

Arduino Nano

Im einfachsten Fall hat man einen Arduino Nano zur Hand, dann kann man aus FHEM heraus die mitgelieferte Datei FHEM/firmware/SIGNALduino_nano328.hex gemäß Wiki flashen.

Arduino Pro Mini 3,3V/8MHz

Ich habe einen Arduino Pro Mini mit 3,3V/8MHz. Die Datei SIGNALduino_promini328.hex funktioniert damit nicht, weil sie für die 5V/16MHz-Variante gebaut wurde. Deshalb habe ich Version 3.1 heruntergeladen. Die darin verwendete Bibliothek SimpleFIFO fehlt leider und muss deshalb von Hand ins Verzeichnis lib heruntergeladen werden. Jetzt kann SIGNALduino gebaut und geflasht werden.

Rauchmelder auslösen

Zunächst wird der Rauchmelder gemäß Anleitung durch zweimaliges Drücken auf LEARN in den Master-Modus versetzt. Die LED leuchtet dann dauerhaft grün. Dann muss man den TEST-Button ein paar Sekunden gedrückt halten. Im FHEM-Log erscheint u.a.

2015.11.15 15:52:23 4: SIGNALduino/msg READ: MS;P0=8068;P1=-936;P2=772;P3=-1387;P4=-2757;P5=-12232;D=250123242424242424242424232323242324242324242423232323;CP=2;SP=5;
2015.11.15 15:52:23 4: Found matched Protocol id 20 -> livolo
2015.11.15 15:52:23 4: Found matched Protocol id 13 -> 21RF
2015.11.15 15:52:23 4: SIGNALduino_unknown incomming msg: u13#803A478
2015.11.15 15:52:23 4: SIGNALduino_unknown rawData: 803A478
2015.11.15 15:52:23 4: SIGNALduino_unknown Protocol: 13
2015.11.15 15:52:23 4: SIGNALduino_unknown converted to bits: 1000000000111010010001111000
2015.11.15 15:52:23 4: SIGNALduino_unknown found RF21 protocol. model=#, devicecode=03A47, freq=8

Was sagt mir das? SIGNALduino hat eine Nachricht empfangen und das RF21-Protokoll entdeckt. Es gibt in meiner FHEM-Installation kein Modul, das sich dafür zuständig fühlt, deshalb übernimmt SIGNALduino_unknown.

FHEM-Device anlegen

Ich kann jetzt entweder ein eigenes FHEM-Modul für meine Rauchmelder schreiben - aufwändig. Oder ich greife wie von Sidey beschrieben auf das vorhandene Modul DOIF zurück:

define rauchmelder_1 DOIF ([sduino:&DMSG] =~ "u13#803A47") ()
attr   rauchmelder_1 do always
attr   rauchmelder_1 cmdState alarm

Bedeutung: jedesmal, wenn das Gerät sduino sein internes Reading DMSG mit dem Wert u13#803A47 belegt, erhält das Gerät rauchmelder den state alarm.

Der letzte Schritt ist nur notwendig, wenn es noch kein passendes FHEM-Modul zum eingebundenen Gerät gibt. Bei einem Druck auf die Fernbedienung meiner Baumarkt-Funksteckdosen zum Beispiel werden passende IT-Devices automatisch angelegt.

Links