Click here for English version
Funksignale auslesen
Smarte Rauchmelder sind verglichen zur verbauten Technik relativ teuer. In diesem Beitrag zeige ich Euch wie man simple 433Mhz Funkrauchmelder in smarte Rauchmelder verwandelt. Ich verwende relative einfache 433Mhz Rauchmelder (Aliexpress)*. Ich habe diese auf Verdacht gekauft mit dem Gedanken, daß sich das Signal vermutlich entziffern läßt und bin nicht enttäuscht worden.
Dazu habe ich den Raspberry Pi Home Server aufgesetzt sowie mein 433Mhz CUL angeschlossen. Den CUL habe ich mit dem Kommando
set CUL1 raw X25

in den Sniffingmodus (Lauschmodus) versetzt, so daß ich alles mitbekomme, was an Funkprotokollen auf 433Mhz versandt wird. Dann noch schnell das Logging auf höchste Stufe setzen
attr CUL1 verbose 5

Wir lösen den Rauchmelder mit einem Druck auf die Taste aus und schauen uns das Logfile von FHEM an
2018.12.30 17:26:55 4: CUL_0 IT: message „i45d153“ (7)
2018.12.30 17:26:55 4: CUL_0 IT: msgcode „F0FF1F0FFF01“ (12) bin = 010001011101000101010011
2018.12.30 17:26:55 5: CUL_0 IT: V1 housecode = F0FF1F0FFF onoffcode = 01
Das sieht sehr interessant aus. FHEM ist schon einmal so clever und rechnet den Wert in das hexadezimale Zahlensystem um und unterteilt letzeren in Hauscode und onoffcode. Der Hauscode ist der spezifische Code für den Rauchmelder. Der onoffcode ist die der Code der jeweils für on oder off versandt wird.
Ich denke wir haben alle relevanten Informationen und setzen den CUL wieder in den normalen Modus.
set CUL1 raw X25 attr CUL1 verbose 5
Funksignale dekodieren
Wir vergleichen mal den Hauscode und onoffcode mit den Jumpern im Inneren des Rauchmelders. Wir sehen:
Jumper Bezeichnung | Stellung | Vermutung |
A0 | fehlt | F |
A1 | unten | 0 |
A2 | fehlt | F |
A3 | fehlt | F |
A4 | oben | 1 |
A5 | fehlt | F |
A6 | unten | 0 |
A7 | fehlt | F |
D3 | fehlt | F |
D2 | fehlt | F |
D1 | unten | 0 |
D0 | oben | 1 |
Wenn wir die Stellungen mit dem Hauscode und onoffcode von F0FF1F0FFF01 vergleichen, stellen wir fest, daß fehlt für F, unten für 0 und oben für 1 steht. Perfekt!
Rauchmelder aufsetzen
Wir definieren nun den Rauchmelder in FHEM mit:
define Smoke_LR F0FF1F0FFF 01 00

Wir können nun den Rauchmelder auslösen und ob FHEM das Signal verarbeiten kann.

Und tatsächlich, es funktioniert! Klasse! Nun können wir bei Alarmauslösung uns eine Nachricht per Telegram oder eine Email senden lassen. Eine andere Idee ist, alle Lichter anzuschalten, um die Bewohner zu wecken. English Version
Signal sniffing
Smart smoke detectors are relatively expensive compared to the installed technology. In this article I will show you how to transform simple 433Mhz wireless smoke detectors into smart smoke detectors. I use relatively simple 433Mhz smoke detectors (Aliexpress)*. I bought these on suspicion with the thought that the signal can probably be deciphered and was not disappointed. For this I set up the Raspberry Pi Home Server and connected my 433Mhz CUL. I connected the CUL with the command
set CUL1 raw X25
into the sniffing mode (eavesdropping mode), so that I get everything that is sent in radio protocols on 433Mhz. Then quickly set the logging to the highest level
attr CUL1 verbose 5
We trigger the smoke detector by pressing the button and look at the logfile of FHEM.
2018.12.30 17:26:55 4: CUL_0 IT: message „i45d153“ (7)
2018.12.30 17:26:55 4: CUL_0 IT: msgcode „F0FF1F0FFF01“ (12) bin = 010001011101000101010011
2018.12.30 17:26:55 5: CUL_0 IT: V1 housecode = F0FF1F0FFF onoffcode = 01
That looks very interesting. FHEM is already so clever and converts the value into the hexadecimal number system and divides the latter into house code and onoffcode. The house code is the specific code for the smoke detector. The onoffcode is the code that is sent for on or off.
I think we have all the relevant information and set the CUL back to normal mode.
set CUL1 raw X25 attr CUL1 verbose 5
Decoding of signals
We compare the house code and onoffcode with the jumpers inside the smoke detector. We get
Jumper Description | setting | my guess |
A0 | missing | F |
A1 | bottom | 0 |
A2 | missing | F |
A3 | missing | F |
A4 | top | 1 |
A5 | missing | F |
A6 | bottom | 0 |
A7 | missing | F |
D3 | missing | F |
D2 | missing | F |
D1 | bottom | 0 |
D0 | top | 1 |
If we compare the positions with the house code and onoffcode of F0FF1F0FFF01, we find that missing is F, down is 0 and up is 1. Perfect!
Setup of smoke detector
We now define the smoke detector in FHEM:
define Smoke_LR F0FF1F0FFF 01 00

We can now trigger the smoke detector and see if FHEM can process the signal.

And indeed, it works! Awesome! Now we can have a message sent to us via telegram or email when an alarm is triggered. Another idea is to turn on all the lights to wake the family.
*Affiliate Link
5 Antworten zu „Funkrauchmelder 433Mhz vernetzt und smart gemacht”.
Hallo,
Kann man auch einen Alarm auslösen? Zb als Art Alarm Anlage
Hallo Mark,
ja kann man. Ich habe drei Rückmeldungen, die ich noch beschreiben werde:
1. Meldung per Telegram
2. Eine eMail aufs Handy, siehe https://smarthome.family.blog/2019/01/04/fhem_ereignisabhaengige_emails_senden/
3. Sprachausgabe aufs Handy
Daneben kannst Du jeden anderen Aktor in FHEM schalten, dh wenn Du willst über die Funksteckdosen einen Alarm oder über die HomeMatic Module einen Buzzer.
Gruss Marc
is the
define Smoke_LR F0FF1F0FFF 01 00
is this something that could be used in openhab with rfcom, ive not see how to define a „rf data packet“ or in rules
How is this information/data format used in FHEM
Hi,
not sure how you define intertechno in openhab but in fhem it works the following way
define myITSwitch IT housecodegroup_switch on-code off-code
So F0FF1F0FFF consists of house code an group switch and on is defined as 01. Using google I found for openhab something like
Switch FZ_Intertechno_ON „nacht“ { culintertechno=“type=raw;address=1FF1FF0FF;commandOn=FF;commandOff=00″ }
So my guess would be that address is the house and group switch.
Marc
[…] kann man nun Funkrauchmelder koppeln, Funksteckdosen schalten oder einen Chatbot mit Telegram […]