Created
February 11, 2024 16:20
-
-
Save StevenSeifried/8713cd07436507577637ad83de6468e3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
blueprint: | |
name: "AWTRIX Night Clock" | |
description: > | |
## AWTRIX Night Clock | |
This blueprint provides a night clock mode for AWTRIX Light. It allows you to personalize various aspects of the clockface to suit your preferences. | |
### Screenshot | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/SCR-nightclock.png) | |
### Features | |
- This blueprint features a night clock mode, which displays a customized color, and you have the possibility to disable app transitions, automatic brightness, and the color of the night clock. | |
### Prerequisites | |
AWTRIX v0.72 | |
domain: automation | |
input: | |
awtrix: | |
name: AWTRIX Light | |
description: Select the Awtrix light | |
selector: | |
device: | |
filter: | |
- integration: mqtt | |
manufacturer: Blueforcer | |
model: AWTRIX Light | |
multiple: true | |
sleep_time: | |
name: Night mode time | |
description: At what time does the clock need to activate night mode? | |
selector: | |
time: {} | |
default: "23:00:00" | |
wake_up_time: | |
name: Day mode time | |
description: At what time does the clock need activate day mode? | |
selector: | |
time: {} | |
default: "08:00:00" | |
sleep_settings_atrans: | |
name: Enable automatic app transition in night mode. | |
description: > | |
This setting allows you to enable or disable automatic transition of apps in night mode. | |
selector: | |
boolean: | |
default: false | |
sleep_settings_bri: | |
name: Night mode brightness setting | |
description: > | |
What is the brightness for night mode? | |
selector: | |
number: | |
min: 0 | |
max: 255 | |
default: "1" | |
sleep_settings_abri: | |
name: Enable automatic brightness when the night mode is active. | |
description: > | |
This setting allows you to enable or disable automatic brightening in night mode. | |
selector: | |
boolean: | |
default: false | |
sleep_settings_color: | |
name: Color setting for the night mode clock | |
description: This setting allows you to change the color of the night mode clock. | |
selector: | |
color_rgb: | |
default: [255, 0, 0] | |
sleep_weekday_bar: | |
name: Enable the weekday bar for the night mode clock | |
description: > | |
This setting allows you to enable or disable the weekday bar for the night mode clock. | |
selector: | |
boolean: | |
default: false | |
sleep_time_format: | |
name: Select the time format for the night mode clock | |
description: > | |
Select the time format for the night mode clock | |
selector: | |
select: | |
options: | |
- label: "13:30:45" | |
value: "%H:%M:%S" | |
- label: "1:30:45" | |
value: "%l:%M:%S" | |
- label: "13:30" | |
value: "%H:%M" | |
- label: "13:30 with blinking colon" | |
value: "%H %M" | |
- label: "1:30" | |
value: "%l:%M" | |
- label: "1:30 with blinking colon" | |
value: "%l %M" | |
- label: "1:30 PM" | |
value: "%l:%M %p" | |
- label: "1:30 PM with blinking colon" | |
value: "%l %M %p" | |
default: "%H:%M" | |
wakeup_settings_atrans: | |
name: Enable automatic app transitions in day mode? | |
description: > | |
This setting allows you to enable or disable the automatic transition of apps in day mode. | |
selector: | |
boolean: | |
default: true | |
wakeup_settings_bri: | |
name: Day mode brightness setting (1-255) | |
description: > | |
This settings allows you to adjust the brightness for day mode, pick a value between 1 and 255. | |
selector: | |
number: | |
min: 1 | |
max: 255 | |
default: "127" | |
wakeup_settings_abri: | |
name: Enable automatic brightness in day mode | |
description: > | |
This setting allows you to enable or disable automatic brightening in day mode. | |
selector: | |
boolean: | |
default: false | |
wakeup_settings_color: | |
name: Color setting for the day mode clock | |
description: This settings allows you to change the color of the day mode clock. | |
selector: | |
color_rgb: | |
default: [255, 255, 255] | |
wakeup_settings_calendar_color: | |
name: Color setting for the day mode calendar | |
description: This settings allows you to change the color of the day mode calendar. | |
selector: | |
color_rgb: | |
default: [255, 0, 0] | |
wakeup_settings_calendar_text_color: | |
name: Color setting for the day mode calendar text | |
description: This settings allows you to change the color of the day mode text in the calendar. | |
selector: | |
color_rgb: | |
default: [0, 0, 0] | |
wakeup_weekday_bar: | |
name: Enable the weekday bar for the day mode clock | |
description: > | |
This setting allows you to enable or disable the weekday bar for the day mode clock. | |
selector: | |
boolean: | |
default: false | |
wakeup_calendar_style: | |
name: Select the time/calendar style for the day mode clock | |
description: > | |
Select the time/calendar style | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/tmode-0.svg) `Style 0` | |
--- | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/tmode-1.svg) `Style 1` | |
--- | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/tmode-2.svg) `Style 2` | |
--- | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/tmode-3.svg) `Style 3` | |
--- | |
![](https://raw.githubusercontent.com/RDG88/Homeassistant_Blueprints/main/thumbnails/tmode-4.svg) `Style 4` | |
selector: | |
select: | |
options: | |
- label: Style 0 | |
value: "0" | |
- label: Style 1 | |
value: "1" | |
- label: Style 2 | |
value: "2" | |
- label: Style 3 | |
value: "3" | |
- label: Style 4 | |
value: "4" | |
default: "1" | |
wakeup_time_format: | |
name: Select the time format for the day mode clock | |
description: > | |
Select the time format for the day mode clock | |
selector: | |
select: | |
options: | |
- label: "13:30:45" | |
value: "%H:%M:%S" | |
- label: "1:30:45" | |
value: "%l:%M:%S" | |
- label: "13:30" | |
value: "%H:%M" | |
- label: "13:30 with blinking colon" | |
value: "%H %M" | |
- label: "1:30" | |
value: "%l:%M" | |
- label: "1:30 with blinking colon" | |
value: "%l %M" | |
- label: "1:30 PM" | |
value: "%l:%M %p" | |
- label: "1:30 PM with blinking colon" | |
value: "%l %M %p" | |
default: "%H:%M" | |
variables: | |
device_ids: !input awtrix | |
wake_up_time: !input wake_up_time | |
sleep_time: !input sleep_time | |
wakeup_weekday_bar: !input wakeup_weekday_bar | |
sleep_weekday_bar: !input sleep_weekday_bar | |
wakeup_settings_atrans: !input wakeup_settings_atrans | |
wakeup_settings_color: !input wakeup_settings_color | |
sleep_settings_atrans: !input sleep_settings_atrans | |
sleep_settings_color: !input sleep_settings_color | |
sleep_settings_abri: !input sleep_settings_abri | |
sleep_settings_bri: !input sleep_settings_bri | |
sleep_time_format: !input sleep_time_format | |
wakeup_settings_bri: !input wakeup_settings_bri | |
wakeup_settings_abri: !input wakeup_settings_abri | |
wakeup_calendar_style: !input wakeup_calendar_style | |
wakeup_settings_calendar_color: !input wakeup_settings_calendar_color | |
wakeup_settings_calendar_text_color: !input wakeup_settings_calendar_text_color | |
wakeup_time_format: !input wakeup_time_format | |
awtrix_devices: >- | |
{%- set ns = namespace(awtrix = []) -%} | |
{%- for device_id in device_ids -%} | |
{%- set device_name = iif(device_attr(device_id, 'name_by_user') != none, device_attr(device_id, 'name_by_user'), device_attr(device_id, 'name')) -%} | |
{%- set entity = expand(device_entities(device_id)) | select('search', 'device_topic') | map(attribute='entity_id') | first -%} | |
{%- set topic = states(entity) -%} | |
{% set ns.awtrix = ns.awtrix + [{"device": device_name, "entity": entity, "topic": topic}] -%} | |
{%- endfor -%} | |
{{ ns.awtrix }} | |
payload_sleep_switch: >- | |
{ | |
"name": "time" | |
} | |
payload_sleep_settings: >- | |
{ "ATRANS": {{ sleep_settings_atrans | lower }}, | |
"BRI": {{ sleep_settings_bri }}, | |
"ABRI": {{ sleep_settings_abri | lower }}, | |
"TMODE": 0, | |
"TFORMAT": "{{ sleep_time_format }}", | |
"WD": {{ sleep_weekday_bar | lower }}, | |
"TIME_COL": {{ sleep_settings_color }} | |
} | |
payload_wakeup_settings: >- | |
{ "ATRANS": {{ wakeup_settings_atrans | lower }}, | |
"BRI": {{ wakeup_settings_bri }}, | |
"ABRI": {{ wakeup_settings_abri | lower }}, | |
"CCOL": {{ wakeup_settings_calendar_color }}, | |
"CTCOL": {{ wakeup_settings_calendar_text_color }}, | |
"TMODE": {{ wakeup_calendar_style }}, | |
"TFORMAT": "{{ wakeup_time_format }}", | |
"WD": {{ wakeup_weekday_bar | lower }}, | |
"TIME_COL": {{ wakeup_settings_color }} | |
} | |
trigger: | |
- platform: time | |
at: !input wake_up_time | |
id: wakeup_timer | |
- platform: time | |
at: !input sleep_time | |
id: sleep_timer | |
condition: [] | |
action: | |
- repeat: | |
for_each: "{{ awtrix_devices }}" | |
sequence: | |
- choose: | |
- conditions: | |
- condition: template | |
value_template: > | |
{{ states(repeat.item.entity) not in ['unavailable', 'unknown'] }} | |
sequence: | |
- if: | |
- condition: trigger | |
id: | |
- wakeup_timer | |
then: | |
- service: mqtt.publish | |
data: | |
qos: 0 | |
retain: false | |
topic: "{{ repeat.item.topic ~ '/settings'}}" | |
payload: "{{ payload_wakeup_settings }}" | |
- if: | |
- condition: trigger | |
id: | |
- sleep_timer | |
then: | |
- service: mqtt.publish | |
data: | |
qos: 0 | |
retain: false | |
topic: "{{ repeat.item.topic ~ '/settings'}}" | |
payload: "{{ payload_sleep_settings }}" | |
- service: mqtt.publish | |
data: | |
qos: 0 | |
retain: false | |
topic: "{{ repeat.item.topic ~ '/switch'}}" | |
payload: "{{ payload_sleep_switch }}" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment