Обработка KNX Datapoints

Работаю с KNX. Все установлено корректно. Добавил в правила вот этот файл https://support.wirenboard.com/t/wb6-i-knx-dimmirovanie/2288/11

  1. Данные в шине обрабатываются, но только лишь 1 байтные.
    Например: i:1/1/28 g:3/4/14 GroupValueWrite 0xff
    В поле 3-4-14 вижу 255
    Например: i:1/1/15 g:3/2/8 GroupValueWrite 0x0d 0x07
    В поле 3-2-8 вижу 13 C
    Где прописать, что поле 3-2-8 это - 2 byte float (температура)?

  2. Хочу например управлять режим термостата - значение 1 или 2 или 3?
    Пишу в правиле
    “3-2-6”: {
    type: “range”,
    max: 3,
    value: 0,
    knx_type: “wide”
    },
    В Devices бегунок нормально отрабатывает, а получается, что для Widget нельзя сделать range, доступен только диммер от 0 до 100%

  3. Интересует возможность задавать уставку температуры через слайдер.
    Ставлю уставку 21 градус, в mqtt улетает строчка:
    /devices/knx/controls/data/on g:3/2/5 GroupValueWrite 0x0c 0x1a, где 0x0c 0x1a = 21

но в ответ мне прилетает :
/devices/knx/controls/data i:0/0/0 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:1/1/255 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:0/0/0 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:1/1/255 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:0/0/0 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:1/1/255 g:3/2/5 GroupValueWrite 0x1a
/devices/knx/controls/data i:1/1/255 g:3/2/5 GroupValueWrite 0x1a

Как заставить wb отправлять уставку корректно?

Добрый день. Извиняюсь за задержку ответа.

  1. И 3. Это известный баг в wb-mqtt-knx. Мы постараемся поправить, но не знаю сколько времени это займет. Пока можно обращаться к knxd на прямую через runShellCommand().
  2. Попробуйте WebUI 2.0

Я правильно понимаю, что пока я могу только корректно отправлять 1бит и 1байт данных в шину knx?

С ui 2.0 я разобрался. Все установилось без проблем.

Добрый день. Как правильно прописать команду на запись 2 байт в групповой адрес использую RunShellCommand()
Так не работает:
runShellCommand("/devices/knx/controls/data/on -m g:2/3/54 GroupValueWrite 0x0d 0xdc");
В чем ошибка?

Здравствуйте. По сути всё не правильно. runShellCommand - выполняет команду, так как если бы вы ввели её прямо в консоль. Соответственно нужно использовать полную команду.
На пример:
runShellCommand('knxtool groupwrite local:/var/run/knx 1/1/0 12345')
runShellCommand('knxtool groupwrite local:/var/run/knx 1/1/0 0x0000')
Для того что бы разобраться какую команду Вам использовать советую ознакомится с Документацией knxd-tools

1 лайк