Esphome: mqtt to a binary_sensor instead of switch

I try to get my curtain switch running.
I can do press manually on device up/down/stop (works via binary_sensor).
Now I want to control it via MQTT. I was estonished that
with just enable mqtt broker I get 2 topics to my switches. How that? But I don’t want to control the switches but “simulate” pressing the buttons (binary_sensor). Is this possible and how? The advantage is, that light goesn on and it can’t happen that both relais get active at same time.

esphome:
  name: moes

bk72xx:
  board: generic-bk7231n-qfn32-tuya

logger:

web_server:

captive_portal:

mdns:

#api:
#  password: ""

mqtt:
  broker: "192.168.3.20"

ota:
  password: ""

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:

button:
  - platform: restart
    name: Restart

debug:
  update_interval: 30s

text_sensor:
  - platform: debug
    reset_reason:
      name: Reset Reason
  - platform: libretiny
    version:
      name: LibreTiny Version

sensor:
  - platform: uptime
    name: Uptime

output:
  - platform: gpio
    id: output_led_up
    pin: P14
  - platform: gpio
    id: output_led_down
    pin: P23
  - platform: gpio
    id: output_led_stop
    pin: P8

light:
  - platform: binary
    id: light_switch_up
    output: output_led_up
  - platform: binary
    id: light_switch_down
    output: output_led_down
  - platform: binary
    id: light_switch_stop
    output: output_led_stop

binary_sensor:
  - platform: gpio
    id: binary_switch_up
    pin:
      number: P24
      inverted: true
      mode: INPUT_PULLUP
    on_press:
      then:
        if:
          condition:
            switch.is_on: switch_down
          then:
            switch.turn_off: switch_down
          else:
            switch.toggle: switch_up        
  - platform: gpio
    id: binary_switch_down
    pin:
      number: P7
      inverted: true
      mode: INPUT_PULLUP
    on_press:
      then:
        if:
          condition:
            switch.is_on: switch_up
          then:
            switch.turn_off: switch_up
          else:
            switch.toggle: switch_down        
  - platform: gpio
    id: binary_switch_stop
    pin:
      number: P10
      inverted: true
      mode: INPUT_PULLUP
    on_press:
      then:
        - switch.turn_off: switch_up
        - switch.turn_off: switch_down

switch:
  - platform: gpio
    id: switch_up
    name: Relay up
    pin: P6
    on_turn_on:
      - light.turn_on: light_switch_up
    on_turn_off:
      - light.turn_off: light_switch_up
  - platform: gpio
    id: switch_down
    name: Relay down
    pin: P9
    on_turn_on:
      - light.turn_on: light_switch_down
    on_turn_off:
      - light.turn_off: light_switch_down

status_led:
  pin: P26

When you enable mqtt in esphome all your esphome entities should be exposed in mqtt. That’s how it works.

Well, maybe - I won’t deny that. But I can’t see them it in MQTT Explorer.
But anyhow, I added some topics manually, like

mqtt:
  broker: "192.168.3.20"
  on_message:
    - topic: moes/up
      qos: 0
      then:
        - if:
            condition:
              switch.is_on: switch_down
            then:
              - switch.turn_off: switch_down
              - delay: 200ms
        - switch.toggle: switch_up        
...

… and these doesn’t show up as well.
What I see in MQTT Explorer is anyhow confusing:
There are 3 subpoints, moes (my device), homeassitant and esphome, while homeassistant has most subpoints in sensor.
Among them
homeassistant/sensor/moes/command_up
homeassistant/sensor/moes/command_down
homeassistant/sensor/moes/command_stop
Wondering about the name command_xx, I don’t find this string in my yaml !?

If you say all entities are shown up, what I can’t see is the lights (leds) to set/reset.