EZO circuit set_sleep

Greetings, I have a battery powered esp32 so I need to reduce power consumption as much as possible but I am not able to put a EZO ph circuit in sleep mode.

my idea was to use “on_turn_on/off” of a switch to send command to ezo, but it does not work; moreover, the ezo circuit remain in stand-by as soon as I turn off the carrier board

esphome:
  name: "esp-torre"
  friendly_name: ESP-TORRE
  platform: esp32
  board: nodemcu-32s
  on_boot: 
    priority: 600
    then:
    - script.execute: check_deep_sleep #all'avvio controlla helper "no deep sleep"
    - switch.turn_on: Solar_manager_switch #all'avvio accendi il solar manager
    - switch.turn_on: EZO_circuit_switch #all'avvio accendi EZO
  on_shutdown:
    then:
      - switch.turn_off: Solar_manager_switch
      - switch.turn_off: EZO_circuit_switch

switch: 
  - platform: gpio #EZO carrier board
    pin: $EZO_circuit_pin
    id: EZO_circuit_switch
    internal: true
    on_turn_on:
    - lambda:  id(PH_ezo).get_device_information();
    on_turn_off:
    - lambda:  id(PH_ezo).set_sleep();

  - platform: ezo
    id: PH_ezo
    name: "PH Level"
    address: 0x63 #99
    accuracy_decimals: 2
    unit_of_measurement: PH
    state_class: "measurement"
    update_interval: $updating

any help will be appreciated