问题标签 [homekit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1209 浏览

ios - 使用 homekit 设置颜色的特性

我正在使用https://github.com/etwmc/Personal-HomeKit-HAP-来模拟与 homekit 兼容的设备。Siri 不会接受颜色命令,例如“将我的灯更改为蓝色”,以“您的灯没有响应”作为响应,而显然没有请求。我假设是因为我的特征不符合 siri 的期望,但哪些是正确的?

0 投票
1 回答
1466 浏览

ios - Homekit 配件不合规错误

我正在开发基于 Homekit 的应用程序。

它用于连接支持 Homekit 附件协议 (HAP) 的附件(如 LED 灯或桥接器),它可以获取附件的信息,对其执行各种操作(灯开/关等)。Bridge 正在安装在 ubuntu pc 中的服务器上运行。

首先,iOS 应用程序将尝试与 Bridge 配对(Bridge 将连接到基于 zigbee 或 z-wawe 协议的非 HAP 配件。),然后 iOS 应用程序将询问该特定配件的设置代码。

我们正在开发桥接器以及 iOS 应用程序。

Apple 提供了 Homekit Accessory Tester(HAT) 应用程序(它基本上像 iOS 应用程序一样执行,技术上是一个控制器)。我可以按照苹果在 MFI 文档中描述的所有过程使用 HAT 应用程序连接到网桥。

现在我在尝试使用应用程序连接到网桥时遇到问题,无论是在 iOS 模拟器还是 iOS 设备(8.2)

但是当我尝试使用错误代码HMErrorCodeAccessoryOutOfCompliance-66从附件浏览器将附件添加到主页时会出错。

这是因为 MFI 身份验证吗?或者我们缺少什么?这是从 iOS 应用程序连接时需要执行的操作。

0 投票
1 回答
407 浏览

ios - 如何避免或绕过 HomeKit 中的设置代码警报(弹出窗口)?

我正在开发 HomeKit 启用应用程序。

在将配件添加到家庭时,我想避免弹出设置代码。

默认情况下,苹果提供了自己的警报,我们必须在添加 Home 配件时输入设置代码。

编辑:更多信息要在家里添加配件,我们需要调用类addAccessory的方法HMHome。目前 iOS 通过显示设置代码弹出窗口自动管理附件的身份验证(该代码可以在附件框中找到)。

我的要求是绕过该设置代码弹出窗口并直接传递代码进行身份验证。

下面是方法addAccessory:用于将配件添加到家庭。

0 投票
0 回答
181 浏览

ios - 使用 NSCalendar 选定日期的 HMTimerTrigger?

我正在开发基于 Homekit 的应用程序,In That Homekit 支持在特定日期触发的触发器,并且可以安排按分钟、小时、天、周和月重复触发。

我想安排触发器在用户选择的特定日期触发,例如周一、周二、周三、周四或周末(周六、周日)。

我已经设置了重复使用NSDateComponents但无法设置特定日期的重复。

有没有办法按recurrenceCalendar对象安排它? HMTimerTrigger的方法有这个可以作为参数传递的对象。

0 投票
2 回答
562 浏览

ios - HomeKit 模拟器:向自定义服务特征添加人类可读的描述

我使用 HomeKit 模拟器向服务添加了自定义特征。但是,当我添加它时,尽管我包含了制造商描述,但仍会显示 UUID 而不是描述。

我怎样才能显示描述?

第一个特征是标准特征(“开/关”:布尔值)。其他的都是定制的。

在此处输入图像描述

0 投票
2 回答
428 浏览

accessory - 从 HMService 和/或 HMAccessory 对象实例中检索公司名称

我正在使用Home Kit Accessory 模拟器,我想从HMService的实例中检索配件的公司名称。但是,当我添加断点时,我看不到任何与公司名称相关的字段(我在 HMService 和HMAccessory中都进行了搜索)。

有什么建议吗?

0 投票
2 回答
432 浏览

ios - 使用 HMDatalog 应用程序时出现 HomeKit 问题

我目前正在为符合 HomeKit 的配件开发移动应用程序。我正在使用 HMatalog 应用程序和 HomeKit Accessory Simulator 进行测试。

我看到的问题涉及我的移动应用程序和 HMatalog 应用程序。我的印象是 HomeKit 通过用户的 iCloud 帐户同步。当我在一部手机(手机 A)上使用我的 iCloud 帐户登录时,我在手机 A 的目录中添加的任何住宅/房间/配件都将显示在手机 A 上的移动应用程序中。

但是,当我使用电话 B 并登录同一个 iCloud 帐户时,我在电话 B 中看不到与电话 A 中相同的数据。出现在 HM 目录中的信息似乎停留在单个设备上,而不是存储在 iCloud 中。

有没有其他人看过这个?这是 HomeKit 的问题吗?使用目录应用程序?

0 投票
1 回答
179 浏览

ios - HMErrorDomain Code=45 - 操作无法完成 - 语法问题

假设:我正在使用 Xcode 6.3.1

阅读 HomeKit 文档,我看到以下内容:

  • @2 的数据类型是什么?
  • 如何将值(例如 NSString、NSNumber)传递给 writeValue 函数?

编辑:当我尝试

它给了我一个错误。

错误域 = HMErrorDomain 代码 = 45 “操作无法完成。(HMErrorDomain 错误 45。)”

如果我尝试@2,它会起作用。

为什么?

0 投票
1 回答
1917 浏览

ios - 错误域 = HMErrorDomain 代码 = 4 “操作无法完成。(HMErrorDomain 错误 4。)”

我正在使用HomeKit,我得到:

错误域 = HMErrorDomain 代码 = 4 “操作无法完成。(HMErrorDomain 错误 4。)”

我查看了 Apple 文档,但没有找到任何解释错误 4含义的内容。

有人知道吗?

如果是这样,是否有一个参考表(某处)解释了各种 HMErrorDomain 代码的含义?

这是我发现的Apple 页面,它没有帮助。

触发它的代码:

0 投票
1 回答
70 浏览

ios - 将自定义文本添加到 UITextField 缓冲区

背景:我有一个 HomeKit API 的自定义警报部分。我想让用户粘贴请求的代码,而不是手动输入。

在此处输入图像描述

只要缓冲区中有文本,就可以通过点击文本字段来粘贴它。如何将自定义文本(从我的应用程序)添加到“此”缓冲区,以便出现“粘贴”选项