diff --git a/custom_components/bemfa/const.py b/custom_components/bemfa/const.py index a833fff..b368e7b 100644 --- a/custom_components/bemfa/const.py +++ b/custom_components/bemfa/const.py @@ -60,8 +60,8 @@ class TopicSuffix(StrEnum): MSG_SPEED_COUNT: Final = 4 # for fans, 4 speed supported at most # #### Service Api #### -HTTP_BASE_URL: Final = f"https://api.{MQTT_HOST}/api/" -FETCH_TOPICS_URL: Final = "https://api.bemfa.com/api/device/v1/topic/?uid={uid}&type=2" -CREATE_TOPIC_URL: Final = f"{HTTP_BASE_URL}user/addtopic/" -RENAME_TOPIC_URL: Final = f"{HTTP_BASE_URL}device/v1/topic/name/" -DEL_TOPIC_URL: Final = f"{HTTP_BASE_URL}user/deltopic/" +HTTP_BASE_URL: Final = f"https://pro.{MQTT_HOST}/v1" +FETCH_TOPICS_URL: Final = "https://apis.bemfa.com/va/alltopic?uid={uid}&type=1" +CREATE_TOPIC_URL: Final = f"{HTTP_BASE_URL}/addtopic" +RENAME_TOPIC_URL: Final = f"https://apis.bemfa.com/va/setName" +DEL_TOPIC_URL: Final = f"{HTTP_BASE_URL}/deltopic" diff --git a/custom_components/bemfa/http.py b/custom_components/bemfa/http.py index 309e847..749fa24 100644 --- a/custom_components/bemfa/http.py +++ b/custom_components/bemfa/http.py @@ -32,12 +32,12 @@ async def async_fetch_all_topics(self) -> dict[str, str]: FETCH_TOPICS_URL.format(uid=self._uid), ) as res: res.raise_for_status() - res_dict = await res.json(content_type="text/html", encoding="utf-8") + res_dict = await res.json(content_type="application/json", encoding="utf-8") if res_dict["code"] == 111 and res_dict["status"] == "get ok": return { - topic["topic_id"]: topic["v_name"] + topic["topic"]: topic["name"] for topic in res_dict["data"] - if topic["topic_id"].startswith(TOPIC_PREFIX) + if topic["topic"].startswith(TOPIC_PREFIX) } return {} diff --git a/custom_components/bemfa/manifest.json b/custom_components/bemfa/manifest.json index c2aca07..29c3d93 100644 --- a/custom_components/bemfa/manifest.json +++ b/custom_components/bemfa/manifest.json @@ -12,6 +12,6 @@ "issue_tracker": "https://github.com/larry-wong/bemfa/issues", "requirements": ["paho-mqtt==1.6.1"], "ssdp": [], - "version": "1.4.0", + "version": "1.4.2", "zeroconf": [] } \ No newline at end of file