Hello,
With the upcoming enhancements to Home Assistant Voice, including its ability to recognize rooms, I wanted to suggest a feature that would allow dynamically reassigning the room of a device using an automation or a script.
Use Case:
I have devices that I frequently move around my house (e.g., smart speakers, portable sensors, or mobile devices). To make my automations and UI organization more intuitive, I’ve set up Bluetooth beacons in each room to detect the proximity of these devices. Based on the beacon detection, I’d like to update the room assignment of these devices dynamically.
Current Limitation:
Currently, rooms can only be assigned through the UI or YAML configuration. This is static and requires manual updates, which isn’t practical for devices that move frequently.
Proposed Feature:
Expose an API, service, or scriptable action that allows changing the room of a device dynamically. For example:
service: homeassistant.update_room
data:
device_id: xyz
room: "Bedroom"
Potential Benefits:
- Improved usability of Home Assistant Voice with dynamic room recognition.
- More accurate automations that depend on room-based logic (e.g., turning on lights or changing temperature).
- Better organization for devices that naturally move, such as portable appliances or devices used across multiple spaces.
Implementation Suggestion:
Leverage the existing device metadata to allow rooms to be updated via the Home Assistant API or a service. This would integrate seamlessly with automations and scripts without requiring major changes to the backend.
Workaround Attempts:
I’ve considered using attributes or custom helpers to simulate this behavior, but they do not reflect the actual room assignment in the Home Assistant UI or work natively with room-based automations.
This feature would bridge the gap between static room assignments and dynamic smart home configurations, enhancing the flexibility of Home Assistant.
Thank you for considering this suggestion! I’d be happy to provide more details or assist with testing.