Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

my-ism7-addon

A fully self-contained Home Assistant add-on for reading data from Wolf heaters equipped with an ISM7 / WolfLink module and publishing it to MQTT.

This repository has no runtime dependency on any upstream image or repository: the ism7mqtt / ism7config programs are built from vendored source code inside the add-on's own multi-stage Dockerfile. Nothing is pulled from Docker Hub or a third-party add-on repository at build or run time (only the official .NET SDK and Home Assistant base images, plus the NuGet packages the program depends on).

How it works

Wolf ISM7  <--TCP/TLS-->  ism7mqtt  --MQTT-->  Mosquitto  -->  Home Assistant
                          (built from ./ism7mqtt/src)
  • ism7config generates a parameter.json describing your installation (run once).
  • ism7mqtt connects to the ISM7, reads/writes values and bridges them to MQTT with Home Assistant MQTT discovery.
  • The shell wrapper (run.sh) wires the add-on options to the program and runs one instance per configured device.

Install

  1. In Home Assistant: Settings → Add-ons → Add-on Store → ⋮ → Repositories.
  2. Add https://github.com/aschwarz1984/my-ism7-addon.
  3. Install Ism7MQTT (self-built), configure it (device name, ISM7 IP, password from the sticker), and start it.

The first start builds the image locally on your device — this takes a few minutes because the .NET binaries are compiled from source. Subsequent starts are fast.

Requires the Mosquitto broker add-on and the MQTT integration.

Configuration

Option Description
device_name Device id used in MQTT topics/entities (no spaces).
ism7_ip IP/host of your ISM7 module.
ism7_password Password printed on the ISM7 sticker.
language Language for entity names / list values.
interval Poll interval in seconds (default 60).
startup_timeout Maximum wait for each startup bundle response, in seconds (default 90; must be positive).
serialize_push_subscribes Wait for each startup push subscription response before sending the next (default false).
additional_devices List of extra ISM7 modules (device_name, ism7_ip, ...).
mqtt_* Optional manual MQTT broker settings (auto-discovered if omitted).
debug_logging Enable verbose protocol logging.

startup_timeout and serialize_push_subscribes apply to the primary module and all additional_devices. A missing startup response causes the bridge to stop and enter the retry cycle below. This is separate from the existing 30-second TCP/TLS connection timeout.

Each module starts immediately, then retries up to three times with 10 seconds between attempts when its bridge process exits. After the initial attempt and three retries have ended, the add-on waits five minutes before starting a new cycle. Both the short retries and the five-minute cooldown are logged with the device name and IP address. Retry cycles are independent for each module and apply regardless of the bridge process's exit code; a running bridge is never interrupted by the cooldown.

If an ISM7 running firmware 5.20 (including 5.20.6) stops updating during startup, enable serialize_push_subscribes and restart the add-on. Leave it disabled otherwise to preserve the existing subscription behavior.

Important, if some entities are unavailable

The ISM7 module is easily overwhelmed when monitoring hundreds of parameters, which can cause connection drops or missing updates. Mitigations:

  • Disable the connection to the Wolf portal to reduce microcontroller load.
  • Use Ethernet instead of Wi‑Fi (Wi‑Fi is reported to be unreliable).
  • Trim parameters you don't need: edit config/ism7-parameters-<device>.json (via the File editor add-on) and remove whole device sections or individual numeric parameter ids, then restart.

Parameter files are parsed as JSON: IDs may share a line or appear one per line. The add-on logs the actual parameter count and warns above 150 parameters, regardless of formatting. Unreadable files, invalid JSON, or missing Devices and Parameter arrays produce an explicit startup error.

When the ISM7 connection drops, all entities published by that bridge are marked unavailable in Home Assistant. Their last MQTT values remain retained for history and are replaced with fresh readings after the bridge reconnects.

Reducing load (and coexisting with the Smartset cloud app)

The ISM7 only accepts one local connection, so you can't run the Smartset local app at the same time as this add-on. The Smartset cloud app, however, uses the ISM7's separate portal connection — it can run alongside this add-on, but the small microcontroller is easily overwhelmed and you'll see drops/missing values if the add-on polls too hard. To keep things stable:

  • Raise interval. Heating values change slowly. 120 (2 min) is a good gentle default and is plenty for automations on outside/water temperature; use 60 only if you really want snappier updates. This is the single safest knob.
  • Trim the parameter file (see above). This is the biggest load reducer — keep only the values your dashboards/automations actually use. Your install logged the ">150 parameters" warning, so there's a lot to cut here.
  • Use Ethernet and consider disabling the Wolf portal connection if you don't need the cloud app.

For temperature-driven automations specifically, a 120 s refresh is more than adequate — outside temperature barely moves on that timescale, and water/flow temperatures are not used for sub-minute decisions.

Updating the vendored source

The C# program lives under ism7mqtt/src/. To pull in upstream fixes later, replace those folders with a newer snapshot from the original project and bump version in ism7mqtt/config.yaml. See CONTRIBUTING-vendoring.md.

Licensing

This repository combines two differently-licensed parts — see LICENSE.md:

  • The add-on wrapper (Dockerfile, run.sh, config.yaml, repository.yaml, CI) is licensed Apache-2.0.
  • The vendored program under ism7mqtt/src/ is GPL-3.0-only (originally by the ism7mqtt project). Redistribution of this repository or images built from it must comply with the GPL-3.0, including offering the corresponding source — which is included here.

Credits

Built on the excellent work of the original ism7mqtt project (zivillian and contributors) and the hassio-addon-ism7mqtt wrapper (b3nn0). This repo vendors and self-builds that source for full independence.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages