23
659
4666
元老级技术达人
1、curl命令行: curl -X GET \ -H "x-ha-access: YOUR_PASSWORD" \ -H "Content-Type: application/json" \ http://IP_ADDRESS:8123/ENDPOINT
1、curl命令行:
curl -X GET \ -H "x-ha-access: YOUR_PASSWORD" \ -H "Content-Type: application/json" \ http://IP_ADDRESS:8123/ENDPOINT
2、Python编程语言: from requests import get url = 'http://localhost:8123/ENDPOINT' headers = {'x-ha-access': 'YOUR_PASSWORD', 'content-type': 'application/json'} response = get(url, headers=headers) print(response.text)
2、Python编程语言:
from requests import get url = 'http://localhost:8123/ENDPOINT' headers = {'x-ha-access': 'YOUR_PASSWORD', 'content-type': 'application/json'} response = get(url, headers=headers) print(response.text)
3、HTTP请求测试工具: http://IP_ADDRESS:8123/api/<API命令>?api_password=YOUR_PASSWORD 可以使用HTTP在线POST、GET测试工具按照API文档的命令格式进行测试
3、HTTP请求测试工具:
http://IP_ADDRESS:8123/api/<API命令>?api_password=YOUR_PASSWORD 可以使用HTTP在线POST、GET测试工具按照API文档的命令格式进行测试
http://IP_ADDRESS:8123/api/<API命令>?api_password=YOUR_PASSWORD
1、GET /api/ 获取API的状态 2、GET /api/config 以JSON数据格式返回HA的配置信息 3、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-discovery-info">GET /api/discover_info 以JSON数据格式返回HA的主要配置信息 4、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-events">GET /api/events 获取HA的日志 5、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-services">GET /api/services 获取HA所有的服务信息 6、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-history-period-lt-timestamp">GET GET /api/history/period/<timestamp> 获取指定时间段内的HA历史信息 7、https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-states">GET /api/states 获取每个HA实体的状态信息 8、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-states-lt-entity-id">GET /api/states / <entity_id> 获取指定实体的状态信息 9、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-error-log">GET /api/error_log 获取HA的错误日志 10、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#get-api-camera-proxy-camera-lt-entity-id">GET / api/camera_proxy/camera.<entity_id> 获取指定摄像机的图像 11、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#post-api-states-lt-entity-id">POST / api / states / <entity_id> 更新指定实体的状态信息 12、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#post-api-events-lt-event-type">POST /api/events/<event_type> 更新日志信息,可以传递JSON格式数据 13、POST/api/services/<domain> / <service> 调用HA的服务,可以传递JSON数据 14、POST /api/template 更新模板数据 15、POST / api / event_forwarding 转发日志 16、[u]https%3A//developers.home-assistant.io/docs/en/external_api_rest.html#delete-api-event-forwarding">DELETE / api / event_forwarding 取消日志转发
1、在Node Red中创建一个HTTP站点 首先我们按照图片的样式建立一个HTTP站点的Flow,并设置HTTP输入节点的参数,在template节点中按图三输入HTLM代码,部署成功后,打开浏览器访问http://你的Node Red地址:端口号/homeassistant,如果没有错误发生,浏览器将解析template节点中的html代码。 在这个Flow中,使用Http In节点侦听请求,当收到浏览器发送的Http请求后,解析Template中的Html代码,再通过Http Response节点反馈给浏览器
首先我们按照图片的样式建立一个HTTP站点的Flow,并设置HTTP输入节点的参数,在template节点中按图三输入HTLM代码,部署成功后,打开浏览器访问http://你的Node Red地址:端口号/homeassistant,如果没有错误发生,浏览器将解析template节点中的html代码。 在这个Flow中,使用Http In节点侦听请求,当收到浏览器发送的Http请求后,解析Template中的Html代码,再通过Http Response节点反馈给浏览器
首先我们按照图片的样式建立一个HTTP站点的Flow,并设置HTTP输入节点的参数,在template节点中按图三输入HTLM代码,部署成功后,打开浏览器访问http://你的Node Red地址:端口号/homeassistant,如果没有错误发生,浏览器将解析template节点中的html代码。
http://你的Node Red地址:端口号/homeassistant
template
在这个Flow中,使用Http In节点侦听请求,当收到浏览器发送的Http请求后,解析Template中的Html代码,再通过Http Response节点反馈给浏览器
Http In
Template
Http Response
2、使用GET方法请求HA的config信息 下面这个Flow是一个标准的GET方法,该Flow被执行后,HA将以JSON数据格式返回HA的配置信息,返回的数据中包含HA当前配置文件开启的组件,配置目录,经纬度等。Http Request节点的URL地址需要按http://HA地址:端口号/api/config?api_password=你的HA密码格式填写。除了使用GET /api/config的方法,大家还可以使用上方API列表中的所有GET进行同样测试,测试时,需要将URL地址中的/api/config替换掉。
下面这个Flow是一个标准的GET方法,该Flow被执行后,HA将以JSON数据格式返回HA的配置信息,返回的数据中包含HA当前配置文件开启的组件,配置目录,经纬度等。Http Request节点的URL地址需要按http://HA地址:端口号/api/config?api_password=你的HA密码格式填写。除了使用GET /api/config的方法,大家还可以使用上方API列表中的所有GET进行同样测试,测试时,需要将URL地址中的/api/config替换掉。
Http Request
http://HA地址:端口号/api/config?api_password=你的HA密码
/api/config
3、通过HA的REST API打开灯 通过第二个例子的测试,我们知道GET是向HA请求数据,仅依靠GET方法是无法控制HA设备的,比如如果要打开灯,我们必须要向HA发送数据,告诉HA要打开哪个灯,也就是说向HA提交灯的entity_id,在这里需要用到POST方法。Node节点需要用到Function和Http Request,设置方法参考图片。部署完成后,可以通过点击时间戳节点的虚拟按键,测试是否可以正常打开对应的灯。
通过第二个例子的测试,我们知道GET是向HA请求数据,仅依靠GET方法是无法控制HA设备的,比如如果要打开灯,我们必须要向HA发送数据,告诉HA要打开哪个灯,也就是说向HA提交灯的entity_id,在这里需要用到POST方法。Node节点需要用到Function和Http Request,设置方法参考图片。部署完成后,可以通过点击时间戳节点的虚拟按键,测试是否可以正常打开对应的灯。
entity_id
Function
最后分享一下这三个例子的Flow代码
查看全部评分
使用道具 举报
123
4672
1万
管理员
囧死
10
276
1192
金牌会员
1
265
2589
0
82
598
高级会员
2
136
1026
28
561
4508
论坛元老
seamo 发表于 2018-6-10 02:17 群晖装不上这个插件
nuaawmy 发表于 2018-6-10 04:22 一样可以用在tasker上
178
936
本版积分规则 发表回复 回帖后跳转到最后一页
教程高产大神,简直就是为了教程而生~
Archiver|手机版|小黑屋|Hassbian
GMT+8, 2025-2-24 03:57 , Processed in 0.068390 second(s), 38 queries .
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.