binary_sensor.py 836 B

12345678910111213141516171819202122232425262728
  1. import esphome.codegen as cg
  2. import esphome.config_validation as cv
  3. from esphome.components import binary_sensor
  4. from esphome.const import (
  5. DEVICE_CLASS_CONNECTIVITY,
  6. ENTITY_CATEGORY_DIAGNOSTIC,
  7. )
  8. from . import ns, StreamServerComponent
  9. CONF_CONNECTED = "connected"
  10. CONF_STREAM_SERVER = "stream_server"
  11. CONFIG_SCHEMA = cv.Schema(
  12. {
  13. cv.GenerateID(CONF_STREAM_SERVER): cv.use_id(StreamServerComponent),
  14. cv.Required(CONF_CONNECTED): binary_sensor.binary_sensor_schema(
  15. device_class=DEVICE_CLASS_CONNECTIVITY,
  16. entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
  17. ),
  18. }
  19. )
  20. async def to_code(config):
  21. server = await cg.get_variable(config[CONF_STREAM_SERVER])
  22. sens = await binary_sensor.new_binary_sensor(config[CONF_CONNECTED])
  23. cg.add(server.set_connected_sensor(sens))