使用Apple HomeKit中的Node-Red将功率使用情况显示为温度

时间:2018-11-09 09:55:05

标签: javascript node-red homekit home-automation ios-homekit

我想在HomeKit中显示电源使用情况。不幸的是,HomeKit中没有类别可以做到这一点。这就是为什么我有想法在HomeKit中将其显示为功耗而不是温度。这个想法是用假的温度传感器控制HomeKit场景。

不幸的是,我没有节点红色的经验,这对我来说是新的。

我从电表中得到了以下字符串:

success: "true"
response: string
{
    "power":    3.040480,
    "relay":    true
}

我将此链接到HomeKit节点,然后返回以下错误:

Characteristic response cannot be written. 
Try one of these: Name, CurrentTemperature, StatusActive, StatusFault, StatusLowBattery, StatusTampered, Name

不幸的是,经过各种功能和其他调整之后,我没有在HomeKit中显示“温度”。

我用这个: https://flows.nodered.org/node/@plasma2450/node-red-contrib-homekit-bridged

1 个答案:

答案 0 :(得分:0)

我认为您不能直接链接2个节点。从错误消息中,它表明您已将有效负载从仪表输出传递到HomeKit节点。虽然仪表输出包含response属性,但HomeKit不支持该属性,但会发生错误。

确保您的有效负载仅包含受支持的特征。您可以使用更改节点来修改有效负载,也可以仅使用功能节点

const msg.meterOutput = msg.payload;
// Just a prototype, type checking is required
msg.payload = {
    currentTemperature: msg.meterOutput.response.power
}
return msg;