No description
  • Go 95.2%
  • Dockerfile 4.8%
Find a file
Johan Mulder 53a1c5e20e
All checks were successful
Build Intergas Comfort Gateway proxy app / build-and-push-app (push) Successful in 23s
Added forgejo workflow
2026-04-27 22:14:23 +02:00
.forgejo/workflows Added forgejo workflow 2026-04-27 22:14:23 +02:00
claude Initial import of Intergas Incomfort Gateway proxy 2026-03-06 10:04:58 +01:00
.gitignore Initial import of Intergas Incomfort Gateway proxy 2026-03-06 10:04:58 +01:00
.gitlab-ci.yml Set docker version to 29 2026-03-06 10:07:05 +01:00
Dockerfile Using go 1.26 in Dockerfile 2026-03-06 10:08:48 +01:00
go.mod Initial import of Intergas Incomfort Gateway proxy 2026-03-06 10:04:58 +01:00
main.go Initial import of Intergas Incomfort Gateway proxy 2026-03-06 10:04:58 +01:00
README.md Initial import of Intergas Incomfort Gateway proxy 2026-03-06 10:04:58 +01:00
renovate.json Add renovate.json 2026-04-14 07:10:08 +00:00

icgwproxy — Incomfort Gateway Proxy

An HTTP proxy for the Intergas Incomfort Gateway Web UI. Its sole purpose is to override the heater serial number in the heater list, which resets to 000W00000 on every gateway reboot until the gateway fetches the real serial from the Intergas cloud API.

This is useful when running the Home Assistant Intergas integration, which does not accept 000W00000 as a valid serial number.

How it works

All HTTP requests are proxied transparently to the gateway. The single exception is /protect/heaterlist.json: when that endpoint is requested, the proxy fetches the response from the gateway and replaces the serial number at the configured index before returning it to the client.

Configuration

Flag Environment variable Default Required
--gateway-addr GATEWAY_ADDR yes
--serial-to SERIAL_TO yes
--serial-from SERIAL_FROM 000W00000 no
--heater-index HEATER_INDEX 0 no
--listen-addr LISTEN_ADDR :8080 no
  • gateway-addr: IP address (or host:port) of the Incomfort Gateway, e.g. 192.168.11.34
  • serial-to: The real serial number of your heater, e.g. 2301X00614
  • serial-from: The placeholder serial to replace (default: 000W00000)
  • heater-index: Zero-based index of the heater in the list (default: 0)
  • listen-addr: Address the proxy listens on (default: :8080)

Usage

Binary

./icgwproxy --gateway-addr 192.168.11.34 --serial-to 2301X00614

With all options:

./icgwproxy \
  --gateway-addr 192.168.11.34 \
  --serial-to 2301X00614 \
  --serial-from 000W00000 \
  --heater-index 0 \
  --listen-addr :8080

Docker

docker run -d \
  -e GATEWAY_ADDR=192.168.11.34 \
  -e SERIAL_TO=2301X00614 \
  -p 8080:8080 \
  registry.example.com/icgwproxy:latest

Home Assistant

Point the Intergas integration at the proxy instead of the gateway directly:

# configuration.yaml
incomfort:
  host: 192.168.11.100  # IP of the machine running icgwproxy
  port: 8080

Building

go build -o icgwproxy .

License

MIT