本帖最后由 neroxps 于 2018-5-12 17:06 编辑
估计升级到开发板就修好了这个BUG
https://github.com/home-assistant/home-assistant/commit/c4ec2e3434e3981476de6581bb578cf88dd01693
下载这个文件 https://raw.githubusercontent.com/home-assistant/home-assistant/dev/homeassistant/loader.py
放到 /usr/lib/python3.6/site-packages/homeassistant/ 下面(记得备份原来的文件。)试试行不行?乱猜的哈哈
囧,不说是自改版,我还以为是官方版呢
不懂python,但是看起来是知道 0.69.0 loader.get_component 是加了一个输入参数。而自建插件缺了个参数。
论坛的broadlink_mp1.py
ip_addr = config.get(CONF_HOST)
friendly_name = config.get(CONF_FRIENDLY_NAME)
alias_names = config.get(CONF_ALIAS)
mac_addr = binascii.unhexlify(
config.get(CONF_MAC).encode().replace(b':', b''))
switch_type = config.get(CONF_TYPE)
persistent_notification = loader.get_component('persistent_notification') """← 这里缺了个参数。"""
而 homeassistant test 里面的标准写法
def setUp(self):
"""Setup things to be run when tests are started."""
self.hass = get_test_home_assistant()
platform = loader.get_component(self.hass, 'switch.test') """←这里应该要多了个 self.hass"""
platform.init()
# Switch 1 is ON, switch 2 is OFF
self.switch_1, self.switch_2, self.switch_3 = \
platform.DEVICES
至于 get_test_home_assistant() 这个方法是在这个py文件里面 https://github.com/home-assistant/home-assistant/blob/dev/tests/common.py
这个到底干嘛不太明白。
萌新蒙的解决方法
在论坛的 broadlink_mp1.py 74 行从
persistent_notification = loader.get_component('persistent_notification')
改成
persistent_notification = loader.get_component(hass,'persistent_notification')
我懵的,不知道对不对啊。(经过测试是对的)
下面附件是改好的文件
|