Homekit 的 HMCharacteristicTypeBrightness 获取不到当前值
Homekit's HMCharacteristicTypeBrightness does not get current values
我尝试使用以下代码获取当前亮度值。
它收集旧值。
如果我在本机 Home 应用程序中更改灯光的亮度(与存储在 lightData[0] 中的灯光相同)并返回到我的应用程序并调用以下函数,它会显示正确的值。
我找不到显示当前灯光亮度值的方法。
readValue 假设直接从附件而不是从
iPhone.
中的缓冲区
func getThem() {
lightData[0].characteristic.readValue(completionHandler: {(error) in
if error != nil {
print(error!.localizedDescription)
} else {
let type = self.lightData[0].characteristic.value
guard let value = (type as? NSNumber)?.intValue
else {
return
}
print("values = \(value)")
}
})
}
PS:
(我在这里只展示了 lightData[0] 以使代码更具可读性,应用程序收集并存储所有灯光
lightData 结构数组中的数据位于 func homeManagerDidUpdateHomes(_ manager: HMHomeManager) {} 当应用程序启动时)
我“发现”如果灯泡的电源状态为 0,则无法读取或写入亮度级别。
为了解决这个问题,我读取了电源状态,如果它是 0,我先将其更改为 1,然后再更改亮度级别。
如果电源状态为 0,读取亮度级别只是为了在屏幕上显示
我刚在我的指示系统中把它设为0。
遗憾的是我无法在文档中阅读此内容。
我尝试使用以下代码获取当前亮度值。
它收集旧值。
如果我在本机 Home 应用程序中更改灯光的亮度(与存储在 lightData[0] 中的灯光相同)并返回到我的应用程序并调用以下函数,它会显示正确的值。
我找不到显示当前灯光亮度值的方法。
readValue 假设直接从附件而不是从 iPhone.
中的缓冲区func getThem() {
lightData[0].characteristic.readValue(completionHandler: {(error) in
if error != nil {
print(error!.localizedDescription)
} else {
let type = self.lightData[0].characteristic.value
guard let value = (type as? NSNumber)?.intValue
else {
return
}
print("values = \(value)")
}
})
}
PS: (我在这里只展示了 lightData[0] 以使代码更具可读性,应用程序收集并存储所有灯光 lightData 结构数组中的数据位于 func homeManagerDidUpdateHomes(_ manager: HMHomeManager) {} 当应用程序启动时)
我“发现”如果灯泡的电源状态为 0,则无法读取或写入亮度级别。
为了解决这个问题,我读取了电源状态,如果它是 0,我先将其更改为 1,然后再更改亮度级别。
如果电源状态为 0,读取亮度级别只是为了在屏幕上显示 我刚在我的指示系统中把它设为0。
遗憾的是我无法在文档中阅读此内容。