Files
HomeAssistantVS/.ha_mcp/backups/script.spoolman_set_spool_remaining.20261015_132353.yaml
T

61 lines
2.4 KiB
YAML

# ha_mcp_backup
schema_version: 1
domain: script
entity_id: spoolman_set_spool_remaining
captured: '2026-10-15T13:23:53.118614+00:00'
tool: ha_config_set_script
config:
alias: Spoolman - Set Spool Remaining
fields:
slot:
name: CFS Slot
description: CFS slot number 1-4 - resolves the spool by the slot color hex
selector:
number:
min: 1
max: 4
mode: box
spool_id:
name: Spool ID
description: Direct Spoolman spool ID - used when no slot is given
selector:
number:
min: 1
max: 9999
mode: box
sequence:
- variables:
resolved_id: '{% set n = (slot | int(0)) if slot is defined else 0 %}{% if n
>= 1 %}{% set ns = namespace(id='''') %}{% for e in integration_entities(''spoolman'')
%}{% if e.endswith(''_color_hex'') and (state_attr(e[:-10], ''location'')
| default('''', true) | lower) == (''cfs lite '' ~ (n | int)) and ns.id ==
'''' %}{% set ns.id = states(e[:-10] ~ ''_id'') %}{% endif %}{% endfor %}{{
ns.id }}{% else %}{{ (spool_id | int(0)) if spool_id is defined else 0 }}{%
endif %}'
slot_n: '{{ (slot | int(0)) if slot is defined else 0 }}'
- choose:
- conditions:
condition: template
value_template: '{{ resolved_id | int(0) > 0 }}'
sequence:
- action: spoolman.patch_spool
data:
id: '{{ resolved_id | int(0) }}'
remaining_weight: '{{ states(''input_number.spoolman_set_remaining'') |
float(0) }}'
default:
- action: notify.persistent_notification
data:
title: Spoolman - remaining not set
message: '{% if slot_n | int >= 1 %}No Spoolman spool matched CFS slot {{
slot_n }} (color {{ states(''sensor.sparkx_i7_cfs_box_1_slot_'' ~ (slot_n
| int) ~ ''_color'') }}) in the CFS Lite location - register a spool with
that color hex and location in Spoolman, then try again.{% else %}No spool
resolved - pass spool_id or a CFS slot 1-4. Nothing was set.{% endif %}'
mode: single
description: Sets a Spoolman spool remaining weight from the shared helper input_number.spoolman_set_remaining.
Pass slot (1-4) to resolve the spool by the CFS slot color hex in the CFS Lite
location (no remaining-weight guard, so an exhausted spool can be reset to full),
or pass spool_id directly. Notifies via persistent notification when nothing could
be resolved.