Files
Macros/Scripts/idle.cfg
2025-07-03 18:04:20 +03:00

105 lines
4.3 KiB
INI

[idle_timeout]
timeout: 120
gcode:
RESPOND MSG="Idle start"
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION={printer["gcode_macro RatOS"].idle_delay}
[delayed_gcode set_idle_work]
initial_duration: 1
gcode:
M119
[delayed_gcode _FIRST_STAGE_IDLE]
variable_first_stage_active: False
gcode:
{% if printer.idle_timeout.state == "Idle" or printer.idle_timeout.state == "Ready" %}
{% if printer.heater_bed.temperature < 50.0 %}
{% if printer.heater_bed.target == 0.0 %}
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION=0
{% if printer["gcode_macro _FIRST_STAGE_IDLE"].first_stage_active|lower == 'false' %}
{% if printer["gcode_macro RatOS"].tgbot_enabled|lower == 'true' %}
RESPOND PREFIX=tgnotify MSG="Моторы погашены"
{% endif %}
M84
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION={printer["gcode_macro RatOS"].poweroff_delay}
SET_GCODE_VARIABLE MACRO=_FIRST_STAGE_IDLE VARIABLE=first_stage_active VALUE=True
M104 S0
{% endif %}
{% else %}
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION=2
{% endif %}
{% else %}
{% if printer.idle_timeout.state == "Printing" %}
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION=0
{% else %}
{% if printer.extruder.target == 0.0 and printer.heater_bed.target == 0.0 %}
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION=2
{% else %}
UPDATE_DELAYED_GCODE ID=_FIRST_STAGE_IDLE DURATION={printer["gcode_macro RatOS"].idle_delay}
{% if printer["gcode_macro RatOS"].tgbot_enabled|lower == 'true' %}
{% if printer["gcode_macro RatOS"].chamber_temp_enabled|lower == 'true' %}
RESPOND PREFIX=tgnotify MSG="Хозяина, я тут греюсь стою. Температура камеры {printer['temperature_sensor Chamber'].temperature}"
{% else %}
RESPOND PREFIX=tgnotify MSG="Хозяина, я тут греюсь стою. Температура стола {printer.heater_bed.temperature}"
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[delayed_gcode _POWER_OFF_PRINTER_CHECK]
gcode:
{% if printer.idle_timeout.state == "Idle" or printer.idle_timeout.state == "Ready" %}
{% if printer.extruder.temperature < 50.0 and printer.heater_bed.temperature < 50.0 %}
{% if printer.extruder.target == 0.0 and printer.heater_bed.target == 0.0 %}
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION=0
{% if printer["gcode_macro RatOS"].tgbot_enabled|lower == 'true' %}
RESPOND PREFIX=tgnotify MSG="Питание принтера выключено"
{% endif %}
_POWER_OFF_PRINTER
{% else %}
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION=2
{% endif %}
{% else %}
{% if printer.idle_timeout.state == "Printing" %}
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION=0
{% else %}
{% if printer.extruder.target == 0.0 and printer.heater_bed.target == 0.0 %}
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION=2
{% else %}
UPDATE_DELAYED_GCODE ID=_POWER_OFF_PRINTER_CHECK DURATION=0
{% endif %}
{% endif %}
{% endif %}
{% endif %}
[delayed_gcode _IDLE_HEATER_SHUTDOWN]
gcode:
{% if printer.idle_timeout.state == "Idle" or printer.idle_timeout.state == "Ready" %}
{% if printer.heater_bed.target == 0.0 %}
UPDATE_DELAYED_GCODE ID=_IDLE_HEATER_SHUTDOWN DURATION=0
RESPOND MSG="Грелка выключена"
{% if printer["gcode_macro RatOS"].tgbot_enabled|lower == 'true' %}
RESPOND PREFIX=tgnotify MSG="Грелка выключена"
{% endif %}
M104 S0
{% endif %}
{% endif %}
[delayed_gcode _EXHAUST_FAN_DELAYED]
gcode:
SET_FAN_SPEED FAN=Exhaust_fan SPEED=0
RESPOND MSG="Вытяжка остановлена"
{% if printer["gcode_macro RatOS"].tgbot_enabled|lower == 'true' %}
RESPOND PREFIX=tgnotify MSG="Вытяжка остановлена"
{% endif %}
[gcode_macro _POWER_OFF_PRINTER]
gcode:
SET_GCODE_VARIABLE MACRO=_FIRST_STAGE_IDLE VARIABLE=first_stage_active VALUE=False
{action_call_remote_method("set_device_power",
device=printer["gcode_macro RatOS"].power_device,
state="off")}