- Go 95.2%
- Dockerfile 4.8%
|
All checks were successful
Build Intergas Comfort Gateway proxy app / build-and-push-app (push) Successful in 23s
|
||
|---|---|---|
| .forgejo/workflows | ||
| claude | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Dockerfile | ||
| go.mod | ||
| main.go | ||
| README.md | ||
| renovate.json | ||
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 (orhost:port) of the Incomfort Gateway, e.g.192.168.11.34serial-to: The real serial number of your heater, e.g.2301X00614serial-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