BACnetCOV
=========
|image0|
.. raw:: html
..
13159|CommandBACnet error|error|not an array
Если кто знает как это запустить, опишите пример ручного
тестирования, пожалуйста) ### Формат csv-файла: Для работы с COV
подписками необходимо написать столбцы: - **cmd** - команду **rp** -
**device-name** - - **ip** - - **port** - - **device-instance** - -
**object-type** - - **object-instance** - - **property** - -
**property-name** -
..
Количество **rp** команд должно быть равным количеству уникальных
подписываемых устройств (**device-instance**). Команда **rp**
(ReadProperty) выполняет опрос каждые 10 секунд, для обнаружения
устройств в сети. Далее перечисляются подписки и их свойства.
.. csv-table:: Таблица
:header: "cmd", "device-name", "ip", "port", "device-instance", "object-type", "object-instance", "pid", "conf", "time", "property", "property-name"
:widths: 10, 15, 15, 10, 15, 15, 15, 10, 10, 10, 10, 15
"rp", "shetchik", "192.168.1.145", "47808", "260001", "8", "260001", "", "", "", "112", "area"
"rp", "shitchik2", "192.168.1.197", "47808", "26", "8", "26", "", "", "", "112", "area"
"cov", "", "192.168.1.145", "47808", "260001", "2", "1", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "2", "2", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "2", "3", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "3", "0", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "3", "1", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "3", "2", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "260001", "3", "3", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.197", "47808", "26", "3", "0", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "26", "3", "1", "1", "confirmed", "500", "85", "area"
"cov", "", "192.168.1.145", "47808", "26", "3", "2", "1", "confirmed", "500", "85", "area"
**CSV**
::
cmd;device-name;ip;port;device-instance;object-type;object-instance;pid;conf;time;property;property-name
rp;shetchik;192.168.1.145;47808;260001;8;260001;;;;112;area
rp;shitchik2;192.168.1.197;47808;26;8;26;;;;112;area
cov;;192.168.1.145;47808;260001;2;1;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;2;2;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;2;3;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;3;0;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;3;1;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;3;2;1;confirmed;500;85;area
cov;;192.168.1.145;47808;260001;3;3;1;confirmed;500;85;area
cov;;192.168.1.197;47808;26;3;0;1;confirmed;500;85;area
cov;;192.168.1.145;47808;26;3;1;1;confirmed;500;85;area
cov;;192.168.1.145;47808;26;3;2;1;confirmed;500;85;area
.. raw:: html
Возвращаемые значения:
~~~~~~~~~~~~~~~~~~~~~~
- **device-instance** - **int**
- **object-type** - **int**
- **object-instance** - **int**
- **Ip** - **str**
- **Port** - **int**
- **from** - **str**
- **chain** - **str**
- **status** - **str**
- **value** - **str**
**Json**
::
{
"device-instance": 260001 ,
"object-type": 2,
"object-instance": 1,
"Ip": "192.168.1.145",
"Port": 47808,
"from": "COV to RP"
"chain": "cov"
"status": "Ok"
"value": "97.000000"
}
.. raw:: html
Особенности работы COV подписок:
--------------------------------
Подписки можно создавать на большое количество времени, их срабатывание
происходит когда данные у подписываемого объекта меняются.Возникает
вопрос “как отследить работает ли подписка?”, вдруг устройство больше не
обнаруживается в сети. Для этого случая у каждого устройства
опрашивается свойсво “systemStatus”.
Ответ каждого устройства записывается в булевый вектор “flag_errors”.
|image1|
Далее к вектору применяется операция логическое “И” (Конъюнкия),
результатом которой будет булевая переменная. Она отвечает за перезапуск
COV подписки.
|image2|
**Обновлять или создавать цепочку не требуется**, все данные о подписке
хранятся в json-файле в директории …/chains
Пример получаемых данных:
|image3|
.. |image0| image:: ../../_img/input-bacnet-cov.png
.. |image1| image:: ../../_img/input-bacnet-code-cov.png
.. |image2| image:: ../../_img/input-bacnet-code-cov2.png
.. |image3| image:: ../../_img/input-bacnet-csv-example.png