我有以下两个问题,从 IFTTT 观察到的以下问题发出 Web 请求,1.Applet 跳过“如果您说“打开 Binny”,则发出 Web 请求”。无法发出 Web 请求:错误:ETIMEDOUT “我是使用此 URL http://192.168.43.184:8123/api/services/shell_command/test_cmd?api_password=solo@123 "在我们调用服务 2.homeassistant.components.shell_command 时在家庭助手中观察到以下一个] 运行命令时出错: pwd
, 返回码: 1 你能解决这个问题吗?谢谢
2 回答
您在 http-request 中使用的 IP (192.168.43.184) 是私有内部 IP(它只适用于您的家庭网络)。您需要使用 Internet 路由器上的公共(外部)IP(希望您有一个公共 IP)。但即便如此,在您为路由器配置端口转发之前,它也不会起作用,因此如果请求命中您的外部 IP(和端口),您的路由器应该知道应该到达哪个服务器(此处为 192.168.43.184)。您需要这样的端口转发:如果 TCP 连接在端口 8123 上到达您的公共 IP,请将其进一步路由到 192.168.43.184:8123
但我建议从 DynDNS.org 获取 DNS 条目,因为您的公共 IP 可能会更改,然后您总是必须调整 IFTTT-URL。使用 DNS 条目,您无需更改所有 URL。通常有一个工具在您的本地网络中运行并检查您的公共 IP 是否已更改并通知 DNS 提供商并更新您的 DNS 条目和公共 IP 之间的映射
您需要一个安全的远程连接。您可以使用使用dehydratated创建的 duckdns 和 https 证书
https://www.splitbrain.org/blog/2017-08/10-homeassistant_duckdns_letsencrypt
您可以尝试使用新教程https://www.home-assistant.io/integrations/google_assistant/进行谷歌助手连接