Restructure Skill initialization to handle the first run of the Skill when settings haven't yet been entered by the user.
on_websettings_changed() now creates the HA client, and settings fetching got moved here to ensure settings get updated in Skill when changed remotely.
Removed default settings values from the settings.get() methods to rely on the default values in settingsmeta. This means they will only need to be updated in one location. If the settings aren't available we do not know which host to connect to anyway.
Also added some settings validation and error messages for common failure scenarios.
Restructure Skill initialization to handle the first run of the Skill when settings haven't yet been entered by the user.
on_websettings_changed()
now creates the HA client, and settings fetching got moved here to ensure settings get updated in Skill when changed remotely. Removed default settings values from thesettings.get()
methods to rely on the default values in settingsmeta. This means they will only need to be updated in one location. If the settings aren't available we do not know which host to connect to anyway. Also added some settings validation and error messages for common failure scenarios.