Python脚本


这种集成允许您编写Python脚本,这些脚本在Home Assistant中作为服务公开。在中创建的每个Python文件必威是什么/python\u脚本/文件夹将作为服务公开。内容不缓存,因此您可以轻松开发:编辑文件、保存更改、呼叫服务。脚本在沙盒环境中运行。沙箱中提供以下变量:

名称 描述
哈斯 家庭助理必威是什么对象。仅允许访问呼叫服务、设置/删除状态和火灾事件。API参考
数据 传递给Python脚本服务调用的数据。
记录器 允许您记录消息的记录器:logger.info(),logger.warning(),logger.error().API参考

在这种集成中不可能使用Python导入。如果您想编写更高级的脚本,可以查看应用程序守护程序pyscript

写你的第一个剧本

  • 加上配置.yaml:python_脚本:
  • 创建文件夹/python\u脚本
  • 创建一个文件你好在文件夹中,并为其提供以下内容:
name=data.get(“name”,“world”)logger.info(“Hello%s”,name)hass.bus.fire(name,{“wow”:“来自Python脚本!”)
姓名:你

运行此脚本在屏幕上绝对不会显示任何输出,但它会以级别记录信息. 你必须有记录器至少为级别启用信息.

呼叫服务

下面的示例显示如何从调用服务python_脚本. 此脚本采用两个参数:实体id(必需),rgb_颜色(可选)和呼叫打开灯通过将亮度值设置为255.

#如果实体id不是None,则打开实体id=data.get(“实体id”)rgb_color=data.get(“rgb_color”,[255,255,255]):服务数据={“实体id”:实体id,“rgb_color”:rgb_color,“亮度”:255}hass.services.call(“灯光”,“打开”,服务数据,False)

以上python_脚本可以使用以下YAML作为输入调用。

-service:python\u script.turn\u on\u light目标:实体\u id:light.doomy数据:rgb\u颜色:[255,0,0]

记录Python脚本

您可以为将在前端显示的Python脚本添加名称和说明。为此,只需创建一个服务.亚马尔把你的文件归档/python\u脚本文件夹以上面的Python脚本为例服务.亚马尔文件看起来像:

#services.yaml打开灯光:名称:打开灯光描述:打开特定灯光并设置其颜色。字段:实体\标识:描述:将打开的灯光。示例:灯光。卧室rgb_颜色:说明:灯光将设置为的颜色。示例:[255,0,0]

有关更多示例,请访问脚本部分在我们的论坛上。

服务

提供的服务:重新加载.

服务python_script.reload

从中重新加载所有可用的python_脚本/python\u脚本文件夹在创建新的Python脚本时使用此选项,而不是重新启动Home Assistant。必威是什么

此服务不接受服务数据属性。

Baidu