1 """The rpi_camera component."""
3 import voluptuous
as vol
16 CONF_OVERLAY_METADATA,
17 CONF_OVERLAY_TIMESTAMP,
20 DEFAULT_HORIZONTAL_FLIP,
22 DEFAULT_IMAGE_QUALITY,
23 DEFAULT_IMAGE_ROTATION,
27 DEFAULT_VERTICAL_FLIP,
31 CONFIG_SCHEMA = vol.Schema(
35 vol.Optional(CONF_FILE_PATH): cv.isfile,
37 CONF_HORIZONTAL_FLIP, default=DEFAULT_HORIZONTAL_FLIP
38 ): vol.All(vol.Coerce(int), vol.Range(min=0, max=1)),
40 CONF_IMAGE_HEIGHT, default=DEFAULT_IMAGE_HEIGHT
43 CONF_IMAGE_QUALITY, default=DEFAULT_IMAGE_QUALITY
44 ): vol.All(vol.Coerce(int), vol.Range(min=0, max=100)),
46 CONF_IMAGE_ROTATION, default=DEFAULT_IMAGE_ROTATION
47 ): vol.All(vol.Coerce(int), vol.Range(min=0, max=359)),
48 vol.Optional(CONF_IMAGE_WIDTH, default=DEFAULT_IMAGE_WIDTH): vol.Coerce(
51 vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
52 vol.Optional(CONF_OVERLAY_METADATA): vol.All(
53 vol.Coerce(int), vol.Range(min=4, max=2056)
55 vol.Optional(CONF_OVERLAY_TIMESTAMP): cv.string,
56 vol.Optional(CONF_TIMELAPSE, default=DEFAULT_TIMELAPSE): vol.Coerce(
60 CONF_VERTICAL_FLIP, default=DEFAULT_VERTICAL_FLIP
61 ): vol.All(vol.Coerce(int), vol.Range(min=0, max=1)),
65 extra=vol.ALLOW_EXTRA,
69 def setup(hass: HomeAssistant, config: ConfigType) -> bool:
70 """Set up the rpi_camera integration."""
71 config_domain = config[DOMAIN]
73 CONF_FILE_PATH: config_domain.get(CONF_FILE_PATH),
74 CONF_HORIZONTAL_FLIP: config_domain.get(CONF_HORIZONTAL_FLIP),
75 CONF_IMAGE_WIDTH: config_domain.get(CONF_IMAGE_WIDTH),
76 CONF_IMAGE_HEIGHT: config_domain.get(CONF_IMAGE_HEIGHT),
77 CONF_IMAGE_QUALITY: config_domain.get(CONF_IMAGE_QUALITY),
78 CONF_IMAGE_ROTATION: config_domain.get(CONF_IMAGE_ROTATION),
79 CONF_NAME: config_domain.get(CONF_NAME),
80 CONF_OVERLAY_METADATA: config_domain.get(CONF_OVERLAY_METADATA),
81 CONF_OVERLAY_TIMESTAMP: config_domain.get(CONF_OVERLAY_TIMESTAMP),
82 CONF_TIMELAPSE: config_domain.get(CONF_TIMELAPSE),
83 CONF_VERTICAL_FLIP: config_domain.get(CONF_VERTICAL_FLIP),
86 discovery.load_platform(hass, Platform.CAMERA, DOMAIN, {}, config)
bool setup(HomeAssistant hass, ConfigType config)