Xiaomi Smart Space Heater S(zhimi.heater.mc2) plus zhimi.heater.zb1 (not tested) and zhimi.heater.za2 (not te

I am really happy.
Yesterday was a really cold day here (Lisbon), so for the fist time I left it with the setting for 28C and it kept my livingroom above 23C (constant) which was really nice.
In the morning, I use an automation to heat the bedroom to 20C and it does the job very nicelly.
(this was my reason to buy it, it doesn’t dry the air as much as other heaters).

@sergio_pt, I would really like to thank you for the great work you did here.
I’m starting to play with Home Assistant and was looking for integrating my Xiaomi Smart Heater S, and luckily I found this thread!

Off-topic: earlier you mentioned that the

I was also looking to buy a smart plug (with power usage data) that I could easily integrate with HA. Could you please share which one you use since that is obviously confirmed to work fine?

1 Like

Hi!

Thank you for your words.
I have a few different plugs flashed with Tasmota.
The one I’m using with the heater is:
https://www.blitzwolf.com/3840W-EU-WIFI-Smart-Socket-p-244.html

Thanks for the reply, @sergio_pt.

3840 W (16 A) - that is exactly what I was looking for.
But apparently, I will need to add that “Tasmota flashing” to my learning stack (besides HA, etc…).
In my laziness, I was expecting to find some smart plug that I could “plug-an-play” to HA :wink:

I understand what you are saying. But it was really easy!
Just follow this guide:

No cables or soldering, just software :slight_smile:

1 Like

Hmmm, “just software” - you convinced me :wink:
Here I go buy me a plug.

Hehehehe
Believe me :slight_smile:
I’m not a developer. I just like technology and with these helpfull communities everything is doable. Hehehehe

Dear Sergio,

I am planning to buy this heater and i am very thankfull that you made this!! Can you please describe in the documentation how to extract the token? With my xiaomi robo vacuum it was a huge pain until i found a small cmd prompt program that just extracted it from out of my account.

Many thanks again. I love the HA community. everyone is helping!

I would also like to know what knowledge you need to being able to write stuff myself. So where do i start to make a custom integration myself? Is there some sort of tutorial on how to start?

It would be great to contribute to the community in the future.

Hi @sygys,

I believe you may have used the same tool in the past as I’m using now.
This is the easiest way to extract the token:

Regarding the integration first steps, I followed this guide:

But after that, there is nothing better than looking at other existing integrations and building up from there :slight_smile:

super! many thanks for sharing this.

1 Like

Boas / Hello,

Thanks for the good work.
I’m trying to use this as a workaround to the MI Heater S poor implementation for thermostat. I’m trying to implement the Generic Thermostat Integration but i can’t do it. Neither turns on the Heater or gets the Temperature.
Since i’m a completely newbie (installed yesterday HA), is there any parameters that I might be missing?

Another thing as a curiosity: your ee02217 is by any chance your ID from FEUP?

Thanks / Obrigado.

Hahahaha, it is indeed :slight_smile:

Regarding your question, the problem of using the generic thermostat is that you will use power fluctuation that the heater uses. For example, when you reach the target temperature, it reduces the power to keep it there instead of turning it off.

That being said, you can definitely use the generic thermostat, and my recommendation is:

  • Create a template switch and use it with an automation to turn on and off the heater.
  • Create a template sensor to use as target temperature, and use an automation to change the heater target temperature
  • Use another temperature sensor, because my experience is that when you turn off the heater, the internal temperature sensor skyrockets. I think this is because of thermodynamics, where the heat that was going up pushed by new hot air, dissipates to the internal sensor.

Let me know if you need more help. But I am honestly happy with the heater thermostat (expect for that spike when turned off).

The Heater Thermo has no isses. Is the FW it has, because the minimum state is still on. So if you for instance put Target Temp as 18º when reached it will reduce power to 800W and still continue to heat the room. A Bedroom can quickly go to 24/25º and the heater will still be on.

It’s not thermodynamics (it it was it wouldn’t be a spike), it’s just the compensation in SW that is gone, because it was turned off.
I guess I will need to learn more about HA on the next weekend.
(Meanwhile i’m working with Automation)

2 Likes

Might be… still not sure, because the behaviour is the same when I pick the heater up to take to another room.
It does feel like the sensor comes in direct contact with the hot air… But I’m no expert :slight_smile:
And I do agree with you, it could turn off completely when the temperature is way over the configured target temp instead of just reducing power.

1 Like

Mine works like a charm!

1 Like

Hello,

I’m using raspbian and I get this error? Any ideia?

2021-01-22 13:53:07 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for miheater which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2021-01-22 13:53:07 ERROR (MainThread) [homeassistant.config] Platform error: climate
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/config.py", line 757, in async_process_component_config
    platform = p_integration.get_platform(domain)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/loader.py", line 232, in get_platform
    f"{self.pkg_path}.{platform_name}"
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/homeassistant/.homeassistant/custom_components/miheater/climate.py", line 11, in <module>
    from homeassistant.components.climate import ClimateEntity, PLATFORM_SCHEMA
ImportError: cannot import name 'ClimateEntity' from 'homeassistant.components.climate' (/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/climate/__init__.py)

That is really a strange error, that seems to come from HA.
What is your HA version?

0.99.2
I tried to upgrade, but it breaks xiaomi gw integration.

I believe that is the problem, sorry :frowning:

OK, thanks anyway. Do you know if this platform a fixed value?