HTTP


http集成服务于主助手前端所需的所有文件和数据。必威是什么如果要更改任何默认设置,则只需将其添加到配置文件中。

目前在家庭助理中支持以下设备类型:必威是什么

选项server_host.应该只用于家庭助理核心安装!必威是什么

#示例configuration.yaml条目http:

配置变量

server_host. 清单|字符串 可选,默认:0.0.0.0,::

只监听特定IP/主机上的传入请求。默认情况下,http集成自动检测IPv4/IPv6并监听所有连接。使用server_host:0.0.0.0.如果您只想侦听IPv4地址。默认列表假设支持IPv4和IPv6。

服务器端口 整数 可选,默认值:8123

让您设置要使用的端口。

ssl_certificate. 字符串 可选

通过安全连接为家庭助理服务的TLS/SSL证书的路径。必威是什么如果使用让我们加密插件这将是/ssl/fullchain.pem.

ssl_peer_certificate. 字符串 可选

接受安全连接的客户端/对端TLS/SSL证书的路径。

ssl_key 字符串 可选

通过安全连接,您的TLS / SSL钥匙的路径提供家庭助手。必威是什么如果使用让我们加密插件这将是/ssl/privkey.pem.pem.

cors_allowed_origins. 字符串列表| 可选

允许的原始域名列表结束的请求。启用此选项将设置Access-Control-Allow-Origin如果在列表中找到Origin头文件,则将该头文件转换为Origin头文件Access-Control-Allow-Headers标题为来源,接受,X-Requested-With,内容类型,授权.您必须提供准确的原产地,即://www.jameselles.com将允许请求//www.jameselles.com//www.jameselles.com

use_x_forwarded_for. 布尔 可选,默认:假

启用解析X-Forwarded-For头,传递客户端正确的IP地址在代理设置。你必须也使用白名单信任代理trusted_proxies为工作设置。与此标头的非白名单请求将被视为IP欺骗攻击,因此,标题将被忽略。

trusted_proxies 字符串列表| 可选

可信代理列表,由允许设置的IP地址或网络组成X-Forwarded-For标题。使用时需要use_x_forwarded_for.因为对家庭助理的所有请求,无论来自何方,都将从反必威是什么向代理IP地址到达。因此,在反向代理场景中,应该非常小心地设置此选项。如果直接上游代理不在列表中,请求将被拒绝。如果列表中没有任何其他中间代理,则第一个不受信任的代理将被视为客户端。

ip_ban_enabled 布尔 可选,默认:假

指示是否启用了额外IP过滤的标志。

login_attempts_threshold 整数 可选,默认值:-1

从单个IP登录失败的次数,之后将自动禁止,如果ip_ban_enabled真的.当设置为-1时,不会添加新的自动禁令。

ssl_profile 字符串 可选,默认:现代

Mozilla SSL简介使用。如果集成导致SSL握手错误,则更低。

下面的示例显示了一个具有可能值的配置项:

#示例configuration.yaml条目http:server_port:12345 ssl_certificate:/etc/letsencrypt/live/hass.example.com/fullchain.pem ssl_key:/etc/letsencrypt/live/hass.example.com/privkey.pem cors_allowed_origins: -https://google.com  -  //www.jameselles.com使用_x_forwarded_for:true trusted_proxies: -  10.0.0.200  -  172.30.33.0/24 ip_ban_enabled:true login_attempts_threshold:5

使用Let 's Encrypt设置加密博客文章为您提供有关流量加密的详细信息,使用免费证书让我们加密

反向代理

使用反向代理时,需要启用use_x_forwarded_for.trusted_proxies选项。如果没有设置这些选项,来自反向代理的请求将被阻止。

http: use_x_forwarded_for: true trusted_proxy: - 10.0.0.200 #添加代理服务器的IP地址- 172.30.33.0/24 #您也可以提供子网掩码

蜜蜂

在…之上http整合是A.休息API.Python APIWebSocket API.可用的。

http平台不是在家庭助理周围使用术语的含义内的真正平台。必威是什么必威是什么家庭助理休息API.通过HTTP发送和接收消息。

HTTP传感器

使用这些种类的传感器或者二进制传感器在您的安装中,需要在家庭助理中进行配置。必威是什么所有配置都在设备本身上完成。这意味着您必须能够编辑目标URL或端点以及有效载荷。将在第一个消息到达后创建实体。

创建一个长寿访问令牌如果您想使用H必威是什么TTP传感器,请在配置文件底部的Home Assistant UI中。

全部要求需要发送到设备的端点,并且必须是帖子

IP过滤和禁止

如果您想应用额外的IP过滤,并自动禁止暴力尝试,设置ip_ban_enabled真的以及最大尝试次数。第一次禁令之后ip_bans.yaml.文件将在根配置文件夹中创建。添加时,它将在UTC中具有禁用的IP地址和时间:

127.0.0.1: banned_at:“2016 - 11 - 16 - t19:20:03”

禁止禁止后,将持续通知填充到家庭助理前端。必威是什么

托管文件

如果要使用Home Assistant必威是什么托管或提供静态文件,则创建一个名为万维网在配置路径下(/ config.)。静态文件万维网/可以通过以下URL访问http://your.domain:8123/local/例如,audio.mp3将被访问http://your.domain:8123/local/audio.mp3

如果你必须创建万维网/文件夹第一次,您需要重新启动Home Assistant。必威是什么

文件服务于万维网文件夹 (/当地的/url),不受Home Assistant身份验证的保护。必威是什么如果URL是已知的,那么任何人都可以访问存储在这个文件夹中的文件,而无需进行身份验证。

二元传感器

HTTP二进制传感器是用对其URL所做的第一个请求动态创建。你不需要先在构型中定义它。

然后,只要家庭助手运行,传感器将存在。必威是什么在重新启动家庭助手后,传感器将会消失,必威是什么直到它再次触发。

二进制传感器的URL如下所示:

http:// ip_address:8123 / api / sends / binary_sensor.device_name
您应该选择一个唯一的设备名称(Device_name)以避免与其他设备进行冲突。

JSON有效负载必须包含新的状态,并且可以有一个友好的名称。在前端使用友好的名称来命名传感器。

{“state”:“开”,“属性”:{friendry_name“:”收音机“}}

为了快速测试旋度可以用来“模拟”一个设备。

$ curl -X POST -H "授权:承载LONG_LIVED_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"state": "off", "attributes": {"friendly_name": "Radio"}}' \ http://localhost:8123/api/states/binary_sensor.radio

检查传感器是否正常工作,再次使用旋度检索当前状态

$ curl -x get-h“授权:arger long_lived_access_token”\ -h“content-type:application / json”\ http:// localhost:8123 / api / sendation / binary_sensor.radio {'属性“:{fulryments_name”:“radio”},“entity_id”:“binary_sensor.radio”,“last_changed”:“16:45:51 05-02-2016”,“last_updated”:“16:45:51 05-02-2016”,“州”:“关”}

例子

此外,在这一节中,您将找到一些如何使用这个传感器的真实例子旋度,这表明了。

使用Python请求模块

正如已经在API页面,使用python非常简单要求与家庭助理互动的模块。必威是什么

=响应请求。邮报》(" http://localhost: 8123 / api /州/ binary_sensor。radio", headers={"Authorization": "承载LONG_LIVED_ACCESS_TOKEN", "content-type": "application/json",}, data=json。dump ({"state": "on", "attributes": {"friendly_name": "Radio"}}),) print(response.text)

使用httpie

htthie.是一个用户友好的CLI HTTP客户端。

$ http -v POST http://localhost:8123/api/states/binary_sensor.radio \ '授权:承载LONG_LIVED_ACCESS_TOKEN' content-type:application/json state=off \ attributes:='{"friendly_name": "Radio"}' '

传感器

通过对其URL发出的第一个请求动态创建HTTP传感器。你不需要先在构型中定义它。

然后,只要家庭助手运行,传感器将存在。必威是什么在重新启动家庭助手后,传感器将会消失,必威是什么直到它再次触发。

传感器的URL看起来像下面的例子:

http://IP_ADDRESS:8123/api/states/sensor.DEVICE_NAME
您应该选择一个唯一的设备名称(Device_name)以避免与其他设备进行冲突。

JSON有效负载必须包含新状态,应包括测量单位和友好名称。在前端使用友好的名称来命名传感器。

{“州”:“20”,“属性”:{“Unit_Of_Measurement”:“°C”,“Friendly_name”:“浴室温度”}}

快速测试,旋度可以用来“模拟”一个设备。

$ curl -x post-h“授权:arger long_lived_access_token”\ -h“content-type:application / json”\ -d'{“state”:“20”,“20”,“属性”:{“Unit_of_measurement”:“°C“,”Friendly_name“:”浴室Temp“}}'\ http:// localhost:8123 / api / sends / sensor.bathroom_temperatucte

你可以使用旋度再次检索电流传感器状态并验证传感器是否工作正常。

$ curl -X GET -H "授权:载体LONG_LIVED_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ http://localhost:8123/api/states/sensor.bathroom_temperature {"attributes": {"friendly_name": "浴室温度","unit_of_measurement": "\u00b0C"}, "entity_id": "传感器。浴袍温度","last_changed": "09:46:17 06-02-2016", "last_updated": "09:48:46 06-02-2016", "state": "20"}

有关详细信息,请访问http二进制传感器页。

Baidu