Hello,
here's another variant of the S11 bought on taobao.
After some tinkering I can not seem to find a way to restore power from USB (still workin from UART); any help is appreciated.
Cheers
PS: working on compiling an esphome file from previous posts :
here's another variant of the S11 bought on taobao.
After some tinkering I can not seem to find a way to restore power from USB (still workin from UART); any help is appreciated.
Cheers

PS: working on compiling an esphome file from previous posts :
Quote:
esphome:
name: tuya_rf_blaster_s11
external_components:
- source:
type: local
path: components
components: [ tuya_rf ]
bk72xx:
board: cbu
framework:
version: latest
logger:
web_server:
version: 3
captive_portal:
mdns:
api:
encryption:
key: !secret esphome_encryption_key
ota:
platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
#status led
output:
platform: gpio
id: status
pin: P9
#reset button, it has an external pull-down in my board
binary_sensor:
- platform: gpio
id: reset_button
pin: P23
#rf transmitter and receiver
tuya_rf:
id: rf
receiver_disabled: true
dump: raw
#for the ir leds
remote_transmitter:
id: ir
pin: P7
carrier_duty_percent: 50%
#for the ir receiver
remote_receiver:
pin:
number: P8
inverted: true
dump: nec
sensor:
- platform: uptime
name: Uptime
button:
- platform: restart
name: "restart"
- platform: template
name: irtest
web_server:
sorting_weight: 1000
on_press:
- remote_transmitter.transmit_nec:
transmitter_id: ir
address: 0xFA05
command: 0xEB14
command_repeats: 1
- platform: template
name: turn off receiver
web_server:
sorting_weight: 1010
on_press:
- tuya_rf.turn_off_receiver:
- platform: template
name: turn on receiver
web_server:
sorting_weight: 1020
on_press:
- tuya_rf.turn_on_receiver:
- platform: template
name: play/pause
web_server:
sorting_weight: 10
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6042,-1106,391,-1106,391,-391,1106,-333,1106,-391,1106,-391,1106,-333,1106,-391,1106,-391,1106,-1106,391,-1106,391,-391,1106,-1106,391,-1106,391,-391,1106,-1106,391,-391,1106,-1106,391,-391,1106,-1106,391,-1106,391,-1106,391,-391,1106,-391,1106,-1106,391,-391,1106,-391,1106,-391,1106,-1106,333,-1106]
code: [6027, -1093, 375, -1145, 355, -375, 1093, -406, 1094, -389, 1079, -406, 1094, -374, 1114, -386, 1094, -374, 1094, -1145, 354, -1096, 373, -406, 1094, -1145, 323, -1125, 375, -375, 1114, -1104, 375, -406, 1094, -1114, 354, -406, 1093, -1125,
344, -1145, 386, -1093, 375, -375, 1114, -355, 1093, -1125, 406, -344, 1145, -355, 1124, -344, 1125, -1114, 386, -1093]
- output.turn_off: status
- platform: template
name: 1
web_server:
sorting_weight: 20
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6750,-1106,391,-1106,391,-391,1106,-391,1106,-391,1106,-391,1106,-391,1106,-391,1106,-391,1106,-1106,332,-1106,391,-391,1106,-1106,391,-1106,391,-391,1106,-1106,391,-391,1106,-1106,332,-391,1106,-1106,391,-1106,391,-1106,391,-1106,391,-1106,391,-391,1106,-1106,391,-391,1106,-391,1106,-391,1106,-391]
code: [6744, -1115, 386, -1095, 375, -375, 1125, -348, 1099, -398, 1126, -344, 1107, -424, 1094, -344, 1126, -375, 1146, -1107, 352, -1096, 394, -345, 1144, -1075, 406, -1095, 378, -379, 1118, -1095, 375, -409, 1112, -1073, 376, -375, 1125, -1115,
354, -1094, 407, -1094, 375, -1115, 386, -1094, 375, -406, 1115, -1105, 388, -362, 1094, -376, 1115, -385, 1094, -376]
- output.turn_off: status
- platform: template
name: 2
web_server:
sorting_weight: 30
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6013,-1093,387,-1093,341,-387,1093,-387,1093,-387,1128,-341,1128,-387,1093,-387,1093,-387,1128,-1093,387,-1093,387,-387,1093,-1093,387,-1093,387,-387,1128,-1093,387,-387,1128,-1093,387,-387,1093,-1128,387,-1093,387,-1093,387,-1093,387,-387,1093,-387,1128,-1093,387,-387,1093,-387,1093,-387,1093,-1093]
code: [6061, -1095, 344, -1146, 354, -375, 1095, -406, 1129, -349, 1117, -375, 1126, -344, 1146, -354, 1126, -375, 1094, -1115, 386, -1097, 372, -375, 1129, -1100, 366, -1094, 407, -344, 1146, -1074, 409, -341, 1125, -1115, 386, -344, 1125, -1094,
407, -1115, 354, -1126, 375, -1099, 391, -354, 1126, -375, 1094, -1146, 386, -344, 1126, -375, 1094, -378, 1100, -1117]
- output.turn_off: status
- platform: template
name: 3
web_server:
sorting_weight: 40
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6803,-1105,379,-1105,379,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-379,1105,-1105,379,-379]
code: [6768, -1079, 406, -1094, 376, -396, 1073, -406, 1095, -375, 1146, -323, 1126, -375, 1126, -344, 1161, -370, 1095, -1094, 375, -1115, 386, -344, 1125, -1095, 427, -1073, 375, -375, 1126, -1115, 354, -375, 1126, -1094, 376, -375, 1140, -1080,
375, -1094, 410, -1099, 367, -406, 1095, -1105, 364, -406, 1094, -1095, 375, -406, 1115, -355, 1125, -1095, 375, -390]
- output.turn_off: status
- platform: template
name: 4
web_server:
sorting_weight: 50
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6005,-1105,379,-1105,379,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-1105,379,-1105,379,-379,1105,-379,1105,-379,1105,-1105,379,-379,1105,-379,1105,-1105,379,-1105]
code: [6034, -1115, 386, -1094, 375, -375, 1104, -400, 1091, -375, 1094, -407, 1115, -354, 1095, -406, 1094, -374, 1116, -1105, 375, -1094, 411, -385, 1080, -1095, 406, -1098, 380, -367, 1094, -1125, 376, -375, 1146, -1073, 379, -372, 1094, -1144,
357, -1094, 406, -1095, 389, -361, 1125, -376, 1094, -406, 1115, -1075, 374, -406, 1094, -386, 1084, -1094, 406, -1126]
- output.turn_off: status
- platform: template
name: 5
web_server:
sorting_weight: 60
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [6816,-1105,379,-1105,379,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-379]
code: [6784, -1094, 375, -1115, 386, -344, 1126, -375, 1135, -334, 1094, -407, 1094, -407, 1115, -354, 1126, -344, 1125, -1115, 386, -1094, 375, -375, 1126, -1108, 361, -1094, 407, -344, 1146, -1073, 407, -344, 1125, -1115, 386, -344, 1125, -1094,
422, -1100, 354, -406, 1095, -1094, 389, -1080, 407, -344, 1156, -1115, 355, -375, 1094, -1126, 375, -388, 1081, -407]
- output.turn_off: status
- platform: template
name: 6
web_server:
sorting_weight: 70
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
#code: [5933,-1104,379,-1104,379,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-379,1104,-1104,379,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-379,1104,-379,1104,-1104,379,-379,1104,-1104,379,-379,1104,-1104]
code: [6034, -1115, 386, -1125, 344, -407, 1097, -386, 1080, -407, 1094, -375, 1115, -386, 1097, -372, 1094, -407, 1115, -1104, 344, -1126, 375, -396, 1074, -1094, 406, -1099, 391, -386, 1094, -1126, 344, -406, 1115, -1105, 344, -406, 1095, -1146,
323, -1106, 395, -375, 1129, -1097, 369, -375, 1126, -375, 1146, -1073, 376, -406, 1094, -1115, 355, -375, 1125, -1095]
- output.turn_off: status
- platform: template
name: random
web_server:
sorting_weight: 80
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6046,-1103,380,-1103,380,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-1103,380,-1103,380,-380,1103,-1103,380,-1103,380,-380,1103,-1103,380,-380,1103,-1103,380,-380,1103,-1103,380,-1103,380,-380,1103,-380,1103,-380,1103,-380,1103,-1103,380,-380,1103,-1103,380,-1103,380,-1103]
- output.turn_off: status
- platform: template
name: invert
web_server:
sorting_weight: 90
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6728,-1105,333,-1105,388,-388,1105,-388,1105,-388,1105,-388,1105,-388,1105,-388,1105,-388,1105,-1105,388,-1105,388,-388,1105,-1105,388,-1105,388,-388,1105,-1105,388,-388,1105,-1105,388,-388,1105,-1105,388,-1105,388,-388,1105,-388,1105,-1105,333,-388,1105,-1105,388,-388,1105,-1105,388,-1105,388,-333]
- output.turn_off: status
- platform: template
name: 1h
web_server:
sorting_weight: 100
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6068,-1106,390,-1106,390,-390,1106,-390,1106,-390,1106,-390,1106,-390,1106,-390,1106,-390,1106,-1106,390,-1106,332,-390,1106,-1106,332,-1106,390,-390,1106,-1106,390,-390,1106,-1106,332,-390,1106,-1106,390,-332,1106,-1106,390,-390,1106,-390,1106,-1106,390,-390,1106,-1106,332,-390,1106,-1106,390,-1106]
- output.turn_off: status
- platform: template
name: 2h
web_server:
sorting_weight: 110
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6698,-1108,392,-1108,392,-392,1108,-392,1108,-392,1108,-392,1108,-331,1108,-392,1108,-392,1108,-1108,392,-1108,331,-392,1108,-1108,392,-1108,392,-392,1108,-1108,392,-392,1108,-1108,392,-392,1108,-1108,392,-392,1108,-392,1108,-392,1108,-1108,392,-1108,392,-392,1108,-1108,392,-1108,392,-1108,392,-331]
- output.turn_off: status
- platform: template
name: 4h
web_server:
sorting_weight: 120
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6713,-1103,380,-1103,380,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-380,1103,-1103,380,-1103,380,-380,1103,-1103,380,-1103,380,-380,1103,-1103,380,-380,1103,-1103,380,-380,1103,-1103,380,-380,1103,-380,1103,-1103,380,-1103,380,-1103,380,-380,1103,-1103,380,-1103,380,-380,1103,-380]
- output.turn_off: status
- platform: template
name: 8h
web_server:
sorting_weight: 130
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6041,-1104,379,-1104,379,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-379,1104,-1104,379,-379,1104,-1104,379,-1104,379,-379,1104,-1104,379,-379,1104,-1104,379,-379,1104,-379,1104,-1104,379,-379,1104,-1104]
- output.turn_off: status
- platform: template
name: luz
web_server:
sorting_weight: 140
on_press:
- output.turn_on: status
- remote_transmitter.transmit_raw:
transmitter_id: rf
repeat:
times: 7
wait_time: 0s
code: [6756,-1105,379,-1105,379,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-1105,379,-379,1105,-1105,379,-379,1105,-1105,379,-379]
- output.turn_off: status