Start preparing for homekit_controller config entries #21564
This branch is the first part of my work to migrate homekit_controller to config entries.
This branch does not activate the config entries code yet, but it does have quite a bit of test coverage for the new code. It's quite a large diff so i'd like to try and lock in this first part - the other related code is here.
Strictly speaking there is no config yaml for homekit_controller - it was never properly integrated in that regard. However pairing resulted in JSON fragments getting created in
In a previous version I used the config yaml import step to import these pairing fragments but I decided it was a bad user exeperience. HomeKit ID's change every time you pair and I am aware some users have tried pairing and unpairing multiple times in an effort to make their devices work. So multiple ghosts would be added to their system. These ghosts would be unnamed as there is insufficient metadata to give them a useful name. There is no mechanism to detect the difference between a device that is off / out of range and one that has changed its ID because of a reset + repair operation.
Instead I automatically migrate the pairing data during discovery. This means we only add known live records to the system.