Giter Site home page Giter Site logo

xiaomi_airconditioningcompanionmcn02's Introduction

Xiaomi Air Conditioning Companion 2

This is a custom component for home assistant to integrate the Xiaomi Mi Air Conditioning Companion 2:

Model ID Model number Product name Shape
lumi.acpartner.mcn02 KTBL03LM Xiaomi Mi Air Conditioner Companion 2 square

Please follow the instructions on Retrieving the Access Token to get the API token to use in the configuration.yaml file.

Credits: Thanks to Rytilahti for all the work.

Features

  • Power (on, off)
  • Operation Mode (Heat, Cool, Auto, Dehumidify, Ventilate)
  • Fan Speed (Low, Medium, High, Auto)
  • Swing Mode (On, Off)
  • Target Temperature
  • Capture and replay infrared commands
  • Attributes
    • ac_model
    • ac_power (on, off)
    • load_power (Wh)
    • operation_mode
    • fan_speed
    • swing_mode

Install

You can install this custom component by adding this repository (https://github.com/EugeneLiu/xiaomi_airconditioningcompanionMCN02) to HACS in the settings menu of HACS first. You will find the custom component in the integration menu afterwards, look for 'Xiaomi Mi and Aqara Air Conditioning Companion Integration'. Alternatively, you can install it manually by copying the custom_component folder to your Home Assistant configuration folder.

Setup

# configuration.yaml

climate:
  - platform: xiaomi_miio_airconditioningcompanionmcn02
    name: xiaomi Air Conditioning Companion 2
    host: 
    token: 
    target_sensor: sensor.temperature_158d0001f53706
    scan_interval: 60

climate entity

Debugging

If the custom component doesn't work out of the box for your device please update your configuration to enable a higher log level:

# configuration.yaml

logger:
  default: debug
  logs:
    custom_components.xiaomi_miio_airconditioningcompanionmcn02.climate: debug
    miio: debug

xiaomi_airconditioningcompanionmcn02's People

Contributors

eugeneliu avatar fireinice avatar hiouttime avatar womeimingzi11 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

xiaomi_airconditioningcompanionmcn02's Issues

[Help Wanted] 实体的状态不可靠

我在尝试使用 xiaomi_airconditioningcompanionMCN02 构建一个类型为 Generic Thermostat 的 climate 实体。发现在调用 turn_on 或者 turn_off 之后,climate.xiaomi_air_conditioning_companion_2.hvac_mode 不能被检测到立即改变,所以就会出现调用 turn_on 后无法调用 turn_off

configuration.yaml 如下:

- platform: xiaomi_miio_airconditioningcompanion #小米空调伴侣2
  name: xiaomi Air Conditioning Companion 2
  host: IP
  token: TOKEN
  target_sensor: sensor.temperature_158d0001f53706
  scan_interval: 60
- platform: generic_thermostat #通用恒温器,真实空调实体
  name: Bedroom Air Conditioner
  heater: switch.bedroom_ac
  target_sensor: sensor.climate_bedroom_ac
  min_temp: 16
  max_temp: 31
  precision: 1
         
switch:
  - platform: template #通用恒温器所需模板开关
    switches:
      bedroom_ac:
        friendly_name: 卧室空调
        value_template: "{{ not is_state('climate.xiaomi_air_conditioning_companion_2.hvac_mode', 'off') }}"
        turn_on:
          - service: climate.turn_on
            data:
              entity_id: climate.xiaomi_air_conditioning_companion_2
        turn_off:
          - service: climate.turn_off
            data:
              entity_id: climate.xiaomi_air_conditioning_companion_2

所以想咨询下有无可靠的方案去检测当前空调的状态,让 switch 实体可以将它作为 value_template 使用?

Xiaomi Miio Airconditioning Companion MCN02 - Error on Device Update

The device is configured using Cloud. Device is working OK with no problems.
Seeing this error in logs.

========

Logger: homeassistant.components.climate
Source: custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py:323
Integration: Climate (documentation, issues)
First occurred: 13:14:46 (2 occurrences)
Last logged: 13:14:46

xiaomi_miio_airconditioningcompanionmcn02: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 633, in async_device_update
await task
File "/config/custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py", line 323, in async_update
if state.target_temperature <= self.max_temp else None,
File "/usr/local/lib/python3.9/site-packages/miio/airconditioningcompanionMCN.py", line 79, in target_temperature
return self.data[2]
IndexError: list index out of range

无法学习红外码

开发者工具-服务里面只有,climate.xiaomi_miio_send_command,没有学习红外码的服务,能否加入支持

Xiaomi Air Conditioning Companion2集成添加多个设备只有一个可用

Xiaomi Air Conditioning Companion 2集成,配置米家空调伴侣2代
configuration.yaml文件配置如下:

climate:   
    platform: xiaomi_miio_airconditioningcompanionmcn02
    name: A空调
    host: 192.168.1.157
    token: A空调的token
    target_sensor: sensor.temperature_158d0001f53706
    scan_interval: 60

    name: B空调
    host: 192.168.1.205
    token: B空调的token
    target_sensor: sensor.temperature_158d0001f53706
    scan_interval: 60
   
    name: C空调
    host: 192.168.1.162
    token: C空调的token
    target_sensor: sensor.temperature_158d0001f53706
    scan_interval: 60

以上配置,只有放在最后的空调可以生效,放在前面的实体显示不可用。例如以上的配置,只有C空调可用,A和B不可用,如果A空调放在最后则只有A空调可用。

以上配置哪里语法错误呢?反复尝试都找不到方法。感谢指点!

Xiaomi Miio Airconditioning Companion MCN02 - Error on Device Update

The device is configured using Cloud. Device is working OK with no problems.
Seeing this error in logs.

========

Logger: homeassistant.components.climate
Source: custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py:323
Integration: Climate (documentation, issues)
First occurred: 13:14:46 (2 occurrences)
Last logged: 13:14:46

xiaomi_miio_airconditioningcompanionmcn02: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 633, in async_device_update
await task
File "/config/custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py", line 323, in async_update
if state.target_temperature <= self.max_temp else None,
File "/usr/local/lib/python3.9/site-packages/miio/airconditioningcompanionMCN.py", line 79, in target_temperature
return self.data[2]
IndexError: list index out of range

设置好后,无法找到实体

我用hacs安装了这个插件,或者直接下载放入文件夹,也在configuration.yaml填写代码,ip和token也都写了,但是在实体注册表里看不到温控器实体,我和我的多位朋友都出现这个问题。

docker下的hass安装python-miio失败,是否只能等待新miio合并到hass里

你好,首先很感谢你开发了这个插件。看了上一个issue已经明白了问题,但是我pip安装python-miio失败,报的错网上也找不到原因,想问下是等hass更新依赖,还是能有别的解决办法呢,另外我是docker里的hass,但我是在系统里安装miio,我理解docker是可以和系统公用资源的,这样操作有没有问题呢

'NoneType' object has no attribute 'config'

Logger: homeassistant
Source: custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py:247
First occurred: 上午10:19:21 (2 occurrences)
Last logged: 上午10:19:28

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py", line 266, in _async_sensor_changed
await self._async_update_temp(new_state)
File "/config/custom_components/xiaomi_miio_airconditioningcompanionmcn02/climate.py", line 247, in _async_update_temp
self._current_temperature = self.hass.config.units.temperature(
AttributeError: 'NoneType' object has no attribute 'config'

新固件有报错 是不兼容吗

2021-09-16 07:52:39 ERROR (MainThread) [homeassistant.components.climate] xiaomi_miio_airconditioningcompanionmcn02: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 431, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 633, in async_device_update
await task
File "/config/custom_components/xiaomi_miio_airconditioningcompanion/climate.py", line 321, in async_update
ATTR_SWING_MODE: state.swing_mode.name.lower(),
File "/config/custom_components/xiaomi_miio_airconditioningcompanion/miio/airconditioningcompanionMCN.py", line 97, in swing_mode
return SwingMode(mode)
File "/usr/local/lib/python3.9/enum.py", line 384, in call
return cls.new(cls, value)
File "/usr/local/lib/python3.9/enum.py", line 702, in new
raise ve_exc
ValueError: 'unsupport' is not a valid SwingMode

新版固件报错

Logger: homeassistant.components.climate
Source: custom_components/xiaomi_miio_airconditioningcompanion/miio/airconditioningcompanionMCN.py:54
Integration: 空调 (documentation, issues)
First occurred: 下午11:40:52 (1 occurrences)
Last logged: 下午11:40:52

xiaomi_miio_airconditioningcompanion: Error on device update!
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity_platform.py", line 359, in _async_add_entity
await entity.async_device_update(warning=False)
File "/srv/homeassistant/lib/python3.8/site-packages/homeassistant/helpers/entity.py", line 466, in async_device_update
await task
File "/home/homeassistant/.homeassistant/custom_components/xiaomi_miio_airconditioningcompanion/climate.py", line 319, in async_update
ATTR_LOAD_POWER: state.load_power,
File "/home/homeassistant/.homeassistant/custom_components/xiaomi_miio_airconditioningcompanion/miio/airconditioningcompanionMCN.py", line 54, in load_power
return int(self.data[-1])
IndexError: list index out of range

设置好以后不出现Entity

大神,我已经升级到了python-miio0.5.4,configuration.yaml也设置好了,但是还是没有Entity出现。用网上那个miio目录放在xiaomi_miio_airconditioningcompanion里的方法,可以用上空调插件,但是swingmode只能是unsupport。我是威联通container里装的Home Assistant 2020.12.2,怎样才能直接支持你的插件呢?谢谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.