Skip to content

Commit 0f10c6a

Browse files
committed
Add basic info command
1 parent 4e83a81 commit 0f10c6a

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

switchbot/devices/evaporative_humidifier.py

+21-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
COMMAND_AUTO_DRY_ON = f"{COMMAND_HEADER}0f430a01"
2424
COMMAND_AUTO_DRY_OFF = f"{COMMAND_HEADER}0f430a02"
2525
COMMAND_SET_MODE = f"{COMMAND_HEADER}0f4302"
26+
COMMAND_GET_BASIC_INFO = f"{COMMAND_HEADER}000300"
2627

2728
MODES_COMMANDS = {
2829
HumidifierMode.HIGH: "010100",
@@ -72,9 +73,27 @@ def update_from_advertisement(self, advertisement: SwitchBotAdvertisement) -> No
7273
advertisement,
7374
)
7475

76+
async def _get_basic_info(self) -> bytes | None:
77+
"""Return basic info of device."""
78+
_data = await self._send_command(
79+
key=COMMAND_GET_BASIC_INFO, retry=self._retry_count
80+
)
81+
82+
if _data in (b"\x07", b"\x00"):
83+
_LOGGER.error("Unsuccessful, please try again")
84+
return None
85+
86+
return _data
87+
7588
async def get_basic_info(self) -> dict[str, Any] | None:
76-
"""Currently unknown command"""
77-
return None
89+
"""Get device basic settings."""
90+
if not (_data := await self._get_basic_info()):
91+
return None
92+
93+
# Not 100% sure about this data, will verify once a firmware update is available
94+
return {
95+
"firmware": _data[2] / 10.0,
96+
}
7897

7998
async def turn_on(self) -> bool:
8099
"""Turn device on."""

0 commit comments

Comments
 (0)