Понадобилось однажды на одной из станций с серверами мониторить когда пропадает электропитание. На станции были установлены ИБП, а перед ними стоял генератор, который включался автоматически при отсутствии электропитания, так вот были случаи когда генератор не мог запуститься, а ИБП разрядились и все выключилось.
Датчиков 220В понадобилось сразу двое, первый для обычной сети 220В, а второй после генератора (перед ИБП), чтобы знать запустился ли он. Датчики я припаивал через разъем DHS-44M, и так как контактов много, то сразу припаял и датчик дыма (СПД-КАДЕТ) и датчик температуры T811.
Датчик дыма имел два провода, черный я припаял к 33 (TOK) контакту, а белый к 35 (GND) или наоборот, уже не помню, какой из них + я смотрел в документации к датчику. Также на самом датчике между контактами было припаяно два резистора по 10 кОм, но как оказалось их было мало и я припаял туда же еще один резистор на 10 кОм.
В рабочем дежурном состоянии светодиод датчика должен периодически мигать, для проверки на дым, можно вставить кусок оголенного провода в отверстие в центре датчика, после чего светодиод должен начать светится постоянно, чтобы сбросить — отключим и включим электропитание UniPing v3.
Термодатчик T811 припаивал к: 31 — желтый, 32 — зеленый, 23 — красный, 30 (GND) — черный.
Датчики 220В можно подключать на любую IO линию, и обязательно подать на каждую линию датчика 5В используя резистор 4.7 кОм от любого из контактов 29, 17, либо 23. Также IO линия должна быть настроена на вход.
Первый любой контакт датчика нужно припаять на IO линию, а второй на GND.
GND вообще есть на контактах 18, 24, 30, 35, 40. Заметил что если от одного из датчиков отключить GND, то в интерфейсе UniPing v3 постоянно отображается 1, как будто датчик включен в 220.
Для сбора данных по SNMP я использовал Zabbix и создал новый шаблон для UniPing v3.
Указал элемент данных для первой IO линии с таким OID .1.3.6.1.4.1.25728.8900.1.1.2.1, если в ответ 1 — значит есть электропитание на датчике, если 0 — нету. Ну и триггер с таким выражением:
{UniPingV3:IO1.last(0)}=0
Если будет 0, то сработает триггер и придет сообщение на email, а также я написал скрипт который позвонит через Asterisk на мобильный телефон.
Для примера смотрите мою статью:
Оповещения Zabbix по телефону через Asterisk
Для датчика дыма я использовал OID .1.3.6.1.4.1.25728.8300.1.1.2.1 (если 0 — значит статус Normal), также можно наблюдать за «Current in the Loop, mA» по OID .1.3.6.1.4.1.25728.8300.1.1.3.1 (если значение не равно 2 — значит проблема).
Прочие SNMP OID для UniPing можно увидеть в моей статье:
Настройка и использование устройств NetPing / UniPing