wernerfred / docker-nilan-cts700

GNU General Public License v3.0
2 stars 0 forks source link

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>"]}
]