Скрипт для опроса счетчиков Меркурий 200.2
git clone https://github.com/yvp77/Mercury.git
Сканер адресов CAN шины счетчиков Меркурий200 зашифрованных ПО Наладчик+
Подготовка:
pip install modbus_crc
pip install argparse
pip install pyserial
pip install struct
Запуск linux:
./Mercury200_scan.py -h
./Mercury200_scan.py /dev/ttyUSB0 9600 23 55
Запуск в Windows:
./Mercury200_scan.py -h
./Mercury200_scan.py COM5 9600 23 55
Возможные параметры запуска:
./Mercury200_scan.py -h
./Mercury200_scan.py <КОМ_ПОРТ> <СКОРОСТЬ>
./Mercury200_scan.py <КОМ_ПОРТ> <СКОРОСТЬ> <НАЧ_НОМЕР_КВ> <ПОСЛЕДНИЙ_НОМЕР_КВ>
Запуск без параметров сканирует номера от 1 до 1001
Подготовка:
pip install modbus_crc
pip install argparse
pip install pyserial
pip install struct
pip install re
pip install json
Скрипт запускается с параметрами:
./Mercury200.py <КОМ_ПОРТ> <СКОРОСТЬ> <АДРЕС> <ФОРМАТ>
<КОМ_ПОРТ> /dev/ttyUSB0 или для Windows COM1
<СКОРОСТЬ> стандартные скорости портов, по умолчанию 9600
<АДРЕС> адрес счетчика по умолчанию - 0 , можно указывать следующие форматы, 6 последних цифр серийного номера, в формате Наладчик+ kv123
<ФОРМАТ> в каком формате выдавать данные csv или json, по умолчанию json
Запуск linux:
./Mercury200.py /dev/ttyUSB0 9600 123321
./Mercury200.py /dev/ttyUSB0 9600 kv125
./Mercury200.py /dev/ttyUSB0 9600 kv125 csv
./Mercury200.py /dev/ttyUSB0 9600 kv125 json
Запуск в Windows:
./Mercury200.py COM1 9600 123321
./Mercury200.py COM1 9600 kv125
./Mercury200.py COM1 9600 kv125 csv
./Mercury200.py COM1 9600 kv125 json
Mercury200.py копируем в /etc/zabbix/scripts
Файл mercury200.conf копируем в папку агента, пезепускаем агент
Импортируем шаблон, в шаблоне есть макросы:
{$MODEM} - по умолчанию /dev/ttyUSB0
{$SPEED} - по умолчанию 9600
{$ADDRESS} - по умолчанию kv0
{$FORMAT} - по умолчанию json
обязательно добавьте пользователя zabbix в группу dialout
adduser zabbix dialout
После создания хоста и привязки шаблона необходимо в макросах хоста указать требуемые вам значения