gpt4 book ai didi

ios - 使用 homekit 设置颜色的特性

转载 作者:行者123 更新时间:2023-11-29 10:31:22 25 4
gpt4 key购买 nike

我正在使用 https://github.com/etwmc/Personal-HomeKit-HAP- 模拟 homekit 兼容设备。Siri 不会接受颜色命令,例如“将我的灯换成蓝色”,在没有请求的情况下以“你的灯没有响应”作为回应。我认为这是因为我的特征不符合 Siri 的期望,但哪些是正确的?

printf("Initial Accessory\n");
accSet = &AccessorySet::getInstance();
Accessory *lightAcc = new Accessory();
addInfoServiceToAccessory(lightAcc, "Light 1", "ET", "Light", "12345678", &lightIdentify);
accSet->addAccessory(lightAcc);

Service *lightService = new Service(charType_lightBulb);
lightAcc->addService(lightService);

stringCharacteristics *lightServiceName = new stringCharacteristics(charType_serviceName, premission_read, 0);
lightServiceName->setValue("Light");
lightAcc->addCharacteristics(lightService, lightServiceName);

boolCharacteristics *powerState = new boolCharacteristics(charType_on, premission_read|premission_write|premission_notify);
powerState->setValue("true");
powerState->valueChangeFunctionCall = &changeLightState;
lightAcc->addCharacteristics(lightService, powerState);

intCharacteristics *brightnessState = new intCharacteristics(charType_brightness, premission_read|premission_write|premission_notify, 0, 100, 1, unit_percentage);
brightnessState->setValue("50");
brightnessState->valueChangeFunctionCall = &changeLightIntensity;
lightAcc->addCharacteristics(lightService, brightnessState);

intCharacteristics *saturationState= new intCharacteristics(charType_saturation, premission_read|premission_write|premission_notify, 0, 100, 1, unit_percentage);
saturationState->setValue("100");
saturationState->valueChangeFunctionCall = &changeLightSat;
lightAcc->addCharacteristics(lightService, saturationState);

intCharacteristics *hueState= new intCharacteristics(charType_hue, premission_read|premission_write|premission_notify, 0, 360, 1, unit_arcDegree);
hueState->setValue("0");
hueState->valueChangeFunctionCall = &changeLightColor;

最佳答案

Homekit 数据库是共享的,设备中安装的所有启用 homekit 的应用程序以及 Siri 都可以访问它,但 siri 只能理解您为 Home、accessory、trigger、scene 和 by 提供的名称服务和其他 homekit 对象的特征。

现在如果你想改变任何配件的颜色(光),很可能它会有饱和度亮度色调特性。这 3 个特征的组合将产生一种颜色。

所以你可以告诉 siri 改变饱和度、亮度和色调,

喜欢Siri,把大堂台灯色相调到220(色相可以是0到360)

这里的Main Hall是房间的名字(可以自己改),台灯是配件名称色调台灯照明服务的特征。

220是特征值。色调 是实际颜色或阴影。

关于ios - 使用 homekit 设置颜色的特性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com