devices.esphome.io
Zemismart Switch TB21 TB22 TB23
Zemismart Switch TB21 TB22 TB23
Device Type: switchElectrical Standard: globalBoard: esp8266
      
  
        
This switch comes in three variants with 1 to 3 gangs (TB21, TB22, TB23). They all use the same config, you just drop the extra relays/inputs
Manufacturer: Zemismart
How to flash
Open
Remove the button front, no screws, just use a small pointed tool to loose the holds on the sides.
      
  
        
There is no need to remove the circuit from the case, but it be easily lifted up from the sides. It is just held by the pin headers connecting to the relays board below
Pins
There are pads for RX, TX, 3.3v, GND and I00 nicely marked on the back of the board. You can just insert pins without soldering. Use this image to map the right connectors.
      
  
        
Basic Config
The green leds are used as status light and also as backlight, when the gang is off. It can be controlled to be always off.
substitutions:  node_id: switch-living  verbose_name: "Switch Living"
  switch_restore_mode: ALWAYS_OFF  switch1_name: Lamp 1  switch2_name: Lamp 2  switch3_name: Lamp 3
#####
esphome:
esp8266:  board: esp01_1m
binary_sensor:  - platform: gpio    id: button1    pin:      number: GPIO16      inverted: true    on_click:      - switch.toggle: relay1
  - platform: gpio    id: button2    pin:      number: GPIO5      inverted: true      mode: INPUT_PULLUP    on_click:      - switch.toggle: relay2
  - platform: gpio    id: button3    pin:      number: GPIO4      inverted: true      mode: INPUT_PULLUP    on_click:      - switch.toggle: relay3
switch:  - platform: gpio    name: ${switch1_name}    pin: GPIO13    id: relay1    restore_mode: ${switch_restore_mode}  - platform: gpio    name: ${switch2_name}    pin: GPIO12    id: relay2    restore_mode: ${switch_restore_mode}  - platform: gpio    name: ${switch3_name}    pin: GPIO14    id: relay3    restore_mode: ${switch_restore_mode}
light:  - platform: status_led    id: led_green    name: ${verbose_name} Backlight    restore_mode: ALWAYS_ON    entity_category: config    pin:      number: GPIO0      inverted: true