|
本帖最后由 gheartsea 于 2022-8-20 17:23 编辑
**解决美的空调集控器ccm15接入智能家居不显示unique_id的问题**
(homeassistant老版本可能是没这个问题的)
![在这里插入图片描述]()
没这个玩意儿,可能会出现的直观现象就是,没办法在前端更改空调控制器相关数据,如:名称,id,区域等信息。对于新手会比较难受。
**困惑了2周,今天解决了,说一下解决方案:**
由于ccm15属于自定义固件,所以在官方提供的一些解决方案直接在yaml脚本内添加unique_id字段是不行的,需要从源头py文件内解决。
1、init方法定义unique_id变量
```python
def __init__(self, name, ac_name, host, port, acdata):
"""Initialize the thermostat."""
self._name = '{}_{}'.format(name, ac_name)
self._unique_id = '{}_{}'.format(name, ac_name)
self._acdata=''
self._ac_name = ac_name
self._ac_id = 2 ** (int(ac_name.strip('a')))
self._host = host
self._port = port
self._hvac_list = SUPPORT_HVAC
self._fan_list = [CONST_MODE_FAN_OFF, CONST_MODE_FAN_AUTO, CONST_MODE_FAN_LOW, CONST_MODE_FAN_MIDDLE, CONST_MODE_FAN_HIGH]
self._current_setfan = CONST_MODE_FAN_AUTO
self.updateWithAcdata(acdata)
_LOGGER.debug("Init called")
self.update()
```
![在这里插入图片描述]()
2、定义一个返回unique_id的方法
```python
@property
def unique_id(self):
"""Return the unique_id of the thermostat."""
return self._unique_id
```
![在这里插入图片描述]()
至此,解决!看下成品前端:
对比第一张图就能看出来区别哈。
![在这里插入图片描述]()
***延伸一下:所有三方插件如果出现unique_id问题都可以用这个方式解决。***
吐槽一下,本来想用markdown语法,想着在csdn写好复制过来,但是发现格式不对。大家将就一下看
|
|