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

 找回密码
 立即注册
查看: 1994|回复: 12

[已解决] 自动化的问题

[复制链接]

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
发表于 2022-6-6 10:10:28 | 显示全部楼层 |阅读模式
本帖最后由 zgxman 于 2022-6-10 11:23 编辑

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



回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2022-6-6 10:32:40 | 显示全部楼层
请贴出你群辉安装 homeassistant 参考的教程。不建议使用 群辉套件安装homeassistant
Nero
回复

使用道具 举报

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
 楼主| 发表于 2022-6-6 10:43:03 | 显示全部楼层
neroxps 发表于 2022-6-6 10:32
请贴出你群辉安装 homeassistant 参考的教程。不建议使用 群辉套件安装homeassistant ...

我是在docker里安装的,这个是教程“https://baijiahao.baidu.com/s?id=1721932088542289661&wfr=spider&for=pc QQ截图20220606103809.png
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2022-6-6 11:39:43 | 显示全部楼层
service python_scripts.set_state 是自己另外安装的,安装也很简单。就是在ha的config目录中加入 python_scripts/set_state.py,
内容为:

if 'entity_id' not in data:
    logger.warning("===== entity_id is required if you want to set something.")
else:
    data = data.copy()
    inputEntity = data.pop('entity_id')
    inputStateObject = hass.states.get(inputEntity)
    if inputStateObject:
        inputState = inputStateObject.state
        inputAttributesObject = inputStateObject.attributes.copy()
    else:
        inputState = 'unknown'
        inputAttributesObject = {}
    if 'state' in data:
        inputState = data.pop('state')
    logger.debug("===== new attrs: {}".format(data))
    inputAttributesObject.update(data)

    hass.states.set(inputEntity, inputState, inputAttributesObject)


或者hacs中安装自动化:python_scripts
回复

使用道具 举报

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
 楼主| 发表于 2022-6-6 12:02:35 | 显示全部楼层
本帖最后由 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'
QQ截图20220606115625.png QQ截图20220606115330.png


回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2022-6-6 13:04:31 | 显示全部楼层
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。
回复

使用道具 举报

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
 楼主| 发表于 2022-6-6 13:25:43 | 显示全部楼层
dscao 发表于 2022-6-6 13:04
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。 ...

好的,大佬,那我晚上试一下,多谢了
回复

使用道具 举报

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
 楼主| 发表于 2022-6-7 10:13:23 | 显示全部楼层
dscao 发表于 2022-6-6 13:04
to_state 需要自动化中状态变化来触发的才会有这个,手动触发是没有这个值的。 ...

大佬,我昨天试了一下,还是不行,我看了一下,我建的文件夹是“python_scripts”,自动化代码里写的是“service: python_script.set_state”是否需要改成“service: python_scripts.set_state”
回复

使用道具 举报

77

主题

1391

帖子

2万

积分

元老级技术达人

积分
24349
金钱
22918
HASS币
290
发表于 2022-6-7 13:11:19 | 显示全部楼层
zgxman 发表于 2022-6-7 10:13
大佬,我昨天试了一下,还是不行,我看了一下,我建的文件夹是“python_scripts”,自动化代码里写的是“ ...

我的一直正常:

3.jpg

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

使用道具 举报

50

主题

181

帖子

1451

积分

金牌会员

Rank: 6Rank: 6

积分
1451
金钱
1270
HASS币
0
 楼主| 发表于 2022-6-7 16:21:23 | 显示全部楼层
dscao 发表于 2022-6-7 13:11
我的一直正常:

好的,我回去再试一下,多谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 23:01 , Processed in 0.198596 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表