automations.yaml

This commit is contained in:
Home Assistant Version Control
2026-09-24 15:27:43 +00:00
parent ef3619f265
commit 466c217bc5
+29 -66
View File
@@ -3493,93 +3493,56 @@
mode: single
- id: '1787462132503'
alias: 3D Print Complete Snapshot
description: Sends a notification with an OctoPrint webcam snapshot to all mobile
devices when a print finishes successfully.
description: Sends a notification with a SparkX i7 camera snapshot when a print
finishes successfully.
triggers:
- entity_id: sensor.octoprint_last_event
to: PrintDone
- entity_id: sensor.sparkx_i7_print_status
from: printing
to: completed
trigger: state
actions:
- variables:
completion_message: '{% set f = trigger.to_state.attributes.get(''file'', '''')
%} {% set file = ''Print'' if f in ['''', none, ''unknown'', ''unavailable'']
else f.split(''/'')[-1].replace(''.gcode'', '''') %} {% set s = trigger.to_state.attributes.get(''job_time_s'',
0) | int(0) %} {{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}. Total time: {% if s >= 3600 %}{{ s // 3600 }}h {{
((s % 3600) // 60) }}m{% else %}{{ ((s % 3600) // 60) }}m{% endif %}'
- action: camera.snapshot
target:
entity_id: camera.endercamera_duckdns_org
data:
filename: /config/www/octoprint_snapshot.jpg
filename: /config/www/sparkx_i7_complete_snapshot.jpg
target:
entity_id: camera.sparkx_i7_printer_camera
- parallel:
- action: notify.mobile_app_sm_f956w
data:
title: 3D print complete
message: '{% set f = states(''sensor.octoprint_print_file'') %}{% set file
= ''Print'' if f in [''unknown'', ''unavailable'', ''none''] else f.replace(''.gcode'',
'''') %}{% set tt = state_attr(''sensor.octoprint_print_progress'', ''printTime'')
| int(0) %}{% set s = tt if tt > 0 else states(''sensor.octoprint_elapsed'')
| int(0) %}{% macro dur(s) -%}{%- if s >= 3600 -%}{{ (s // 3600) }}h {{
((s % 3600) // 60) }}m{%- else -%}{{ ((s % 3600) // 60) }}m{%- endif -%}{%-
endmacro %}{{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}.
Total time: {{ dur(s) }}'
data:
image: /local/octoprint_snapshot.jpg
image: /local/sparkx_i7_complete_snapshot.jpg
message: '{{ completion_message }}'
title: 3D print complete
- action: notify.mobile_app_motorola_one_vision
data:
title: 3D print complete
message: '{% set f = states(''sensor.octoprint_print_file'') %}{% set file
= ''Print'' if f in [''unknown'', ''unavailable'', ''none''] else f.replace(''.gcode'',
'''') %}{% set tt = state_attr(''sensor.octoprint_print_progress'', ''printTime'')
| int(0) %}{% set s = tt if tt > 0 else states(''sensor.octoprint_elapsed'')
| int(0) %}{% macro dur(s) -%}{%- if s >= 3600 -%}{{ (s // 3600) }}h {{
((s % 3600) // 60) }}m{%- else -%}{{ ((s % 3600) // 60) }}m{%- endif -%}{%-
endmacro %}{{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}.
Total time: {{ dur(s) }}'
data:
image: /local/octoprint_snapshot.jpg
image: /local/sparkx_i7_complete_snapshot.jpg
message: '{{ completion_message }}'
title: 3D print complete
- action: notify.mobile_app_francos_ipad
data:
title: 3D print complete
message: '{% set f = states(''sensor.octoprint_print_file'') %}{% set file
= ''Print'' if f in [''unknown'', ''unavailable'', ''none''] else f.replace(''.gcode'',
'''') %}{% set tt = state_attr(''sensor.octoprint_print_progress'', ''printTime'')
| int(0) %}{% set s = tt if tt > 0 else states(''sensor.octoprint_elapsed'')
| int(0) %}{% macro dur(s) -%}{%- if s >= 3600 -%}{{ (s // 3600) }}h {{
((s % 3600) // 60) }}m{%- else -%}{{ ((s % 3600) // 60) }}m{%- endif -%}{%-
endmacro %}{{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}.
Total time: {{ dur(s) }}'
data:
image: /local/octoprint_snapshot.jpg
image: /local/sparkx_i7_complete_snapshot.jpg
message: '{{ completion_message }}'
title: 3D print complete
- action: notify.mobile_app_sm_t387w
data:
title: 3D print complete
message: '{% set f = states(''sensor.octoprint_print_file'') %}{% set file
= ''Print'' if f in [''unknown'', ''unavailable'', ''none''] else f.replace(''.gcode'',
'''') %}{% set tt = state_attr(''sensor.octoprint_print_progress'', ''printTime'')
| int(0) %}{% set s = tt if tt > 0 else states(''sensor.octoprint_elapsed'')
| int(0) %}{% macro dur(s) -%}{%- if s >= 3600 -%}{{ (s // 3600) }}h {{
((s % 3600) // 60) }}m{%- else -%}{{ ((s % 3600) // 60) }}m{%- endif -%}{%-
endmacro %}{{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}.
Total time: {{ dur(s) }}'
data:
image: /local/octoprint_snapshot.jpg
image: /local/sparkx_i7_complete_snapshot.jpg
message: '{{ completion_message }}'
title: 3D print complete
- action: telegram_bot.send_photo
data:
caption: '{{ completion_message }}'
entity_id: notify.franco
file: /config/www/octoprint_snapshot.jpg
caption: '{% set f = states(''sensor.octoprint_print_file'') %}{% set file
= ''Print'' if f in [''unknown'', ''unavailable'', ''none''] else f.replace(''.gcode'',
'''') %}{% set tt = state_attr(''sensor.octoprint_print_progress'', ''printTime'')
| int(0) %}{% set s = tt if tt > 0 else states(''sensor.octoprint_elapsed'')
| int(0) %}{% macro dur(s) -%}{%- if s >= 3600 -%}{{ (s // 3600) }}h {{
((s % 3600) // 60) }}m{%- else -%}{{ ((s % 3600) // 60) }}m{%- endif -%}{%-
endmacro %}{{ file }} finished successfully at {{ now().strftime(''%I:%M
%p'').lstrip(''0'') }}.
Total time: {{ dur(s) }}'
file: /config/www/sparkx_i7_complete_snapshot.jpg
parse_mode: plain_text
mode: single
- id: '1787462157568'