sensor.py 864 B

1234567891011121314151617181920212223242526272829
  1. import esphome.codegen as cg
  2. import esphome.config_validation as cv
  3. from esphome.components import sensor
  4. from esphome.const import (
  5. STATE_CLASS_MEASUREMENT,
  6. ENTITY_CATEGORY_DIAGNOSTIC,
  7. )
  8. from . import ns, StreamServerComponent
  9. CONF_CONNECTION_COUNT = "connection_count"
  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_CONNECTION_COUNT): sensor.sensor_schema(
  15. accuracy_decimals=0,
  16. state_class=STATE_CLASS_MEASUREMENT,
  17. entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
  18. ),
  19. }
  20. )
  21. async def to_code(config):
  22. server = await cg.get_variable(config[CONF_STREAM_SERVER])
  23. sens = await sensor.new_sensor(config[CONF_CONNECTION_COUNT])
  24. cg.add(server.set_connection_count_sensor(sens))