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

Cool? Ranking DIY