devices.esphome.io

TomZN TOB9-VAP

TomZN TOB9-VAP

Device Type: misc
Electrical Standard: global
Board: bk72xx
Difficulty: Disassembly required, 3/5

Notes

  • Uses BL0942 for energy monitoring, which requires calibration
  • Uses an H-Bridge for controlling the output instead of a standard relay. One key difference is that the H-Bridge retains the last position upon power off without the need of restore_mode

Product images

device

board

Programming

Tuya Cloudcutter was not able to work for this device (with firmware v1.0.15). If your device has an older firmware, it may be worth a try.

This device is powered by a CBU board (BK7231N), you can read LibreTiny's instructions on how to flash it.

Disassembling this device is simple, provided you find a way to remove the golden tubes. Here is one way:

disassembling

GPIO Pinout

PinFunctionNotes
GPIO09Red LEDinverted
GPIO10RX for BL0942RX1
GPIO11TX for BL0942TX1
GPIO15Blue LED (status)inverted
GPIO17Buttoninverted
GPIO24Bridge forwardpulse
GPIO26Bridge reversepulse

Basic Configuration

esphome:
name: TomZN.TOB9-VAP
min_version: 2024.12.0
bk72xx:
board: cbu
logger:
captive_portal:
uart:
tx_pin: TX1
rx_pin: RX1
baud_rate: 4800
stop_bits: 1
binary_sensor:
- platform: gpio
id: power_button
pin:
number: 17
inverted: true
mode: INPUT_PULLUP
on_multi_click:
- timing:
- ON for at most 1s
- OFF for at least 0.2s
then:
switch.toggle: main_switch
- timing:
- ON for at least 4s
then:
button.press: reset
output:
- platform: libretiny_pwm
id: red_led_output
pin:
number: P9
inverted: true
light:
- platform: status_led
id: blue_led
pin:
number: P15
inverted: true
- platform: monochromatic
id: red_led
output: red_led_output
switch:
- platform: hbridge
name: Switch
id: main_switch
on_pin: GPIO24
off_pin: GPIO26
pulse_length: 60ms
wait_time: 30ms
on_turn_on:
light.turn_on: red_led
on_turn_off:
light.turn_off: red_led
sensor:
- platform: bl0942
line_frequency: 50Hz
update_interval: 10s
current:
name: Current
filters:
# The chip reports some current even when there is no load
- lambda: if (x < 0.02) return 0.0; else return x;
voltage:
name: Voltage
power:
name: Power
filters:
# The chip reports some power even when there is no load
- lambda: if (x < 0.5) return 0.0; else return x;
energy:
name: Energy
unit_of_measurement: kWh
frequency:
name: Frequency
accuracy_decimals: 2
Edit this page on GitHub