http
这http
集成服务于主助理前端所需的所有文件和数据。必威是什么如果要更改任何默认设置,则只需要将其添加到配置文件中。
目前,家庭助理中的以下设备类型支持:必威是什么
选项server_host
仅应在家庭助理核心安装上使用!必威是什么
#示例Configuration.yaml条目http:
配置变量
仅在特定的IP/主机上收听传入请求。默认情况下http
集成自动检测IPv4/ipv6并在所有连接上倾听。采用server_host:0.0.0.0
如果您只想收听IPv4地址。默认列出的假设支持IPv4和IPv6。
通往TLS/SSL证书的路径,可通过安全连接为家庭助理服务。必威是什么如果使用让我们加密插件这将在/SSL/fullchain.pem
。
通往TLS/SSL键的路径,可以通过安全连接为家庭助理服务。必威是什么如果使用让我们加密插件这将在/SSL/privkey.pem
。
允许的原点域名列表科尔斯来自。启用这将设置访问控制 - 允许原素
如果在列表中找到了原始标题的标题,则访问控制者允许头
标题到来源,接受,X重新征用,内容类型,授权
。您必须提供确切的来源,即//www.jameselles.com
将允许从//www.jameselles.com
但不是//www.jameselles.com
。
启用解析X福音
标题,在代理设置中传递客户端的正确IP地址。你必须还有白名单的信任代理trusted_proxies
设置为此。此标头的非白轮请求将被视为IP欺骗攻击,因此,将忽略标题。
由IP地址或网络组成的受信任代理列表,可以设置X福音
标题。使用时需要use_x_forwarded_for
因为不论资源如何,所有向家庭助理的请求都将从反向必威是什么代理IP地址到达。因此,在反向代理方案中,应格外小心设置此选项。如果直接上游代理不在列表中,则该请求将被拒绝。如果其他任何中间代理不在列表中,则第一个不信任的代理将被视为客户端。
这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_threshold:5
这使用让我们加密设置加密博客文章为您提供有关使用免费证书加密流量的详细信息让我们加密。
反向代理
使用反向代理时,您需要启用use_x_forwarded_for
和trusted_proxies
选项。如果未设置这些选项,则反向代理的请求将被阻止。
http:use_x_forwarded_for:真的trusted_proxies:-10.0.0.200#添加代理服务器的IP地址-172.30.33.0/24#您还可以提供子网掩码
蜜蜂
顶部http
集成是REST API,,,,Python API和WebSocket API可用的。
这http
平台并不是家庭助理术语的含义内的真实平台。必威是什么必威是什么家庭助理REST API通过HTTP发送和接收消息。
HTTP传感器
使用那种传感器或者二进制传感器在您的安装中,不需要家庭助理中的配置。必威是什么所有配置均在设备本身上完成。这意味着您必须能够编辑目标URL或端点和有效载荷。该实体将在第一个消息到达后创建。
创建一个长期访问令牌如果要使用HT必威是什么TP传感器,则在个人资料底部的家庭助理UI中。
全部要求需要发送到设备的端点,必须是邮政。
IP过滤和禁令
如果要应用额外的IP过滤,并自动禁止尝试蛮力,请设置ip_ban_enabled
到真的
以及最大尝试数量。在第一次禁令之后,ip_bans.yaml
文件将在根配置文件夹中创建。添加时,它将在UTC中具有禁止的IP地址和时间:
127.0.0.1:banned_at:“2016-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
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
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二进制传感器页。