Xiaomi electric fan

Thanks for the update, its working fine, token is downloaded as well! (za4)
I can control the speed using a slider within the sitemap with the basic UI, but this does not work with the android app. How can i fix that?

Need to find the cause of thatā€¦ I indeed noticed the same and it is not good for the WAF

1 Like

I found my sitemap was too simpleā€¦
I just defined my speed control with an item in a group. I found that basicUI / android app require a setpoint or slider definition in order to allow updating.

for me my problem was fixed by either adding a setpoint or slider in the sitemap. That worked for me in both basicUI as well as in the android app.

Setpoint item=XMFan_speedLevel minValue=0 maxValue=100 step=5
Slider  item=XMFan_speedLevel minValue=0 maxValue=100 step=5

I also found that directly setting the speed is not working, only the speedlevel can be set.
Donā€™t know if that is specific to the zhimi.fan.sa1 which I have and whether zhimi.fan.za1 still supports thatā€¦ (can also be a firmware version thing)

If anyone that owns a zhimi.fan.za1 can maybe feedback if updating the speed channel is working that would be great. (the one with the rpm, not the % channel)

1 Like

I did not set minvalue or maxvalue, I will try this and report back.
Thanks for the help!

I tried it with minValue and maxValue, changing sthe speedLevel still does not work within the app.

2020-07-19 14:44:37.630 [ome.event.ItemCommandEvent] - Item 'fan_speedLevel' received command 25.0

2020-07-19 14:44:37.681 [nt.ItemStatePredictedEvent] - fan_speedLevel predicted to become 25.0

2020-07-19 14:44:37.691 [vent.ItemStateChangedEvent] - fan_speedLevel changed from 100 to 25.0

2020-07-19 14:44:38.898 [vent.ItemStateChangedEvent] - fan_speedLevel changed from 25.0 to 100

The only thing I can think about is the decimal in thereā€¦ maybe the fan does not like that.
Donā€™t know why in my case the decimal is not sendā€¦ maybe the step ... part is doing that.

Sorry for the slow response.

The new build of addons package has indeed brought the za4 version into play, and it seems to mostly work as intended.

As for the battery level not being exposed, you seem to be right - I canā€™t find it in the Xiaomi app either. I tried emailing SmartMi using the address posted on their site (sales@smartmi.com.cn) - but it freakinā€™ bounces! So I guess we canā€™t expect any support from them. Crazy though, not exposing this attribute, makes no senseā€¦

Regarding the Android app and setting fan speeds, I am unable to get this to work. Tried adding the min, max and step values to the item in the sitemap - but still no go.
Everything else seems to work, so this is a real pitty.

Log doesnā€™t show anything unexpected:

2020-08-09 10:09:30.163 [ome.event.ItemCommandEvent] - Item 'fan_SpeedLevel' received command 35.0
2020-08-09 10:09:30.173 [nt.ItemStatePredictedEvent] - fan_SpeedLevel predicted to become 35.0
2020-08-09 10:09:30.183 [vent.ItemStateChangedEvent] - fan_SpeedLevel changed from 74 to 35.0
2020-08-09 10:09:30.836 [vent.ItemStateChangedEvent] - fan_SpeedLevel changed from 35.0 to 74

Other than it being set back to the previous value instantlyā€¦

Also, natural level does not appear to work at all. No value is fetched for the item and changing it does nothing.

Best regards,
/Fred

1 Like

hahaā€¦indeed as expected, China style serviceā€¦ service until the doorā€¦ and we donā€™t even have a doorā€¦ :frowning:

the fan does not seem to like the digit in 35.0, if you somehow can manage to send just 35 it will work as far as I can see. Donā€™t know why in my case it is sending without digits and in our case with digits.
The same I expect for the natural level.

I resolved the decimal issue by adding a state format to the Item entry as per this post.
Setting fan speed now works in Android app as well. And yes, this works for natural level as well. Although, that isnā€™t a percentage value so I assume one would need to adjust the min and maxValue for this to work as intended.
Now to find a working email address and have them expose the battery levelā€¦

1 Like

Hey there,
is that angle really working for you? For me it seems like it is ignoring it. Also would put 0 (if possible) in there to turn off rotation (otherwise I would approach that with a rule I guess).

About the speedlevel I put the following into the sitemap and it is working nicely:

Slider item=office_fan_speedlevel label="Geschwindigkeit [%d]" icon="flow" minValue=0 maxValue=100 step=5

Only downside is that you have two speeds to also control the natural level. I might attempt to also solve that with a rule later on (sth. like a Normal/Natural Switch and then only one speed level and forwarding that to the right speedlevel of the fan).

Greetings
Andy

Thx @marcel_verpaalen for all your work! That socket(?) was the best investment I ever did. :stuck_out_tongue:

:slight_smile: sure wasā€¦ got me interested in the other miio devices and is still the one I use for much of my testingā€¦ nowadays almost 250 different devices are supported by the miio:basic driver.

1 Like

Hello!
Sorry to reopen this old thread, but I did not want to open a new one:

There is a new Model of the SmartMi Standing Fan (Version 3) that is not yet supported.
I have the test file here, but where should I put/send it (do I open an issue on GitHub?)

Bye, Fridolin.

Best is to submit it in github, than it wonā€™t be missedā€¦
what is the exact model string for it?

Thank you @marcel_verpaalen, will do that. The Model string seems to be ā€œzhimi.fan.za5ā€. (SmartMi Standing Fan 3)
I guess it should have the same channels as the Mi Fan 2c, with the addition of an ā€œioniserā€-Switch.

I appended the file here and will open a GitHub issue.

Bye, Fridolin.

test-zhimi.fan.za5-20210520-105542.txt (24.2 KB)

Thanks for the test file.
From what I see this device is using the ā€˜newā€™ miot style communication, so you wonā€™t be able to substitute other models.

Iā€™ll create a dB file for you in the coming days to test

Thank you very much Marcel, looking forward to it!

Bye, Fridolin.

Hi @fridomac
Looks like your fan already has a file in the current snapshot

If you are on OH3, you can most likely just use it. If youā€™re on OH2.5 you can try, but your millage may vary

note your ioniser switch was most likely what made it in the file as ā€˜anionā€™ which is how it was spelled in the chinese spec file :slight_smile:

Thank you, I will try copying the file to my OH3 instance and report back.

Bye, Frido.

Silly questionā€¦

So I just got a Smart Standing Fan 3, my first ever Xiaomi device. I installed the app, and made the network (wifi) setup. But I understand I need a tokenā€¦ My fan is on the same network as OH, so I programmed my login details on the binding setup, set the server to ā€˜deā€™ (Iā€™m in sweden), and selected local discovery. (I selected this because of the text ā€œAllow for discovery via the cloud. This may be used for devices that are not on the same network as OpenHAB serverā€ in the binding config section.

But my thing still stays in " HANDLER_CONFIGURATION_PENDING"

So I need to do something else obviously?
(Sorry for the very basic question!)

you need to get the token for your device in order to have it working.
If the logon details are right and you have the allowed for discovery via cloud, the tokens are obtained for you from the cloud.