Home Assistant 编写自定义集成入门
的有关信息介绍如下:
本经验介绍在Home Assistant 中,如何编写自定义集成入门。注意本经验是入门教程,做出的集成提供了services可供调用,且读写state数据。
首先,创建一个文件夹,文件夹名称是集成名,在其中至少要有__init__.py, manifest.json, 以及services.yml这几个文件。
在manifest.json中,至少要有如图几项。
在services.yml中,要按照如图格式。如图是指定了名为set_timestamp的service,有3个参数,分别是entity_id, cap_name和timestamp. 这些参数都是自己定义的。
接着打开编写__init__.py文件,如图,在setup函数中定义service call的handler,在handler中用call.data.get获取参数,用hass.states.get获取state值, 用hass.states.set更新state值(值也可以是字典)。
最后,在setup函数中要注册这个service, 并返回True。
接着,将这个文件夹复制到home assistant配置目录下的custom_components目录(若无目录则创建)。
打开configuration.yaml,添加自定义的集成项即可。
重启home assistant,在开发者工具就可以看到自定义集成的服务了。
在状态一栏,也可以找到自定义集成对应的entity和state值.
1、首先,创建一个文件夹,文件夹名称是集成名,在其中至少要有__init__.py, manifest.json, 以及services.yml这几个文件。2、在manifest.json中,至少要有如图几项。3、在services.yml中,要按照如图格式。如图是指定了名为set_timestamp的service,有3个参数,分别是entity_id, cap_name和timestamp. 这些参数都是自己定义的。4、接着打开编写__init__.py文件,如图,在setup函数中定义service call的handler,在handler中用call.data.get获取参数,用hass.states.get获取state值, 用hass.states.set更新state值(值也可以是字典)。最后,在setup函数中要注册这个service, 并返回True。5、接着,将这个文件夹复制到home assistant配置目录下的custom_components目录(若无目录则创建)。6、打开configuration.yaml,添加自定义的集成项即可。7、重启home assistant,在开发者工具就可以看到自定义集成的服务了。8、在状态一栏,也可以找到自定义集成对应的entity和state值.



