boo:
  name: Boo! 👻
  description: >-
    Calling this action spooks Home Assistant.
    Performing this action will always fail.

random_fail:
  name: Random fail 👻
  description: Performing this action will randomly fail.

blueprint_import:
  name: Import blueprint 👻
  description: >-
    Import a blueprint.
  fields:
    url:
      name: URL
      description: The URL to import the blueprint from.
      required: true
      selector:
        text:

homeassistant_create_area:
  name: Create an area 👻
  description: >-
    Creates a new area on the fly.
  fields:
    name:
      name: Name
      description: The name of the area to create.
      required: true
      selector:
        text:
    icon:
      name: Icon
      description: Icon to use for the area.
      required: false
      selector:
        icon:
          placeholder: mdi:texture-box
    aliases:
      name: Aliases
      description: >-
        A list of aliases for the area. This is useful if you want to use the
        area in a different language or different nickname.
      selector:
        object:

homeassistant_add_alias_to_area:
  name: Add an alias to an area 👻
  description: >-
    Adds an alias to an area.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to add the alias to.
      required: true
      selector:
        area:
    alias:
      name: Alias
      description: The alias (or list of aliases) to add to the area.
      required: true
      selector:
        object:

homeassistant_remove_alias_from_area:
  name: Remove an alias from an area 👻
  description: >-
    Removes an alias from an area.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to remove the alias from.
      required: true
      selector:
        area:
    alias:
      name: Alias
      description: The alias (or list of aliases) to remove from the area.
      required: true
      selector:
        object:

homeassistant_set_area_aliases:
  name: Sets aliases for an area 👻
  description: >-
    Sets aliases for an area. Overwrites and removes any existing aliases,
    fully replacing them with the new ones.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to set the aliases for.
      required: true
      selector:
        area:
    aliases:
      name: Aliases
      description: The aliases to set for the area.
      required: true
      selector:
        object:

homeassistant_add_device_to_area:
  name: Add a device to an area 👻
  description: >-
    Adds a device to an area. Please note, if the device is already in an area,
    it will be removed from the previous area.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to add the device to.
      required: true
      selector:
        area:
    device_id:
      name: Device ID
      description: The ID of the device(s) to add to the area.
      required: true
      selector:
        device:
          multiple: true

homeassistant_remove_device_from_area:
  name: Remove a device from an area 👻
  description: >-
    Removes a device from an area. As a device can only be in one area, this
    call doesn't need to specify the area.
  fields:
    device_id:
      name: Device ID
      description: The ID of the device to remove the area from.
      required: true
      selector:
        device:
          multiple: true

homeassistant_add_entity_to_area:
  name: Add an entity to an area 👻
  description: >-
    Adds an entity to an area. Please note, if the entity is already in an area,
    it will be removed from the previous area. This will override the area
    the device, that provides this entity, is in.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to add the entity to.
      required: true
      selector:
        area:
    entity_id:
      name: Entity ID
      description: The ID of the entity (or entities) to add to the area.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_remove_entity_from_area:
  name: Remove an entity from an area 👻
  description: >-
    Removes an entity from an area. As an entity can only be in one area, this
    call doesn't need to specify the area. Please note, the entity will
    still be in the area of the device that provides it after this call.
  fields:
    entity_id:
      name: Entity ID
      description: The ID of the entity (or entities) to remove the area from.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_delete_area:
  name: Delete an area 👻
  description: >-
    Deletes an area on the fly.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to delete.
      required: true
      selector:
        area:

homeassistant_disable_config_entry:
  name: Disable an integration 👻
  description: >-
    Disables an integration configuration entry.
  fields:
    config_entry_id:
      name: Config entry
      description: The integration configuration entry to disable.
      required: true
      selector:
        config_entry:

homeassistant_enable_config_entry:
  name: Enable an integration 👻
  description: >-
    Enables an integration configuration entry.
  fields:
    config_entry_id:
      name: Config entry
      description: The integration configuration entry to enable.
      required: true
      selector:
        config_entry:

homeassistant_disable_device:
  name: Disable a device 👻
  description: >-
    Disables a device on the fly.
  fields:
    device_id:
      name: Device
      description: The device(s) to disable.
      required: true
      selector:
        device:
          multiple: true

homeassistant_enable_device:
  name: Enable a device 👻
  description: >-
    Enables a device on the fly.
  fields:
    device_id:
      name: Device ID
      description: >-
        The raw device ID to enable. Disabled devices are not shown by Home
        Assistant's device selector. Multiple IDs can be provided as a YAML list.
      required: true
      selector:
        text:

homeassistant_disable_user:
  name: Disable a user 👻
  description: >-
    Disables a user account, preventing them from logging in.
  fields:
    user_id:
      name: User ID
      description: The ID(s) of the user(s) to disable.
      required: true
      selector:
        text:

homeassistant_enable_user:
  name: Enable a user 👻
  description: >-
    Enables a user account, allowing them to log in.
  fields:
    user_id:
      name: User ID
      description: The ID(s) of the user(s) to enable.
      required: true
      selector:
        text:

homeassistant_update_entity_id:
  name: Update an entity's ID 👻
  description: >-
    Updates an entity's ID on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to update.
      required: true
      selector:
        entity:
    new_entity_id:
      name: New Entity ID
      description: The new ID for the entity.
      required: true
      selector:
        text:

homeassistant_disable_entity:
  name: Disable an entity 👻
  description: >-
    Disables an entity (or entities) on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to disable.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_enable_entity:
  name: Enable an entity 👻
  description: >-
    Enables an entity (or entities) on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to enable.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_hide_entity:
  name: Hide an entity 👻
  description: >-
    Hides an entity (or entities) on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to hide.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_rename_entity:
  name: Rename an entity 👻
  description: >-
    Renames an entity (or entities) on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to rename.
      required: true
      selector:
        entity:
          multiple: true
    name:
      name: Name
      description: The new name for the entity/entities.
      required: true
      selector:
        text:

homeassistant_unhide_entity:
  name: Unhide an entity 👻
  description: >-
    Unhides an entity (or entities) on the fly.
  fields:
    entity_id:
      name: Entity
      description: The entity/entities to unhide.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_create_floor:
  name: Create a floor 👻
  description: >-
    Creates a new floor on the fly.
  fields:
    name:
      name: Name
      description: The name of the floor to create.
      required: true
      selector:
        text:
    icon:
      name: Icon
      description: Icon to use for the floor.
      required: false
      selector:
        icon:
          placeholder: mdi:texture-box
    level:
      name: Level
      description: The level the floor is on in your home.
      required: false
      selector:
        number:
    aliases:
      name: Aliases
      description: >-
        A list of aliases for the floor. This is useful if you want to use the
        floor in a different language or different nickname.
      selector:
        object:

homeassistant_add_alias_to_floor:
  name: Add an alias to a floor 👻
  description: >-
    Adds an alias to a floor.
  fields:
    floor_id:
      name: Floor ID
      description: The ID of the floor to add the alias to.
      required: true
      selector:
        floor:
    alias:
      name: Alias
      description: The alias (or list of aliases) to add to the floor.
      required: true
      selector:
        object:

homeassistant_remove_alias_from_floor:
  name: Remove an alias from a floor 👻
  description: >-
    Removes an alias from a floor.
  fields:
    floor_id:
      name: Floor ID
      description: The ID of the floor to remove the alias from.
      required: true
      selector:
        floor:
    alias:
      name: Alias
      description: The alias (or list of aliases) to remove from the floor.
      required: true
      selector:
        object:

homeassistant_set_floor_aliases:
  name: Sets aliases for a floor 👻
  description: >-
    Sets aliases for a floor. Overwrites and removes any existing aliases,
    fully replacing them with the new ones.
  fields:
    floor_id:
      name: Floor ID
      description: The ID of the floor to set the aliases for.
      required: true
      selector:
        floor:
    aliases:
      name: Aliases
      description: The aliases to set for the floor.
      required: true
      selector:
        object:

homeassistant_add_area_to_floor:
  name: Add an area to a floor 👻
  description: >-
    Adds an area to a floor. Please note, if the area is already on a floor,
    it will be removed from the previous floor.
  fields:
    floor_id:
      name: Floor ID
      description: The ID of the floor to add the area on.
      required: true
      selector:
        floor:
    area_id:
      name: Area ID
      description: The ID of the area(s) to add to the floor.
      required: true
      selector:
        area:
          multiple: true

homeassistant_remove_area_from_floor:
  name: Remove an area from a floor 👻
  description: >-
    Removes an area from a floor. As an area can only be on one floor, this
    call doesn't need to specify the floor.
  fields:
    area_id:
      name: Area ID
      description: The ID of the area to remove the floor from.
      required: true
      selector:
        area:
          multiple: true

homeassistant_delete_floor:
  name: Delete a floor 👻
  description: >-
    Deletes a floor on the fly.
  fields:
    floor_id:
      name: Floor ID
      description: The ID of the floor to delete.
      required: true
      selector:
        floor:

homeassistant_create_label:
  name: Create a label 👻
  description: >-
    Creates a new label on the fly.
  fields:
    name:
      name: Name
      description: The name of the label to create.
      required: true
      selector:
        text:
    description:
      name: Description
      description: Description for the label.
      required: true
      selector:
        text:
    icon:
      name: Icon
      description: Icon to use for the label.
      required: false
      selector:
        icon:
          placeholder: mdi:tag
    color:
      name: Color
      description: >-
        Color to use for the label. Can be a color name from the list, or a
        hex color code (like #FF0000).
      selector:
        select:
          options:
            - label: Primary theme color
              value: primary
            - label: Accent theme color
              value: accent
            - label: Disabled theme color
              value: disabled
            - label: Red
              value: red
            - label: Pink
              value: pink
            - label: Purple
              value: purple
            - label: Deep purple
              value: deep_purple
            - label: Indigo
              value: indigo
            - label: Blue
              value: blue
            - label: Light blue
              value: light_blue
            - label: Cyan
              value: cyan
            - label: Teal
              value: teal
            - label: Green
              value: green
            - label: Light green
              value: light_green
            - label: Lime
              value: lime
            - label: Yellow
              value: yellow
            - label: Orange
              value: orange
            - label: Deep orange
              value: deep_orange
            - label: Brown
              value: brown
            - label: Grey
              value: grey
            - label: Blue grey
              value: blue_grey
            - label: Black
              value: black
            - label: White
              value: white

homeassistant_add_label_to_area:
  name: Add a label to an area 👻
  description: >-
    Adds a label to an area. If multiple labels or multiple areas are
    provided, all combinations will be added.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to add the area(s).
      required: true
      selector:
        label:
          multiple: true
    area_id:
      name: Area ID
      description: The ID(s) of the area(s) to add the label(s) to.
      required: true
      selector:
        area:
          multiple: true

homeassistant_add_label_to_device:
  name: Add a label to a device 👻
  description: >-
    Adds a label to a device. If multiple labels or multiple devices are
    provided, all combinations will be added.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to add the device(s).
      required: true
      selector:
        label:
          multiple: true
    device_id:
      name: Device ID
      description: The ID(s) of the device(s) to add the label(s) to.
      required: true
      selector:
        device:
          multiple: true

homeassistant_add_label_to_entity:
  name: Add a label to an entity 👻
  description: >-
    Adds a label to an entity. If multiple labels or multiple entities are
    provided, all combinations will be added.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to add the entity/entities.
      required: true
      selector:
        label:
          multiple: true
    entity_id:
      name: Entity ID
      description: The ID(s) of the entity/entities to add the label(s) to.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_remove_label_from_area:
  name: Remove a label from an area 👻
  description: >-
    Removes a label from an area. If multiple labels or multiple areas are
    provided, all combinations will be removed.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to remove from the area(s).
      required: true
      selector:
        label:
          multiple: true
    area_id:
      name: Area ID
      description: The ID(s) of the area(s) to remove the label(s) from.
      required: true
      selector:
        area:
          multiple: true

homeassistant_remove_label_from_device:
  name: Remove a label from a device 👻
  description: >-
    Removes a label from a device. If multiple labels or multiple devices are
    provided, all combinations will be removed.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to remove from the device(s).
      required: true
      selector:
        label:
          multiple: true
    device_id:
      name: Device ID
      description: The ID(s) of the device(s) to remove the label(s) from.
      required: true
      selector:
        device:
          multiple: true

homeassistant_remove_label_from_entity:
  name: Remove a label from an entity 👻
  description: >-
    Removes a label from an entity. If multiple labels or multiple entities are
    provided, all combinations will be removed.
  fields:
    label_id:
      name: Label ID
      description: The ID(s) of the label(s) to remove from the entity/entities.
      required: true
      selector:
        label:
          multiple: true
    entity_id:
      name: Entity ID
      description: The ID(s) of the entity/entities to remove the label(s) from.
      required: true
      selector:
        entity:
          multiple: true

homeassistant_delete_label:
  name: Delete a label 👻
  description: >-
    Deletes a label on the fly.
  fields:
    label_id:
      name: Label ID
      description: The ID of the label to delete.
      required: true
      selector:
        label:

homeassistant_ignore_all_discovered:
  name: Ignore all currently discovered devices 👻
  description: >-
    Ignore all currently discovered devices that are shown on the integrations
    dashboard. This will not ignore devices that are discovered after this.
  fields:
    domain:
      name: Integration domain
      description: >-
        The integration domain to ignore all discovered devices for.
        If not provided, all domains will be considered to be ignored.
      required: false
      selector:
        text:

homeassistant_disable_polling:
  name: Disable polling for updates 👻
  description: >-
    Disables polling for updates for an integration configuration entry.
  fields:
    config_entry_id:
      name: Config entry
      description: The integration configuration entry to disable polling for.
      required: true
      selector:
        config_entry:

homeassistant_enable_polling:
  name: Enable polling for updates 👻
  description: >-
    Enables polling for updates for an integration configuration entry.
  fields:
    config_entry_id:
      name: Config entry
      description: The integration configuration entry to enable polling for.
      required: true
      selector:
        config_entry:

homeassistant_delete_all_orphaned_entities:
  name: Delete all orphaned entities 👻
  description: >-
    Deletes all orphaned entities that no longer have an integration that
    claim/provide them. Please note, if the integration was just removed,
    it might need a restart for Home Assistant to realize they are orphaned.

    **WARNING** Entities might have been marked orphaned because an
    integration is offline or not working since Home Assistant started. Calling
    this action will delete those entities as well.

homeassistant_list_orphaned_database_entities:
  name: List all orphaned database entities 👻
  description: >-
    Lists all orphaned database entities unclaimed by any integration.

homeassistant_restart:
  name: Restart 👻
  description: Restart the Home Assistant action.
  fields:
    safe_mode:
      name: Safe mode
      description: >-
        If the restart should be done in safe mode. This will disable all
        custom integrations and frontend modules.
      required: false
      selector:
        boolean:
    force:
      name: Force restart
      description: >-
        Force the restart. WARNING! This will not gracefully shutdown Home
        Assistant, it will skip configuration checks and ignore running database
        migrations. Only use this if you know what you are doing.
      required: false
      selector:
        boolean:

recorder_import_statistics:
  name: Import statistics 👻
  description: >-
    Import long-term statistics.
  fields:
    statistic_id:
      name: Statistics ID
      description: The statistics ID (entity ID) to import for.
      required: true
      selector:
        entity:
    name:
      name: Name
      description: The name of the statistics.
      required: false
      selector:
        text:
    source:
      name: Source
      description: The source of the statistics data.
      required: true
      selector:
        text:
    unit_of_measurement:
      name: Unit of measurement
      description: The unit of measurement of the statistics.
      required: false
      selector:
        text:
    has_mean:
      name: Has a mean
      description: If the statistics has a mean value.
      required: true
      selector:
        boolean:
    has_sum:
      name: Has a sum
      description: If the statistics has a sum value.
      required: true
      selector:
        boolean:
    stats:
      name: Statistics
      description: >-
        A list of mappings/dictionaries with statistics to import.
        The dictionaries must contain a "start" key with a datetime string
        other valid options are "mean", "sum", "min", "max", "last_reset", and
        "state". All of those are optional and either an integer or a float,
        except for "last_reset" which is a datetime string.
      required: true
      selector:
        object:

select_random:
  name: Select random option 👻
  description: >-
    Select a random option for a select entity.
  target:
    entity:
      domain: select
  fields:
    options:
      name: Options
      description: >-
        Limits the options to select from. If not provided, all options will be
        considered.
      required: false
      selector:
        object:

input_select_random:
  name: Select random option 👻
  description: >-
    Select a random option for an input_select entity.
  target:
    entity:
      domain: input_select
  fields:
    options:
      name: Options
      description: >-
        Limits the options to select from. If not provided, all options will be
        considered.
      required: false
      selector:
        object:

input_select_shuffle:
  name: Shuffle options 👻
  description: >-
    Shuffles the list of selectable options for an `input_select` entity.
    This is not persistent and will be undone once reloaded or Home Assistant
    restarts.
  target:
    entity:
      domain: input_select

input_select_sort:
  name: Sort options 👻
  description: >-
    Sorts the list of selectable options for an `input_select` entity.
    This is not persistent and will be undone once reloaded or Home Assistant
    restarts.
  target:
    entity:
      domain: input_select

number_decrement:
  name: Decrease value 👻
  description: >-
    Decrease a number entity value by a certain amount.
  target:
    entity:
      domain: number
  fields:
    amount:
      name: Amount
      description: >-
        The amount to decrease the number with. If not provided, the step of the
        number entity will be used.
      required: false
      selector:
        number:

number_increment:
  name: Increase value 👻
  description: >-
    Increase a number entity value by a certain amount.
  target:
    entity:
      domain: number
  fields:
    amount:
      name: Amount
      description: >-
        The amount to increase the number with. If not provided, the step of the
        number entity will be used.
      required: false
      selector:
        number:

number_max:
  name: Set maximum value 👻
  description: >-
    Set a number entity to its maximum value.
  target:
    entity:
      domain: number

number_min:
  name: Set minimum value 👻
  description: >-
    Set a number entity to its minimum value.
  target:
    entity:
      domain: number

input_number_decrement:
  name: Decrease value 👻
  description: >-
    Decrease an input number entity value by a certain amount.
  target:
    entity:
      domain: input_number
  fields:
    amount:
      name: Amount
      description: >-
        The amount to decrease the input number with. If not provided, the step
        of the number entity will be used.
      required: false
      selector:
        number:

input_number_increment:
  name: Increase value 👻
  description: >-
    Increase an input number entity value by a certain amount.
  target:
    entity:
      domain: input_number
  fields:
    amount:
      name: Amount
      description: >-
        The amount to increase the input number with. If not provided, the step
        of the number entity will be used.
      required: false
      selector:
        number:

input_number_max:
  name: Set maximum value 👻
  description: >-
    Set an input number entity to its maximum value.
  target:
    entity:
      domain: input_number

input_number_min:
  name: Set minimum value 👻
  description: >-
    Set an input number entity to its minimum value.
  target:
    entity:
      domain: input_number

input_number_create:
  name: Create an input number 👻
  description: >-
    Create a new input number helper on the fly.
  fields:
    name:
      name: Name
      description: The name of the new input number helper.
      required: true
      selector:
        text:
    input_number_id:
      name: Input number entity ID
      description: >-
        The entity ID for the new input number helper. The input_number. prefix
        is added automatically. If not provided, the entity ID will be generated
        based on the name.
      required: false
      selector:
        text:
    min:
      name: Minimum
      description: The minimum value of the input number.
      required: false
      default: 0
      selector:
        number:
          mode: box
          step: any
    max:
      name: Maximum
      description: The maximum value of the input number.
      required: false
      default: 100
      selector:
        number:
          mode: box
          step: any
    initial:
      name: Initial value
      description: The initial value of the input number when Home Assistant starts.
      required: false
      selector:
        number:
          mode: box
          step: any
    step:
      name: Step size
      description: The step size of the input number.
      required: false
      default: 1
      selector:
        number:
          mode: box
          step: any
    mode:
      name: Display mode
      description: >-
        The display mode of the input number, which can be either a slider or
        an input box.
      required: false
      default: slider
      selector:
        select:
          options:
            - label: Slider
              value: slider
            - label: Input field
              value: box
    icon:
      name: Icon
      description: The icon to use for the input number helper.
      required: false
      selector:
        icon:
    unit_of_measurement:
      name: Unit of measurement
      description: The unit of measurement of the input number.
      required: false
      selector:
        text:

input_number_delete:
  name: Delete an input number 👻
  description: >-
    Delete an input number helper. This works only with input numbers created
    and managed via the UI. Input numbers created and managed in YAML cannot
    be managed by Spook.
  target:
    entity:
      domain: input_number

person_add_device_tracker:
  name: Add a device tracker 👻
  description: >-
    Add a device tracker to a person.
  fields:
    entity_id:
      name: Person
      description: >-
        The person entity ID to add the device tracker to.
      required: true
      selector:
        entity:
          filter:
            - domain: person
    device_tracker:
      name: Device tracker
      description: >-
        The device tracker entity ID to add to the person.
      required: true
      selector:
        entity:
          multiple: true
          filter:
            - domain: device_tracker

person_remove_device_tracker:
  name: Remove a device tracker 👻
  description: >-
    Remove a device tracker from a person.
  fields:
    entity_id:
      name: Person
      description: >-
        The person entity ID to remove the device tracker from.
      required: true
      selector:
        entity:
          filter:
            - domain: person
    device_tracker:
      name: Device tracker
      description: >-
        The device tracker entity ID to remove from the person.
      required: true
      selector:
        entity:
          multiple: true
          filter:
            - domain: device_tracker

repairs_create:
  name: Create issue 👻
  description: >-
    Manually create and raise an issue in Home Assistant repairs.
  fields:
    title:
      name: Title
      description: The title of the issue.
      required: true
      selector:
        text:
    description:
      name: Description
      description: The description of the issue. Supports Markdown.
      required: true
      selector:
        text:
          multiline: true
    issue_id:
      name: Issue ID
      description: >-
        The issue can have an identifier, which allows you to cancel it
        later with that ID if needed. It also prevents duplicate issues
        to be created. If not provided, a random ID will be generated.
      required: false
      selector:
        text:
    domain:
      name: Domain
      description: >-
        This field can be used to set the domain of the issue. For example,
        by default (if not set), it will use "spook". This causes Spook to
        be shown in the logo/image of the issue. If you set it to
        "homeassistant", the Home Assistant logo will be used, or use "hue",
        "zwave_js", "mqtt", etc. to use the logo of that integration.
      required: false
      selector:
        text:
    severity:
      name: Severity
      description: >-
        The severity of the issue. This will be used to determine the
        priority of the issue. If not set, "warning" will be used.
      required: false
      selector:
        select:
          options:
            - label: Warning
              value: warning
            - label: Error
              value: error
            - label: Critical
              value: critical
    persistent:
      name: Persistent
      description: >-
        If the issue should be persistent, which means it will survive
        restarts of Home Assistant. By default, issues are not persistent.
      required: false
      selector:
        boolean:

repairs_ignore_all:
  name: Ignore all issues 👻
  description: >-
    Ignore all issues currently raised in Home Assistant Repairs.

repairs_remove:
  name: Remove issue 👻
  description: >-
    Removes a manually created Home Assistant repairs issue. This action
    can only remove issues created with the `repairs_create` action.
  fields:
    issue_id:
      name: Issue ID
      description: >-
        The issue ID to remove.
      required: true
      selector:
        text:

repairs_unignore_all:
  name: Unignore all issues 👻
  description: >-
    Unignore all issues currently raised in Home Assistant Repairs.

timer_set_duration:
  name: Set duration 👻
  description: >-
    Set duration for an existing timer.
  target:
    entity:
      domain: timer
  fields:
    duration:
      name: Duration
      description: New duration for the timer, as a timedelta string.
      required: true
      example: "00:01:00, 60"
      selector:
        text:

zone_create:
  name: Create a zone 👻
  description: >-
    Create a new zone in Home Assistant on the fly.
  fields:
    name:
      name: Name
      description: Name of the zone
      required: true
      selector:
        text:
    icon:
      name: Icon
      description: Icon to use for the zone
      required: false
      selector:
        icon:
          placeholder: mdi:map-marker
    latitude:
      name: Latitude
      description: Latitude of the zone. This can be a template.
      required: true
      selector:
        template:
    longitude:
      name: Longitude
      description: Longitude of the zone. This can be a template.
      required: true
      selector:
        template:
    radius:
      name: Radius
      description: Radius of the zone
      required: false
      default: 100
      selector:
        number:
          min: 0
          max: 999999999999
          unit_of_measurement: m
          mode: box

zone_update:
  name: Update a zone 👻
  description: >-
    Update properties of a zone on the fly.
  fields:
    entity_id:
      name: Entity ID
      description: The ID of the entity (or entities) to update.
      required: true
      selector:
        entity:
          filter:
            - domain: zone
    name:
      name: Name
      description: Name of the zone
      required: false
      selector:
        text:
    icon:
      name: Icon
      description: Icon to use for the zone
      required: false
      selector:
        icon:
          placeholder: mdi:map-marker
    latitude:
      name: Latitude
      description: Latitude of the zone. This can be a template.
      required: false
      selector:
        template:
    longitude:
      name: Longitude
      description: Longitude of the zone. This can be a template.
      required: false
      selector:
        template:
    radius:
      name: Radius
      description: Radius of the zone
      required: false
      default: 100
      selector:
        number:
          min: 0
          max: 999999999999
          step: any
          unit_of_measurement: m
          mode: box

zone_delete:
  name: Delete a zone 👻
  description: >-
    Delete a zone. This works only with zones created and managed via the UI.
    Zones created and managed in YAML cannot be managed by Spook.
  fields:
    entity_id:
      name: Entity ID
      description: The ID of the entity (or entities) to remove.
      required: true
      selector:
        entity:
          multiple: true
          filter:
            - domain: zone
