HomeKit开发指南(中文版)沈红榜

第四部分:创建Homes和添加Accessories

第五部分:观察HomeKit数据库的变化

第六部分:访问服务和特性

第七部分:测试HomeKitApp

第八部分:创建动作集(ActionSets)和触发器(Triggers)

第九部分:用户管理

该文档旨在帮你编写HomeKitapp。HomeKit库是用来沟通和控制家庭自动化配件的,这些家庭自动化配件都支持苹果的HomeKitAccessoryProtocol。HomeKit应用程序可让

用户发现兼容配件并配置它们。用户可以创建一些action来控制智能配件(例如恒温或者光线强弱),对其进行分组,并且可以通过Siri触发。HomeKit对象被存储在用户iOS设备的数据库中,并且通过iCloud还可以同步到其他iOS设备。HomeKit支持远程访问智能配件,并支持多个用户设备和多个用户。HomeKit还对用户的安全和隐私做了处理。

另请参阅

以下资源提供了更多关于创建HomeKit应用程序的信息:

设置

为了完成本文档中所有步骤,你需要:

当你成功地完成了之前的任务后,General面板中Team弹出菜单中的错误信息和问题修复按钮将会消失。代码签名配置被成功创建后会展示下方的General面板。

启用HomeKit

启用HomeKit的步骤如下:

下载HomeKitAccessorySimulator

无需为了开发Homekit应用程序而购买硬件产品。你可以使HomeKitAccessorySimulator来测试HomeKitapp和模拟配件设备之间的通信。HomeKitAccessorySimulator不是和Xcode一起发布的。

下载HomeKitAccessorySimulator步骤如下:

HomeKit对象被保存在一个可以共享的HomeKit数据库里,它可以通过HomeKit框架被多个应英程序访问。所有HomeKit调用的方法都是异步写入的,并且这些方法都包含一个完成处理后的参数。如果这个方法处理成功了,你的应用将会在完成处理函数里更新本地对象。应用程序启动时,HomeKit对象发生改变的并不能收到代理回调法,只能接受处理完成后的回调函数。

对象命名规则

HomeKit对象的名字,例如home、room和zone对象都可以被Siri识别,这一点已经在文档中指出。以下几点是HomeKit对象的命名规则:

创建Homes

在Home中增加一个Room

在else语句中,写入代码更新应用程序的视图。

发现配件

发现home中的配件

1.在你的类接口中添加配件浏览器委托协议,并且添加一个配件浏览器属性。代码如下:

用你自己的类名代替EditHomeViewController

2.创建配件浏览器对象,并设置它的代理

3.开始搜寻配件

4.将找到的配件添加到你的收藏里

5.停止搜寻配件

为Home和room添加配件(Accessory)

更改配件名称

为Homes和Room添加Bridge(桥接口)

创建分区

HomeKit代理方法

观察Homes集合的改变

观察homes的变化

1.在你的类接口中添加HMHomeManagerDelegate代理和homeManager属性。代码如下:

2.创建homemanager对象并设置其代理

视图控制器注册更改通知并且执行适当的操作。

观察个别home的变化

展示home信息的视图控制器应该成为home对象的代理,并且当home发生改变时更新视图控制器的视图。

观察特定home对象的改变

1.在类接口中添加home代理协议。

2.设置配件代理

观察配件的变化

观察个别配件的变化

2.设置配件的代理

如果你展示了配件的服务状态和特性,那么请执行以下代理方法来相应地更新其视图:

获得配件的服务和属性

重要:不要暴露匿名服务-比如固件升级服务-给用户

NSString*serviceType=service.serviceType;

苹果定义了一些服务类型,并能被Siri识别:

改变服务名称

访问特性的值

特性代表了一个服务的一个参数,它要么是只读、可读写或者只写。它提供了这个参数可能的值的信息,比如,一个布尔或者一个范围值。恒温器中的温度就是只读的,而目标温度又是可读写的。一个执行某个任务的命令且不要求任何返回-比如播放一段声音或者闪烁一下灯光来确认某个配件-可能就是只写的。

苹果定义了一些特性的类型,并能被Siri识别:

比如,对于一个车库开门器来说,目标状态就是打开或者关闭。对于一个锁来说,目标状态又是上锁和未上锁。

在if语句块中,加入你的代码以更新app的视图。

不要以为函数调用完成就意味着写入成功,实际上只有在当完成回调执行并没有错误产生时才表示写入成功。比如,直到一个开关的特性改变之前都不要改变这个开关的状态。在if语句块中,加入你的代码,以更新app的视图。

创建服务组

和配件类似,代理方法在别的app改变服务组时也会被调用。如果你的app使用了服务组,请阅读HMHomeDelegateProtocolReference文档,获悉你应该实现哪些方法以观察这些变化。

如果你没有智能电器(智能配件),你可以使用HomeKitAccessroySimulator来模拟home中的智能电器。每个模拟配件都拥有服务和特性,你可以从你的App当中控制它。你的App在HomeKit数据库中创建对象和关系。它可以创建home布局,可以添加新的配件到模拟的home环境当中,最后向home中的每个房间添加智能配件。然后,你的app就能控制这些在HomeKitAccessorySimulator展示的模拟智能配件了。为了使用HomeKitAccessorySimulator,请在iOS模拟器中运行你的应用程序,或者使用Xcode在iOS设备上运行应用程序。

添加智能电器(配件)

使用HomeKitAccessorySimulator来添加智能电器到模拟网络中。

向网络中添加智能电器配件,请按照下面的步骤添加:

4.点击完成

如果想删除一个智能电器,请选择一个智能电器然后点击键盘上的Delete键。

向智能电器(配件)中添加服务

一个智能电器需要一项服务和特性,你可以从app控制它。从预定义了服务列表中选择一项服务,并自定义特性。

按照下面步骤向智能电器中添加服务

该配件的服务信息会展示在一个详情界面中。

注意:所有智能电器都有一个AccessoryInformation,显示在所有其他服务的下方。你可以向这个AccessoryInformation服务添加特性,但你不能删除默认的特性。

2.点击添加服务(AddService),并从弹出视图中选择一个服务类型。

向服务中添加特性

你可以向服务中添加预定义的特性,或者自定义的特性。每种特性你都只能添加一个。

按照下面的步骤向服务中添加特性:

点击特性右边的减号来删除一个特性。如果特性右边并没有减号显示,这说明这个特性对这个服务来说是必须的。比如,你可以删除电灯服务中的色彩(Hue),饱和度(Saturation)和亮度(Brightness),但是你不可以删除开关特性。

通过你的app向家庭中添加智能电器(配件)

在你通过HomeKitAccessorySimulator创建了一个智能电器后,运行你的App然后添加一个新的智能电器到你的家庭。

如何配对家庭中的智能电器:

3.在接下来显示的AddHomeKitAccessory对话框中,输入智能电器的setupcode然后点击Add。

在HomeKitAccessorySimulator,setupcode显示在详情界面智能电器名称下。

控制智能电器(配件)

在HomeKitAccessorySimulator中,你可以获得智能电器的服务,并在其他HomeKitApp中设置服务的特性值来模拟控制这个智能电器,或者手动地模拟控制智能电器。

想要控制一个智能电器你需要:

比如,为了改变一个灯泡的颜色(Hue),饱和度(Saturation)和亮度(Brightness),请滑动这个滑块。为了打开这个灯泡请选择On选项。

如果你的app展示了一个服务的特性,比如灯泡的开关状态,当你在HomeKitAccessorySimulator中改变这些特性的值时,它应当更新视图。

添加桥接口

为了模拟那些不支持HomeKitAccessoryProtocol协议的智能电器,需要添加一个虚拟桥接口,然后将智能电器添加到这个虚拟桥接口。配置虚拟桥接口底层的智能电器和配置其他类型的智能电器差不多。

添加一个虚拟桥接口到网络

添加一个代表这个虚拟桥接口的智能电器。

为了添加一个虚拟桥接口到网络你需要:

1.在HomeKitAccessorySimulator中,点击智能电器列表底部的“+”按钮。

2.在弹出框中选择Add虚拟桥接口。

3.输入一个智能电器的名称和制造商。

向虚拟桥接口添加智能电器配件可向一个虚拟桥接口添加一个或多个智能电器。

为了向一个虚拟桥接口添加一个智能电器,需要:

在你的App中添加虚拟桥接口到home

控制虚拟桥接口底层的智能电器

在多设备和多用户环境中测试

创建写入动作

创建并执行动作集

一个动作集就是一个共同执行的动作的集合。比如一个夜间动作集合可能包含关闭电灯,调低恒温水平和锁上房门。

创建并开启触发器

遵循下面几步来创建并启动一个定时触发器

创建一个定时触发器

1.创建定时触发器。

2.添加一个动作集到触发器。

3.添加一个触发器到家庭。

4.启动触发器。

一个定时触发器被启动后,会周期性的运行它的动作集。

第十部分:用户管理

创建home的用户是该home的管理员,可以执行所有操作,包括添加一个客人用户到home。任何管理员添加到这个home的用户(HMUser)都有一个有限的权限。客人不能更改家庭的布局,但是可以执行下面的动作:

管理员需要遵从以下步骤来添加一个客人到home中:

1.管理员调用一个动作将客人添加到home中。

3.HomeKit展示一个对话框,要求输入客人的AppleID。

4.用户输入客人的AppleID。

5.在完成回调中返回一个新的用户。

6.你的App展示客人的名字。

添加一个客人到home,需要在客人的iOS设备上做以下操作:

1.用户在iCloud偏好设置中输入iCloud凭证(AppleID和密码)。

2.用户启动你的App。

3.你的App通过homemanagerobject获得一个home集合。

4.如果iCloud的凭证和管理员输入的AppleID相同,那么管理员的home将会出现在homes属性中。

THE END
1.万能手机空调遥控器官方下载【特色功能】 (1):万能搜索遥控器; (2):多品牌空调家电支持; (3):轻松添加空调遥控器、电视遥控器,红外支持 3,风扇遥控器,随时智能遥控 一键红外遥控,您随身携带的万能风扇遥控软件,能随时智能遥控空调,支持各品牌风扇—艾美特,格力,美的,先锋等,全智能适配各个品牌旗下的红外手机,让https://android.myapp.com/myapp/detail.htm?apkName=com.flybbj.remotecontrol&apkCode=16&info=EB884E9E5DEC78C3BA4200962021E49F
2.格力智能空调app格力智能家电app格力+,一般又称格力智能家电app,格力空调控制软件,格力智能空调app。 格力+App是一款格力电器专为物联网时代倾心打造的智能家居应用,帮助你轻松连接格力旗下所有智能家电设备。并且基于丰富的智能家居设备种类,贴近用户实生活场景,通过智能推荐差异化场景玩法,带来互联互通的全新智能体验。一?家居 ?一?「设备联https://m.liqucn.com/rj/1012229.wml
3.控制智能家电的app我是如何用家居管家App让生活更悠然的记得刚入职的那天,公司给每位新员工发放了一套最新款的智能家电。从那时起,我就意识到控制这些设备不再是一件复杂的事情了。我下载了一个名为“家居管家的app”,它让我能够随心所欲地操控我的智能世界。 首先,“家居管家”App允许我通过手机或平板电脑来远程控制所有联网设备。这意味着无论我身在何处,只要有网https://www.iktpfbwjvk.cn/shou-ji/554215.html
4.万能遥控app排行榜前十名偏玩手游盒子分享十大万能遥控app排行榜前十名手机应用,编辑为您推荐手机万能遥控app排行榜第一名到前5名到前十名的应用。找万能遥控app有哪些、万能遥控app哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-1077490
5.万能空调遥控器app万能空调遥控器下载万能空调遥控器专题是小编精心汇总的空调遥控软件,在手机上不知道如何遥控空调,利用万能遥控器轻松控制家用空调,不仅如此有些APP还包含控制其他家用智能电器的功能,是生活上必备的控制小工具,让空调遥控变得简单,一键轻松控制空调,有需要的小伙伴赶快来下载吧! 推荐下载:冰箱遥控器、电视遥控器 http://www.downcc.com/k/wmsd
6.控制智能家电的app我用智慧居家这款App让生活更悠然了此外,“智慧居家”还提供了一系列数据分析,可以帮助我了解不同时间段下各个设备的使用情况,从而更合理地安排能源消耗。在节约资源和环保这方面,它展现出了它超乎想象的一面。 总之,“智慧居家”这款控制智能家电的app,不仅给我带来了极大的便利,而且让我更加享受了现代科技带来的舒适生活。我相信,在不久的将来,更多https://www.yqbseteyij.cn/shu-ma/528702.html
7.智能家居手机遥控系统全屋空调智能控制首先,我们需要下载一个支持手机遥控开空调的软件。在安装完成后,我们可以通过扫描二维码或者输入设备号进行绑定。一旦绑定成功,我们就可以通过手机上的APP轻松地控制全屋的温度,无论你身处何方,只要有网络,你都能操控你的空调。 智能家居带来的便利性。 使用手机遥控开空调的软件后,你会发现自己不再需要回到房间去调整https://www.jvahvb5c.cn/shou-ji/505311.html
8.远程操控触手可及智能云遥控app功能解析总结来说,智能云遥控app是一款集成了多项丰富功能、高度灵活性的新兴产品,它以其简洁易用的操作界面以及广泛覆盖各类电子设备,被越来越多的人士所青睐。在未来的发展趋势中,不难预见,此类应用将继续推动人们从传统机械式操纵转变为更加接近自然的手势控制,最终构建出一个超越空间限制,更贴合人体习惯的大环境中,让我们https://www.xstkmqmgl.cn/ke-ji/506533.html
9.手机遥控空调系统智能家居新宠远程监控:通过智能手机,即使身处另一个房间或者外出旅行,也能够实时查看当前室内温度,并进行必要的调整,以确保居住空间始终保持理想状态。 安装与使用 安装过程简单,只需在应用商店搜索并下载“智慧家居”APP,然后按照提示完成注册和绑定设备步骤即可开始使用。此后,每次想要遥控空调只需打开APP,选择相应区域即可开始操作。https://www.zuenw.cn/shu-ma/554850.html
10.云端智控随心掌握家居智能世界如果你的家庭成员多的话,单独处理每个人需要控制哪些设备会显得有些繁琐。在“智能云遥控app”中,你可以为每个成员创建一个账号,然后分配相应权限,让他们自由管理自己负责的事务,同时确保重要事项不会因为缺乏沟通而错过处理。 定期更新与维护 为了保持服务稳定和安全,“智能云遥控app”的开发团队会定期推送软件更新,以https://www.ly6b8v3c.cn/zhi-neng/540404.html
11.智能手机控制家电软件手机控制电器开关的app什么app能控制各种家电?手机可以控制家里的所有电器吗?本站为大家提供一些手机遥控器app,可以让你实现同一个网络环境下,用手机app去控制家中多个电器,包括电视,空调,冰箱,点灯,窗帘等,实现智能家居,有需要的快来下载吧!点击查看 资源列表 评论(0)其他http://m.5577.com/k/jskgfyxdq
12.家居可以通过APP统一控制和管理所有接入智家365平台的家用电器。实现手机控制红外家电 吸顶安装,使用简单安全可靠 智家365是欧瑞博推出的全新智能家居平台产品,致力于打造连接设备和用户的智能生态圈,为别墅.豪宅,私房客户打造一个更加舒适.节能.安全的家居生活环境。我们坚持从用户的角度出发,联合上千家不同的家居设备厂商,只为给用户带来舒适.便捷.安全的智能家居使用体验,享受真正https://www.meipian.cn/9h60jf4
13.买了5台家电后,我被迫下了4个APP?乍一听,事情还挺严重的。到底是啥项目,能给一个家电巨头造成重大经济损失。 于是世超就跑去搜了一下,发现这是 1 月份的事了。 虽然是个老新闻,但世超觉得它和大家息息相关,屏幕前的你,可能也在面临这个问题,还是决定讲一下。 大家都知道,现在买一个智能家居,都得下载它的 App 来控制。 http://club.gamersky.com/m/activity/811548
14.小巧而强大一款优秀的控制智能家电的app应该具备哪些关键功能在当今这个科技日新月异的时代,随着智能家居技术的飞速发展,一款高效、易用且功能丰富的控制智能家电的app已经成为现代家庭生活中不可或缺的一部分。这样的app不仅能够让用户远程操控各类设备,还能实现自动化管理,让生活更加便捷舒适。那么,一款优秀的控制智能家电的app应该具备哪些关键功能呢?今天,我们就来一起探讨这一https://www.fmovhaqkz.com/shou-ji/500829.html
15.厂家批发wifi智能插座手机APP远程无线控制家电开关计量定时产品标签|厂家批发wifi智能插座手机APP远程无线控制 <上一个下一个> 网络收音机、数码相框、健身器材、医疗器械、灯光控制、等所有需要采用无线传送数据的各种设备。 价格 订货量 ¥95.00 1 - 2999 ¥87.00 3000 - 4999 ¥85.00 ≥5000 杨女士 *** 微信http://xrsyang.cn.china.cn/supply/3914772888.html
16.家电手机控制系统软件,有什么APP可以远程控制电器的嘛杭州.联家汇的联家精灵就可以远程APP控制家里的电器。 需要设备:红外家电设备、一部带有红外的手机或红外发射器手机下载app:指尖遥控点击【添加遥控】选择电器类型选择品牌 2,手机用什么软件可以控制家里面的电视 如果是安卓手机的话,你可以在手机上下载一个遥控精灵,可以控制家里电视的开关,还有空调还有灯的开关,在http://www.jiebohui.com/znjd/jdzs/213234.html
17.海尔空气网睡眠嘲全国2000余家门店就近体验万能通用app控制每一持续高温确实让人焦虑,但更让我担忧的是连个好觉都睡不了。空调忽冷忽热、寝具不适等问题成了一夜好眠的巨大障碍,这些挑战也激励着行业不断进步。在家躺在床上却难以入睡,来到海尔空气网体验店试试看吧!为了迅速有效地解决用户的睡眠困扰,海尔空气网已经将其独创的智能枕联动场景推广到了全国2000多家门店,无论是https://www.pvo6fxiso.cn/news/221464.html
18.智能音箱怎么控制家用电器下载并打开操控智能音箱和家用电器的APP;|将多个设备连接同一个wifi;|在智能音箱APP界面中,添加对应的电器,并填写位置和命名。智能音箱怎么控制家用电器1、下载 https://www.touying.com/t-40156-1.html
19.使用ESP32NodeMCU网络和BlynkApp2022的物联网项目使用WiFi(Blynk App)控制家电。 用手动开关控制家电。 在Blynk 应用程序中监控实时反馈。 无需互联网即可手动控制家电。 您可以根据需要在此物联网网络中连接任意数量的微控制器。 对于每个房间,您只需要一个继电器模块和一个微控制器,如 ESP32 或 NodeMCU 来制作这个智能家居项目。 因此,如果您按照所有步骤操作,https://m.elecfans.com/article/2149928.html
20.智能硬件app开发如何实现多设备管理?为了实现多设备的同时控制,开发者需要在app中设计并实现多设备控制接口。这些接口应该支持同时向多个设备发送控制指令,并接收来自多个设备的状态反馈。例如,用户可以通过一个按钮同时关闭所有已绑定的智能灯泡,或者查询所有智能家电的当前工作状态。 五、高级功能支持 http://www.apppark.cn/t-54256.html
21.控制家里电器的app大全智能手机控制家电软件随着时代的不断进步很多智能的家电都能用手机来进行控制啦,不管是什么品牌的都有涉及到哟,操作简单方便,非常的好用,让生活更加的智能,也方便大家管理家电,并且是支持远程超控的,省时省力,完全免费,需要的用户们不妨来下载试试吧。http://www.ishaohuang.com/s/kzjldqdapp/
22.一个App掌控全屋智能设备一个智慧生活 App,就可以联结控制多个品牌的家电设备(如美的、海尔、格力等),无需在各品牌 App 中切换操控,更快更智能。 方法 打开智慧生活,点击我的 > 连接三方平台。 选择三方平台,根据界面提示绑定帐号。 提示 若您未安装智慧生活,请到应用市场下载。https://consumer.huawei.com/cn/emui-11/tips/smart-home-list/article9/