Funkrauchmelder 433Mhz vernetzt und smart gemacht

433 Mhz Smoke Detector

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)* (Hinweis: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen). 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
CUL im Sniffing Modus

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
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. Rauchmelder Jumper Wir sehen:

Jumper BezeichnungStellungVermutung
A0fehltF
A1unten0
A2fehltF
A3fehltF
A4oben1
A5fehltF
A6unten0
A7fehltF
D3fehltF
D2fehltF
D1unten0
D0oben1

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
Definition Rauchmelder

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

ausgelöster Rauchmelder

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)* (Note: As an Amazon affiliate, I earn from qualifying sales). 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

CUL im Sniffing Modus 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

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. Rauchmelder Jumper We get

Jumper Descriptionsettingmy guess
A0missingF
A1bottom0
A2missingF
A3missingF
A4top1
A5missingF
A6bottom0
A7missingF
D3missingF
D2missingF
D1bottom0
D0top1

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
Definition Rauchmelder

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

ausgelöster Rauchmelder

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”.

  1. Avatar von Mark
    Mark

    Hallo,
    Kann man auch einen Alarm auslösen? Zb als Art Alarm Anlage

    1. Avatar von smarthome.family.blog

      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

  2. Avatar von choddles (@choddles)

    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

    1. Avatar von smarthome.family.blog

      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

  3. Avatar von Selbstbau Signalduino – SmartHome & Internet of Things | Anleitung, Tests, Empfehlungen

    […] kann man nun Funkrauchmelder koppeln, Funksteckdosen schalten oder einen Chatbot mit Telegram […]