Custom integration that creates virtual devices for testing automations without touching real hardware. Can also clone a real device (copies its capabilities).
Works on its own from Developer Tools → Actions. Built as the test bench for PistonCore, but doesn’t require it.
Install via HACS (custom repo, type: Integration). Early / lightly tested.
virtual.create_device create a device from an explicit list of entities
You might want to check the changes in the 2026.8 release by running the beta core version (currently testing). There are changes to devices that probably prohibit this.
Tested it on the 2026.8 beta. create_device and clone_device both still work,
and upgrading an existing setup didn’t lose anything.
Only difference I found is if you have two groups with the same device name in
both, they used to merge into one device and now split into two. Doesn’t seem
to break anything.