Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mi Smart Standing Fan 2 'dmaker.fan.p18' for class 'FanP10' #1341

Closed
BenJay84 opened this issue Mar 3, 2022 · 1 comment · Fixed by #1362
Closed

Mi Smart Standing Fan 2 'dmaker.fan.p18' for class 'FanP10' #1341

BenJay84 opened this issue Mar 3, 2022 · 1 comment · Fixed by #1362

Comments

@BenJay84
Copy link

BenJay84 commented Mar 3, 2022

Device information:

Use miiocli device --ip <ip address> --token <token>.

  • Model: dmaker.fan.p18
  • Hardware version: n/a
  • Firmware version: 2.0.7.0003

Additional context
I've added this device via Xiaomi Miio integration, it told me the device is not known, I should select one from the list. I've tried it as dmaker.fan.p10 and it worked right away.
All controls were available and functioning, including oscillation angle, off_delay (timer) and so on.

After restarting HA today though, I've noticed that everything but turning on/off ceased to work. In the logs were some errors regarding this integration:


Logger: miio.device
Source: /usr/local/lib/python3.9/site-packages/miio/device.py:155
First occurred: 13:06:29 (3 occurrences)
Last logged: 13:27:16

Found an unsupported model 'dmaker.fan.p18' for class 'FanP10'. If this is working for you, please open an issue at https://github.com/rytilahti/python-miio/


Logger: homeassistant.components.number
Source: components/xiaomi_miio/device.py:161
Integration: Number (documentation, issues)
First occurred: 13:06:33 (3 occurrences)
Last logged: 13:27:17

Error while setting up xiaomi_miio platform for number
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform
await asyncio.shield(task)
File "/usr/src/homeassistant/homeassistant/components/xiaomi_miio/number.py", line 282, in async_setup_entry
XiaomiNumberEntity(
File "/usr/src/homeassistant/homeassistant/components/xiaomi_miio/number.py", line 302, in init
self._attr_value = self._extract_value_from_attribute(
File "/usr/src/homeassistant/homeassistant/components/xiaomi_miio/device.py", line 161, in _extract_value_from_attribute
value = getattr(state, attribute)
File "/usr/local/lib/python3.9/site-packages/miio/integrations/fan/dmaker/fan_miot.py", line 141, in angle
return self.data["swing_mode_angle"]
KeyError: 'swing_mode_angle'


Logger: homeassistant
Source: components/xiaomi_miio/fan.py:1051
First occurred: 13:27:47 (2 occurrences)
Last logged: 13:28:02

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 134, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 265, in _async_refresh
update_callback()
File "/usr/src/homeassistant/homeassistant/components/xiaomi_miio/fan.py", line 1051, in _handle_coordinator_update
self._percentage = self.coordinator.data.fan_speed
AttributeError: 'FanStatusMiot' object has no attribute 'fan_speed'


Logger: miio.miot_device
Source: /usr/local/lib/python3.9/site-packages/miio/miot_device.py:172
First occurred: 13:06:29 (66 occurrences)
Last logged: 13:28:17

Unable to find mapping for dmaker.fan.p18, falling back to dmaker.fan.1c


In my (limited) understanding, it seems the last error here is responsible why it ain't working no more like before, as it falls back to the dmaker.fan.1c profile.
HOWEVER: with the dmaker.fan.p10 profile it was working perfectly.

Please add support for this device by duplicating the p10 profile. I'll be happy to test it out. Thanks for your great work!

Edit: Restart was due to HA 2022.3 update. This seems to be the culprit as reverting back to 2022.2.9 solved the issue in that it keeps the dmaker.fan.p10 mapping for the dmaker.fan.p18 and everything works.

@whyisthisbroken
Copy link

It doesnt work anymore... this function is bugged... got this error everytime...
Reboot / new install etc doesnt help...

Logger: miio.miot_device
Source: deps/lib/python3.9/site-packages/miio/miot_device.py:172
First occurred: 19:39:14 (2 occurrences)
Last logged: 19:39:30

Unable to find mapping for dmaker.fan.p18, falling back to dmaker.fan.1c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants