Page 1 of 1

Передача архива (блока данных) в контроллер

Posted: 14 Feb 2018 00:55
by sas8
Добрый день, есть ли способ передать по запросу накопленный в EEPROM архив данных счетчика ресурса в контроллер/программу работающую с open zwave api?

Пока видятся 2 решения -
1- принимать запрос со значением глубины в архиве через setter и отдавать показания через zunoSendReport() или getter этого же канала
2- принимать запрос на начало/стоп передачи архива и через zunoSendReport() передавать парами (последовательно вызывая для двух каналов) время и показания

Цель - обеспечить восстановление данных на сервере после восстановления связи/питания/перезагрузки/итп
Для хранения планируется использовать EEPROM с записью раз в пол часа в блок адресов метки времени и показаний

Re: Передача архива (блока данных) в контроллер

Posted: 15 Feb 2018 02:08
by PoltoS
Не очень понял задачу. Хотите с Z-Uno передать на контроллер много данных? Ну, есть у нас даже zunoSendDbgData (https://github.com/Z-Wave-Me/Z-Uno-Core ... uino.h#L29). Это не документировано, но сразу блок небольшой послать можно. Если больше, чем в 1 пакет влезет, то надо придумывать.

Re: Передача архива (блока данных) в контроллер

Posted: 16 Feb 2018 21:27
by sas8
Да, нужно будет придумать. Данных будет больше чем описанная максимальная полезная посылка в протоколе
По поводу zunoSendDbgData(group, data, data_size) - можете подсказать группа на что-нибудь влияет?

Re: Передача архива (блока данных) в контроллер

Posted: 17 Feb 2018 17:44
by PoltoS
да. выбирает группу ассоциаций Z-Uno, в которую отправлять

Re: Передача архива (блока данных) в контроллер

Posted: 18 Feb 2018 00:38
by sas8
я использую open zwave control panel для отладки. может знаете, если явно группа ассоциаций не создавалась, но при выборе в меню ozwcp пункта groups он показывает список из групп lifeline(1), control group(2). Должна ли дойти посылка zunoSendDbgData в группу 1?

так же пытаюсь послать
DWORD buf[10];
...
buf[0] = 0xf0f0f0f0;
zunoSendDbgData(1, buf, 4);
ничего не виду в логе ozwcp. Есть ли пример использования zunoSendDbgData или я правильно шлю но у меня проблема с группой?

так же пытаюсь послать через класс METER с указанием 4-байтные данные
в ozwcp показывает значение явно 16-бит. какбуд-то срезается 32 до 16 бит. Как убедится что передается 32 бита?

Re: Передача архива (блока данных) в контроллер

Posted: 18 Feb 2018 17:53
by sas8
пока выяснилось что если заменить DWORD на long в типе переменной и возвращаемом типе из getter-а то шлет знаковое 32-бита. unsigned long не помогает увидеть в ozwcp беззнаковое.

Re: Передача архива (блока данных) в контроллер

Posted: 13 Mar 2018 10:39
by PoltoS
Знаковость - это интерпретация на стороне получателя. В Z-Wave принято знаковыми воспринимать числа в большинстве случаев. Хотя есть исключения