Skip to content

wernerfred/docker-nilan-cts700

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Workflow Status Docker Pulls GitHub Docker Image Size (latest semver) GitHub release (latest SemVer) Docker Image Version (latest semver) GitHub Release Date

docker-nilan-cts700

This project uses pymodbus to read the Modbus RTU data from a nilan system with a CTS700 controller. The prometheus_client library is used to expose the data via a Prometheus server. All of this is packed in a Docker container.

Metrics

The following metrics are exposed:

Metric Register Description Unit Prometheus Type
nilan_cts700_outdoor_temp 20282 T1 outdoor air temperature Celsius Gauge
nilan_cts700_indoor_temp 20286 T3 extract air, room temperature Celsius Gauge
nilan_cts700_indoor_temp_wanted 20260 Wanted room temperature Celsius Gauge
nilan_cts700_bypass_state 21773 Bypass damper Gauge
nilan_cts700_water_temp_bottom 20522 T12 bottom temperature in DHW water tank Celsius Gauge
nilan_cts700_water_temp_top 20520 T11 top temperature in DHW water tank Celsius Gauge
nilan_cts700_water_temp_wanted 20460 Hot water set point Celsius Gauge
nilan_cts700_humidity_average 20164 Average Humidity Percent Gauge
nilan_cts700_humidity 21776 Actual Humidity Percent Gauge
nilan_cts700_operating_mode 20120 Operating mode Gauge
nilan_cts700_supply_air_temp 20284 T2 supply air temperature Celsius Gauge
nilan_cts700_user_fan_speed 4747 User fan speed Gauge

Installation

Build from source

To build this project from source make sure to clone this repository from github and run the following command:

docker build -t wernerfred/docker-nilan-cts700 .

Pull from Docker Hub

You can directly pull the latest release from the Docker Hub repository:

docker pull wernerfred/docker-nilan-cts700

Usage

To run the container you can use docker run. You might adjust the following command according to your needs:

docker run -d \
           -p 8080:8080 \
           wernerfred/docker-nilan-cts700

Configuration

The following environment variables can be used to configure the container:

Variable Default Description
CTS700_HOST 192.168.5.107 The IP address of the nilan CTS700 controller
CTS700_PORT 502 The Modbus RTU port of the nilan CTS700 controller
PROM_EXPORTER_PORT 8080 The port on which the Prometheus server listens
PROM_EXPORTER_CHECK_INTERVAL 60 The interval at which the Prometheus server checks for new data in seconds

Simply add the environment variables you want to change to your docker run command:

docker run -d \
           -p 8080:8080 \
           -e CTS700_HOST=192.168.5.107 \
           -e CTS700_PORT=502 \
           -e PROM_EXPORTER_PORT=8080 \
           -e PROM_EXPORTER_CHECK_INTERVAL=60 \
           wernerfred/docker-nilan-cts700

Prometheus

The metrics are exposed via a Prometheus server. To access the metrics you can use the following URL:

http://<docker-host>:<prom-exporter-port>/metrics

To add this URL to your Prometheus configuration you can use the following snippet:

static_configs: [
  {"labels": {"job": "nilan_cts700"}, "targets": ["<docker-host>:<prom-exporter-port>"]}
]