esphome:
  name: host-mode-many-entities-multi
  friendly_name: "Host Mode Many Entities Multiple Connections Test"

logger:

host:

api:

sensor:
  # 20 test sensors for faster testing with multiple connections
  - platform: template
    name: "Test Sensor 1"
    lambda: return 1.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 2"
    lambda: return 2.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 3"
    lambda: return 3.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 4"
    lambda: return 4.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 5"
    lambda: return 5.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 6"
    lambda: return 6.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 7"
    lambda: return 7.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 8"
    lambda: return 8.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 9"
    lambda: return 9.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 10"
    lambda: return 10.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 11"
    lambda: return 11.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 12"
    lambda: return 12.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 13"
    lambda: return 13.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 14"
    lambda: return 14.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 15"
    lambda: return 15.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 16"
    lambda: return 16.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 17"
    lambda: return 17.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 18"
    lambda: return 18.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 19"
    lambda: return 19.0;
    update_interval: 0.1s
  - platform: template
    name: "Test Sensor 20"
    lambda: return 20.0;
    update_interval: 0.1s

# Mixed entity types for comprehensive batching test
binary_sensor:
  - platform: template
    name: "Test Binary Sensor 1"
    lambda: return millis() % 1000 < 500;
  - platform: template
    name: "Test Binary Sensor 2"
    lambda: return millis() % 2000 < 1000;

text_sensor:
  - platform: template
    name: "Test Text Sensor 1"
    lambda: return std::string("Test Value 1");
  - platform: template
    name: "Test Text Sensor 2"
    lambda: return std::string("Test Value 2");
  - platform: version
    name: "ESPHome Version"

switch:
  - platform: template
    name: "Test Switch 1"
    lambda: return true;
    turn_on_action:
      - logger.log: "Switch 1 ON"
    turn_off_action:
      - logger.log: "Switch 1 OFF"

button:
  - platform: template
    name: "Test Button"
    on_press:
      - logger.log: "Button pressed"

number:
  - platform: template
    name: "Test Number"
    min_value: 0
    max_value: 100
    step: 1
    lambda: return 50.0;
    set_action:
      - logger.log: "Number set"
