145 lines
4.8 KiB
Python
145 lines
4.8 KiB
Python
"""Define constants used in garbage_collection."""
|
|
from homeassistant.helpers import selector
|
|
|
|
# Constants for garbage_collection.
|
|
# Base component constants
|
|
DOMAIN = "garbage_collection"
|
|
CALENDAR_NAME = "Garbage Collection"
|
|
SENSOR_PLATFORM = "sensor"
|
|
CALENDAR_PLATFORM = "calendar"
|
|
ATTRIBUTION = "Data from this is provided by garbage_collection."
|
|
CONFIG_VERSION = 6
|
|
|
|
ATTR_NEXT_DATE = "next_date"
|
|
ATTR_DAYS = "days"
|
|
ATTR_LAST_COLLECTION = "last_collection"
|
|
ATTR_LAST_UPDATED = "last_updated"
|
|
|
|
# Device classes
|
|
BINARY_SENSOR_DEVICE_CLASS = "connectivity"
|
|
DEVICE_CLASS = "garbage_collection__schedule"
|
|
|
|
# Configuration
|
|
CONF_SENSOR = "sensor"
|
|
CONF_ENABLED = "enabled"
|
|
CONF_FREQUENCY = "frequency"
|
|
CONF_MANUAL = "manual_update"
|
|
CONF_ICON_NORMAL = "icon_normal"
|
|
CONF_ICON_TODAY = "icon_today"
|
|
CONF_ICON_TOMORROW = "icon_tomorrow"
|
|
CONF_OFFSET = "offset"
|
|
CONF_EXPIRE_AFTER = "expire_after"
|
|
CONF_VERBOSE_STATE = "verbose_state"
|
|
CONF_FIRST_MONTH = "first_month"
|
|
CONF_LAST_MONTH = "last_month"
|
|
CONF_COLLECTION_DAYS = "collection_days"
|
|
CONF_WEEKDAY_ORDER_NUMBER = "weekday_order_number"
|
|
CONF_FORCE_WEEK_NUMBERS = "force_week_order_numbers"
|
|
CONF_WEEK_ORDER_NUMBER = "week_order_number" # Obsolete
|
|
CONF_DATE = "date"
|
|
CONF_PERIOD = "period"
|
|
CONF_FIRST_WEEK = "first_week"
|
|
CONF_FIRST_DATE = "first_date"
|
|
CONF_SENSORS = "sensors"
|
|
CONF_VERBOSE_FORMAT = "verbose_format"
|
|
CONF_DATE_FORMAT = "date_format"
|
|
CONF_MOVE_COUNTRY_HOLIDAYS = "move_country_holidays"
|
|
CONF_HOLIDAY_DATES = "holiday_dates"
|
|
|
|
# Defaults
|
|
DEFAULT_NAME = DOMAIN
|
|
DEFAULT_FIRST_MONTH = "jan"
|
|
DEFAULT_LAST_MONTH = "dec"
|
|
DEFAULT_FREQUENCY = "weekly"
|
|
DEFAULT_PERIOD = 1
|
|
DEFAULT_FIRST_WEEK = 1
|
|
DEFAULT_VERBOSE_STATE = False
|
|
DEFAULT_HOLIDAY_IN_WEEK_MOVE = False
|
|
DEFAULT_HOLIDAY_DATES = "01-01,05-01,12-25"
|
|
DEFAULT_DATE_FORMAT = "%d-%b-%Y"
|
|
DEFAULT_VERBOSE_FORMAT = "on {date}, in {days} days"
|
|
|
|
# Icons
|
|
DEFAULT_ICON_NORMAL = "mdi:trash-can"
|
|
DEFAULT_ICON_TODAY = "mdi:delete-restore"
|
|
DEFAULT_ICON_TOMORROW = "mdi:delete-circle"
|
|
ICON = DEFAULT_ICON_NORMAL
|
|
|
|
# States
|
|
STATE_TODAY = "today"
|
|
STATE_TOMORROW = "tomorrow"
|
|
|
|
FREQUENCY_OPTIONS = [
|
|
selector.SelectOptionDict(value="weekly", label="weekly"),
|
|
selector.SelectOptionDict(value="even-weeks", label="even-weeks"),
|
|
selector.SelectOptionDict(value="odd-weeks", label="odd-weeks"),
|
|
selector.SelectOptionDict(value="every-n-weeks", label="every-n-weeks"),
|
|
selector.SelectOptionDict(value="every-n-days", label="every-n-days"),
|
|
selector.SelectOptionDict(value="monthly", label="monthly"),
|
|
selector.SelectOptionDict(value="annual", label="annual"),
|
|
selector.SelectOptionDict(value="blank", label="blank"),
|
|
selector.SelectOptionDict(value="group", label="group"),
|
|
]
|
|
|
|
WEEKLY_FREQUENCY = ["weekly", "even-weeks", "odd-weeks"]
|
|
EXCEPT_ANNUAL_GROUP = [
|
|
"weekly",
|
|
"even-weeks",
|
|
"odd-weeks",
|
|
"every-n-weeks",
|
|
"every-n-days",
|
|
"monthly",
|
|
"blank",
|
|
]
|
|
EXCEPT_ANNUAL_GROUP_BLANK = [
|
|
"weekly",
|
|
"even-weeks",
|
|
"odd-weeks",
|
|
"every-n-weeks",
|
|
"every-n-days",
|
|
"monthly",
|
|
]
|
|
WEEKLY_DAILY_MONTHLY = ["every-n-weeks", "every-n-days", "monthly"]
|
|
WEEKLY_FREQUENCY_X = ["every-n-weeks"]
|
|
DAILY_FREQUENCY = ["every-n-days"]
|
|
DAILY_BLANK_FREQUENCY = ["blank", "every-n-days"]
|
|
MONTHLY_FREQUENCY = ["monthly"]
|
|
ANNUAL_GROUP_FREQUENCY = ["annual", "group"]
|
|
ANNUAL_FREQUENCY = ["annual"]
|
|
GROUP_FREQUENCY = ["group"]
|
|
BLANK_FREQUENCY = ["blank"]
|
|
|
|
WEEKDAY_OPTIONS = [
|
|
selector.SelectOptionDict(value="mon", label="Monday"),
|
|
selector.SelectOptionDict(value="tue", label="Tuesday"),
|
|
selector.SelectOptionDict(value="wed", label="Wednesday"),
|
|
selector.SelectOptionDict(value="thu", label="Thursday"),
|
|
selector.SelectOptionDict(value="fri", label="Friday"),
|
|
selector.SelectOptionDict(value="sat", label="Saturday"),
|
|
selector.SelectOptionDict(value="sun", label="Sunday"),
|
|
]
|
|
|
|
|
|
MONTH_OPTIONS = [
|
|
selector.SelectOptionDict(value="jan", label="January"),
|
|
selector.SelectOptionDict(value="feb", label="February"),
|
|
selector.SelectOptionDict(value="mar", label="March"),
|
|
selector.SelectOptionDict(value="apr", label="April"),
|
|
selector.SelectOptionDict(value="may", label="May"),
|
|
selector.SelectOptionDict(value="jun", label="June"),
|
|
selector.SelectOptionDict(value="jul", label="July"),
|
|
selector.SelectOptionDict(value="aug", label="August"),
|
|
selector.SelectOptionDict(value="sep", label="September"),
|
|
selector.SelectOptionDict(value="oct", label="October"),
|
|
selector.SelectOptionDict(value="nov", label="November"),
|
|
selector.SelectOptionDict(value="dec", label="December"),
|
|
]
|
|
|
|
ORDER_OPTIONS = [
|
|
selector.SelectOptionDict(value="1", label="1st"),
|
|
selector.SelectOptionDict(value="2", label="2nd"),
|
|
selector.SelectOptionDict(value="3", label="3rd"),
|
|
selector.SelectOptionDict(value="4", label="4th"),
|
|
selector.SelectOptionDict(value="5", label="5th"),
|
|
]
|