问题标签 [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.
javascript - 在 node.js SyntaxError 中运行 python 脚本
尝试运行 python 脚本会抛出 child_process。收到一个 SyntaxError .. 简而言之,我试图为 homekit 创建一个“附件”,当值为 true 时执行 Python 脚本,并为 false 值运行单独的 python 脚本。对 JavaScript 菜鸟的建议?
……
语法错误
...........
代码
javascript - 很难理解 Javascript 中的“可能等于”
该项目使用 Apple 的 homekit 和树莓派上的 node.js 服务器(https://github.com/KhaosT/HAP-NodeJS)打开/关闭电器等。因此 Light_accessory.js,当 vaule 为 true(1) 时,使用 childprocces 和接线 pi 打开灯(继电器)。当值为false(0)时,它还需要关闭灯(gpio write 7 1)。Iv 尝试向其添加“可能等于”,因此它也会关闭灯(继电器)。尝试添加两个值导致我和一夜的谷歌搜索和语法错误。我在这个项目上花费的时间比我想承认的要多。很简单,目标与我不久前做的一个项目非常相似php。
..................................................... ..................................................... ..................................................... …………
这是当值为 true(1) 时 gpio 设置为低(gpio write 7 0)的地方。
你怎么加
当javascript中的值为0时?这样灯(继电器)也会关闭。
..................................................... ..................................................... ..................................................... …………
Light_accessory.js 的粗略概述;顶部主要是产品描述,而不是实际功能。“onUpdate:”下的“cType: types.POWER_STATE_CTYPE”是魔法发生的地方。
..................................................... ..................................................... ..................................................... …………
完整的 Light_accessory 脚本
javascript - 令人沮丧的语法错误
该项目使用 Apple 的 homekit 和树莓派 ( https://github.com/KhaosT/HAP-NodeJS )上的 node.js 服务器打开/关闭设备等。因此 Light_accessory.js,当 vaule 为 true(1) 时,使用子进程和接线 pi 打开灯(继电器)。当值为false(0)时,它还需要关闭灯(gpio write 7 1)。我曾尝试向其中添加 IF 语句(接近尾声),但我不断从 if 语句中收到语法错误。不知道为什么。//沮丧的。
ios - 为什么添加到 Home(HMHome) 的 Scene(Action-Set) 总是具有更新的 Characteristic(HMCharacteristic) 值:HomeKit
我正在开发一个基于 HomeKit API 的演示 iOS 应用程序。
我已经为特定家庭(H1)创建了场景(动作集)AS1,并带有一些服务(S1 S2 ...),以便一次执行多个动作。我可以毫无问题地创建多个场景,但我在更新任何创建的场景时遇到问题
我的申请流程
- 显示添加的主页(ListView)
- 单击任何主页,出现详细屏幕,但选项很少(附件 A1 ,房间 A2 ,场景 A3 ......)
- 点击 A1 添加配件(可以从这里更改添加配件的服务特性)
- A3 有一个添加场景(Action-Set)的列表以及一个将新场景(Action-Set)添加到当前主页的按钮
- 用户可以单击任何添加的场景(动作集)来更新其动作并命名两者
问题:一旦我从附件 A1 选项更改了服务的特性,添加到场景动作的特性就会更新为相同的值。
我的假设:我认为每个创建的场景(动作集)分别维护自己的特征值,如果用户从附件 A1(从其他地方)修改任何服务的特征,那么它不应该影响添加到已保存场景的动作的值(前提条件 - 用户在创建场景的操作中选择了该附件)
我将动作集(场景)更新为的方法,
- 一旦用户单击任何添加的 Action-Set 服务列表,用户可以单击任何服务以更新其特性
- 访问当前 Action-Set 的 Action
- 每个动作的访问特征(HMCharacteristicWriteAction) 访问特征的服务
- 创建 CustomServices 实例(以跟踪一些其他信息,例如用户将该服务包含到当前操作集中等)并将其添加到数据源并避免重复
- 一旦用户完成值更改并单击更新操作按钮
- 启动更新过程
更新场景(动作集)
1.检查用户是否更改了Action-set的名称,
- 然后首先更新动作集的名称,一旦成功块执行,删除所有过去添加的动作(如果存在)。
- 向更新的场景添加新动作。
2.如果场景(动作集)名称与旧名称相同,
- 如果存在,则删除所有以前的操作。
- 向更新的场景添加新动作。
这是用于填充服务列表视图的代码片段(准备数据源)
我已经多次阅读 HomeKit 文档,但没有发现与此问题相关的任何内容。
据我了解动作集的概念,它应该单独维护特征值,以便我们以后可以更改它的动作值。
自最近几天以来我一直面临这个问题(因为几天前在这里发布了同样的问题)现在我确定这是苹果主页 API 中的一个错误,因为一旦我尝试重新执行相同的操作集(前置条件:用户从A1选项中更改服务特征的值。它执行成功并更新所有与创建的场景(ActionSet)具有相同特征的附件。
请任何发现更新场景(ActionSet)类似问题的人帮助我。如果我的方法是错误的,请随时指出我。
ios - HomeKit HMHome 和 HMRoom 标识符/额外的元数据
在我的应用程序中,我使用的是 HomeKit。您可以添加/删除 HMHome 和 HMRoom 对象,但我还想向它们添加一些元数据。例如,在我的应用程序中,我希望能够向 HMRoom 添加一个图标并向其添加一个项目数组。
我的解决方案是我将它与 CoreData 结合使用并存储有关 HMRoom 的额外信息,但是除了它们的名称之外,没有办法识别 HMHome 和 HMRoom 对象。如果我的应用程序是世界上唯一一个编辑 HomeKit 对象的应用程序,这将不是问题,但当然可能还有其他应用程序,也可以调整 HMHome 和 HMRoom 对象(删除它们,重命名它们)。
因此,当用户执行以下操作之一时,我真的会遇到问题:
- 开始我的申请
- 添加一个 HMHome 和 HM Room 对象
- 通过我的应用程序向 HMRoom 对象添加一些元数据,该应用程序存储在我的 CoreData 数据库中
- 退出我的申请
- 启动另一个应用程序并重命名他们刚刚创建的 HMRoom
- 再次启动我的应用程序
因为 HMHome 和 HMRoom 对象没有已知标识符,所以我再也找不到存储在 CoreData 中的元数据,而且元数据实际上已经丢失,因为我无法再将名称与创建的 HMRoom 与我的 CoreData 数据库中的数据匹配。
所以,我的问题是:除了名字之外,有没有办法“识别”HMRoom 和 HMHome 对象?
ios - Homekit 配件模拟器详细信息
我对 homekit 模拟器有疑问,例如提到的一些键和参数不理解。那么我在哪里可以找到所有这些?
garage door
和的一些概念characteristics
没有被理解。前任。当前的门状态是什么?当前的锁定状态是什么?
ios - HMAccessoryDelegate 方法未调用
我想获得特定配件的可更新特性的价值。
所以我正在使用func accessory(accessory: HMAccessory!, service: HMService!, didUpdateValueForCharacteristic characteristic: HMCharacteristic!)
方法。
但是这个方法没有被调用。正在调用来自同一委托的另一个方法。应该是什么问题?
ios - How Apple TV is used to control Homekit Accesory
I have created an application for Homekit
which works fine when both accessory and device is in same network.
I read somewhere that Apple TV
is required to control accessories remotely.
Can anybody please tell how to achieve this exactly?
ios - iOS 中如何知道 Siri 对 HomeKitit 的命令?
我是 HomeKit 的新手,我得到了一个可以与 iPhone 配合使用的演示板。
当我打开演示板时,我可以在Setting -> WiFi
. 我单击附件并将附件添加到 WiFi 网络。配件和iPhone在同一个 WiFi 网络中。
我打开 Siri 并说“Turn On the Light”,演示板上的 LED 将亮起。
但它应该有其他命令来控制灯光以向上或向下调整亮度。
我如何知道 iOS 中关于 HomeKit 的 Siri 的所有命令?
提前致谢。
ios8 - 两个用户在两个不同的 iPhone 上安装了相同的 HomeKit 控制器应用程序
两个用户在两个不同的 iPhone 上安装了相同的 HomeKit 控制器应用程序。
用户 1使用应用程序添加家庭、房间、区域和附件,他现在可以使用应用程序界面控制附件。
用户 2在同一个环境中(或者在拥有用户 1 的所有配件的物理 Home 中),但是他如何使用同一个应用程序控制这些配件,他将如何能够看到由用户 1 添加的所有房间、区域和配件用户 1?
HomeKit 是如何管理这个多用户访问同一个附件场景的,还是我们需要在代码中自己处理这个场景?
此外,它如何使用 Home 来维护用户的身份,即这个特定的 Home 属于这个 XYZ 用户?由于所有 HomeKit 用户数据都与 iClod 同步,因此 Home 实体应该有一些身份映射。