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