Комментарии 9
Вопрос — можно ли это все подключить к Nodered, чтобы сделать вот так: https://geektimes.ru/post/279814/
Например приделав протокол MQTT?
Да, можно. Причем вариантов несколько.
Первый, полагаю более сложный в разработке, в случае если 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;
}
})
Существующие решения
Ещё есть Wiren Board с KNX-модулем, одна штука выходит около 25 000р в сумме.
И даже ETS не нужен, нужно только телеграммы туда-сюда слать из JS-движка правил.
В моем списке нету, т.к. не работал с вашим оборудованием. Но, когда искал информацию как оформить статью, наткнулся на вашу статью, оттуда же взял и раздел «Мотивация» :)
Заинтересовался, почитал вас. Живу недалеко от Долгопрудного, если что могу заехать к вам. Но это если есть время, желание.
С другой стороны,
1) Можно запустить «чистую» ноду на WB, как и на любом контроллере с Linux
2) mqtt-шлюз для KNX — это у нас функциональность из коробки, для этого есть специальный наш сервис, wb-mqtt-knx (исходники на гитхабе)
Заходите в гости как будет время, всё расскажем и покажем
Спасибо за статью, очень интересно. Скажите пожалуйста, а вы не пробовали поднять KNXd или Calimero-Server в связке Raspberry+kBerry? Просто у меня возникла проблема следующего характера — сервер работает и даже ETS5 может его использовать в качестве интерфейса для работы с проектом, но вот команда чтения устройства и загрузки/выгрузки в него программы через ETS не хочет работать :(
knx-user-forum.de/forum/projektforen/knxd/1070372-weinzierl-knx-baos-module-838-kberry
на knx-user форуме есть ветка, правда на немецком. мб поможет чем
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
Bobaos — доступ к шине KNX TP/UART c Raspberry Pi