SIGNALduino
Der SIGNALduino ist ein Low-Cost Empfänger für digitale Signale, ähnlich einem CUL. Der SIGNALduino basiert auf einem Arduino. Hauptsächlich wurde er für den Arduino Nano entwickelt. Es stehen jedoch auch für den [UNO] und [PRO Mini] firmware Dateien zur Verfügung.
Er wird derzeit über den USB Port angeschlossen. Die Schaltung entspricht dem des FHEMduino.
Firmware (Sketch) und FHEM Module wurden durch Sidey neu entwickelt.
- Das Modul ist nicht fertig und kann als frühe Beta bezeichnen.
- Das Modul spuckt sehr viele Meldungen ins Logfile.
Was macht dieser Signalduino?
Digitale Signale anhand von Mustern erkennen und zum Auswerten an FHEM weitergeben, dort können die Daten dann dekodiert werden. Damit nicht zu viel übertragen wird, gibt es einen Filter, der regelt, was der Arduino alles überträgt.
Beispiel: Arduino mit 433 Mhz Empfänger an einen Fhem Server anschließen und IT Steckdosen empfangen / schalten
Das System ist jedoch nicht auf 433 Mhz beschränkt. Es funktioniert auch mit anderen Frequenzen oder Medien. z.B. auch mit Infrarot oder direkt angebunden via draht.
Worin liegt der Vorteil zu einem CUL oder Fhemduino?
Erst mal gibt es noch keinen richtigen Vorteil. Der ergibt sich erst, wenn man in FHEM die Signaldaten entsprechend verarbeitet. Für einige wenige Dinge ist das bereits implementiert. z.B. lassen sich Wettersensoren oder Funk Steckdosen damit empfangen. Wer Lust hat weitere Protokolle zu dekodieren, braucht dazu nur ein passendes FHEM Modul entwickeln. Änderungen am Arduino Code sind "eigentlich" nicht notwendig. Dadurch skaliert das System gut.
Unterstützte Geräte
Für die folgenden Geräte gibt es derzeit eine Unterstützung für den Betrieb mit Fhem. Die Geräte werden automatisch erkannt und in der Konfiguration eingetragen wenn der SIGNALDuino mal läuft.
Produkt | (E)mpfangen (S)enden |
Hinweise | Verwendetes Modul |
---|---|---|---|
TCM Wetterstation (97001 und 21xxx Serie) | E | CUL_TCM97001 | |
ABS Wetterstation (ABS 700) | E | CUL_TCM97001 | |
Prologue Wetterstation | E | CUL_TCM97001 | |
Rubicson Wetterstation | E | CUL_TCM97001 | |
NC_WS Wetterstation | E | CUL_TCM97001 | |
GT-WT-02 Wetterstation | E | CUL_TCM97001 | |
AURIOL Wetterstation | E | CUL_TCM97001 | |
E S | Funktioniert aktuell nicht | IT | |
E S | Funktioniert aktuell nicht | SIGNALduino_RSL | |
E S | Protokoll V2 derzeit in Arbeit | OREGON |
Hardware
Wie muss der Arduino verkabelt werden? Die Verkabelung ist Identisch zum FHEMduino
Einbinden in FHEM
Einfach folgenden Befehl in Fhem ausführen:
update force https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-rawIn/controls_signalduino.txt
durch das Update wird auch die Firmware geladen. Im Log File sieht man wo diese hinkopiert wurden: z.B. nach FHEM/firmware/SIGNALduino_nano328.hex
und danach in der Konfiguration folgendes Gerät definieren:
define sduino SIGNALduino /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
Nach dem Einbinden wird der SIGNALDuino falls er erkannt wird im Status "Openend" angezeigt. Erst wenn die richtige Firmware auf dem Arduino ist wird der Status "Initialized" angezeigt
Flashen des Ardunio mit der SIGNALDuino Firmware
- Falls avrdude noch nicht vorhanden ist kann man das z.B. so auf dem Fhem installieren:
sudo apt-get install avrdude
- In Fhem ist der SIGNALDuino ja bereits mit dem Status "Open" vorhanden. Jetzt müssen wir FHEM noch mitteilen, welche Hardware wir angeschlossen haben.
Über das Attribut hardware lässt sich zwischen den mitgelieferten Firmware Dateien wechseln.
Beispiel: attr sduino hardware nano328
Anschließend kann der flash Befehl abgesetzt werden: sduino flash Dadurch wird der Arduino mit der gewählten Firmware geflasht. Das Ergebnis wird im Webinterface direkt angezeigt.
Alternativ kann auch der Flash Befehl mit einem Dateinamen aufgerufen werden, dies sollte jedoch nur verwendet werden, wenn ihr die Signalduino Firmaware selbst compiliert habt und eine andere Hardware verwendet.
- etwa so aufgerufen wird:
fhemduino flash FHEM/firmware/SIGNALduino_mega2560.hex
(je nachdem wo das hex file abgelegt wurde und wie ihr es benannt habt).
- etwa so aufgerufen wird:
- Wenn alles gut geht und man wählt nochmal den Signalduino aus steht dort nicht mehr open sondern initialized und euer Logfile wird mit vielen Daten vollgeschrieben.