74 lines
2.9 KiB
YAML
74 lines
2.9 KiB
YAML
|
|
# ------------------------------------------------------------
|
||
|
|
# BAMBU: Polly-Pocket (A1 Mini)
|
||
|
|
# ------------------------------------------------------------
|
||
|
|
- alias: "Print Log - Polly-Pocket - Start"
|
||
|
|
id: print_log_polly_pocket_start
|
||
|
|
description: "Creates Notion entry when Polly-Pocket begins printing"
|
||
|
|
mode: single
|
||
|
|
trigger:
|
||
|
|
- platform: state
|
||
|
|
entity_id: sensor.a1mini_0309ca580403653_print_status
|
||
|
|
to: "running"
|
||
|
|
condition:
|
||
|
|
- condition: template
|
||
|
|
value_template: "{{ trigger.from_state.state != 'running' }}"
|
||
|
|
- condition: template
|
||
|
|
value_template: "{{ states('input_text.notion_page_id_polly_pocket') | length < 10 }}"
|
||
|
|
action:
|
||
|
|
- delay: "00:00:05"
|
||
|
|
- action: rest_command.notion_create_print
|
||
|
|
data:
|
||
|
|
file_name: "{{ states('sensor.a1mini_0309ca580403653_gcode_filename') }}"
|
||
|
|
printer_name: "Polly-Pocket"
|
||
|
|
filament_type: "{{ state_attr('sensor.a1mini_0309ca580403653_active_tray', 'type') | default('Unknown') }}"
|
||
|
|
filament_color: "{{ state_attr('sensor.a1mini_0309ca580403653_active_tray', 'color') | default('Unknown') }}"
|
||
|
|
started: "{{ now().strftime('%Y-%m-%dT%H:%M:%S') }}"
|
||
|
|
response_variable: notion_response
|
||
|
|
- action: input_text.set_value
|
||
|
|
target:
|
||
|
|
entity_id: input_text.notion_page_id_polly_pocket
|
||
|
|
data:
|
||
|
|
value: "{{ notion_response.content.id | default('') }}"
|
||
|
|
|
||
|
|
- alias: "Print Log - Polly-Pocket - Finish"
|
||
|
|
id: print_log_polly_pocket_finish
|
||
|
|
description: "Updates Notion entry when Polly-Pocket finishes, fails, or is cancelled"
|
||
|
|
mode: single
|
||
|
|
trigger:
|
||
|
|
- platform: state
|
||
|
|
entity_id: sensor.a1mini_0309ca580403653_print_status
|
||
|
|
to: "finish"
|
||
|
|
id: completed
|
||
|
|
- platform: state
|
||
|
|
entity_id: sensor.a1mini_0309ca580403653_print_status
|
||
|
|
to: "failed"
|
||
|
|
id: failed
|
||
|
|
- platform: state
|
||
|
|
entity_id: sensor.a1mini_0309ca580403653_print_status
|
||
|
|
to: "cancelled"
|
||
|
|
id: cancelled
|
||
|
|
condition:
|
||
|
|
- condition: template
|
||
|
|
value_template: "{{ states('input_text.notion_page_id_polly_pocket') | length > 10 }}"
|
||
|
|
action:
|
||
|
|
- delay: "00:00:05"
|
||
|
|
- variables:
|
||
|
|
page_id: "{{ states('input_text.notion_page_id_polly_pocket') }}"
|
||
|
|
- condition: template
|
||
|
|
value_template: "{{ page_id | length > 10 }}"
|
||
|
|
- action: rest_command.notion_update_print
|
||
|
|
data:
|
||
|
|
page_id: "{{ page_id }}"
|
||
|
|
status: >
|
||
|
|
{% if trigger.id == 'completed' %}Completed
|
||
|
|
{% elif trigger.id == 'failed' %}Failed
|
||
|
|
{% else %}Cancelled{% endif %}
|
||
|
|
weight: "{{ states('sensor.a1mini_0309ca580403653_print_weight') | float(0) }}"
|
||
|
|
length: "{{ states('sensor.a1mini_0309ca580403653_print_length') | float(0) }}"
|
||
|
|
completed: "{{ now().strftime('%Y-%m-%dT%H:%M:%S') }}"
|
||
|
|
- action: input_text.set_value
|
||
|
|
target:
|
||
|
|
entity_id: input_text.notion_page_id_polly_pocket
|
||
|
|
data:
|
||
|
|
value: ""
|