devices.esphome.io
TomZN TOB9-VAP
TomZN TOB9-VAP
Device Type: miscElectrical Standard: globalBoard: bk72xxDifficulty: 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
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:
GPIO Pinout
Pin | Function | Notes |
---|---|---|
GPIO09 | Red LED | inverted |
GPIO10 | RX for BL0942 | RX1 |
GPIO11 | TX for BL0942 | TX1 |
GPIO15 | Blue LED (status) | inverted |
GPIO17 | Button | inverted |
GPIO24 | Bridge forward | pulse |
GPIO26 | Bridge reverse | pulse |
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