2 Oct 2023

Perl to get Denco Aircon Status for Nagios


In my previous role working within the Infrastructure Team, one of my specialisms was monitoring using Nagios Core. The great thing about Nagios is that many different plugins exist to allow you to monitor just about anything you can think of, and if a plugin doesn't exist for what you want, its a very simple task to create your own plugin to do the job.

This is what I ended up doing in order to monitor the status of our Denco air conditioning units in our datacentre.

I modified some Perl code to scrape the web status information and alert based on the output.

You can get the code from my GitHub repository here.

+++ Installation +++

Copy the perl file to your libexec folder on the Nagios server. Set permissions on the perl file to 0755.

+++ Usage +++

1/check_denco_web.pl 1 2 3 4

1 -w = warning value (can be blank)

2 -c = critical value (can be blank)

3 -U = URL target (URL of the Denco aircon web page)


All Sensors except ALARMS can accept warning and critical values. The URL must be supplied or it will default to

+++ Examples +++

check_denco_web.pl -w 24 -c 45 -U -s TEMP

check_denco_web.pl -w 24 -c 45 -U -s HUMIDITY

check_denco_web.pl -U -s ALARMS

+++ ALARMS Monitored +++

The following alarm statuses are monitored and will create a critical alert if any have a status of "1" with the exception of "Filter Blocked, Auxiliary Alarm, Denconet Comms Failure, Humidifier Cylinder Exhausted" which will go warning:-

Airflow Fail

Filter Blocked

Water Detection

Auxiliary Alarm

High Control Temperature

Low Control Temperature

High Control Humidity

Low Control Humidity

Klixon Trip

Compressor 1 HP Trip

Compressor 2 HP Trip

Compressor 3 HP Trip

Compressor 4 HP Trip

Circuit 1 (VRF) HP Trip

Circuit 2 (VRF) HP Trip

Compressor 1 LP Trip

Compressor 2 LP Trip

Compressor 3 LP Trip

Compressor 4 LP Trip

Circuit 1 (VRF) LP Trip

Circuit 2 (VRF) LP Trip

Denconet Comms Failure

Humidifier Cylinder Exhausted

Refrigerant Leak Detection

No comments: