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: automation_snooze: name: Snooze 👻 description: >- Turns an automation off for a while, and turns it back on when the time is up. It survives a restart of Home Assistant, so a snooze does not quietly become a disable. target: entity: domain: automation fields: duration: name: Duration description: How long the automation stays off. required: true example: "01:00:00" selector: duration: automation_turn_on_for: name: Turn on for 👻 description: >- Turns an automation on for a while, and turns it back off when the time is up. It survives a restart of Home Assistant, so "just for tonight" does not quietly become forever. target: entity: domain: automation fields: duration: name: Duration description: How long the automation stays on. required: true example: "01:00:00" selector: duration: light_set_brightness: name: Set brightness 👻 description: >- Sets the brightness of lights that are already on, and leaves the ones that are off alone. Groups are adjusted light by light rather than by their average. target: entity: domain: light fields: brightness_pct: name: Brightness description: The brightness to set, as a percentage. required: true example: 50 selector: number: min: 1 max: 100 unit_of_measurement: "%" transition: name: Transition description: How long the change should take. example: 2 selector: number: min: 0 max: 300 unit_of_measurement: seconds light_increase_brightness: name: Increase brightness 👻 description: >- Turns up the lights that are already on, and leaves the ones that are off alone. Each light steps from its own level, so a group keeps its shape instead of levelling out. target: entity: domain: light fields: step_pct: name: Step description: How much brighter to go, as a percentage. required: true example: 10 selector: number: min: 1 max: 100 unit_of_measurement: "%" transition: name: Transition description: How long the change should take. example: 2 selector: number: min: 0 max: 300 unit_of_measurement: seconds light_decrease_brightness: name: Decrease brightness 👻 description: >- Turns down the lights that are already on, stopping at the dimmest they go rather than switching them off. Each light steps from its own level. target: entity: domain: light fields: step_pct: name: Step description: How much dimmer to go, as a percentage. required: true example: 10 selector: number: min: 1 max: 100 unit_of_measurement: "%" transition: name: Transition description: How long the change should take. example: 2 selector: number: min: 0 max: 300 unit_of_measurement: seconds light_set_color: name: Set color 👻 description: >- Sets the color of lights that are already on, and leaves alone the ones that are off or cannot do color. target: entity: domain: light fields: rgb_color: name: Color description: The color to set. required: true example: "[255, 100, 100]" selector: color_rgb: transition: name: Transition description: How long the change should take. example: 2 selector: number: min: 0 max: 300 unit_of_measurement: seconds light_set_color_temperature: name: Set color temperature 👻 description: >- Sets the color temperature of lights that are already on, each within the range it can actually reach. target: entity: domain: light fields: kelvin: name: Color temperature description: The color temperature to set. required: true example: 2700 selector: color_temp: unit: kelvin min: 2000 max: 6500 transition: name: Transition description: How long the change should take. example: 2 selector: number: min: 0 max: 300 unit_of_measurement: seconds light_set_effect: name: Set effect 👻 description: >- Sets an effect on the lights that are already on and actually have it. Effect names differ per manufacturer, so a room is usually a mix. target: entity: domain: light fields: effect: name: Effect description: The name of the effect to set. required: true example: Colorloop 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 entry. fields: config_entry_id: name: Integration entry description: The integration entry to disable. required: true selector: config_entry: homeassistant_enable_config_entry: name: Enable an integration 👻 description: >- Enables an integration entry. fields: config_entry_id: name: Integration entry description: The integration 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_expose_entity: name: Expose an entity to assistants 👻 description: >- Exposes an entity (or entities) to voice assistants. fields: entity_id: name: Entity description: The entity/entities to expose. required: true selector: entity: multiple: true assistants: name: Assistants description: The assistant(s) to apply this to. required: true selector: select: multiple: true options: - label: Alexa value: cloud.alexa - label: Google Assistant value: cloud.google_assistant - label: Assist value: conversation 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_set_entity_icon: name: Set the icon of an entity 👻 description: >- Sets the icon of an entity (or entities) on the fly. Set it to null to go back to the icon the integration gives it. fields: entity_id: name: Entity description: The entity/entities to set the icon of. required: true selector: entity: multiple: true icon: name: Icon description: The new icon, or null for the integration's own icon. required: true selector: icon: homeassistant_add_alias_to_entity: name: Add an alias to an entity 👻 description: >- Adds one or more aliases to an entity (or entities), which voice assistants can call it by. fields: entity_id: name: Entity description: The entity/entities to add the alias(es) to. required: true selector: entity: multiple: true alias: name: Alias description: The alias(es) to add. required: true selector: text: multiple: true homeassistant_remove_alias_from_entity: name: Remove an alias from an entity 👻 description: >- Removes one or more aliases from an entity (or entities). fields: entity_id: name: Entity description: The entity/entities to remove the alias(es) from. required: true selector: entity: multiple: true alias: name: Alias description: The alias(es) to remove. required: true selector: text: multiple: true homeassistant_set_entity_aliases: name: Set aliases for an entity 👻 description: >- Replaces the aliases of an entity (or entities). Whether the entity's own name counts as an alias stays as it was. fields: entity_id: name: Entity description: The entity/entities to set the aliases of. required: true selector: entity: multiple: true aliases: name: Aliases description: The aliases to set. required: true selector: text: multiple: true homeassistant_unexpose_entity: name: Stop exposing an entity to assistants 👻 description: >- Stops exposing an entity (or entities) to voice assistants. fields: entity_id: name: Entity description: The entity/entities to stop exposing. required: true selector: entity: multiple: true assistants: name: Assistants description: The assistant(s) to apply this to. required: true selector: select: multiple: true options: - label: Alexa value: cloud.alexa - label: Google Assistant value: cloud.google_assistant - label: Assist value: conversation 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: Amber value: amber - label: Orange value: orange - label: Deep orange value: deep-orange - label: Brown value: brown - label: Light grey value: light-grey - label: Grey value: grey - label: Dark grey value: dark-grey - label: Blue grey value: blue-grey - label: Black value: black - label: White value: white homeassistant_update_label: name: Update a label 👻 description: >- Updates an existing label on the fly. Anything you leave out keeps the value it already has. The description, icon and color can be cleared by setting them to null. fields: label_id: name: Label ID description: The ID of the label to update. required: true selector: label: name: name: Name description: New name for the label. required: false selector: text: description: name: Description description: New description for the label. required: false selector: text: icon: name: Icon description: New 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: Amber value: amber - label: Orange value: orange - label: Deep orange value: deep-orange - label: Brown value: brown - label: Light grey value: light-grey - label: Grey value: grey - label: Dark grey value: dark-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_create_category: name: Create a category 👻 description: >- Creates a new category on the fly, for automations, scripts, scenes, or helpers. Returns the ID of the new category. fields: scope: name: Scope description: Where the category is used. required: true selector: select: options: - label: Automations value: automation - label: Helpers value: helpers - label: Scenes value: scene - label: Scripts value: script name: name: Name description: The name of the category to create. required: true selector: text: icon: name: Icon description: Icon to use for the category. required: false selector: icon: placeholder: mdi:shape homeassistant_update_category: name: Update a category 👻 description: >- Updates an existing category on the fly. Anything you leave out keeps the value it already has. The icon can be cleared by setting it to null. fields: scope: name: Scope description: Where the category is used. required: true selector: select: options: - label: Automations value: automation - label: Helpers value: helpers - label: Scenes value: scene - label: Scripts value: script category_id: name: Category description: The ID or the name of the category to update. required: true selector: text: name: name: Name description: The new name for the category. required: false selector: text: icon: name: Icon description: The new icon for the category. required: false selector: icon: placeholder: mdi:shape homeassistant_delete_category: name: Delete a category 👻 description: >- Deletes a category. Everything that was in it is left without a category. fields: scope: name: Scope description: Where the category is used. required: true selector: select: options: - label: Automations value: automation - label: Helpers value: helpers - label: Scenes value: scene - label: Scripts value: script category_id: name: Category description: The ID or the name of the category to delete. required: true selector: text: homeassistant_add_category_to_entity: name: Add a category to an entity 👻 description: >- Puts an automation, script, scene, or helper in a category. It replaces the category it was in before, since each can only be in one. fields: category_id: name: Category description: The ID or the name of the category. required: true selector: text: entity_id: name: Entity ID description: The automation(s), script(s), scene(s), or helper(s) to put in the category. required: true selector: entity: multiple: true homeassistant_remove_category_from_entity: name: Remove a category from an entity 👻 description: >- Takes an automation, script, scene, or helper out of a category. Anything in a different category is left alone. fields: category_id: name: Category description: The ID or the name of the category. required: true selector: text: entity_id: name: Entity ID description: The automation(s), script(s), scene(s), or helper(s) to take out of the category. 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 entry. fields: config_entry_id: name: Integration entry description: The integration 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 entry. fields: config_entry_id: name: Integration entry description: The integration 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. Defaults to the statistics ID. 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_create: name: Create an input select 👻 description: >- Creates a new input select (dropdown) helper on the fly. Returns the entity ID of the new input select. fields: name: name: Name description: The name of the new input select. required: true selector: text: input_select_id: name: Input select entity ID description: >- The entity ID for the new input select. The input_select. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: options: name: Options description: The options to choose from. Each option can only be in it once. required: true selector: text: multiple: true initial: name: Initial option description: >- The option it starts on, which has to be one of the options. If left out, it keeps the option it had before Home Assistant restarted. required: false selector: text: icon: name: Icon description: The icon for the new input select. required: false selector: icon: placeholder: mdi:form-dropdown input_select_delete: name: Delete an input select 👻 description: >- Deletes input select helpers made in the UI or with the create an input select action. Input selects set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input select(s) to delete. required: true selector: entity: multiple: true filter: - domain: input_select 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: cycle: name: Cycle description: >- Carry on from the other end of the range instead of stopping at this one, the same way selecting the next option cycles a select. required: false default: false selector: boolean: 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: cycle: name: Cycle description: >- Carry on from the other end of the range instead of stopping at this one, the same way selecting the next option cycles a select. required: false default: false selector: boolean: 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 counter_create: name: Create a counter 👻 description: >- Creates a new counter helper on the fly. Returns the entity ID of the new counter. fields: name: name: Name description: The name of the new counter. required: true selector: text: counter_id: name: Counter entity ID description: >- The entity ID for the new counter. The counter. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: initial: name: Initial value description: The value the counter starts at, and goes back to on a reset. required: false default: 0 selector: number: mode: box minimum: name: Minimum description: The lowest value the counter can go down to. Leave out for no limit. required: false selector: number: mode: box maximum: name: Maximum description: The highest value the counter can go up to. Leave out for no limit. required: false selector: number: mode: box step: name: Step description: How much the counter goes up or down by each time. required: false default: 1 selector: number: min: 1 mode: box restore: name: Restore description: >- Restore the value of the counter when Home Assistant starts, rather than starting over at the initial value. required: false default: true selector: boolean: icon: name: Icon description: The icon for the new counter. required: false selector: icon: placeholder: mdi:counter counter_delete: name: Delete a counter 👻 description: >- Deletes counter helpers made in the UI or with the create a counter action. Counters set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The counter(s) to delete. required: true selector: entity: multiple: true filter: - domain: counter input_boolean_create: name: Create an input boolean 👻 description: >- Creates a new input boolean (toggle) helper on the fly. Returns the entity ID of the new input boolean. fields: name: name: Name description: The name of the new input boolean. required: true selector: text: input_boolean_id: name: Input boolean entity ID description: >- The entity ID for the new input boolean. The input_boolean. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: initial: name: Initial value description: >- The value it starts with. If left out, it keeps the value it had before Home Assistant restarted. required: false selector: boolean: icon: name: Icon description: The icon for the new input boolean. required: false selector: icon: placeholder: mdi:toggle-switch-outline input_boolean_delete: name: Delete an input boolean 👻 description: >- Deletes input boolean helpers made in the UI or with the create an input boolean action. Input booleans set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input boolean(s) to delete. required: true selector: entity: multiple: true filter: - domain: input_boolean input_text_create: name: Create an input text 👻 description: >- Creates a new input text helper on the fly. Returns the entity ID of the new input text. fields: name: name: Name description: The name of the new input text. required: true selector: text: input_text_id: name: Input text entity ID description: >- The entity ID for the new input text. The input_text. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: initial: name: Initial value description: >- The text it starts with. If left out, it keeps the text it had before Home Assistant restarted. required: false selector: text: min: name: Minimum length description: The shortest the text can be. required: false default: 0 selector: number: min: 0 max: 255 mode: box max: name: Maximum length description: The longest the text can be. required: false default: 100 selector: number: min: 1 max: 255 mode: box pattern: name: Pattern description: A regular expression the text has to match. required: false selector: text: mode: name: Mode description: Show the text as is, or hide it like a password. required: false default: text selector: select: options: - label: Text value: text - label: Password value: password icon: name: Icon description: The icon for the new input text. required: false selector: icon: placeholder: mdi:form-textbox unit_of_measurement: name: Unit of measurement description: The unit to show next to the text. required: false selector: text: input_text_delete: name: Delete an input text 👻 description: >- Deletes input text helpers made in the UI or with the create an input text action. Input texts set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input text(s) to delete. required: true selector: entity: multiple: true filter: - domain: input_text input_button_create: name: Create an input button 👻 description: >- Creates a new input button helper on the fly. Returns the entity ID of the new input button. fields: name: name: Name description: The name of the new input button. required: true selector: text: input_button_id: name: Input button entity ID description: >- The entity ID for the new input button. The input_button. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: icon: name: Icon description: The icon for the new input button. required: false selector: icon: placeholder: mdi:gesture-tap-button input_button_delete: name: Delete an input button 👻 description: >- Deletes input button helpers made in the UI or with the create an input button action. Input buttons set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input button(s) to delete. required: true selector: entity: multiple: true filter: - domain: input_button input_datetime_create: name: Create an input datetime 👻 description: >- Creates a new input datetime helper on the fly, holding a date, a time, or both. Returns the entity ID of the new input datetime. fields: name: name: Name description: The name of the new input datetime. required: true selector: text: input_datetime_id: name: Input datetime entity ID description: >- The entity ID for the new input datetime. The input_datetime. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: has_date: name: Has a date description: >- Whether it holds a date. At least one of date and time has to be on. required: false selector: boolean: has_time: name: Has a time description: >- Whether it holds a time. At least one of date and time has to be on. required: false selector: boolean: initial: name: Initial value description: >- The date and/or time it starts with, like 2026-12-31, 08:30:00, or 2026-12-31 08:30:00. If left out, it keeps the value it had before Home Assistant restarted. required: false selector: text: icon: name: Icon description: The icon for the new input datetime. required: false selector: icon: placeholder: mdi:calendar-clock input_datetime_delete: name: Delete an input datetime 👻 description: >- Deletes input datetime helpers made in the UI or with the create an input datetime action. Input datetimes set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input datetime(s) to delete. required: true selector: entity: multiple: true filter: - domain: input_datetime input_number_create: name: Create an input number 👻 description: >- Create a new input number helper on the fly. Returns the entity ID of the new input number. 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: >- Deletes input number helpers made in the UI or with the create an input number action. Input numbers set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The input number(s) to delete. required: true selector: entity: multiple: true filter: - 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_list: name: List issues 👻 description: >- Lists the issues currently raised in Home Assistant Repairs, with their titles, for an automation to act on or a dashboard to show. fields: include_ignored: name: Include ignored description: Also list the issues that have been ignored. required: false default: false selector: boolean: domain: name: Domain description: Only list the issues raised by these integrations. required: false example: hue selector: text: multiple: true severity: name: Severity description: Only list the issues with these severities. required: false selector: select: multiple: true translation_key: repair_issue_severity options: - critical - error - warning 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. sensor_set_display_precision: name: Set display precision 👻 description: >- Sets the number of decimals shown for one or more sensors. fields: entity_id: name: Entity description: The sensor entity/entities to update. required: true selector: entity: multiple: true domain: sensor display_precision: name: Display precision description: The number of decimals to show for the sensor. required: true selector: number: min: 0 max: 100 mode: box timer_create: name: Create a timer 👻 description: >- Creates a new timer helper on the fly. Returns the entity ID of the new timer. fields: name: name: Name description: The name of the new timer. required: true selector: text: timer_id: name: Timer entity ID description: >- The entity ID for the new timer. The timer. prefix is added automatically. If not provided, the entity ID will be generated based on the name. required: false selector: text: duration: name: Duration description: How long the timer runs when it is started. required: false default: hours: 0 minutes: 0 seconds: 0 selector: duration: restore: name: Restore description: >- Restore the state of the timer when Home Assistant starts, so a running timer keeps running across a restart. required: false default: false selector: boolean: icon: name: Icon description: The icon for the new timer. required: false selector: icon: placeholder: mdi:timer-outline timer_delete: name: Delete a timer 👻 description: >- Deletes timer helpers made in the UI or with the create a timer action. Timers set up in YAML cannot be deleted by Spook. fields: entity_id: name: Entity ID description: The timer(s) to delete. required: true selector: entity: multiple: true filter: - domain: timer 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 wait_for_condition: name: Wait for a condition 👻 description: >- Wait until a condition is true. Returns straight away if it already is. fields: condition: name: Condition description: The condition to wait for. required: true selector: condition: timeout: name: Timeout description: >- How long to wait before giving up. Waits indefinitely when left out. required: false example: "00:05:00" selector: duration: group_add_members: name: Add members to a group 👻 description: >- Adds entities to a group made through the interface, while Home Assistant is running. Entities already in the group are left where they are. fields: group: name: Group description: The group to add to. required: true example: light.hallway selector: entity: integration: group members: name: Members description: The entities to add to the group. required: true selector: entity: multiple: true group_remove_members: name: Remove members from a group 👻 description: >- Takes entities out of a group made through the interface, while Home Assistant is running. Naming something that is not in the group does nothing, so this is also how you clear out a member that no longer exists. fields: group: name: Group description: The group to take them out of. required: true example: light.hallway selector: entity: integration: group members: name: Members description: The entities to remove from the group. required: true selector: entity: multiple: true group_set_members: name: Set the members of a group 👻 description: >- Replaces the members of a group made through the interface with the ones given, while Home Assistant is running. fields: group: name: Group description: The group to change. required: true example: light.hallway selector: entity: integration: group members: name: Members description: The entities the group should hold from now on. required: true selector: entity: multiple: true