Important
Beta: This integration is in beta phase. Correct functioning is not guaranteed and may contain errors; use it at your own risk.
A Home Assistant integration that allows users to create virtual device hubs without entities.
The README is kept intentionally focused on the current integration model and setup flow.
Simple Device Creator lets you create entries in Home Assistant that manage virtual devices in the device registry.
Each integration entry acts as a hub:
- The entry title is the hub name
- Each hub can contain zero, one, or many virtual devices
- Each virtual device can store basic metadata such as name, manufacturer, model, software version, and hardware version
This is useful when you want a device to exist in Home Assistant before you have entities attached to it, or when you want to organize devices manually around your own structure.
The integration does not create entities. It only creates and maintains device registry entries.
In practice, that means:
- A created device appears in Home Assistant as a device
- That device has no sensors, switches, or other entities by default
- You can later attach orphan entities to that device from this integration's options flow
- You can later remove previously linked entities from that device from the same options flow
- The integration keeps the configured metadata synchronized with the device registry
The hub itself is represented by the config entry, not by a separate Home Assistant device.
- Prepare device placeholders before the real entities exist
- Create a manual structure for custom or advanced Home Assistant setups
- Keep related virtual devices together under one integration entry
- Maintain consistent device naming and metadata from one place
- Multiple integration entries are allowed
- Each entry acts as an independent hub
- A hub may be empty
- A hub may contain many devices
- The last device in a hub can be deleted without deleting the hub itself
- Legacy single-device setups are migrated into one initial
Generalhub entry
- It does not create entities
- It does not expose sensors, switches, buttons, or services
- It does not currently support
connectionsorconfiguration_url - It does not automatically create or discover entities for your virtual devices
- It does not reassign entities that are already linked to another Home Assistant device
Home Assistant still wraps this integration with some hub-oriented wording in parts of the UI. That wording is a compromise imposed by the platform metadata model, not a perfect description of the internal structure.
In practice, the main platform-controlled example is the global button that can appear as "Add hub". Inside the integration-controlled flows and labels, the intended term is also "hub".
The intended model is:
- integration entry = hub
- hub contains zero or more virtual devices
- each virtual device is a normal Home Assistant device-registry device
- Open HACS in your Home Assistant instance
- Go to Integrations
- Click the three dots in the top right corner
- Select "Custom repositories"
- Add this repository URL:
https://github.com/PacmanForever/simple_device_creator - Search for "Simple Device Creator" and install
- Download the latest release from GitHub Releases
- Extract the contents to
config/custom_components/simple_device_creator/ - Restart Home Assistant
After installation, add the integration through the Home Assistant UI:
- Go to Settings > Devices & Services
- Click "Add Integration"
- Search for "Simple Device Creator"
- Choose a hub name for the entry
- Optionally add devices with their metadata fields during setup
- Use the integration options to rename the hub, add or edit devices, delete devices, link orphan entities, or remove linked entities later
Example:
- Create one entry called
Living Room - Finish setup without devices if you only want the empty hub first
- Open the entry options later
- Add devices such as
TV Cabinet,Ambient Controller, orMedia Rack - Optionally link orphan entities to those devices when you have them available
- Optionally remove linked entities again if you want them to become orphan entities later
- Edit, move, or delete those devices whenever needed
This lets you treat the integration entry as a container and the devices as the items inside that container.
- Create one config entry that manages multiple virtual devices in Home Assistant's device registry
- Allow empty hub entries when you only want to prepare the hub first
- Configure device metadata: name, manufacturer, model, software version, and hardware version
- Add, edit, move, and delete devices from the integration options flow, including deleting the last remaining device in a hub
- Link orphan Home Assistant entities to managed hub devices from the integration options flow
- Remove previously linked entities from managed hub devices from the integration options flow
- Rename the config entry independently as a device hub title
- Keep device names synchronized with renames done from the Home Assistant device registry without changing the hub title
- Remove orphaned registry devices when they are no longer present in the config entry data
- Migrate legacy single-device setups into one initial
Generalhub entry
The options flow can attach an orphan entity to one of the hub devices managed by this integration, and it can also remove a previously linked entity from that device later.
In practical terms:
- The entity must already exist in Home Assistant
- The entity must currently have no linked device in the entity registry
- The selection UI is limited to orphan entities only when attaching
- The device-selection step uses Home Assistant selectors so it remains usable even when a hub contains many devices
- When removing a linked entity, the integration clears the stored link before updating the entity registry so the entity stays detached
- If there are no orphan entities available, the action remains visible but the flow will tell you that none are available
After a linked entity is removed, it becomes an orphan entity again and can be attached elsewhere later.
This keeps the feature predictable and avoids stealing entities away from devices managed by other integrations.
There are two different names involved:
- The config entry title is the hub name
- Each stored device has its own device name
If a user renames one of the managed devices from the Home Assistant device registry UI, that rename is synchronized back only to the matching stored device. The hub title is not changed by device renames.
Devices can be moved from one hub entry to another from the options flow.
The move is implemented as a registry reassignment, not as a delete-and-recreate operation. This is important because it preserves the same Home Assistant device-registry device instead of replacing it with a new one.
In practical terms, the move flow:
- adds the device to the destination hub entry
- removes the source hub entry from that same device's registry associations
- removes the stored device record from the source hub entry
This is designed to preserve the device identity so existing entity-to-device relationships are not lost just because the device changed hubs.
- Home Assistant's outer UI wording cannot be fully customized by this integration
- Devices created here remain entity-less until something else associates entities with them
- The built-in entity-linking flow only works for orphan entities that are not already attached to another device
- The integration is focused on metadata and registry management, not runtime device communication
Please see CONTRIBUTING.md for details on how to contribute to this project.
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.