Workday
The workday
binary sensor indicates whether the current day is a workday or not.
It allows specifying which days of the week will count as workdays and also uses the Python module holidays
This can be used to make daily automations that act differently on workdays than non-workdays. For example, you could make your bedroom lights turn on (gently) at 7 in the morning if it is a workday but wait until 11 if it is a non-working day.
Setup
Check the country list
Configuration
To add the Workday integration to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select Workday.
-
Follow the instructions on screen to complete the setup.
The keyword “Holidays” is used for public holidays identified by the holidays module and holidays added by the “Add holidays” configuration option.
Take note of the “Holidays” keyword. Your first instinct might be to add it to the “Excludes” configuration, thinking it means skipping the holidays. But it is meant to exclude the days in the holiday list from the workdays. So, when you exclude “Holidays” and a workday falls on that day, that workday is excluded, and the sensor will be off. If you want every workday flagged with no regard to holidays, ensure that there is something in your “Excludes” configuration other than “Holidays”.
Specific field information
Country code must be given according to holidaysNone
to start with an empty set of holidays. This is useful in conjunction with the add holidays field.
Subdivision code must be given according to holidays
Add holidays will only take dates formatted with YYYY-MM-DD
or a date range formatted with YYYY-MM-DD,YYYY-MM-DD
.
Remove holidays will take dates formatted with YYYY-MM-DD
, a date range formatted with YYYY-MM-DD,YYYY-MM-DD
or partial of name, for example, christmas
will exclude Christmas Day
.
The offset can be used to see if future days are workdays. For example, put 1
to see if tomorrow is a workday.
Additional categories can be added through the configuration to include optional holidays according to the lists provided in the python-holidays library
Action workday.check_date
This action populates Response Data providing feedback if the date is a workday or not.
Data attribute | Required | Description | Example |
---|---|---|---|
check_date |
yes | Date to test if workday or not. | 2022-03-10 |
action: workday.check_date
target:
entity_id: binary_sensor.workday
data:
check_date: "2023-12-25"
response_variable: check_date
The response data field check_date
is providing:
Response data | Description | Example |
---|---|---|
workday |
Is date a workday. | True |
Automation example
Example usage for automation:
automation:
alias: "Turn on heater on workdays"
triggers:
- trigger: time
at: "08:00:00"
conditions:
- condition: state
entity_id: binary_sensor.workday_sensor
state: "on"
actions:
- action: switch.turn_on
target:
entity_id: switch.heater