『瀚思彼岸』» 智能家居技术论坛

标题: 自动化的问题 [打印本页]

作者: zgxman    时间: 2022-6-6 10:10
标题: 自动化的问题
本帖最后由 zgxman 于 2022-6-10 11:23 编辑

我设置的自动化提示错误:Unable to find service python_scripts.set_state请问这个是没安装python的原因的,我是在群晖里安装homeassistant的,如果要安装python是在docker里安装还是套件中心里安装(我的套件中心里“社群”里有python3.10和3.8)




作者: neroxps    时间: 2022-6-6 10:32
请贴出你群辉安装 homeassistant 参考的教程。不建议使用 群辉套件安装homeassistant
作者: zgxman    时间: 2022-6-6 10:43
neroxps 发表于 2022-6-6 10:32
请贴出你群辉安装 homeassistant 参考的教程。不建议使用 群辉套件安装homeassistant ...

我是在docker里安装的,这个是教程“https://baijiahao.baidu.com/s?id=1721932088542289661&wfr=spider&for=pc”[attach]38110[/attach]

作者: dscao    时间: 2022-6-6 11:39
service python_scripts.set_state 是自己另外安装的,安装也很简单。就是在ha的config目录中加入 python_scripts/set_state.py,
内容为:

  1. if 'entity_id' not in data:
  2.     logger.warning("===== entity_id is required if you want to set something.")
  3. else:
  4.     data = data.copy()
  5.     inputEntity = data.pop('entity_id')
  6.     inputStateObject = hass.states.get(inputEntity)
  7.     if inputStateObject:
  8.         inputState = inputStateObject.state
  9.         inputAttributesObject = inputStateObject.attributes.copy()
  10.     else:
  11.         inputState = 'unknown'
  12.         inputAttributesObject = {}
  13.     if 'state' in data:
  14.         inputState = data.pop('state')
  15.     logger.debug("===== new attrs: {}".format(data))
  16.     inputAttributesObject.update(data)

  17.     hass.states.set(inputEntity, inputState, inputAttributesObject)
复制代码


或者hacs中安装自动化:python_scripts
作者: zgxman    时间: 2022-6-6 12:02
本帖最后由 zgxman 于 2022-6-6 12:08 编辑
dscao 发表于 2022-6-6 11:39
service python_scripts.set_state 是自己另外安装的,安装也很简单。就是在ha的config目录中加入 python_s ...

大佬,这个之前我就已经安装过了,代码应该和你的是一样的,我就是看你的帖子,按步骤弄的,我刚才发现是我文件夹名称写错了,我改改了过来,刚试了一下,但是还是不行,提示这个Error rendering data template: UndefinedError: 'dict object' has no attribute 'to_state'
[attach]38112[/attach][attach]38113[/attach]



作者: dscao    时间: 2022-6-6 13:04
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。
作者: zgxman    时间: 2022-6-6 13:25
dscao 发表于 2022-6-6 13:04
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。 ...

好的,大佬,那我晚上试一下,多谢了
作者: zgxman    时间: 2022-6-7 10:13
dscao 发表于 2022-6-6 13:04
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。 ...

大佬,我昨天试了一下,还是不行,我看了一下,我建的文件夹是“python_scripts”,自动化代码里写的是“service: python_script.set_state”是否需要改成“service: python_scripts.set_state”
作者: dscao    时间: 2022-6-7 13:11
zgxman 发表于 2022-6-7 10:13
大佬,我昨天试了一下,还是不行,我看了一下,我建的文件夹是“python_scripts”,自动化代码里写的是“ ...

我的一直正常:

[attach]38140[/attach]

再仔细检查一下,看哪里不对了。

作者: zgxman    时间: 2022-6-7 16:21
dscao 发表于 2022-6-7 13:11
我的一直正常:

好的,我回去再试一下,多谢
作者: zgxman    时间: 2022-6-9 15:48
本帖最后由 zgxman 于 2022-6-9 16:53 编辑
dscao 发表于 2022-6-7 13:11
我的一直正常:

大佬,我试了,还是不行,我把代码改成“ - service: python_scripts.set_state”就提示“Unable to find service python_scripts.set_state”,改成“ - service: python_script.set_state”就提示“Unable to find service python_script.set_state[color=var”
我也不知道哪出了问题?请大佬帮我看一下(我是群晖Docker装的HA),和锁的固件有关系吗?[attach]38184[/attach]


作者: dscao    时间: 2022-6-9 18:05
zgxman 发表于 2022-6-9 15:48
大佬,我试了,还是不行,我把代码改成“ - service: python_scripts.set_state”就提示“Unable to find  ...

忘记了,要在 configuration.yaml 加入一句:
python_script:  
启用这个。
作者: zgxman    时间: 2022-6-10 08:57
本帖最后由 zgxman 于 2022-6-10 09:00 编辑
dscao 发表于 2022-6-9 18:05
忘记了,要在 configuration.yaml 加入一句:
python_script:  
启用这个。

可以了,这个问题困扰我好久,多谢大佬的耐心解答





欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5