Releases: challgren/lennox-dds
Releases · challgren/lennox-dds
Release list
v0.1.21
- System config reader (groundwork for air/comfort settings). The bridge now
subscribes toLCC System Config Statusand surfaces the system parameters —
fan circulate time, dehumidification overcooling, the allergen-defender
setting, ventilation/humidity modes, temperature unit — in the sample as a
configobject. HA entities for these follow in a later release. (On firmware
where this config type is XTypes-incompatible it's simply absent — no entities,
no errors.)
v0.1.20
- Humidify / Dehumidify setpoint controls. Two new number entities let you
set the humidify and dehumidify targets (%RH) from Home Assistant, like the old
lennoxs30 integration. The bridge writes them through the same manual-slot
scheduleUpdate period as the temperature setpoints. They're capability-gated —
only created when your system actually publishes those fields, so homes without
humidity control won't see them.
v0.1.19
Integration-only — update via HACS; the add-on/bridge image is unchanged.
- Cool Setpoint & Heat Setpoint sensors. Two new sensors expose the cool and
heat setpoints directly (read from the zone's active period, so both are shown in
every HVAC mode — not just the mode-relevant one the climate card shows). They're
°F with a temperature device_class, so Home Assistant auto-converts them for a °C
household. Because they're sensors, setpoint changes now appear in normal history
and the logbook — the climate entity's logbook only records HVAC-mode changes,
never setpoint (attribute) changes, which is why setpoint edits looked like "no
activity."
v0.1.18
- Faster setpoint changes. Setpoint writes now mirror exactly what the Lennox
app sends: a complete period on the manual hold slot (schedule id16
instead of32) carrying both the heat and cool setpoints (with their
Celsius values) and theIDbit —period.validFlag = 241. The old write sent a
single cool-setpoint on the scheduled-override slot, which the M30 applied slowly
and variably (minutes, sometimes reverting). The unspecified setpoint and the
mode/fan are filled from the latest zone status so nothing else changes. This was
reverse-engineered from a live capture of the app's own DDS write. Writes still
land the same way (WROTE scheduleUpdate … rc=0); they should now take effect
much sooner. - Health check. The container now reports unhealthy when it stops receiving
zoneStatus samples (relay eviction, cert expiry, or the thermostat going offline)
— previously the process stayed "up" while the data silently froze. Home Assistant
surfaces this automatically; enable the add-on's Watchdog toggle to have
Supervisor auto-restart it. The staleness threshold defaults to 300s (the M30 has
multi-minute quiet gaps) and is tunable via the newhealth_max_ageoption
(30–3600s).
v0.1.17
v0.1.16
- Stability: clean shutdown. The bridge no longer prints a
RuntimeError: Event loop stopped before Future completedtraceback (and churn)
every time the add-on stops/restarts — SIGTERM now cancels the bridge and unwinds
gracefully, terminating the DDS subprocess. - Sensor-based reminders: also read
LCC Reminder Sensor Statusand fold them
into the Maintenance Due sensor alongside the timer-based reminders.
v0.1.15
Four new data sources from the thermostat's status topics (all validated live):
- Outdoor temperature + weather: a new Outdoor Temperature sensor (from
the weather-service value the M30 displays, falling back to the outdoor-unit
sensor), plus Outdoor Humidity and Wind Speed, and city/state/condition. - Filter/maintenance reminders: a Maintenance Due binary sensor (on when a
reminder has expired), with each reminder's % life remaining as attributes.
Empty reminder slots are filtered out. - Smart Away: a Smart Away binary sensor (geofence away enabled).
- Demand response (utility OpenADR / AHRI 1380): a Demand Response Event
binary sensor — on during an active utility peak event, with pending/opt-out/
start/end and enrollment as attributes. - Config: removed the
topicanddomainoptions — they're fixed by the
protocol now that the bridge reads many hardcoded status topics.
v0.1.14
- HVAC alerts. The bridge now subscribes to the
LCC Alert Active/
LCC Alert Clearedtopics and streams active faults. The integration adds an
Alert binary sensor (device classproblem) per system —onwhen a fault
is active, with the alertcodes,messages, and full details as attributes.
Great for automations that notify you when the system reports a problem.
v0.1.13
- Away switch works for real. The bridge now subscribes to the dedicated
LCC Manual Away Statustopic and streams the truemanualAwaystate, so
the Away switch reflects reality — including away set on the thermostat or the
Lennox app — instead of snapping back. The switch is re-enabled (no longer
experimental/disabled-by-default). - Timestamped logs. Every add-on log line is now prefixed with the date/time
(the C++ bridge's output is routed through the same timestamped logger), so
debugcaptures show exactly when each event happened.
v0.1.12
- Diagnostic: with
debug_away: true, the add-on now enumerates every topic
the thermostat publishes (via the DCPSPublication built-in topic) and logs each
as[debug-topics] publishes topic='…' type='…'. SincezoneStatuscarries no
clean away flag, this locates the system/status topic that does — the next step
toward true Away-state detection.