"""Constants and server descriptors used across the package.""" from __future__ import annotations from pyoverkiz.enums import Server from pyoverkiz.models import OverkizServer COZYTOUCH_ATLANTIC_API = "https://apis.groupe-atlantic.com" COZYTOUCH_CLIENT_ID = ( "Q3RfMUpWeVRtSUxYOEllZkE3YVVOQmpGblpVYToyRWNORHpfZHkzNDJVSnFvMlo3cFNKTnZVdjBh" ) NEXITY_API = "https://api.egn.prd.aws-nexity.fr" NEXITY_COGNITO_CLIENT_ID = "3mca95jd5ase5lfde65rerovok" NEXITY_COGNITO_USER_POOL = "eu-west-1_wj277ucoI" NEXITY_COGNITO_REGION = "eu-west-1" SOMFY_API = "https://accounts.somfy.com" SOMFY_CLIENT_ID = "0d8e920c-1478-11e7-a377-02dd59bd3041_1ewvaqmclfogo4kcsoo0c8k4kso884owg08sg8c40sk4go4ksg" # OAuth client secrets are public by design (embedded in mobile apps) SOMFY_CLIENT_SECRET = "12k73w1n540g8o4cokg0cw84cog840k84cwggscwg884004kgk" # noqa: S105 LOCAL_API_PATH = "/enduser-mobile-web/1/enduserAPI/" SERVERS_WITH_LOCAL_API = [ Server.SOMFY_EUROPE, Server.SOMFY_OCEANIA, Server.SOMFY_AMERICA, ] SUPPORTED_SERVERS: dict[str, OverkizServer] = { Server.ATLANTIC_COZYTOUCH: OverkizServer( name="Atlantic Cozytouch", endpoint="https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Atlantic", configuration_url=None, ), Server.BRANDT: OverkizServer( name="Brandt Smart Control", endpoint="https://ha3-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Brandt", configuration_url=None, ), Server.FLEXOM: OverkizServer( name="Flexom", endpoint="https://ha108-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Bouygues", configuration_url=None, ), Server.HEXAOM_HEXACONNECT: OverkizServer( name="Hexaom HexaConnect", endpoint="https://ha5-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Hexaom", configuration_url=None, ), Server.HI_KUMO_ASIA: OverkizServer( name="Hitachi Hi Kumo (Asia)", endpoint="https://ha203-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Hitachi", configuration_url=None, ), Server.HI_KUMO_EUROPE: OverkizServer( name="Hitachi Hi Kumo (Europe)", endpoint="https://ha117-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Hitachi", configuration_url=None, ), Server.HI_KUMO_OCEANIA: OverkizServer( name="Hitachi Hi Kumo (Oceania)", endpoint="https://ha203-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Hitachi", configuration_url=None, ), Server.NEXITY: OverkizServer( name="Nexity Eugénie", endpoint="https://ha106-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Nexity", configuration_url=None, ), Server.REXEL: OverkizServer( name="Rexel Energeasy Connect", endpoint="https://ha112-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Rexel", configuration_url="https://utilisateur.energeasyconnect.com/user/#/zone/equipements", ), Server.SAUTER_COZYTOUCH: OverkizServer( # duplicate of Atlantic Cozytouch name="Sauter Cozytouch", endpoint="https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Sauter", configuration_url=None, ), Server.SIMU_LIVEIN2: OverkizServer( # alias of https://tahomalink.com name="SIMU (LiveIn2)", endpoint="https://ha101-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Somfy", configuration_url=None, ), Server.SOMFY_EUROPE: OverkizServer( # alias of https://tahomalink.com name="Somfy (Europe)", endpoint="https://ha101-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Somfy", configuration_url=None, ), Server.SOMFY_AMERICA: OverkizServer( name="Somfy (North America)", endpoint="https://ha401-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Somfy", configuration_url=None, ), Server.SOMFY_OCEANIA: OverkizServer( name="Somfy (Oceania)", endpoint="https://ha201-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Somfy", configuration_url=None, ), Server.THERMOR_COZYTOUCH: OverkizServer( # duplicate of Atlantic Cozytouch name="Thermor Cozytouch", endpoint="https://ha110-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Thermor", configuration_url=None, ), Server.UBIWIZZ: OverkizServer( name="Ubiwizz", endpoint="https://ha129-1.overkiz.com/enduser-mobile-web/enduserAPI/", manufacturer="Decelect", configuration_url=None, ), }