Available from:
Aliexpress.com
Banggood.com
Amazon.de
Manomano.de
Manufacturer:
Szneo.com
Install method:
USB to Serial
GPIO # | Component |
---|---|
GPIO00 | None |
GPIO01 | Tuya Tx |
GPIO02 | None |
GPIO03 | Tuya Rx |
GPIO04 | None |
GPIO05 | None |
GPIO09 | None |
GPIO10 | None |
GPIO12 | None |
GPIO13 | None |
GPIO14 | None |
GPIO15 | None |
GPIO16 | None |
GPIO17 | None |
{"NAME":"Neo Siren 3in1","GPIO":[0,2272,0,2304,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":54}
by blakadder
This is a Tuya siren with temperature and humidity sensor. Runs on USB and two CR123A batteries as backup (not supplied with the device).
Hardware Versions
There are, so far, three known hardware versions. The console will show one of these MCU Product ID’s:
{"p":"ymf4oruxqx0xlogp","v":"1.0.0","m":0}
, {"p":"ymf4oruxqx0xlogp","v":"1.0.1","m":0}
, {"p":"ymf4oruxqx0xlogp","v":"1.0.2","m":0}
, {“p”:”ymf4oruxqx0xlogp”,”v”:”1.0.3”,”m”:0} or {"p":"9fngbrgje6ljqhee","v":"1.0.2","m":0}
The ymf
versions work with tuya-convert but the 9fn
version requires flashing the device with serial.
The 1.0.1 version supports the TuyaSend0
command to query the MCU for the latest values but the 1.0.2 version does not appear to support that command at this time (2021-03-05).
In an order on 2021-01-31 for three devices, one of each hardware versions was received. In an order from 2020-12, the 1.0.1 version was received, which is rock solid.
Flashing
If you have issues flashing with tuya-convert you can flash the device using serial.
Steps:
- Remove the three screws from the bottom and the lid comes off easily
- Connect GPIO0 (“IO0”) to ground (“GND”)
- Connect the USB to power (there is no need to power from the serial device)
- Continue to hold the GPIO0 to ground for about 5-10 seconds to ensure that the chip is in flashing mode (there are no hardware indications)
- Hold the TX and RX from the serial to the pads “RXD0” and “TXD0” (cross the streams)
- Flash tasmota.bin
Functions
- dpId 101 - power type (1 - battery high; 2 - medium; 3 - low; 4 - usb port)
- dpId 102 - alarm type chime sound (0-17)
- 0 - doorbell
- 1 - fur elise
- 2 - big ben
- 3 - ring ring
- 4 - lone ranger
- 5 - turkish march
- 6 - high pitched
- 7 - red alert
- 8 - crickets
- 9 - beep
- 10 - dog bark
- 11 - police siren
- 12 - grandfather clock
- 13 - phone ring
- 14 - fire truck
- 15 - clock chime
- 16 - alarm clock
- 17 - school bell
- dpId 103 - alarm duration time (in seconds)
- dpId 104 - alarm control
- dpId 105 - temp in C (divide by 10)
- dpId 106 - humidity
- dpId 107 - minimum temperature to trigger alarm
- dpId 108 - maximum temperature to trigger alarm
- dpId 109 - minimum humidity to trigger alarm
- dpId 110 - maximum humidity to trigger alarm
- dpId 112 - unit change (on = C, off = F) - does not affect dpid 105 values
- dpId 113 - temperature alarm control (0 = off, 1 = on)
- dpId 114 - humidity alarm control (0 = off, 1 = on)
- dpId 116 - alarm volume (0 = high, 1 = medium, 2 = low)
Configuration
Please read TuyaMCU article to understand the terminology and configuration process.
After configuring the template or setting Module 54
map Tuya functions:
Backlog TuyaMCU 11,104; TuyaMCU 71,105; TuyaMCU 73,106; TuyaMCU 81,103; TuyaMCU 61,102; TuyaMCU 62,116
Finish configuring with these options
Backlog TuyaEnumList 1,17; TuyaEnumList 2,2; Rule0 1; SetOption65 1; TempRes 1; HumRes 0
Commands for control:
Power1
- Chime on/offTuyaEnum1
- Chime typeTuyaEnum2
- Alarm volumeVar1
- Alarm duration
Example Commands
TuyaSend2 103,12
- Set alarm duration time to 12 secondsTuyaSend2 108,390
- Set maximum temperature to trigger alarm to 39.0 °CTuyaSend2 113,0
- Disable temperature alarm controlTuyaSend2 114,0
- Disable humidity alarm controlTuyaSend4 116,2
- Set alarm volume to low
Home Assistant Configuration
Add necessary rules:
rule2 on event#doorbell do tuyasend4 102,0 endon on event#fur elise do tuyasend4 102,1 endon on event#big ben do tuyasend4 102,2 endon on event#ring ring do tuyasend4 102,3 endon on event#lone ranger do tuyasend4 102,4 endon on event#turkish march do tuyasend4 102,5 endon on event#high pitched do tuyasend4 102,6 endon on event#red alert do tuyasend4 102,7 endon on event#crickets do tuyasend4 102,8 endon on event#beep do tuyasend4 102,9 endon on event#dog bark do tuyasend4 102,10 endon on event#police siren do tuyasend4 102,11 endon on event#grandfather clock do tuyasend4 102,12 endon on event#phone ring do tuyasend4 102,13 endon on event#fire truck do tuyasend4 102,14 endon on event#clock chime do tuyasend4 102,15 endon on event#alarm clock do tuyasend4 102,16 endon on event#school bell do tuyasend4 102,17 endon on event#high do tuyasend4 116,0 endon on event#medium do tuyasend4 116,1 endon on event#low do tuyasend4 116,2 endon
rule3 on tuyareceived#dptype2id103 do publish %topic%/alarmduration %value% endon on var1#state do tuyasend2 103,%value% endon on tuyareceived#dptype4id101 do publish %topic%/battery %value% endon on tuyareceived#dptype4id102 do publish %topic%/chime %value% endon on tuyareceived#dptype4id116 do publish %topic%/alarmvolume %value% endon on var6#state do tuyasend4 116,%value% endon
configuration.yaml
sensor:
- platform: mqtt
name: Siren Power Status
state_topic: siren/battery
value_template: >-
{% if value == '1' %}
high
{% elif value == '2' %}
medium
{% elif value == '3' %}
low
{% elif value == '4' %}
USB
{% endif %}
icon: 'mdi:power-plug-outline'
availability_topic: tele/siren/LWT
payload_available: Online
payload_not_available: Offline
- platform: mqtt
name: Siren Alarm Volume
state_topic: siren/alarmvolume
value_template: >-
{% if value == '0' %}
high
{% elif value == '1' %}
medium
{% elif value == '2'%}
low
{% endif %}
icon: 'mdi:volume-vibrate'
availability_topic: tele/siren/LWT
payload_available: Online
payload_not_available: Offline
- platform: mqtt
name: "Active Chime"
state_topic: "%topic%/chime"
command_topic: "cmnd/%topic%/event"
value_template: >-
{% if value == "0" %}
Doorbell
{% elif value == "1" %}
Fur Elise
{% elif value == "2" %}
Big Ben
{% elif value == "3" %}
Ring Ring
{% elif value == "4" %}
Lone Ranger
{% elif value == "5" %}
Turkish March
{% elif value == "6" %}
High Pitched
{% elif value == "7" %}
Red Alert
{% elif value == "8" %}
Crickets
{% elif value == "9" %}
Beep
{% elif value == "10" %}
Dog Bark
{% elif value == "11" %}
Police Siren
{% elif value == "12" %}
Grandfather Clock
{% elif value == "13" %}
Phone Ring
{% elif value == "14" %}
Fire Truck
{% elif value == "15" %}
Clock Chime
{% elif value == "16" %}
Alarm Clock
{% elif value == "17" %}
School Bell
{% endif %}
options: ["Doorbell","Elise","Big Ben","Ring Ring","Lone Ranger","Turkish March","High Pitched","Red Alert","Crickets","Beep","Dog Bark","Police Siren","Grandfather Clock","Phone Ring","Fire Truck","Clock Chime","Alarm Clock","School Bell"]
icon: "mdi:music-note"
availability_topic: "tele/siren/LWT"
payload_available: "Online"
payload_not_available: "Offline"
number:
- platform: mqtt
name: Siren Alarm Duration
state_topic: siren/alarmduration
command_topic: cmnd/siren/var1
availability_topic: tele/siren/LWT
icon: 'mdi:timer-sand'
payload_available: Online
payload_not_available: Offline