问题标签 [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.
ios - 使用 homekit 设置颜色的特性
我正在使用https://github.com/etwmc/Personal-HomeKit-HAP-来模拟与 homekit 兼容的设备。Siri 不会接受颜色命令,例如“将我的灯更改为蓝色”,以“您的灯没有响应”作为响应,而显然没有请求。我假设是因为我的特征不符合 siri 的期望,但哪些是正确的?
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 应用程序连接时需要执行的操作。
ios - 如何避免或绕过 HomeKit 中的设置代码警报(弹出窗口)?
我正在开发 HomeKit 启用应用程序。
在将配件添加到家庭时,我想避免弹出设置代码。
默认情况下,苹果提供了自己的警报,我们必须在添加 Home 配件时输入设置代码。
编辑:更多信息要在家里添加配件,我们需要调用类addAccessory
的方法HMHome
。目前 iOS 通过显示设置代码弹出窗口自动管理附件的身份验证(该代码可以在附件框中找到)。
我的要求是绕过该设置代码弹出窗口并直接传递代码进行身份验证。
下面是方法addAccessory
:用于将配件添加到家庭。
ios - 使用 NSCalendar 选定日期的 HMTimerTrigger?
我正在开发基于 Homekit 的应用程序,In That Homekit 支持在特定日期触发的触发器,并且可以安排按分钟、小时、天、周和月重复触发。
我想安排触发器在用户选择的特定日期触发,例如周一、周二、周三、周四或周末(周六、周日)。
我已经设置了重复使用NSDateComponents
但无法设置特定日期的重复。
有没有办法按recurrenceCalendar
对象安排它?
HMTimerTrigger
的方法有这个可以作为参数传递的对象。
ios - HomeKit 模拟器:向自定义服务特征添加人类可读的描述
我使用 HomeKit 模拟器向服务添加了自定义特征。但是,当我添加它时,尽管我包含了制造商描述,但仍会显示 UUID 而不是描述。
我怎样才能显示描述?
第一个特征是标准特征(“开/关”:布尔值)。其他的都是定制的。
accessory - 从 HMService 和/或 HMAccessory 对象实例中检索公司名称
我正在使用Home Kit Accessory 模拟器,我想从HMService的实例中检索配件的公司名称。但是,当我添加断点时,我看不到任何与公司名称相关的字段(我在 HMService 和HMAccessory中都进行了搜索)。
有什么建议吗?
ios - 使用 HMDatalog 应用程序时出现 HomeKit 问题
我目前正在为符合 HomeKit 的配件开发移动应用程序。我正在使用 HMatalog 应用程序和 HomeKit Accessory Simulator 进行测试。
我看到的问题涉及我的移动应用程序和 HMatalog 应用程序。我的印象是 HomeKit 通过用户的 iCloud 帐户同步。当我在一部手机(手机 A)上使用我的 iCloud 帐户登录时,我在手机 A 的目录中添加的任何住宅/房间/配件都将显示在手机 A 上的移动应用程序中。
但是,当我使用电话 B 并登录同一个 iCloud 帐户时,我在电话 B 中看不到与电话 A 中相同的数据。出现在 HM 目录中的信息似乎停留在单个设备上,而不是存储在 iCloud 中。
有没有其他人看过这个?这是 HomeKit 的问题吗?使用目录应用程序?
ios - HMErrorDomain Code=45 - 操作无法完成 - 语法问题
假设:我正在使用 Xcode 6.3.1
阅读 HomeKit 文档,我看到以下内容:
- @2 的数据类型是什么?
- 如何将值(例如 NSString、NSNumber)传递给 writeValue 函数?
编辑:当我尝试
它给了我一个错误。
错误域 = HMErrorDomain 代码 = 45 “操作无法完成。(HMErrorDomain 错误 45。)”
如果我尝试@2,它会起作用。
为什么?
ios - 错误域 = HMErrorDomain 代码 = 4 “操作无法完成。(HMErrorDomain 错误 4。)”
我正在使用HomeKit,我得到:
错误域 = HMErrorDomain 代码 = 4 “操作无法完成。(HMErrorDomain 错误 4。)”
我查看了 Apple 文档,但没有找到任何解释错误 4含义的内容。
有人知道吗?
如果是这样,是否有一个参考表(某处)解释了各种 HMErrorDomain 代码的含义?
这是我发现的Apple 页面,它没有帮助。
触发它的代码:
ios - 将自定义文本添加到 UITextField 缓冲区
背景:我有一个 HomeKit API 的自定义警报部分。我想让用户粘贴请求的代码,而不是手动输入。
只要缓冲区中有文本,就可以通过点击文本字段来粘贴它。如何将自定义文本(从我的应用程序)添加到“此”缓冲区,以便出现“粘贴”选项?