【问题标题】:Homekit trigger, how to call itHomekit 触发器,如何调用
【发布时间】:2018-08-08 18:42:14
【问题描述】:

我正在观看有关 Homekit 的 WWDC 2018 视频,更确切地说是有关触发器的视频。我正在尝试使用此 sn-p 创建日落状态触发器。我想在此功能运行时打开灯。我已经让 turnOn 函数工作了,但是如何在这个触发器中实现它?提前致谢!

func createSunsetPresenceTrigger(withName name: String, actionSet: HMActionSet, home: HMHome) {
        var offset = DateComponents()
            offset.minute = -10

        let sunsetEvent = HMSignificantTimeEvent(significantEvent: .sunset, offset: offset)

        let presence = HMPresenceEvent(presenceEventType: .atHome, presenceUserType: .currentUser)
        let predicate = HMEventTrigger.predicateForEvaluatingTrigger(withPresence: presence)
        let trigger = HMEventTrigger(name: name, events: [sunsetEvent], predicate: predicate)

        home.addTrigger(trigger) { (error) in
            guard error == nil else { return }

            trigger.addActionSet(actionSet) { error in
                guard error == nil else { /* Handle error */ return }

            }
        }
    }

【问题讨论】:

    标签: swift triggers homekit


    【解决方案1】:

    您需要创建一个 HMActionSet,将该灯的功率特征值设置为 'true' 并添加此功能 HMTrigger

    open func addActionSet(_ actionSet: HMActionSet, completionHandler completion: @escaping (Error?) -> Void)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-19
      • 2014-11-11
      • 2023-04-02
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多