automations.yaml
This commit is contained in:
+29
-66
@@ -3493,93 +3493,56 @@
|
|||||||
mode: single
|
mode: single
|
||||||
- id: '1787462132503'
|
- id: '1787462132503'
|
||||||
alias: 3D Print Complete Snapshot
|
alias: 3D Print Complete Snapshot
|
||||||
description: Sends a notification with an OctoPrint webcam snapshot to all mobile
|
description: Sends a notification with a SparkX i7 camera snapshot when a print
|
||||||
devices when a print finishes successfully.
|
finishes successfully.
|
||||||
triggers:
|
triggers:
|
||||||
- entity_id: sensor.octoprint_last_event
|
- entity_id: sensor.sparkx_i7_print_status
|
||||||
to: PrintDone
|
from: printing
|
||||||
|
to: completed
|
||||||
trigger: state
|
trigger: state
|
||||||
actions:
|
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
|
- action: camera.snapshot
|
||||||
target:
|
|
||||||
entity_id: camera.endercamera_duckdns_org
|
|
||||||
data:
|
data:
|
||||||
filename: /config/www/octoprint_snapshot.jpg
|
filename: /config/www/sparkx_i7_complete_snapshot.jpg
|
||||||
|
target:
|
||||||
|
entity_id: camera.sparkx_i7_printer_camera
|
||||||
- parallel:
|
- parallel:
|
||||||
- action: notify.mobile_app_sm_f956w
|
- action: notify.mobile_app_sm_f956w
|
||||||
data:
|
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:
|
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
|
- action: notify.mobile_app_motorola_one_vision
|
||||||
data:
|
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:
|
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
|
- action: notify.mobile_app_francos_ipad
|
||||||
data:
|
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:
|
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
|
- action: notify.mobile_app_sm_t387w
|
||||||
data:
|
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:
|
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
|
- action: telegram_bot.send_photo
|
||||||
data:
|
data:
|
||||||
|
caption: '{{ completion_message }}'
|
||||||
entity_id: notify.franco
|
entity_id: notify.franco
|
||||||
file: /config/www/octoprint_snapshot.jpg
|
file: /config/www/sparkx_i7_complete_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) }}'
|
|
||||||
parse_mode: plain_text
|
parse_mode: plain_text
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1787462157568'
|
- id: '1787462157568'
|
||||||
|
|||||||
Reference in New Issue
Block a user