* Add support for PRESSURE_CBAR (centibars). This is the standard UOM for tensiometers. While the data could be converted into something like MBAR, and displayed like that, the correct UOM for this type of sensor is CBAR. Displaying it as MBAR would be the same as displaying air pressure as feet of Hg, while technically correct, it's hard to understand when reading. Adding support for this UOM will fix errors in the UI(statistics) about the unit not matching a unit of the device_class. * Add tests for PRESSURE_CBAR
712 lines
22 KiB
Python
712 lines
22 KiB
Python
"""Constants used by Home Assistant components."""
|
||
from __future__ import annotations
|
||
|
||
from typing import Final
|
||
|
||
MAJOR_VERSION: Final = 2021
|
||
MINOR_VERSION: Final = 12
|
||
PATCH_VERSION: Final = "0.dev0"
|
||
__short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}"
|
||
__version__: Final = f"{__short_version__}.{PATCH_VERSION}"
|
||
REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 8, 0)
|
||
# Truthy date string triggers showing related deprecation warning messages.
|
||
REQUIRED_NEXT_PYTHON_VER: Final[tuple[int, int, int]] = (3, 9, 0)
|
||
REQUIRED_NEXT_PYTHON_HA_RELEASE: Final = "2022.1"
|
||
|
||
# Format for platform files
|
||
PLATFORM_FORMAT: Final = "{platform}.{domain}"
|
||
|
||
# Can be used to specify a catch all when registering state or event listeners.
|
||
MATCH_ALL: Final = "*"
|
||
|
||
# Entity target all constant
|
||
ENTITY_MATCH_NONE: Final = "none"
|
||
ENTITY_MATCH_ALL: Final = "all"
|
||
|
||
# If no name is specified
|
||
DEVICE_DEFAULT_NAME: Final = "Unnamed Device"
|
||
|
||
# Max characters for data stored in the recorder (changes to these limits would require
|
||
# a database migration)
|
||
MAX_LENGTH_EVENT_EVENT_TYPE: Final = 64
|
||
MAX_LENGTH_EVENT_ORIGIN: Final = 32
|
||
MAX_LENGTH_EVENT_CONTEXT_ID: Final = 36
|
||
MAX_LENGTH_STATE_DOMAIN: Final = 64
|
||
MAX_LENGTH_STATE_ENTITY_ID: Final = 255
|
||
MAX_LENGTH_STATE_STATE: Final = 255
|
||
|
||
# Sun events
|
||
SUN_EVENT_SUNSET: Final = "sunset"
|
||
SUN_EVENT_SUNRISE: Final = "sunrise"
|
||
|
||
# #### CONFIG ####
|
||
CONF_ABOVE: Final = "above"
|
||
CONF_ACCESS_TOKEN: Final = "access_token"
|
||
CONF_ADDRESS: Final = "address"
|
||
CONF_AFTER: Final = "after"
|
||
CONF_ALIAS: Final = "alias"
|
||
CONF_ALLOWLIST_EXTERNAL_URLS: Final = "allowlist_external_urls"
|
||
CONF_API_KEY: Final = "api_key"
|
||
CONF_API_TOKEN: Final = "api_token"
|
||
CONF_API_VERSION: Final = "api_version"
|
||
CONF_ARMING_TIME: Final = "arming_time"
|
||
CONF_AT: Final = "at"
|
||
CONF_ATTRIBUTE: Final = "attribute"
|
||
CONF_AUTH_MFA_MODULES: Final = "auth_mfa_modules"
|
||
CONF_AUTH_PROVIDERS: Final = "auth_providers"
|
||
CONF_AUTHENTICATION: Final = "authentication"
|
||
CONF_BASE: Final = "base"
|
||
CONF_BEFORE: Final = "before"
|
||
CONF_BELOW: Final = "below"
|
||
CONF_BINARY_SENSORS: Final = "binary_sensors"
|
||
CONF_BRIGHTNESS: Final = "brightness"
|
||
CONF_BROADCAST_ADDRESS: Final = "broadcast_address"
|
||
CONF_BROADCAST_PORT: Final = "broadcast_port"
|
||
CONF_CHOOSE: Final = "choose"
|
||
CONF_CLIENT_ID: Final = "client_id"
|
||
CONF_CLIENT_SECRET: Final = "client_secret"
|
||
CONF_CODE: Final = "code"
|
||
CONF_COLOR_TEMP: Final = "color_temp"
|
||
CONF_COMMAND: Final = "command"
|
||
CONF_COMMAND_CLOSE: Final = "command_close"
|
||
CONF_COMMAND_OFF: Final = "command_off"
|
||
CONF_COMMAND_ON: Final = "command_on"
|
||
CONF_COMMAND_OPEN: Final = "command_open"
|
||
CONF_COMMAND_STATE: Final = "command_state"
|
||
CONF_COMMAND_STOP: Final = "command_stop"
|
||
CONF_CONDITION: Final = "condition"
|
||
CONF_CONDITIONS: Final = "conditions"
|
||
CONF_CONTINUE_ON_TIMEOUT: Final = "continue_on_timeout"
|
||
CONF_COUNT: Final = "count"
|
||
CONF_COVERS: Final = "covers"
|
||
CONF_CURRENCY: Final = "currency"
|
||
CONF_CUSTOMIZE: Final = "customize"
|
||
CONF_CUSTOMIZE_DOMAIN: Final = "customize_domain"
|
||
CONF_CUSTOMIZE_GLOB: Final = "customize_glob"
|
||
CONF_DEFAULT: Final = "default"
|
||
CONF_DELAY: Final = "delay"
|
||
CONF_DELAY_TIME: Final = "delay_time"
|
||
CONF_DESCRIPTION: Final = "description"
|
||
CONF_DEVICE: Final = "device"
|
||
CONF_DEVICES: Final = "devices"
|
||
CONF_DEVICE_CLASS: Final = "device_class"
|
||
CONF_DEVICE_ID: Final = "device_id"
|
||
CONF_DISARM_AFTER_TRIGGER: Final = "disarm_after_trigger"
|
||
CONF_DISCOVERY: Final = "discovery"
|
||
CONF_DISKS: Final = "disks"
|
||
CONF_DISPLAY_CURRENCY: Final = "display_currency"
|
||
CONF_DISPLAY_OPTIONS: Final = "display_options"
|
||
CONF_DOMAIN: Final = "domain"
|
||
CONF_DOMAINS: Final = "domains"
|
||
CONF_EFFECT: Final = "effect"
|
||
CONF_ELEVATION: Final = "elevation"
|
||
CONF_EMAIL: Final = "email"
|
||
CONF_ENTITIES: Final = "entities"
|
||
CONF_ENTITY_CATEGORY: Final = "entity_category"
|
||
CONF_ENTITY_ID: Final = "entity_id"
|
||
CONF_ENTITY_NAMESPACE: Final = "entity_namespace"
|
||
CONF_ENTITY_PICTURE_TEMPLATE: Final = "entity_picture_template"
|
||
CONF_EVENT: Final = "event"
|
||
CONF_EVENT_DATA: Final = "event_data"
|
||
CONF_EVENT_DATA_TEMPLATE: Final = "event_data_template"
|
||
CONF_EXCLUDE: Final = "exclude"
|
||
CONF_EXTERNAL_URL: Final = "external_url"
|
||
CONF_FILENAME: Final = "filename"
|
||
CONF_FILE_PATH: Final = "file_path"
|
||
CONF_FOR: Final = "for"
|
||
CONF_FORCE_UPDATE: Final = "force_update"
|
||
CONF_FRIENDLY_NAME: Final = "friendly_name"
|
||
CONF_FRIENDLY_NAME_TEMPLATE: Final = "friendly_name_template"
|
||
CONF_HEADERS: Final = "headers"
|
||
CONF_HOST: Final = "host"
|
||
CONF_HOSTS: Final = "hosts"
|
||
CONF_HS: Final = "hs"
|
||
CONF_ICON: Final = "icon"
|
||
CONF_ICON_TEMPLATE: Final = "icon_template"
|
||
CONF_ID: Final = "id"
|
||
CONF_INCLUDE: Final = "include"
|
||
CONF_INTERNAL_URL: Final = "internal_url"
|
||
CONF_IP_ADDRESS: Final = "ip_address"
|
||
CONF_LATITUDE: Final = "latitude"
|
||
CONF_LEGACY_TEMPLATES: Final = "legacy_templates"
|
||
CONF_LIGHTS: Final = "lights"
|
||
CONF_LONGITUDE: Final = "longitude"
|
||
CONF_MAC: Final = "mac"
|
||
CONF_MAXIMUM: Final = "maximum"
|
||
CONF_MEDIA_DIRS: Final = "media_dirs"
|
||
CONF_METHOD: Final = "method"
|
||
CONF_MINIMUM: Final = "minimum"
|
||
CONF_MODE: Final = "mode"
|
||
CONF_MONITORED_CONDITIONS: Final = "monitored_conditions"
|
||
CONF_MONITORED_VARIABLES: Final = "monitored_variables"
|
||
CONF_NAME: Final = "name"
|
||
CONF_OFFSET: Final = "offset"
|
||
CONF_OPTIMISTIC: Final = "optimistic"
|
||
CONF_PACKAGES: Final = "packages"
|
||
CONF_PARAMS: Final = "params"
|
||
CONF_PASSWORD: Final = "password"
|
||
CONF_PATH: Final = "path"
|
||
CONF_PAYLOAD: Final = "payload"
|
||
CONF_PAYLOAD_OFF: Final = "payload_off"
|
||
CONF_PAYLOAD_ON: Final = "payload_on"
|
||
CONF_PENDING_TIME: Final = "pending_time"
|
||
CONF_PIN: Final = "pin"
|
||
CONF_PLATFORM: Final = "platform"
|
||
CONF_PORT: Final = "port"
|
||
CONF_PREFIX: Final = "prefix"
|
||
CONF_PROFILE_NAME: Final = "profile_name"
|
||
CONF_PROTOCOL: Final = "protocol"
|
||
CONF_PROXY_SSL: Final = "proxy_ssl"
|
||
CONF_QUOTE: Final = "quote"
|
||
CONF_RADIUS: Final = "radius"
|
||
CONF_RECIPIENT: Final = "recipient"
|
||
CONF_REGION: Final = "region"
|
||
CONF_REPEAT: Final = "repeat"
|
||
CONF_RESOURCE: Final = "resource"
|
||
CONF_RESOURCES: Final = "resources"
|
||
CONF_RESOURCE_TEMPLATE: Final = "resource_template"
|
||
CONF_RGB: Final = "rgb"
|
||
CONF_ROOM: Final = "room"
|
||
CONF_SCAN_INTERVAL: Final = "scan_interval"
|
||
CONF_SCENE: Final = "scene"
|
||
CONF_SELECTOR: Final = "selector"
|
||
CONF_SENDER: Final = "sender"
|
||
CONF_SENSORS: Final = "sensors"
|
||
CONF_SENSOR_TYPE: Final = "sensor_type"
|
||
CONF_SEQUENCE: Final = "sequence"
|
||
CONF_SERVICE: Final = "service"
|
||
CONF_SERVICE_DATA: Final = "data"
|
||
CONF_SERVICE_TEMPLATE: Final = "service_template"
|
||
CONF_SHOW_ON_MAP: Final = "show_on_map"
|
||
CONF_SLAVE: Final = "slave"
|
||
CONF_SOURCE: Final = "source"
|
||
CONF_SSL: Final = "ssl"
|
||
CONF_STATE: Final = "state"
|
||
CONF_STATE_TEMPLATE: Final = "state_template"
|
||
CONF_STRUCTURE: Final = "structure"
|
||
CONF_SWITCHES: Final = "switches"
|
||
CONF_TARGET: Final = "target"
|
||
CONF_TEMPERATURE_UNIT: Final = "temperature_unit"
|
||
CONF_TIMEOUT: Final = "timeout"
|
||
CONF_TIME_ZONE: Final = "time_zone"
|
||
CONF_TOKEN: Final = "token"
|
||
CONF_TRIGGER_TIME: Final = "trigger_time"
|
||
CONF_TTL: Final = "ttl"
|
||
CONF_TYPE: Final = "type"
|
||
CONF_UNIQUE_ID: Final = "unique_id"
|
||
CONF_UNIT_OF_MEASUREMENT: Final = "unit_of_measurement"
|
||
CONF_UNIT_SYSTEM: Final = "unit_system"
|
||
CONF_UNTIL: Final = "until"
|
||
CONF_URL: Final = "url"
|
||
CONF_USERNAME: Final = "username"
|
||
CONF_VALUE_TEMPLATE: Final = "value_template"
|
||
CONF_VARIABLES: Final = "variables"
|
||
CONF_VERIFY_SSL: Final = "verify_ssl"
|
||
CONF_WAIT_FOR_TRIGGER: Final = "wait_for_trigger"
|
||
CONF_WAIT_TEMPLATE: Final = "wait_template"
|
||
CONF_WEBHOOK_ID: Final = "webhook_id"
|
||
CONF_WEEKDAY: Final = "weekday"
|
||
CONF_WHILE: Final = "while"
|
||
CONF_WHITELIST: Final = "whitelist"
|
||
CONF_ALLOWLIST_EXTERNAL_DIRS: Final = "allowlist_external_dirs"
|
||
LEGACY_CONF_WHITELIST_EXTERNAL_DIRS: Final = "whitelist_external_dirs"
|
||
CONF_WHITE_VALUE: Final = "white_value"
|
||
CONF_XY: Final = "xy"
|
||
CONF_ZONE: Final = "zone"
|
||
|
||
# #### EVENTS ####
|
||
EVENT_CALL_SERVICE: Final = "call_service"
|
||
EVENT_COMPONENT_LOADED: Final = "component_loaded"
|
||
EVENT_CORE_CONFIG_UPDATE: Final = "core_config_updated"
|
||
EVENT_HOMEASSISTANT_CLOSE: Final = "homeassistant_close"
|
||
EVENT_HOMEASSISTANT_START: Final = "homeassistant_start"
|
||
EVENT_HOMEASSISTANT_STARTED: Final = "homeassistant_started"
|
||
EVENT_HOMEASSISTANT_STOP: Final = "homeassistant_stop"
|
||
EVENT_HOMEASSISTANT_FINAL_WRITE: Final = "homeassistant_final_write"
|
||
EVENT_LOGBOOK_ENTRY: Final = "logbook_entry"
|
||
EVENT_SERVICE_REGISTERED: Final = "service_registered"
|
||
EVENT_SERVICE_REMOVED: Final = "service_removed"
|
||
EVENT_STATE_CHANGED: Final = "state_changed"
|
||
EVENT_THEMES_UPDATED: Final = "themes_updated"
|
||
EVENT_TIMER_OUT_OF_SYNC: Final = "timer_out_of_sync"
|
||
EVENT_TIME_CHANGED: Final = "time_changed"
|
||
|
||
|
||
# #### DEVICE CLASSES ####
|
||
DEVICE_CLASS_AQI: Final = "aqi"
|
||
DEVICE_CLASS_BATTERY: Final = "battery"
|
||
DEVICE_CLASS_CO: Final = "carbon_monoxide"
|
||
DEVICE_CLASS_CO2: Final = "carbon_dioxide"
|
||
DEVICE_CLASS_CURRENT: Final = "current"
|
||
DEVICE_CLASS_DATE: Final = "date"
|
||
DEVICE_CLASS_ENERGY: Final = "energy"
|
||
DEVICE_CLASS_HUMIDITY: Final = "humidity"
|
||
DEVICE_CLASS_ILLUMINANCE: Final = "illuminance"
|
||
DEVICE_CLASS_MONETARY: Final = "monetary"
|
||
DEVICE_CLASS_NITROGEN_DIOXIDE = "nitrogen_dioxide"
|
||
DEVICE_CLASS_NITROGEN_MONOXIDE = "nitrogen_monoxide"
|
||
DEVICE_CLASS_NITROUS_OXIDE = "nitrous_oxide"
|
||
DEVICE_CLASS_OZONE: Final = "ozone"
|
||
DEVICE_CLASS_POWER_FACTOR: Final = "power_factor"
|
||
DEVICE_CLASS_POWER: Final = "power"
|
||
DEVICE_CLASS_PM25: Final = "pm25"
|
||
DEVICE_CLASS_PM1: Final = "pm1"
|
||
DEVICE_CLASS_PM10: Final = "pm10"
|
||
DEVICE_CLASS_PRESSURE: Final = "pressure"
|
||
DEVICE_CLASS_SIGNAL_STRENGTH: Final = "signal_strength"
|
||
DEVICE_CLASS_SULPHUR_DIOXIDE = "sulphur_dioxide"
|
||
DEVICE_CLASS_TEMPERATURE: Final = "temperature"
|
||
DEVICE_CLASS_TIMESTAMP: Final = "timestamp"
|
||
DEVICE_CLASS_VOLTAGE: Final = "voltage"
|
||
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds"
|
||
DEVICE_CLASS_GAS: Final = "gas"
|
||
|
||
# #### STATES ####
|
||
STATE_ON: Final = "on"
|
||
STATE_OFF: Final = "off"
|
||
STATE_HOME: Final = "home"
|
||
STATE_NOT_HOME: Final = "not_home"
|
||
STATE_UNKNOWN: Final = "unknown"
|
||
STATE_OPEN: Final = "open"
|
||
STATE_OPENING: Final = "opening"
|
||
STATE_CLOSED: Final = "closed"
|
||
STATE_CLOSING: Final = "closing"
|
||
STATE_PLAYING: Final = "playing"
|
||
STATE_PAUSED: Final = "paused"
|
||
STATE_IDLE: Final = "idle"
|
||
STATE_STANDBY: Final = "standby"
|
||
STATE_ALARM_DISARMED: Final = "disarmed"
|
||
STATE_ALARM_ARMED_HOME: Final = "armed_home"
|
||
STATE_ALARM_ARMED_AWAY: Final = "armed_away"
|
||
STATE_ALARM_ARMED_NIGHT: Final = "armed_night"
|
||
STATE_ALARM_ARMED_VACATION: Final = "armed_vacation"
|
||
STATE_ALARM_ARMED_CUSTOM_BYPASS: Final = "armed_custom_bypass"
|
||
STATE_ALARM_PENDING: Final = "pending"
|
||
STATE_ALARM_ARMING: Final = "arming"
|
||
STATE_ALARM_DISARMING: Final = "disarming"
|
||
STATE_ALARM_TRIGGERED: Final = "triggered"
|
||
STATE_LOCKED: Final = "locked"
|
||
STATE_UNLOCKED: Final = "unlocked"
|
||
STATE_LOCKING: Final = "locking"
|
||
STATE_UNLOCKING: Final = "unlocking"
|
||
STATE_JAMMED: Final = "jammed"
|
||
STATE_UNAVAILABLE: Final = "unavailable"
|
||
STATE_OK: Final = "ok"
|
||
STATE_PROBLEM: Final = "problem"
|
||
|
||
# #### STATE AND EVENT ATTRIBUTES ####
|
||
# Attribution
|
||
ATTR_ATTRIBUTION: Final = "attribution"
|
||
|
||
# Credentials
|
||
ATTR_CREDENTIALS: Final = "credentials"
|
||
|
||
# Contains time-related attributes
|
||
ATTR_NOW: Final = "now"
|
||
ATTR_DATE: Final = "date"
|
||
ATTR_TIME: Final = "time"
|
||
ATTR_SECONDS: Final = "seconds"
|
||
|
||
# Contains domain, service for a SERVICE_CALL event
|
||
ATTR_DOMAIN: Final = "domain"
|
||
ATTR_SERVICE: Final = "service"
|
||
ATTR_SERVICE_DATA: Final = "service_data"
|
||
|
||
# IDs
|
||
ATTR_ID: Final = "id"
|
||
|
||
# Name
|
||
ATTR_NAME: Final = "name"
|
||
|
||
# Contains one string or a list of strings, each being an entity id
|
||
ATTR_ENTITY_ID: Final = "entity_id"
|
||
|
||
# Contains one string or a list of strings, each being an area id
|
||
ATTR_AREA_ID: Final = "area_id"
|
||
|
||
# Contains one string, the device ID
|
||
ATTR_DEVICE_ID: Final = "device_id"
|
||
|
||
# String with a friendly name for the entity
|
||
ATTR_FRIENDLY_NAME: Final = "friendly_name"
|
||
|
||
# A picture to represent entity
|
||
ATTR_ENTITY_PICTURE: Final = "entity_picture"
|
||
|
||
ATTR_IDENTIFIERS: Final = "identifiers"
|
||
|
||
# Icon to use in the frontend
|
||
ATTR_ICON: Final = "icon"
|
||
|
||
# The unit of measurement if applicable
|
||
ATTR_UNIT_OF_MEASUREMENT: Final = "unit_of_measurement"
|
||
|
||
CONF_UNIT_SYSTEM_METRIC: Final = "metric"
|
||
CONF_UNIT_SYSTEM_IMPERIAL: Final = "imperial"
|
||
|
||
# Electrical attributes
|
||
ATTR_VOLTAGE: Final = "voltage"
|
||
|
||
# Location of the device/sensor
|
||
ATTR_LOCATION: Final = "location"
|
||
|
||
ATTR_MODE: Final = "mode"
|
||
|
||
ATTR_CONFIGURATION_URL: Final = "configuration_url"
|
||
ATTR_CONNECTIONS: Final = "connections"
|
||
ATTR_DEFAULT_NAME: Final = "default_name"
|
||
ATTR_MANUFACTURER: Final = "manufacturer"
|
||
ATTR_MODEL: Final = "model"
|
||
ATTR_SUGGESTED_AREA: Final = "suggested_area"
|
||
ATTR_SW_VERSION: Final = "sw_version"
|
||
ATTR_VIA_DEVICE: Final = "via_device"
|
||
|
||
ATTR_BATTERY_CHARGING: Final = "battery_charging"
|
||
ATTR_BATTERY_LEVEL: Final = "battery_level"
|
||
ATTR_WAKEUP: Final = "wake_up_interval"
|
||
|
||
# For devices which support a code attribute
|
||
ATTR_CODE: Final = "code"
|
||
ATTR_CODE_FORMAT: Final = "code_format"
|
||
|
||
# For calling a device specific command
|
||
ATTR_COMMAND: Final = "command"
|
||
|
||
# For devices which support an armed state
|
||
ATTR_ARMED: Final = "device_armed"
|
||
|
||
# For devices which support a locked state
|
||
ATTR_LOCKED: Final = "locked"
|
||
|
||
# For sensors that support 'tripping', eg. motion and door sensors
|
||
ATTR_TRIPPED: Final = "device_tripped"
|
||
|
||
# For sensors that support 'tripping' this holds the most recent
|
||
# time the device was tripped
|
||
ATTR_LAST_TRIP_TIME: Final = "last_tripped_time"
|
||
|
||
# For all entity's, this hold whether or not it should be hidden
|
||
ATTR_HIDDEN: Final = "hidden"
|
||
|
||
# Location of the entity
|
||
ATTR_LATITUDE: Final = "latitude"
|
||
ATTR_LONGITUDE: Final = "longitude"
|
||
|
||
# Accuracy of location in meters
|
||
ATTR_GPS_ACCURACY: Final = "gps_accuracy"
|
||
|
||
# If state is assumed
|
||
ATTR_ASSUMED_STATE: Final = "assumed_state"
|
||
ATTR_STATE: Final = "state"
|
||
|
||
ATTR_EDITABLE: Final = "editable"
|
||
ATTR_OPTION: Final = "option"
|
||
|
||
# The entity has been restored with restore state
|
||
ATTR_RESTORED: Final = "restored"
|
||
|
||
# Bitfield of supported component features for the entity
|
||
ATTR_SUPPORTED_FEATURES: Final = "supported_features"
|
||
|
||
# Class of device within its domain
|
||
ATTR_DEVICE_CLASS: Final = "device_class"
|
||
|
||
# Temperature attribute
|
||
ATTR_TEMPERATURE: Final = "temperature"
|
||
|
||
|
||
# #### UNITS OF MEASUREMENT ####
|
||
# Power units
|
||
POWER_WATT: Final = "W"
|
||
POWER_KILO_WATT: Final = "kW"
|
||
POWER_VOLT_AMPERE: Final = "VA"
|
||
|
||
# Energy units
|
||
ENERGY_WATT_HOUR: Final = "Wh"
|
||
ENERGY_KILO_WATT_HOUR: Final = "kWh"
|
||
ENERGY_MEGA_WATT_HOUR: Final = "MWh"
|
||
|
||
# Electric_current units
|
||
ELECTRIC_CURRENT_MILLIAMPERE: Final = "mA"
|
||
ELECTRIC_CURRENT_AMPERE: Final = "A"
|
||
|
||
# Electric_potential units
|
||
ELECTRIC_POTENTIAL_MILLIVOLT: Final = "mV"
|
||
ELECTRIC_POTENTIAL_VOLT: Final = "V"
|
||
|
||
# Degree units
|
||
DEGREE: Final = "°"
|
||
|
||
# Currency units
|
||
CURRENCY_EURO: Final = "€"
|
||
CURRENCY_DOLLAR: Final = "$"
|
||
CURRENCY_CENT: Final = "¢"
|
||
|
||
# Temperature units
|
||
TEMP_CELSIUS: Final = "°C"
|
||
TEMP_FAHRENHEIT: Final = "°F"
|
||
TEMP_KELVIN: Final = "K"
|
||
|
||
# Time units
|
||
TIME_MICROSECONDS: Final = "μs"
|
||
TIME_MILLISECONDS: Final = "ms"
|
||
TIME_SECONDS: Final = "s"
|
||
TIME_MINUTES: Final = "min"
|
||
TIME_HOURS: Final = "h"
|
||
TIME_DAYS: Final = "d"
|
||
TIME_WEEKS: Final = "w"
|
||
TIME_MONTHS: Final = "m"
|
||
TIME_YEARS: Final = "y"
|
||
|
||
# Length units
|
||
LENGTH_MILLIMETERS: Final = "mm"
|
||
LENGTH_CENTIMETERS: Final = "cm"
|
||
LENGTH_METERS: Final = "m"
|
||
LENGTH_KILOMETERS: Final = "km"
|
||
|
||
LENGTH_INCHES: Final = "in"
|
||
LENGTH_FEET: Final = "ft"
|
||
LENGTH_YARD: Final = "yd"
|
||
LENGTH_MILES: Final = "mi"
|
||
|
||
# Frequency units
|
||
FREQUENCY_HERTZ: Final = "Hz"
|
||
FREQUENCY_MEGAHERTZ: Final = "MHz"
|
||
FREQUENCY_GIGAHERTZ: Final = "GHz"
|
||
|
||
# Pressure units
|
||
PRESSURE_PA: Final = "Pa"
|
||
PRESSURE_HPA: Final = "hPa"
|
||
PRESSURE_KPA: Final = "kPa"
|
||
PRESSURE_BAR: Final = "bar"
|
||
PRESSURE_CBAR: Final = "cbar"
|
||
PRESSURE_MBAR: Final = "mbar"
|
||
PRESSURE_INHG: Final = "inHg"
|
||
PRESSURE_PSI: Final = "psi"
|
||
|
||
# Sound pressure units
|
||
SOUND_PRESSURE_DB: Final = "dB"
|
||
SOUND_PRESSURE_WEIGHTED_DBA: Final = "dBa"
|
||
|
||
# Volume units
|
||
VOLUME_LITERS: Final = "L"
|
||
VOLUME_MILLILITERS: Final = "mL"
|
||
VOLUME_CUBIC_METERS: Final = "m³"
|
||
VOLUME_CUBIC_FEET: Final = "ft³"
|
||
|
||
VOLUME_GALLONS: Final = "gal"
|
||
VOLUME_FLUID_OUNCE: Final = "fl. oz."
|
||
|
||
# Volume Flow Rate units
|
||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR: Final = "m³/h"
|
||
VOLUME_FLOW_RATE_CUBIC_FEET_PER_MINUTE: Final = "ft³/m"
|
||
|
||
# Area units
|
||
AREA_SQUARE_METERS: Final = "m²"
|
||
|
||
# Mass units
|
||
MASS_GRAMS: Final = "g"
|
||
MASS_KILOGRAMS: Final = "kg"
|
||
MASS_MILLIGRAMS: Final = "mg"
|
||
MASS_MICROGRAMS: Final = "µg"
|
||
|
||
MASS_OUNCES: Final = "oz"
|
||
MASS_POUNDS: Final = "lb"
|
||
|
||
# Conductivity units
|
||
CONDUCTIVITY: Final = "µS/cm"
|
||
|
||
# Light units
|
||
LIGHT_LUX: Final = "lx"
|
||
|
||
# UV Index units
|
||
UV_INDEX: Final = "UV index"
|
||
|
||
# Percentage units
|
||
PERCENTAGE: Final = "%"
|
||
|
||
# Irradiation units
|
||
IRRADIATION_WATTS_PER_SQUARE_METER: Final = "W/m²"
|
||
IRRADIATION_BTUS_PER_HOUR_SQUARE_FOOT: Final = "BTU/(h×ft²)"
|
||
|
||
# Precipitation units
|
||
PRECIPITATION_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
||
PRECIPITATION_INCHES: Final = "in"
|
||
PRECIPITATION_INCHES_PER_HOUR: Final = "in/h"
|
||
|
||
# Concentration units
|
||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³"
|
||
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: Final = "mg/m³"
|
||
CONCENTRATION_MICROGRAMS_PER_CUBIC_FOOT: Final = "μg/ft³"
|
||
CONCENTRATION_PARTS_PER_CUBIC_METER: Final = "p/m³"
|
||
CONCENTRATION_PARTS_PER_MILLION: Final = "ppm"
|
||
CONCENTRATION_PARTS_PER_BILLION: Final = "ppb"
|
||
|
||
# Speed units
|
||
SPEED_MILLIMETERS_PER_DAY: Final = "mm/d"
|
||
SPEED_INCHES_PER_DAY: Final = "in/d"
|
||
SPEED_METERS_PER_SECOND: Final = "m/s"
|
||
SPEED_INCHES_PER_HOUR: Final = "in/h"
|
||
SPEED_KILOMETERS_PER_HOUR: Final = "km/h"
|
||
SPEED_MILES_PER_HOUR: Final = "mph"
|
||
|
||
# Signal_strength units
|
||
SIGNAL_STRENGTH_DECIBELS: Final = "dB"
|
||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT: Final = "dBm"
|
||
|
||
# Data units
|
||
DATA_BITS: Final = "bit"
|
||
DATA_KILOBITS: Final = "kbit"
|
||
DATA_MEGABITS: Final = "Mbit"
|
||
DATA_GIGABITS: Final = "Gbit"
|
||
DATA_BYTES: Final = "B"
|
||
DATA_KILOBYTES: Final = "kB"
|
||
DATA_MEGABYTES: Final = "MB"
|
||
DATA_GIGABYTES: Final = "GB"
|
||
DATA_TERABYTES: Final = "TB"
|
||
DATA_PETABYTES: Final = "PB"
|
||
DATA_EXABYTES: Final = "EB"
|
||
DATA_ZETTABYTES: Final = "ZB"
|
||
DATA_YOTTABYTES: Final = "YB"
|
||
DATA_KIBIBYTES: Final = "KiB"
|
||
DATA_MEBIBYTES: Final = "MiB"
|
||
DATA_GIBIBYTES: Final = "GiB"
|
||
DATA_TEBIBYTES: Final = "TiB"
|
||
DATA_PEBIBYTES: Final = "PiB"
|
||
DATA_EXBIBYTES: Final = "EiB"
|
||
DATA_ZEBIBYTES: Final = "ZiB"
|
||
DATA_YOBIBYTES: Final = "YiB"
|
||
|
||
# Data_rate units
|
||
DATA_RATE_BITS_PER_SECOND: Final = "bit/s"
|
||
DATA_RATE_KILOBITS_PER_SECOND: Final = "kbit/s"
|
||
DATA_RATE_MEGABITS_PER_SECOND: Final = "Mbit/s"
|
||
DATA_RATE_GIGABITS_PER_SECOND: Final = "Gbit/s"
|
||
DATA_RATE_BYTES_PER_SECOND: Final = "B/s"
|
||
DATA_RATE_KILOBYTES_PER_SECOND: Final = "kB/s"
|
||
DATA_RATE_MEGABYTES_PER_SECOND: Final = "MB/s"
|
||
DATA_RATE_GIGABYTES_PER_SECOND: Final = "GB/s"
|
||
DATA_RATE_KIBIBYTES_PER_SECOND: Final = "KiB/s"
|
||
DATA_RATE_MEBIBYTES_PER_SECOND: Final = "MiB/s"
|
||
DATA_RATE_GIBIBYTES_PER_SECOND: Final = "GiB/s"
|
||
|
||
|
||
# #### SERVICES ####
|
||
SERVICE_HOMEASSISTANT_STOP: Final = "stop"
|
||
SERVICE_HOMEASSISTANT_RESTART: Final = "restart"
|
||
|
||
SERVICE_TURN_ON: Final = "turn_on"
|
||
SERVICE_TURN_OFF: Final = "turn_off"
|
||
SERVICE_TOGGLE: Final = "toggle"
|
||
SERVICE_RELOAD: Final = "reload"
|
||
|
||
SERVICE_VOLUME_UP: Final = "volume_up"
|
||
SERVICE_VOLUME_DOWN: Final = "volume_down"
|
||
SERVICE_VOLUME_MUTE: Final = "volume_mute"
|
||
SERVICE_VOLUME_SET: Final = "volume_set"
|
||
SERVICE_MEDIA_PLAY_PAUSE: Final = "media_play_pause"
|
||
SERVICE_MEDIA_PLAY: Final = "media_play"
|
||
SERVICE_MEDIA_PAUSE: Final = "media_pause"
|
||
SERVICE_MEDIA_STOP: Final = "media_stop"
|
||
SERVICE_MEDIA_NEXT_TRACK: Final = "media_next_track"
|
||
SERVICE_MEDIA_PREVIOUS_TRACK: Final = "media_previous_track"
|
||
SERVICE_MEDIA_SEEK: Final = "media_seek"
|
||
SERVICE_REPEAT_SET: Final = "repeat_set"
|
||
SERVICE_SHUFFLE_SET: Final = "shuffle_set"
|
||
|
||
SERVICE_ALARM_DISARM: Final = "alarm_disarm"
|
||
SERVICE_ALARM_ARM_HOME: Final = "alarm_arm_home"
|
||
SERVICE_ALARM_ARM_AWAY: Final = "alarm_arm_away"
|
||
SERVICE_ALARM_ARM_NIGHT: Final = "alarm_arm_night"
|
||
SERVICE_ALARM_ARM_VACATION: Final = "alarm_arm_vacation"
|
||
SERVICE_ALARM_ARM_CUSTOM_BYPASS: Final = "alarm_arm_custom_bypass"
|
||
SERVICE_ALARM_TRIGGER: Final = "alarm_trigger"
|
||
|
||
|
||
SERVICE_LOCK: Final = "lock"
|
||
SERVICE_UNLOCK: Final = "unlock"
|
||
|
||
SERVICE_OPEN: Final = "open"
|
||
SERVICE_CLOSE: Final = "close"
|
||
|
||
SERVICE_CLOSE_COVER: Final = "close_cover"
|
||
SERVICE_CLOSE_COVER_TILT: Final = "close_cover_tilt"
|
||
SERVICE_OPEN_COVER: Final = "open_cover"
|
||
SERVICE_OPEN_COVER_TILT: Final = "open_cover_tilt"
|
||
SERVICE_SAVE_PERSISTENT_STATES: Final = "save_persistent_states"
|
||
SERVICE_SET_COVER_POSITION: Final = "set_cover_position"
|
||
SERVICE_SET_COVER_TILT_POSITION: Final = "set_cover_tilt_position"
|
||
SERVICE_STOP_COVER: Final = "stop_cover"
|
||
SERVICE_STOP_COVER_TILT: Final = "stop_cover_tilt"
|
||
SERVICE_TOGGLE_COVER_TILT: Final = "toggle_cover_tilt"
|
||
|
||
SERVICE_SELECT_OPTION: Final = "select_option"
|
||
|
||
# #### API / REMOTE ####
|
||
SERVER_PORT: Final = 8123
|
||
|
||
URL_ROOT: Final = "/"
|
||
URL_API: Final = "/api/"
|
||
URL_API_STREAM: Final = "/api/stream"
|
||
URL_API_CONFIG: Final = "/api/config"
|
||
URL_API_DISCOVERY_INFO: Final = "/api/discovery_info"
|
||
URL_API_STATES: Final = "/api/states"
|
||
URL_API_STATES_ENTITY: Final = "/api/states/{}"
|
||
URL_API_EVENTS: Final = "/api/events"
|
||
URL_API_EVENTS_EVENT: Final = "/api/events/{}"
|
||
URL_API_SERVICES: Final = "/api/services"
|
||
URL_API_SERVICES_SERVICE: Final = "/api/services/{}/{}"
|
||
URL_API_COMPONENTS: Final = "/api/components"
|
||
URL_API_ERROR_LOG: Final = "/api/error_log"
|
||
URL_API_LOG_OUT: Final = "/api/log_out"
|
||
URL_API_TEMPLATE: Final = "/api/template"
|
||
|
||
HTTP_BASIC_AUTHENTICATION: Final = "basic"
|
||
HTTP_BEARER_AUTHENTICATION: Final = "bearer_token"
|
||
HTTP_DIGEST_AUTHENTICATION: Final = "digest"
|
||
|
||
HTTP_HEADER_X_REQUESTED_WITH: Final = "X-Requested-With"
|
||
|
||
CONTENT_TYPE_JSON: Final = "application/json"
|
||
CONTENT_TYPE_MULTIPART: Final = "multipart/x-mixed-replace; boundary={}"
|
||
CONTENT_TYPE_TEXT_PLAIN: Final = "text/plain"
|
||
|
||
# The exit code to send to request a restart
|
||
RESTART_EXIT_CODE: Final = 100
|
||
|
||
UNIT_NOT_RECOGNIZED_TEMPLATE: Final = "{} is not a recognized {} unit."
|
||
|
||
LENGTH: Final = "length"
|
||
MASS: Final = "mass"
|
||
PRESSURE: Final = "pressure"
|
||
VOLUME: Final = "volume"
|
||
TEMPERATURE: Final = "temperature"
|
||
SPEED: Final = "speed"
|
||
ILLUMINANCE: Final = "illuminance"
|
||
|
||
WEEKDAYS: Final[list[str]] = ["mon", "tue", "wed", "thu", "fri", "sat", "sun"]
|
||
|
||
# The degree of precision for platforms
|
||
PRECISION_WHOLE: Final = 1
|
||
PRECISION_HALVES: Final = 0.5
|
||
PRECISION_TENTHS: Final = 0.1
|
||
|
||
# Static list of entities that will never be exposed to
|
||
# cloud, alexa, or google_home components
|
||
CLOUD_NEVER_EXPOSED_ENTITIES: Final[list[str]] = ["group.all_locks"]
|
||
|
||
# The ID of the Home Assistant Cast App
|
||
CAST_APP_ID_HOMEASSISTANT: Final = "B12CE3CA"
|
||
|
||
ENTITY_CATEGORY_CONFIG: Final = "config"
|
||
ENTITY_CATEGORY_DIAGNOSTIC: Final = "diagnostic"
|
||
ENTITY_CATEGORY_SYSTEM: Final = "system"
|
||
|
||
# Entity categories which will:
|
||
# - Not be exposed to cloud, alexa, or google_home components
|
||
# - Not be included in indirect service calls to devices or areas
|
||
ENTITY_CATEGORIES: Final[list[str]] = [
|
||
ENTITY_CATEGORY_CONFIG,
|
||
ENTITY_CATEGORY_DIAGNOSTIC,
|
||
ENTITY_CATEGORY_SYSTEM,
|
||
]
|