0

我在 MacOS Catalina 上的 docker 容器中运行家庭助理,需要允许 HomeKit 与之交互。我正在尝试使用 dns-sd 注册服务,以使其根据问题线程中推荐的修复程序工作。注册有效,但如果我理解正确,之后服务不会出现。

我先输入:

dns-sd -B

我立即得到一份服务清单。这些物品是我的以太网连接相机。然后我输入:

dns-sd -R Homeassistant _hap._tcp local 51827 md=”HA Bridge” pv=1.0 c#=2 id=97:B0:2A:BC:1B:12 s#=1 sf=1 ci=2 ff=0 sh=UaTxqQ==

我得到回应:

Got a reply for service Homeassistant._hap._tcp.local.: Name now registered and active

Control+C退出并重新进入 dns-sd B. 该命令挂起几分钟并在注册之前显示相同的列表。是否应该使用 B 命令显示已注册的项目?

此外,在我看来,命令中的 Homeassistant 需要对应于实际服务。我如何验证它们是否匹配?当我运行 docker ps 我得到:

87ca131dbf58        homeassistant/home-assistant:stable   "/init"                  2 minutes ago       Up 2 minutes        0.0.0.0:8123->8123/tcp, 0.0.0.0:51827->51827/tcp   home-assistant

这是我应该匹配的吗?由于 macOS 不区分大小写,因此它们应该匹配。

4

1 回答 1

0

如果我运行以下(zsh):

❯ dns-sd -R Homeassistant _hap._tcp local 51827 md=”HA Bridge” pv=1.0 c\#=2 id=97:B0:2A:BC:1B:12 s\#=1 sf=1 ci=2 ff=0 sh=UaTxqQ==
Registering Service Homeassistant._hap._tcp.local port 51827 TXT md=”HA Bridge” pv=1.0 c#=2 id=97:B0:2A:BC:1B:12 s#=1 sf=1 ci=2 ff=0 sh=UaTxqQ==
DATE: ---Thu 01 Oct 2020---
14:28:56.697  ...STARTING...
14:28:57.358  Got a reply for service Homeassistant._hap._tcp.local.: Name now registered and active

运行时我得到以下信息:

❯ dns-sd -B _hap._tcp
Browsing for _hap._tcp
DATE: ---Thu 01 Oct 2020---
14:29:07.913  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
14:29:07.913  Add        3   1 local.               _hap._tcp.           Homeassistant
14:29:07.913  Add        3   5 local.               _hap._tcp.           Homeassistant
14:29:07.913  Add        3  23 local.               _hap._tcp.           Homeassistant
14:29:07.913  Add        3  24 local.               _hap._tcp.           Homeassistant
14:29:07.913  Add        2   4 local.               _hap._tcp.           Homeassistant

我相信你有一个问题:

  1. 默认情况下,您不会浏览_hap._tcp以查看条目。
  2. 该端口应对应于您在 Docker 中打开到该容器的端口。
于 2020-10-01T18:35:12.250 回答