xcy1231 / Ha-GreeCentralClimate

87 stars 29 forks source link

云控二代V17找不到设备 #19

Closed codingbigpanties closed 1 year ago

codingbigpanties commented 1 year ago

2023-03-15 15:04:14.387 INFO (Thread-2 (socket_listen)) [custom_components.gree2.climate] Scan Gree climate device list: [{'mac': '886c851c000000', 'mid': '6092'}, {'mac': 'add08a1c000000', 'mid': '6092'}, {'mac': '7a3c7f1c000000', 'mid': '6092'}, {'mac': '75ff951c000000', 'mid': '6092'}] 2023-03-15 15:04:14.387 ERROR (Thread-2 (socket_listen)) [root] Uncaught thread exception Traceback (most recent call last): File "/usr/local/lib/python3.10/threading.py", line 1016, in _bootstrap_inner self.run() File "/usr/local/lib/python3.10/threading.py", line 953, in run self._target(*self._args, **self._kwargs) File "/config/custom_components/gree2/climate.py", line 206, in socket_listen self.devMap[item_mac] = Gree2Climate(self.hass, item['name'] + item_mac, item['mid'], item_mac, self, self._temp_sensor.get(item_mac)) KeyError: 'name'

应该是返回的设备列表中不存在name字段, 我是将206行中的item['name']改为固定字符串, 重启HA就可以找到设备了

Liaoyigou commented 1 year ago

请问这个是怎么操作的,我也是v17 就显示设备不可用咯

codingbigpanties commented 1 year ago

请问这个是怎么操作的,我也是v17 就显示设备不可使用咯

具体情况具体分析吧,我也是看了日志之后发现KeyError: 'name‘报错。

也可能是我上面没说太清楚,在custom_components/gree2/climate.py的206行代码中,item['name']是要获取设备名称,但数据返回的结果中并不存在name字段,所以把item['name']去掉(有重名或其他问题)或直接改成 ‘kongtiao’ 等单引号括起来的随意字符,重启HA之后就可以了。

Liaoyigou commented 1 year ago

我解决了,参考一下给各位,在climate文件里面找到 self.devMap[item_mac] = Gree2Climate(self.hass, item['name'] + item_mac, item['mid'], item_mac, self, self._temp_sensor.get(item_mac)) 这串代码,改成 self.devMap[item_mac] = Gree2Climate(self.hass, self.name + item_mac, item['mid'], item_mac, self, self._temp_sensor.get(item_mac)) 重启即可,参考论坛大佬https://bbs.hassbian.com/thread-11539-12-1.html

my5123 commented 1 year ago

我解决了,参考一下给各位,在climate文件里面找到 self.devMap[item_mac] = Gree2Climate(self.hass, item['name'] + item_mac, item['mid'], item_mac, self, self._temp_sensor.get(item_mac)) 这串代码,改成 self.devMap[item_mac] = Gree2Climate(self.hass, self.name + item_mac, item['mid'], item_mac, self, self._temp_sensor.get(item_mac)) 重启即可,参考论坛大佬https://bbs.hassbian.com/thread-11539-12-1.html

按此操作已经解决