{"id":43647897,"url":"https://github.com/wernerfred/docker-nilan-cts700","last_synced_at":"2026-02-04T19:03:16.997Z","repository":{"id":38453729,"uuid":"390843960","full_name":"wernerfred/docker-nilan-cts700","owner":"wernerfred","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-06T20:07:48.000Z","size":60,"stargazers_count":3,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-06T15:34:10.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wernerfred.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-29T20:32:51.000Z","updated_at":"2022-12-14T23:47:08.000Z","dependencies_parsed_at":"2023-02-09T17:01:30.801Z","dependency_job_id":null,"html_url":"https://github.com/wernerfred/docker-nilan-cts700","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/wernerfred/docker-nilan-cts700","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernerfred%2Fdocker-nilan-cts700","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernerfred%2Fdocker-nilan-cts700/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernerfred%2Fdocker-nilan-cts700/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernerfred%2Fdocker-nilan-cts700/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wernerfred","download_url":"https://codeload.github.com/wernerfred/docker-nilan-cts700/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wernerfred%2Fdocker-nilan-cts700/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29092991,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-04T19:03:16.935Z","updated_at":"2026-02-04T19:03:16.987Z","avatar_url":"https://github.com/wernerfred.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![GitHub Workflow Status](https://img.shields.io/github/workflow/status/wernerfred/docker-nilan-cts700/Build%20current%20version%20+%20push%20to%20DockerHub?label=Docker%20Build)\n![Docker Pulls](https://img.shields.io/docker/pulls/wernerfred/docker-nilan-cts700?label=Docker%20Pulls)\n![GitHub](https://img.shields.io/github/license/wernerfred/docker-nilan-cts700?label=License)\n![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/wernerfred/docker-nilan-cts700?label=Image%20Size)\n![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/wernerfred/docker-nilan-cts700?label=Latest%20Release)\n![Docker Image Version (latest semver)](https://img.shields.io/docker/v/wernerfred/docker-nilan-cts700?label=Latest%20Image)\n![GitHub Release Date](https://img.shields.io/github/release-date/wernerfred/docker-nilan-cts700?label=Release%20Date)\n\n# docker-nilan-cts700\n\nThis project uses `pymodbus` to read the Modbus RTU data from a [nilan system with a CTS700 controller](https://www.nilan.at/de-at/startseite/losungen/wohnungslosungen/kompaktlosung/compact-p-cts700). The `prometheus_client` library is used to expose the data via a Prometheus server. All of this is packed in a [Docker](https://hub.docker.com/r/wernerfred/docker-nilan-cts700) container.\n\n## Metrics\n\nThe following metrics are exposed:\n\n| Metric | Register | Description | Unit | Prometheus Type |\n|--------|:--------:|-------------|:----:|:---------------:|\n| `nilan_cts700_outdoor_temp` | `20282` | T1 outdoor air temperature | Celsius | `Gauge` |\n| `nilan_cts700_indoor_temp` | `20286` | T3 extract air, room temperature | Celsius | `Gauge` |\n| `nilan_cts700_indoor_temp_wanted `| `20260` | Wanted room temperature | Celsius | `Gauge` |\n| `nilan_cts700_bypass_state` | `21773` | Bypass damper | | `Gauge` |\n| `nilan_cts700_water_temp_bottom` | `20522` | T12 bottom temperature in DHW water tank | Celsius | `Gauge` |\n| `nilan_cts700_water_temp_top` | `20520` | T11 top temperature in DHW water tank | Celsius | `Gauge` |\n| `nilan_cts700_water_temp_wanted` | `20460` | Hot water set point | Celsius | `Gauge` |\n| `nilan_cts700_humidity_average` | `20164` | Average Humidity | Percent | `Gauge` |\n| `nilan_cts700_humidity` | `21776` | Actual Humidity | Percent | `Gauge` |\n| `nilan_cts700_operating_mode` | `20120` | Operating mode | | `Gauge` |\n| `nilan_cts700_supply_air_temp` | `20284` | T2 supply air temperature | Celsius | `Gauge` |\n| `nilan_cts700_user_fan_speed` | `4747` | User fan speed | | `Gauge` |\t\n\n## Installation\n\n### Build from source\n\nTo build this project from source make sure to clone this repository from github and run the following command:\n\n```\ndocker build -t wernerfred/docker-nilan-cts700 .\n```\n\n### Pull from Docker Hub\n\nYou can directly pull the latest release from the [Docker Hub repository](https://hub.docker.com/r/wernerfred/docker-nilan-cts700/):\n\n```\ndocker pull wernerfred/docker-nilan-cts700\n```\n\n## Usage\n\nTo run the container you can use `docker run`. You might adjust the following command according to your needs:\n\n```\ndocker run -d \\\n           -p 8080:8080 \\\n           wernerfred/docker-nilan-cts700\n```\n\n### Configuration\n\nThe following environment variables can be used to configure the container:\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `CTS700_HOST` | `192.168.5.107` | The IP address of the nilan CTS700 controller |\n| `CTS700_PORT` | `502` | The Modbus RTU port of the nilan CTS700 controller |\n| `PROM_EXPORTER_PORT` | `8080` | The port on which the Prometheus server listens |\n| `PROM_EXPORTER_CHECK_INTERVAL` | `60` | The interval at which the Prometheus server checks for new data in seconds |\t\n\nSimply add the  environment variables you want to change to your `docker run` command:\n\n```\ndocker run -d \\\n           -p 8080:8080 \\\n           -e CTS700_HOST=192.168.5.107 \\\n           -e CTS700_PORT=502 \\\n           -e PROM_EXPORTER_PORT=8080 \\\n           -e PROM_EXPORTER_CHECK_INTERVAL=60 \\\n           wernerfred/docker-nilan-cts700\n```\n\n### Prometheus\n\nThe metrics are exposed via a Prometheus server. To access the metrics you can use the following URL:\n\n`http://\u003cdocker-host\u003e:\u003cprom-exporter-port\u003e/metrics`\n\nTo add this URL to your Prometheus configuration you can use the following snippet:\n\n```\nstatic_configs: [\n  {\"labels\": {\"job\": \"nilan_cts700\"}, \"targets\": [\"\u003cdocker-host\u003e:\u003cprom-exporter-port\u003e\"]}\n]\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwernerfred%2Fdocker-nilan-cts700","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwernerfred%2Fdocker-nilan-cts700","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwernerfred%2Fdocker-nilan-cts700/lists"}