From 1713675c895d1181631e2f496dc0a77cc4440d29 Mon Sep 17 00:00:00 2001 From: jkerdreu <jkerdreu@b32b6428-25c9-4566-ad07-03861ab6144f> Date: Tue, 14 Nov 2023 23:48:51 +0000 Subject: [PATCH] Added support for different region (needed for the last API) git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@3073 b32b6428-25c9-4566-ad07-03861ab6144f --- devices/protocols/Meross/xaal/meross/gw.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/devices/protocols/Meross/xaal/meross/gw.py b/devices/protocols/Meross/xaal/meross/gw.py index 4ba5b2b7..7d373af3 100644 --- a/devices/protocols/Meross/xaal/meross/gw.py +++ b/devices/protocols/Meross/xaal/meross/gw.py @@ -38,15 +38,21 @@ class GW(object): self.cfg = cfg async def setup(self): - config = self.cfg.get('config',{}) - login = config.get('login',None) - passwd = config.get('password',None) + config = self.cfg.get('config', {}) + login = config.get('login', None) + passwd = config.get('password', None) + region = config.get('region', 'eu') + if not login or not passwd: logger.warning('No email or password in configuration file') return + if region not in ['eu', 'ap', 'us']: + logger.warning('Please select the right region: eu / ap / us') + return + base_url = "https://iotx-%s.meross.com" % region logger.info("Meross devices discovery") - self.client = await MerossHttpClient.async_from_user_password(email=login, password=passwd) + self.client = await MerossHttpClient.async_from_user_password(api_base_url=base_url, email=login, password=passwd) self.manager = MerossManager(http_client=self.client) # from meross_iot.manager import TransportMode # self.manager.default_transport_mode = TransportMode.LAN_HTTP_FIRST -- GitLab