Files
HomeAssistantVS/custom_components/maintenance_supporter/services.yaml
T
2026-07-08 10:43:39 -04:00

348 lines
9.0 KiB
YAML

complete:
name: Complete Maintenance
description: Mark a maintenance task as completed.
fields:
entity_id:
name: Entity
description: The maintenance sensor entity to complete.
required: true
selector:
entity:
domain: sensor
integration: maintenance_supporter
notes:
name: Notes
description: Optional notes about the maintenance performed.
selector:
text:
cost:
name: Cost
description: Cost of the maintenance performed.
selector:
number:
min: 0
step: 0.01
mode: box
duration:
name: Duration (minutes)
description: Duration of the maintenance in minutes.
selector:
number:
min: 0
max: 1440
step: 1
mode: box
reading_value:
name: Reading value
description: Recorded value for reading-type tasks (meter reading, level check).
selector:
number:
mode: box
step: any
reset:
name: Reset Maintenance
description: Reset the last performed date of a maintenance task.
fields:
entity_id:
name: Entity
description: The maintenance sensor entity to reset.
required: true
selector:
entity:
domain: sensor
integration: maintenance_supporter
date:
name: Date
description: The date to set as last performed. Defaults to today.
selector:
date:
skip:
name: Skip Maintenance
description: Skip the current maintenance cycle.
fields:
entity_id:
name: Entity
description: The maintenance sensor entity to skip.
required: true
selector:
entity:
domain: sensor
integration: maintenance_supporter
reason:
name: Reason
description: Optional reason for skipping.
selector:
text:
export_data:
name: Export Data
description: Export all maintenance data as JSON or YAML.
fields:
format:
name: Format
description: Output format for the exported data.
default: "json"
selector:
select:
options:
- "json"
- "yaml"
include_history:
name: Include History
description: Whether to include task history entries in the export.
default: true
selector:
boolean:
add_object:
name: Add Object
description: Create a new maintenance object (device). Returns the new entry_id.
fields:
name:
name: Name
description: Name of the object/device.
required: true
selector:
text:
area_id:
name: Area
description: Area to assign the device to.
selector:
area:
manufacturer:
name: Manufacturer
selector:
text:
model:
name: Model
selector:
text:
serial_number:
name: Serial number
selector:
text:
installation_date:
name: Installation date
selector:
date:
warranty_expiry:
name: Warranty expiry
description: Warranty expiry date (used for asset tracking and reminders).
selector:
date:
documentation_url:
name: Documentation URL
description: Link to a manual or vendor page (http/https only).
selector:
text:
notes:
name: Notes
selector:
text:
multiline: true
add_task:
name: Add Task
description: Add a maintenance task to an existing object. Returns the new task_id.
fields:
entry_id:
name: Object
description: The maintenance object to add the task to.
required: true
selector:
config_entry:
integration: maintenance_supporter
name:
name: Name
description: Name of the task.
required: true
selector:
text:
task_type:
name: Task type
description: Free-form category (e.g. inspection, service, custom).
selector:
text:
schedule_type:
name: Schedule type
description: "time_based (interval) or sensor_based. Default: time_based."
selector:
text:
interval_days:
name: Interval
description: Interval length between occurrences (for time-based tasks), combined with interval_unit.
selector:
number:
min: 1
max: 3650
step: 1
mode: box
interval_unit:
name: Interval unit
description: "Unit for the interval: days, weeks, months or years. Default: days."
selector:
select:
options:
- days
- weeks
- months
- years
due_date:
name: Due date
description: Due date (YYYY-MM-DD) for a one-time task (schedule_type one_time).
selector:
text:
schedule:
name: Calendar schedule
description: >-
Nested recurrence for the calendar kinds, e.g. {"kind": "nth_weekday",
"nth": 1, "weekday": 5} for the 1st Saturday (weekday 0=Mon … 6=Sun),
{"kind": "weekdays", "weekdays": [0, 3]} for Mon & Thu, or {"kind":
"day_of_month", "day": 15}. Takes precedence over interval_days /
schedule_type.
selector:
object:
warning_days:
name: Warning (days)
description: Days before due to enter the due-soon window.
default: 7
selector:
number:
min: 0
max: 365
step: 1
mode: box
enabled:
name: Enabled
default: true
selector:
boolean:
notes:
name: Notes
selector:
text:
multiline: true
update_task:
name: Update Task
description: Update the common fields of an existing maintenance task. Only the provided fields change.
fields:
entry_id:
name: Object
description: The maintenance object the task belongs to.
required: true
selector:
config_entry:
integration: maintenance_supporter
task_id:
name: Task ID
description: The id of the task to update (see list_tasks).
required: true
selector:
text:
name:
name: Name
description: New name of the task.
selector:
text:
task_type:
name: Task type
description: Category (cleaning, inspection, replacement, calibration, service, reading, custom).
selector:
text:
schedule_type:
name: Schedule type
description: time_based (interval), sensor_based, one_time or manual.
selector:
text:
interval_days:
name: Interval
description: Interval length between occurrences, combined with interval_unit.
selector:
number:
min: 1
max: 3650
mode: box
interval_unit:
name: Interval unit
description: days, weeks, months or years.
selector:
select:
options: ["days", "weeks", "months", "years"]
due_date:
name: Due date
description: Due date for one-time tasks (YYYY-MM-DD).
selector:
date:
schedule:
name: Schedule (calendar recurrence)
description: "Nested recurrence object for the calendar kinds, e.g. {\"kind\": \"day_of_month\", \"day\": -1, \"business\": true}. Takes precedence over the flat fields."
selector:
object:
warning_days:
name: Warning days
description: Days before due when the task turns due-soon.
selector:
number:
min: 0
max: 365
mode: box
enabled:
name: Enabled
description: Whether the task is active.
selector:
boolean:
notes:
name: Notes
description: Free-form notes on the task.
selector:
text:
priority:
name: Priority
description: low, normal or high.
selector:
select:
options: ["low", "normal", "high"]
labels:
name: Labels
description: List of tags for filtering and reporting.
selector:
object:
delete_task:
name: Delete Task
description: Delete a maintenance task including its history. This cannot be undone — consider archiving via the panel instead.
fields:
entry_id:
name: Object
description: The maintenance object the task belongs to.
required: true
selector:
config_entry:
integration: maintenance_supporter
task_id:
name: Task ID
description: The id of the task to delete (see list_tasks).
required: true
selector:
text:
list_tasks:
name: List Tasks
description: Return a snapshot of active maintenance tasks (id, name, status, next due) for automations, scripts and voice. Supports filtering by object and status.
fields:
entry_id:
name: Object
description: Only return tasks of this maintenance object.
selector:
config_entry:
integration: maintenance_supporter
status:
name: Status
description: Only return tasks with this status.
selector:
select:
options: ["ok", "due_soon", "overdue", "triggered"]