Реализация KNXnetIP в C#

Я разрабатываю приложение на C# для управления домашней системой KNX. Итак, я использовал программное обеспечение ETS3Demo, и с помощью программного обеспечения wireshark мог "видеть" IP-дейтаграммы, отправленные ETS3 на интерфейс KNX/IP.

Я уже преуспел с "Connection_Request", "ConnectionState_Request" и "Disconnect_Request", то есть я отправляю дейтаграмму запросов, и интерфейс KNX/IP отвечает.

Единственная просьба, которая вызывает у меня головную боль, это "Tunnelling_Request". Я отправляю информацию точно так же, как отправляю предыдущие дейтаграммы, но эта, похоже, не работает.

Я посылаю дейтаграмму "побайтово", как вы можете видеть в следующем коде:

byte[] byteToSend1 = { 06, 16, 04, 32, 00, 21, 04 };

string communicationChannel = ComunicationChannelNum.Text;
byte bytesnew = Convert.ToByte(communicationChannel);

byte[] byteToSend2 = { 00, 00, 17, 00, 188, 224, 00, 00, 09, 01, 01, 00, 129 };

writer.WriteBytes(byteToSend1);
writer.WriteByte(bytesnew);
writer.WriteBytes(byteToSend2);

Я уже изменил байт, который соответствует адресу источника и адресу группы, на переменную "int", и все еще не работает.

Может кто-то дать мне предложение или что-то, что я могу делать неправильно.

Спасибо

2 ответа

Для тех, кто приезжает сюда ищет ветку:

Вы всегда можете использовать библиотеку Falcon для ассоциации KNX, которую можно бесплатно загрузить и которая позволяет выполнять все операции (время выполнения и управление). Это требует от вас понимания протокола KNX, хотя и не является самой красивой и чистой библиотекой, но работает.

здесь: https://my.knx.org/en/downloads/falcon

Примечание. Может потребоваться регистрация, но это бесплатно. [Я не могу поделиться этим здесь, потому что это нарушит лицензионное соглашение. Спасибо мистер Бамми!]

Я использую knx для включения / выключения света Я использовал эту ссылку для отправки запроса туннелирования.

Другие вопросы по тегам