Skip to article frontmatterSkip to article content
Core extensions

Floors management

Floors brings Home Assistant to a whole new level 🤪

Floors in Home Assistant is a logical grouping of areas that are meant to match floors (or levels) in the physical world: your home. Floors are used to group areas together that are on the same floor in your home. Floors give a better overview of your home and can be used to target service calls to a specific floor, like turning off all the lights on the first floor.

Spook provides services that allows you to manage and automate the floors in Home Assistant programatically. Great for creating “dynamic” floors, or for creating floors on the fly.

Screenshot of the developer service tools, listing the new services to manage floors.

Services

Spook adds the following new service to your Home Assistant instance:

Create a floor

Adds a new floor to your Home Assistant instance.

Screenshot of the create floor service call in the developer tools.
Service properties
ServiceCreate a floor 👻
Service namehomeassistant.create_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
namestringYesFirst floor
iconstringNomdi:floor-1
levelintegerNo1
aliasesstring | list of stringsNo["ground floor", "downstairs"]

The use of aliases is helpful if you want to create an floor with multiple names. For example, if you want to create an floor called “First floor”, but also want to be able to refer to it as “Ground floor” or “Downstairs”, you can add those names as aliases. This is used by Home Assistant Assist.

Delete a floor

Delete a floor from your Home Assistant instance.

Screenshot of the delete flor service call in the developer tools.
Service properties
ServiceDelete a floor 👻
Service namehomeassistant.delete_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
floor_idstringYesfirst_floor

Add an alias to a floor

Adds one or more aliases to an existing floor. This service does not remove existing aliases, but adds the new ones to the existing ones.

As floor aliases are used by voice assistants, you could add (and also remove) aliases to a floor using automations, which allows you to make them available/unavailable programatically.

Screenshot of the add an alias to a floor service call in the developer tools.
Service properties
ServiceAdd an alias to a floor 👻
Service namehomeassistant.add_alias_to_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
floor_idstringYesfirst_floor
aliasesstring | list of stringsYes["Ground floor", "Downstairs"]

Remove an alias from a floor

Removes one or more aliases from an existing floor. This service will leave the other aliases intact.

As floor aliases are used by voice assistants, you could remove (and also add) aliases to a floor using automations, which allows you to make them available/unavailable programatically.

Screenshot of the remove an alias to a floor service call in the developer tools.
Service properties
ServiceAdd an alias to a floor 👻
Service namehomeassistant.remove_alias_from_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
floor_idstringYesfirst_floor
aliasesstring | list of stringsYes["Ground floor", "Downstairs"]

Set aliases for a floor

Sets the aliases for a floor. This service will overwrite/remove all existing aliases.

As floor aliases are used by voice assistants, you could remove (and also add) aliases to a floor using automations, which allows you to make them available/unavailable programatically.

Screenshot of the set aliases to for a floor service call in the developer tools.
Service properties
ServiceSets aliases for a floor 👻
Service namehomeassistant.set_floor_aliases
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
floor_idstringYesfirst_floor
aliasesstring | list of stringsYes["Ground floor", "Downstairs"]

Add an area to a floor

Adds one or more area(s) to a floor. This service will leave the other areas on the floor untouched.

Screenshot of the add an area to a floor service call in the developer tools.
Service properties
ServiceAdd an area to a floor 👻
Service namehomeassistant.add_area_to_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
floor_idstringYesfirst_floor
area_idstring | list of stringsYesliving_room

Remove an area from a floor

Removes one or more area(s) from a floor. This service will leave the other area on the floor untouched.

Screenshot of the add a device to an area service call in the developer tools.
Service properties
ServiceRemove an area from a floor 👻
Service namehomeassistant.remove_area_from_floor
Service targetsNo
Service responseNo response
Spook's influenceNewly added service
Developer toolsTry this service Open your Home Assistant instance and show your service developer tools with a specific service selected.
Service call data
AttributeTypeRequiredDefault / Example
area_idstring | list of stringsYesliving_room

Blueprints & tutorials

There are currently no known blueprints or tutorials for the enhancements Spook provides for this integration. If you created one or stumbled upon one, please let us know in our discussion forums.

Features requests, ideas, and support

If you have an idea on how to further enhance this integration, for example, by adding a new service, entity, or repairs detection; feel free to let us know in our discussion forums.

Are you stuck using these new features? Or maybe you’ve run into a bug? Please check the page on where to go for help.