diff --git a/conf/chungear_bcf-0019x2.conf b/conf/chungear_bcf-0019x2.conf
new file mode 100644
index 00000000..5a36afb1
--- /dev/null
+++ b/conf/chungear_bcf-0019x2.conf
@@ -0,0 +1,30 @@
+# Chungear Industrial Co Ltd Fan/Light Remote Controller BCF-0019x2
+#
+# https://fccid.io/KUJCE9001/User-Manual/User-Manual-171498.pdf
+# repeats of 13 short (252 us) or long (484 us) pulses. Packet gap is 8188 us.
+
+decoder {
+    name        = Chungear_BCF-0019x2,
+    modulation  = OOK_PWM,
+    short       = 252,
+    long        = 484,
+    gap         = 500,
+    reset       = 8500,
+    tolerance   = 100,
+    get         = id:@9:{4},
+    get         = button:@1:{6}:[47:light_on-off 55:light_dimmer 62:fan_button_0 61:fan_button_1 59:fan_button_2 31:fan_button_3 63:no_button],
+}
+
+# The getters above decode the following bits:
+#
+# 11011111 10111  light on/off
+# 11101111 10111  light dimmer
+# 11111101 10111  fan button 0
+# 11111011 10111  fan button 1
+# 11110111 10111  fan button 2
+# 10111111 10111  fan button 3
+#
+# xxxxxxxx x0xxx  dip sw 1
+# xxxxxxxx xx0xx  dip sw 2
+# xxxxxxxx xxx0x  dip sw 3
+# xxxxxxxx xxxx0  dip sw 4
diff --git a/conf/silverline_doorbell.conf b/conf/silverline_doorbell.conf
index f8e8ce5c..649b7146 100644
--- a/conf/silverline_doorbell.conf
+++ b/conf/silverline_doorbell.conf
@@ -22,7 +22,7 @@ decoder {
 # Effectively this is 11 bits (starting with 1 bit offset to discard the
 # first bit) because the mask is always aligned on the first set bit
 # (i.e. 555, aaa, 000555, ... are identical).
-# 
+#
 # Imagine the 25 bits of the transmission as:
 #     1?1?1?1?1?1?1?1?1?1?1?1?1
 # The mask `555` is:
@@ -35,7 +35,7 @@ decoder {
 #     ->
 #      ? ? ? ? ? ?
 # resulting in that 6 bit value `??????`.
-# 
+#
 # The same way 3 bits "sound" is `get=sound:@17:15` (where `15` here is
 # hex for the 5-bit pattern `10101` -- or use `a8` if you want to left align
 # the pattern in the byte there).