Tuya 5 Speed Fan Controller by TEQOOZ - Home Assistant
TEQOOZ® Smart Fan Regulator Wi-Fi + Bluetooth Touch Switch (White) | Capacitor Based – No Humming Sound | Tuya & Smart Life App Control | Compatible with Alexa, Google Home, Apple Siri | Glass Finish
This Fan controller is suitable for Indian homes with Roma fitting
Product information
MOBILE APP CONTROL: Apart from physical touch, this switch can also be used from anywhere in the world using “Smart Life” App. Live status of the Fan can also be checked on the App. This switch gives 5 speed options and can operate any type of Fan.
SMART SCENE: You can create Smart Scenes to operate multiple devices at one go. Just add the devices in one group and operate them together. E.g. “Welcome Home” scene to Turn on the Fan & Turn on the Lights, etc.
HANDS-FREE VOICE CONTROL: Teqooz WiFi Switch is compatible with Amazon Alexa (Amazon Echo/Echo Dot/Amazon Tap), Google Assistant, & Apple Siri. So you can control your devices through voice and enjoy hands-free experience.
GLASS FINISH: GREAT LOOKS & Stylish Aesthetics add Glamour to the Décor of the room.
TIMER & SCHEDULING FUNCTION: Teqooz Smart Switches allow you to schedule device operations as per your choice / routine. E.g. Set Fan Speed to Maximum at 4 am. Turn off the Office Fans at 7 pm everyday, etc.
Images of User Manual
Unboxing Images
Smart Life App Images
Technical Specs
Controller MCU: WB3S
TuyaMCU: Unknown
Darlington Transistor Array: ULN2003A
Teardown Images
[img-14]
Preparing to Flash
Download the firmware bin file from here https://github.com/openshwprojects/OpenBK7231T_App, min version 1.11.1
WB3S TX and RX is connected to the TuyaMCU which interfaces during the upload process so need to isolate it. I cut the 3.3v power trace of WB3S and soldered a wire directly to the 3.3V pin of WB3S, Please check the below image
Create a file call autoexec.bat with below content
Home Assistant Configuration
Home Assistant Automation
Home Assistant Dashboard

This Fan controller is suitable for Indian homes with Roma fitting
Product information
MOBILE APP CONTROL: Apart from physical touch, this switch can also be used from anywhere in the world using “Smart Life” App. Live status of the Fan can also be checked on the App. This switch gives 5 speed options and can operate any type of Fan.
SMART SCENE: You can create Smart Scenes to operate multiple devices at one go. Just add the devices in one group and operate them together. E.g. “Welcome Home” scene to Turn on the Fan & Turn on the Lights, etc.
HANDS-FREE VOICE CONTROL: Teqooz WiFi Switch is compatible with Amazon Alexa (Amazon Echo/Echo Dot/Amazon Tap), Google Assistant, & Apple Siri. So you can control your devices through voice and enjoy hands-free experience.
GLASS FINISH: GREAT LOOKS & Stylish Aesthetics add Glamour to the Décor of the room.
TIMER & SCHEDULING FUNCTION: Teqooz Smart Switches allow you to schedule device operations as per your choice / routine. E.g. Set Fan Speed to Maximum at 4 am. Turn off the Office Fans at 7 pm everyday, etc.








Images of User Manual




Unboxing Images













Smart Life App Images



Technical Specs
Controller MCU: WB3S
TuyaMCU: Unknown
Darlington Transistor Array: ULN2003A
Teardown Images















Preparing to Flash
Download the firmware bin file from here https://github.com/openshwprojects/OpenBK7231T_App, min version 1.11.1
WB3S TX and RX is connected to the TuyaMCU which interfaces during the upload process so need to isolate it. I cut the 3.3v power trace of WB3S and soldered a wire directly to the 3.3V pin of WB3S, Please check the below image

Create a file call autoexec.bat with below content
// start MCU driver
startDriver TuyaMCU
// fan on/off channel
setChannelType 1 toggle
//fan speed channel
setChannelType 3 OffLowestLowMidHighHighest
// child Lock channel
setChannelType 14 toggle
// countdown channel
setChannelType 22 TextField
// remaining timer channel
setChannelType 23 TextField
// link output 1 to channel 1
linkTuyaMCUOutputToChannel 1 1 1
// link output 3 to channel 3
linkTuyaMCUOutputToChannel 3 2 3
// link output 14 to channel 14
linkTuyaMCUOutputToChannel 14 1 14
// link output 22 to channel 22
linkTuyaMCUOutputToChannel 22 2 22
// link output 23 to channel 23
linkTuyaMCUOutputToChannel 23 2 23
Home Assistant Configuration
mqtt:
fan:
- name: "obk-livingroom-2 Ceiling Fan"
unique_id: "1216C29E_1"
icon: mdi:ceiling-fan
availability:
- topic: "obk-livingroom-2/connected"
state_topic: "obk-livingroom-2/1/get"
command_topic: "obk-livingroom-2/1/set"
payload_on: 1
payload_off: 0
percentage_state_topic: "obk-livingroom-2/3/get"
percentage_value_template: >-
{% if value == '0' %}
0
{% elif value == '1' %}
10
{% elif value == '2' %}
30
{% elif value == '3' %}
50
{% elif value == '4' %}
70
{% else %}
100
{% endif %}
percentage_command_topic: "obk-livingroom-2/3/set"
percentage_command_template: >-
{% if value <= 1 %}
0
{% elif value > 1 and value < 20 %}
1
{% elif value >= 20 and value < 40 %}
2
{% elif value >= 40 and value < 60 %}
3
{% elif value >= 60 and value < 80 %}
4
{% else %}
5
{% endif %}
qos: 1
retain: true
number:
- name: "obk-livingroom-2 Ceiling Fan Countdown"
unique_id: "1216C29E_22"
icon: mdi:cog-counterclockwise
availability:
- topic: "obk-livingroom-2/connected"
state_topic: "obk-livingroom-2/22/get"
command_topic: "obk-livingroom-2/22/set"
qos: 1
switch:
- name: "obk-livingroom-2 Ceiling Fan Child Lock"
unique_id: "1216C29E_14"
icon: mdi:toggle-switch
availability:
- topic: "obk-livingroom-2/connected"
state_topic: "obk-livingroom-2/14/get"
state_on: 1
state_off: 0
command_topic: "obk-livingroom-2/14/set"
payload_on: 1
payload_off: 0
qos: 1
retain: true
sensor:
- name: "obk-livingroom-2 IP"
unique_id: "1216C29E_IP"
icon: mdi:ip-network
availability:
- topic: "obk-livingroom-2/connected"
state_topic: "obk-livingroom-2/IP/get"
qos: 1
switch:
- platform: template
switches:
living_room_ceiling_fan_speed_lowest:
friendly_name: Lowest
unique_id: "living_room_ceiling_fan_speed_1"
icon_template: >-
mdi:fan-speed-1
value_template: "{{ is_state('input_number.living_room_ceiling_fan_speed', '1.0') and is_state('fan.obk_livingroom_2_ceiling_fan', 'on') }}"
turn_on:
- service: fan.turn_on
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
- service: fan.set_percentage
data:
percentage: 10
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
turn_off:
- service: fan.turn_off
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
living_room_ceiling_fan_speed_low:
friendly_name: Low
unique_id: "living_room_ceiling_fan_speed_2"
icon_template: >-
mdi:fan-speed-2
value_template: "{{ is_state('input_number.living_room_ceiling_fan_speed', '2.0') and is_state('fan.obk_livingroom_2_ceiling_fan', 'on') }}"
turn_on:
- service: fan.turn_on
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
- service: fan.set_percentage
data:
percentage: 30
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
turn_off:
- service: fan.turn_off
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
living_room_ceiling_fan_speed_med:
friendly_name: Medium
unique_id: "living_room_ceiling_fan_speed_3"
icon_template: >-
mdi:fan-speed-3
value_template: "{{ is_state('input_number.living_room_ceiling_fan_speed', '3.0') and is_state('fan.obk_livingroom_2_ceiling_fan', 'on') }}"
turn_on:
- service: fan.turn_on
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
- service: fan.set_percentage
data:
percentage: 50
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
turn_off:
- service: fan.turn_off
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
living_room_ceiling_fan_speed_high:
friendly_name: High
unique_id: "living_room_ceiling_fan_speed_4"
icon_template: >-
mdi:fan
value_template: "{{ is_state('input_number.living_room_ceiling_fan_speed', '4.0') and is_state('fan.obk_livingroom_2_ceiling_fan', 'on') }}"
turn_on:
- service: fan.turn_on
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
- service: fan.set_percentage
data:
percentage: 70
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
turn_off:
- service: fan.turn_off
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
living_room_ceiling_fan_speed_highest:
friendly_name: Highest
icon_template: >-
mdi:fan
unique_id: "living_room_ceiling_fan_speed_5"
value_template: "{{ is_state('input_number.living_room_ceiling_fan_speed', '5.0') and is_state('fan.obk_livingroom_2_ceiling_fan', 'on') }}"
turn_on:
- service: fan.turn_on
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
- service: fan.set_percentage
data:
percentage: 90
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
turn_off:
- service: fan.turn_off
target:
entity_id: fan.obk_livingroom_2_ceiling_fan
Home Assistant Automation
alias: 'Living Room : Capture Ceiling Fan Speed'
description: ''
trigger:
- platform: mqtt
topic: obk-livingroom-2/3/get
condition:
- condition: template
value_template: '{{ trigger.payload | int > -1 }}'
action:
- service: input_number.set_value
data:
value: '{{ trigger.payload | int }}'
target:
entity_id: input_number.living_room_ceiling_fan_speed
mode: restart
Home Assistant Dashboard

Comments
Try to interpret it and translate it into Polish reality. [Read more]
The friend is from India. Thanks for the presentations, good job. [Read more]
This is a controller intended to control ceiling fans, not bathroom fans (in Polish reality ;-) ) https://obrazki.elektroda.pl/3167439000_1658922105_thumb.jpg [Read more]
Thanks for this @marioalmeida Does it fit for standard uk switch and how thick is the back plate? Also, does this come with 433mhz remote? Added after 2 [minutes]: I tried that tuya fan controller... [Read more]
As far as I know, the QIACHIP Universal WIFI Ceiling Fan Light Remote Control Kit (model: KLCW-110v/220v) recently reviewed by Jennifer has RF remote https://www.elektroda.com/rtvforum/topic3895301.ht... [Read more]
No, you would need this kind of fitting which is very common in Indian homes https://obrazki.elektroda.pl/1504783800_1659094476_thumb.jpg No remote [Read more]
It's just rare to find wifi fan controller with five speed, mostly it's 3 speed like with the sonoff & qiachip [Read more]
hey can u help me with pin settings for this device, I just ordered one and will flash Openbeken [Read more]
Hello @deepakbluru , for this device you need to create autoexec.bat, do you know how? [Read more]
how did you come up with the autoexec.bat file [Read more]
The procedure of autoexec.bat file scripting for TuyaMCU devices is described in detail here: TuyaMCU flashing, setup and configuration guide - configure dpIDs for Home Assistant [Read more]
Home Assistant Error Configuration warnings Invalid config for 'mqtt' at configuration.yaml, line 14: 'mqtt' is an invalid option for 'mqtt', check: mqtt->0->mqtt [Read more]
Didn't they change YAML syntax a bit since the first post was made? [Read more]
i am alter many time still same error https://obrazki.elektroda.pl/3863848300_1733811192_thumb.jpg Added after 1 [minutes]: This is my config OpenBeken Firmware working very well but HA Mqtt... [Read more]
am mqtt code simply way and working very well . Home Assistant Mushroom Fan card use 100%. no error for mqtt yaml check my all screen shots. Once again thankyou for all Openbeken Firmware Team, elektroda,... [Read more]