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

cors_allowed_origins 字符串|列表 ((选修的

允许的原点域名列表科尔斯来自。启用这将设置访问控制 - 允许原素如果在列表中找到了原始标题的标题,则访问控制者允许头标题到来源,接受,X重新征用,内容类型,授权。您必须提供确切的来源,即//www.jameselles.com将允许从//www.jameselles.com不是//www.jameselles.com

use_x_forwarded_for 布尔 ((选修的,默认:false

启用解析X福音标题,在代理设置中传递客户端的正确IP地址。你必须还有白名单的信任代理trusted_proxies设置为此。此标头的非白轮请求将被视为IP欺骗攻击,因此,将忽略标题。

trusted_proxies 字符串|列表 ((选修的

由IP地址或网络组成的受信任代理列表,可以设置X福音标题。使用时需要use_x_forwarded_for因为不论资源如何,所有向家庭助理的请求都将从反向必威是什么代理IP地址到达。因此,在反向代理方案中,应格外小心设置此选项。如果直接上游代理不在列表中,则该请求将被拒绝。如果其他任何中间代理不在列表中,则第一个不信任的代理将被视为客户端。

ip_ban_enabled 布尔 ((选修的,默认:false

标志指示是否启用了其他IP过滤。

login_attempts_threshold 整数 ((选修的,默认:-1

单个IP的登录尝试失败数量,然后将其自动禁止ip_ban_enabled真的。设置为-1时,不会添加新的自动禁令。

ssl_profile 细绳 ((选修的,默认:现代

Mozilla SSL概况使用。仅当您经历导致SSL握手错误的集成时,才降低。

下面的示例显示了具有可能值的配置条目:

#示例Configuration.yaml条目http服务器端口12345ssl_certificate/etc/letsencrypt/live/hass.example.com/fullchain.pemssl_key/etc/letsencrypt/live/hass.example.com/privkey.pemcors_allowed_origins-https://google.com-//www.jameselles.comuse_x_forwarded_for真的trusted_proxies-10.0.0.200-172.30.33.0/24ip_ban_enabled真的login_attempts_threshold5

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

反向代理

使用反向代理时,您需要启用use_x_forwarded_fortrusted_proxies选项。如果未设置这些选项,则反向代理的请求将被阻止。

httpuse_x_forwarded_for真的trusted_proxies-10.0.0.200#添加代理服务器的IP地址-172.30.33.0/24#您还可以提供子网掩码

蜜蜂

顶部http集成是REST API,,,,Python APIWebSocket API可用的。

http平台并不是家庭助理术语的含义内的真实平台。必威是什么必威是什么家庭助理REST API通过HTTP发送和接收消息。

HTTP传感器

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

创建一个长期访问令牌如果要使用HT必威是什么TP传感器,则在个人资料底部的家庭助理UI中。

全部要求需要发送到设备的端点,必须是邮政

IP过滤和禁令

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

127.0.0.1banned_at2016-11-16T19:20:03“

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

托管文件

如果您想使用家庭助理主机或服务静态文件必威是什么,请创建一个名称为万维网在配置路径下(/config)。静态文件万维网/可以通过以下URL访问http:// your.domain:8123/local/, 例如音频.mp3将被访问为http:// your.domain:8123/local/audio.mp3

如果您必须创建万维网/文件夹首次需要重新启动家庭助理。必威是什么

万维网文件夹 (/当地的/URL),不受家庭助理身份验证的保护。必威是什么如果已知URL,则存储在此文件夹中的文件可以由任何人访问,而无需身份验证。

二进制传感器

HTTP二进制传感器是通过对其URL提出的第一个请求动态创建的。您无需首先在配置中定义它。

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

二进制传感器的URL看起来像以下示例:

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

JSON有效载荷必须包含新状态,并且可以具有友好的名称。友好名称在前端中用于命名传感器。

{“状态”“在”,,,,“属性”{“友好名称”“收音机”}}}

快速测试卷曲对于“模拟”设备很有用。

$卷曲-X邮政-H“授权:bearer long_lived_access_token”\ \-H“内容类型:应用程序/JSON”\ \-d'{“ state”:“ off”,“属性”:{“ friendly_name”:“无线”}}'\ \http:// localhost:8123/api/states/binary_sensor.radio

要检查传感器是否正在工作,请再次使用卷曲取回当前状态

$卷曲-X得到-H“授权:bearer long_lived_access_token”\ \-H“内容类型:应用程序/JSON”\ \http:// localhost:8123/api/states/binary_sensor.radio{“属性”{“友好名称”“收音机”},,,,“ entity_id”“ binary_sensor.radio”,,,,“ last_changed”“ 16:45:51 05-02-2016”,,,,“最近更新时间”“ 16:45:51 05-02-2016”,,,,“状态”“离开”}

例子

在本节中,您还将找到一些现实生活中的示例卷曲,这是之前显示的。

使用Python请求模块

如前所述API页面,使用Python和要求与家庭助理互动的模块。必威是什么

回复=要求邮政((“ http:// localhost:8123/api/states/binary_sensor.radio”,,,,标题={“授权”“ BEARER LONG_LIED_ACCESS_TOKEN”,,,,“内容类型”“应用程序/JSON”,,,,},,数据=JSON转储({“状态”“在”,,,,“属性”{“友好名称”“收音机”}}),打印((回复文本

使用httpie

httpie是用户友好的CLI HTTP客户端。

$http-v发布http:// localhost:8123/api/states/binary_sensor.radio\ \'授权:bearer long_lived_access_token'内容类型:应用程序/JSON状态=离开\ \属性:='{“ friendly_name”:“无线电”}'

传感器

HTTP传感器是通过对其URL提出的第一个请求动态创建的。您无需首先在配置中定义它。

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

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

http:// ip_address:8123/api/states/sensor.device_name
您应该选择一个唯一的设备名称(device_name),以避免与其他设备发生冲突。

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

{“状态”“ 20”,,,,“属性”{“测量单位”“°C”,,,,“友好名称”“浴室温度”}}}

进行快速测试,卷曲对于“模拟”设备很有用。

$卷曲-X邮政-H“授权:bearer long_lived_access_token”\ \-H“内容类型:应用程序/JSON”\ \-d'{“ state”:“ 20”,“属性”:{“ unit_of_measurement”:“°C”,“ friendly_name”:“浴室temp”}}'\ \http:// localhost:8123/api/states/sensor.bathroom_temperature

然后您可以使用卷曲再次取回当前传感器状态并验证传感器正在工作。

$卷曲-X得到-H“授权:bearer long_lived_access_token”\ \-H“内容类型:应用程序/JSON”\ \http:// localhost:8123/api/states/sensor.bathroom_temperature{“属性”{“友好名称”“浴室温度”,,,,“测量单位”\ u00b0c”},,,,“ entity_id”“传感器。bathroom_temperature”,,,,“ last_changed”“ 09:46:17 06-02-2016”,,,,“最近更新时间”“ 09:48:46 06-02-2016”,,,,“状态”“ 20”}

有关更多示例,请访问HTTP二进制传感器页。