Config flow for harmony (#32919)

* Config flow for harmony

* Fixes unique ids when using XMPP

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Find the unique id for the config flow

* move shutdown to init

* Add test for ssdp (still failing)

* Fix ssdp test

* Add harmony to MIGRATED_SERVICE_HANDLERS (this is a breaking change)

* more cleanups

* use unique id for the config file

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
J. Nick Koston 2020-03-19 11:29:51 -05:00 committed by GitHub
parent 5b4d2aed64
commit d33a3ca90f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 656 additions and 82 deletions

View file

@ -0,0 +1,15 @@
"""The Logitech Harmony Hub integration utils."""
from aioharmony.harmonyapi import HarmonyAPI as HarmonyClient
def find_unique_id_for_remote(harmony: HarmonyClient):
"""Find the unique id for both websocket and xmpp clients."""
websocket_unique_id = harmony.hub_config.info.get("activeRemoteId")
if websocket_unique_id is not None:
return websocket_unique_id
xmpp_unique_id = harmony.config.get("global", {}).get("timeStampHash")
if not xmpp_unique_id:
return None
return xmpp_unique_id.split(";")[-1]