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。

遗憾的是我无法在文档中阅读此内容。