add-on的对外访问
add-on中使用的编程语言
-
shell script
样例:上个视频中的
run.sh
-
python
样例:智能音箱add-on
如果将二进制可执行文件直接放入docker容器,必须区分不同的CPU架构——样例
访问外部网络
在add-on中,可以自由访问外部的网络
访问其它docker容器
-
supervisor架构下,所有docker容器的网络为
172.30.32.0/23
172.30.32.1
homeassistant core以及所有设置host_network
为true
的add-on172.30.32.2
supervisor172.30.32.3
dns172.30.33.x
各种add-on
-
各docker容器直接可以通过内部网络相互访问
- 一般通过docker容器的主机名访问
访问HomeAssistant Core API
注:你也可以通过docker容器间通讯访问HomeAssistant Core API,但这种方式需要自己配置与管理“长期访问令牌”。
-
config文件配置
homeassistant_api: true
-
环境变量
SUPERVISOR_TOKEN
-
http://supervisor/core/api/*
curl -X GET -H "Authorization: Bearer ${SUPERVISOR_TOKEN}" -H "Content-Type: application/json" http://supervisor/core/api/discovery_info
-
http://supervisor/core/websocket
访问Supervisor API
-
config文件配置
hassio_api: true
-
环境变量
SUPERVISOR_TOKEN
-
Supervisor API
http://supervisor/*
curl -sSL -H "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/network/info