Включил отладку на ноде... и не все понятно что она пишет, может мне кто-нибудь разъяснить. Сразу скажу, вот это читал:
http://www.mysensors.org/download/serial_api_15
Итак, нода у меня с номером 20, на ней сенсор 2 (кнопка) и исполнитель 2 (некая команда). Эксперимент простой - нажимаю кнопку, должно отправляться сообщение с ноды, приниматься гейтом, пересылаться контроллеру.
В контроллере очень простая логика: если принимает сообщение от кнопки - переключает состояние (включает-выключает свет), это команды: 0,1 и 6,1,95
Нажимаю первый раз:
Код: Выделить всё
send: 20-20-0-0 s=2,c=1,t=24,pt=2,l=2,sg=0,st=ok:1
read: 0-0-20 s=2,c=1,t=24,pt=2,l=2,sg=0:1
read: 0-0-20 s=0,c=1,t=24,pt=0,l=8,sg=0:6,1,95
Нажимаю второй:
Код: Выделить всё
send: 20-20-0-0 s=2,c=1,t=24,pt=2,l=2,sg=0,st=ok:1
read: 0-0-20 s=2,c=1,t=24,pt=2,l=2,sg=0:1
read: 0-0-20 s=0,c=1,t=24,pt=0,l=5,sg=0:0,1
При каждом нажатии в логе генерируется три сообщения: одно отправка и два прием.
1. Почему приходит первое сообщение read? Это подтверждение? Но на ноде и в модуле у меня ACK выключены.
2. Что означают 20-20-0-0 и 0-0-20?
3. pt - это payload type? Я правильно понимаю, типо число, строка, булево...?
Потом периодически нажимаю и смотрю в лог, и с какой-то там ..надцатой попытки, при нажатии вываливается только одно сообщение:
Код: Выделить всё
send: 20-20-0-0 s=2,c=1,t=24,pt=2,l=2,sg=0,st=fail:1
4. Что это может означать? Шлюз не принял это сообщение или даже при самой отправке произошла какая-то ошибка?
...и также с ..надцатой попытки тоже только одно сообщение:
Код: Выделить всё
send: 20-20-0-0 s=2,c=1,t=24,pt=2,l=2,sg=0,st=ok:1
Поведение одинаковое как и с предыдущим сообщением. В debmes на контроллере как будто не было никаких сообщений.
5. Собственно почему такое может происходить?