c_evening_daylight.cfg modified - 19/04/25 - 00:20:32
This commit is contained in:
1 parent
a4d09efd77
commit
34c150bd45
1 file changed
+20
-10
@@ -1,27 +1,37 @@
|
||||
[gcode_macro EVENING_DAYLIGHT]
|
||||
description: Fade in daylight between 4:30pm and 6:00pm, only respond if brightness changes
|
||||
description: 24hr day/night lighting with fade-in/out and no log spam
|
||||
variable_last_brightness: -1.0
|
||||
gcode:
|
||||
{% set hour = now().hour %}
|
||||
{% set minute = now().minute %}
|
||||
{% set hour = printer["system_time"].hour %}
|
||||
{% set minute = printer["system_time"].minute %}
|
||||
{% set total_minutes = hour * 60 + minute %}
|
||||
{% set fade_start = 16 * 60 + 30 %}
|
||||
{% set fade_end = 18 * 60 %}
|
||||
|
||||
{% if total_minutes < fade_start %}
|
||||
{% set target = 0.0 %}
|
||||
{% elif total_minutes >= fade_end %}
|
||||
{% set fade_out_start = 7 * 60 %}
|
||||
{% set fade_out_end = 8 * 60 %}
|
||||
{% set fade_in_start = 16 * 60 + 30 %}
|
||||
{% set fade_in_end = 18 * 60 %}
|
||||
|
||||
{% if total_minutes < fade_out_start %}
|
||||
{% set target = 1.0 %}
|
||||
{% elif total_minutes < fade_out_end %}
|
||||
{% set progress = 1.0 - ((total_minutes - fade_out_start) / (fade_out_end - fade_out_start)) %}
|
||||
{% set target = progress %}
|
||||
{% elif total_minutes < fade_in_start %}
|
||||
{% set target = 0.0 %}
|
||||
{% elif total_minutes < fade_in_end %}
|
||||
{% set progress = (total_minutes - fade_in_start) / (fade_in_end - fade_in_start) %}
|
||||
{% set target = progress %}
|
||||
{% else %}
|
||||
{% set target = ((total_minutes - fade_start) / (fade_end - fade_start)) %}
|
||||
{% set target = 1.0 %}
|
||||
{% endif %}
|
||||
|
||||
{% set rounded_target = (target * 100)|int / 100.0 %}
|
||||
|
||||
{% if rounded_target != last_brightness %}
|
||||
SET_PIN PIN=daylight VALUE={rounded_target}
|
||||
SET_GCODE_VARIABLE MACRO=EVENING_DAYLIGHT VARIABLE=last_brightness VALUE={rounded_target}
|
||||
|
||||
{% set time_display = hour|string ~ ":" ~ ("%02d"|format(minute)) %}
|
||||
{% set fade_msg = "🌗 Daylight: " ~ (rounded_target * 100)|int|string ~ "% (" ~ time_display ~ ")" %}
|
||||
{% set fade_msg = "💡 Brightness: " ~ (rounded_target * 100)|int|string ~ "% at " ~ time_display %}
|
||||
RESPOND MSG="{fade_msg}"
|
||||
{% endif %}
|
||||
Reference in new issue
Block a user