Pull to refresh

Comments 9

Да, можно. Причем вариантов несколько.


Первый, полагаю более сложный в разработке, в случае если node-red крутится на Raspberry Pi, можно написать плагин для node-red, который напрямую взаимодействует с шиной KNX, получает с node-red значения, отправляет их.


Второй, как предлагаете, реализовать MQTT.


Реализация в данном случае будет выглядеть примерно так:


// app - наш baos
// mqttClient - клиент MQTT
// DPTS = require('knx-dpts-baos') - кодирует, декодирует значения для KNX

mqttClient.on('connect', function () {
  client.subscribe('/baos/datapoint/1/switch')
  client.subscribe('/baos/datapoint/1/brightness')
})

mqttClient.on('message', function (topic, message)  {
    var value = parseInt(message);
    switch (topic) {
        case '/baos/datapoint/1/switch':
            app.setDatapoint(1, DPTS.dpt1.fromJS(value);
            break;
        case '/baos/datapoint/1/brightness':
            app.setDatapoint(1, DPTS.dpt5.fromJS(value);
            break;
        default:
            break;
    }
})

Было бы неплохо заиметь MQTT, тогда — этакий шлюз MQTT — KNX. На форумах по домашней автоматизации — желанная штука

Существующие решения

Ещё есть Wiren Board с KNX-модулем, одна штука выходит около 25 000р в сумме.
И даже ETS не нужен, нужно только телеграммы туда-сюда слать из JS-движка правил.
А вот npm модуль прикрутить к JS-движку каким образом? Для примера — если задача сделать mqtt шлюз для KNX, или плагин для homebridge.

В моем списке нету, т.к. не работал с вашим оборудованием. Но, когда искал информацию как оформить статью, наткнулся на вашу статью, оттуда же взял и раздел «Мотивация» :)
Заинтересовался, почитал вас. Живу недалеко от Долгопрудного, если что могу заехать к вам. Но это если есть время, желание.
npm-модуль без изменений к нашему движку не прикрутить к сожалению, потому что у нас там тоже не нода и не V8, а свой сервис на интерпретаторе duktape.

С другой стороны,
1) Можно запустить «чистую» ноду на WB, как и на любом контроллере с Linux
2) mqtt-шлюз для KNX — это у нас функциональность из коробки, для этого есть специальный наш сервис, wb-mqtt-knx (исходники на гитхабе)

Заходите в гости как будет время, всё расскажем и покажем
Здравствуйте,

Спасибо за статью, очень интересно. Скажите пожалуйста, а вы не пробовали поднять KNXd или Calimero-Server в связке Raspberry+kBerry? Просто у меня возникла проблема следующего характера — сервер работает и даже ETS5 может его использовать в качестве интерфейса для работы с проектом, но вот команда чтения устройства и загрузки/выгрузки в него программы через ETS не хочет работать :(

knxd, calimero так и не завел, но написал свою реализацию)


https://drive.google.com/drive/folders/1iFUijtkRWg2yX4QGZe7_XDjSzmDtv6PB?usp=sharing
для raspberry бинарники можно скачать отсюда. ll_release_29apr2020.tar.gz или zip


В архиве три файла, один — pub, держит uart-соединение и слушает redis pubsub на запросы. Без него остальные работать не будут. Net — собственно KNXNet/IP интерфейс реализация. Единственное, надо вручную его добавлять в ETS.


Исходники https://github.com/dobaosll

Sign up to leave a comment.

Articles