Отображение энергопотребления в виде температуры с помощью Node-Red в Apple HomeKit - PullRequest
0 голосов
/ 09 ноября 2018

Я хотел бы отобразить энергопотребление в 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 голосов
/ 14 ноября 2018

Я думаю, вы не можете напрямую связать 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;
...