Python脚本
这种集成使您可以编写python脚本,这些脚本是在家庭助理中作为服务的。必威是什么每个在
文件夹将作为服务公开。内容没有缓存,因此您可以轻松开发:编辑文件,保存更改,呼叫服务。这些脚本在沙盒环境中运行。以下变量在沙箱中可用:
姓名 | 描述 |
---|---|
哈斯 |
家庭助理必威是什么对象。访问只能致电服务,设置/删除状态和火灾事件。API参考 |
数据 |
数据传递给Python脚本服务调用。 |
记录器 |
允许您记录消息的记录器:logger.info() ,,,,logger.warning() ,,,,logger.error() 。API参考 |
编写您的第一个脚本
- 添加
configuration.yaml
:python_script:
- 创建文件夹
/python_scripts - 创建一个文件
hello_world.py
在文件夹中,给它提供此内容:
姓名=数据。得到((“姓名”,,,,“世界”)记录器。信息((“你好%s”,,,,姓名)哈斯。公共汽车。火((姓名,,,,{“哇”:“来自Python脚本!”})
- 开始家庭助理必威是什么
- 打电话给你的新
python_script.hello_world
服务(带有参数)服务。
姓名:你
运行此脚本在屏幕上绝对没有输出显示,但它可以与级别记录信息
。你必须有记录器至少启用了级别信息
。
呼叫服务
以下示例显示了如何调用服务python_script
。该脚本采用两个参数:ENTITY_ID
(必需的),RGB_COLOR
(可选)和电话light.turn_on
通过将亮度值设置为255
。
#turn_on_light.pyENTITY_ID=数据。得到((“ entity_id”)RGB_COLOR=数据。得到((“ rgb_color”,,,,[[255,,,,255,,,,255)))如果ENTITY_ID是不是没有任何:service_data={“ entity_id”:ENTITY_ID,,,,“ rgb_color”:RGB_COLOR,,,,“亮度”:255}哈斯。服务。称呼((“光”,,,,“打开”,,,,service_data,,,,错误的)
以上python_script
可以使用以下YAML作为输入来调用。
-服务:python_script.turn_on_light目标:ENTITY_ID:浅房间数据:RGB_COLOR:[[255,,,,0,,,,0这是给予的
记录您的Python脚本
您可以添加将在前端显示的Python脚本的名称和说明。为此,只需创建一个services.yaml
文件中的文件
文件夹。以上述Python脚本为例services.yaml
文件看起来像:
#services.yaml打开灯:姓名:打开灯描述:打开特定的灯并设置其颜色。字段:ENTITY_ID:描述:将打开的灯。例子:浅房间RGB_COLOR:描述:设置灯的颜色。例子:[[255,,,,0,,,,0这是给予的
有关更多示例,请访问脚本部分在我们的论坛中。
服务
可用服务:重新加载
。
服务python_script.reload
重新加载所有可用的python_scripts
文件夹。创建新的Python脚本时使用此功能,并且您不会重新启动家庭助理。必威是什么
该服务没有服务数据属性。