I found information on domoticz forum how you can configure these smoke detectors so you can see wich one is triggered and also use them as siren for alarm in domoticz with help of rfxmngr, anyone know if it is possible to do the same in home assistant?
Bump on an old thread. I have just done some initial tests but it should be possible, it’s not what I will try to use them for but I don’t see any reason why it shouldn’t be possible to use them as any kind of alarm.
I’ve had a bunch of rebranded KD101 in my drawer for a couple of years, never came to it to install them, but I’m planning to give it a go now. I want to be able to see which smoke detector is sending the signal (so I can’t pair them) but I would still like HomeAssistant to trigger all detectors to alarm if any of them detect smoke.
I’m not sure how I’m going to do it just yet, but my rough idea is to use appdaemon and whenever an alarm is detected, it will trigger all registered smoke detectors on repeat every 20-30 seconds or something like that. Use a boolean to avoid infinite loops of triggers, and also use binary sensors for each smoke detector that is updated accordingly so that I can see the status of them in HomeAssistant.
To give the smoke detectors more sensible IDs it’s possible to set the smoke detector to pair/learn mode and then send a panic command from RFXmngr with the new ID. This way you can name them “01,01”, “01,02”, …, “01,0n”.
With debug enabled for RFXtrx you’ll see the received package when the KD101 sends the panic command:
[RFXtrx] Recv: 0x08 0x20 0x03 0xfc 0x01 0x01 0x00 0x06 0x50
If I’m not mistaken guessing it means:
[0]Length = 0x08
[1]Type = 0x20 // Security1
[2]Subtype = 0x03 // KD101 Smoke detector
[3]Seqnbr = 0xfc
[4]ID1 = 0x01
[5]ID2 = 0x01
[6]ID3 = 0x00
[7]Status = 0x06
[8]RSSI = 0x50
And this translates to the following event id: 082003fc0101000650
By using rfxtrx.send
you can trigger the smoke detector to alarm with:
...
action:
service: rfxtrx.send
data:
event: 082003fc0101000650
A follow up. I thought it would be possible to trigger all smoke detector alarms when one of them detects smoke, but I’m no longer sure if it is possible.
Codewise I think I had a working solution, both by using AppDaemon and a simpler one using automations.
When a smoke signal is received over RFXtrx I update the alarm sensor on all smoke detectors to Panic
, lookup the event code for each smoke detector with smoke detection set to off
, and then send the RFXtrx event for each smoke detector on repeat every 20 seconds as long as at least one smoke detector have smoke set to on
. 30 seconds after receiving a smoke signal I would revert the state from on
to off
.
Works in theory, but it appears to be either a HomeAssistant limitation, a RFXtrx limitation or a limitation how the smoke detectors work that prevents it from working. Perhaps the RFXtrx bus choke, or if the radio frequency get saturated or something.
Even if the alarm event is sent the other smoke detector(s) wouldn’t receive it as long as the first one was still sending the triggering smoke signal. Sometimes the other smoke detector(s) would alarm as soon as the initial one stopped, other times they wouldn’t alarm at all.
So I’ll skip the part where one alarm should trigger all at the same time.
But having a single smoke detector (or multiple ones coded with the same ID) send an alarm on repeat every 20 seconds or similar as long as another boolean (motion sensor) is true, should work which I guess was the initial question of this thread.