Skip to content

v0.2.1

Choose a tag to compare

@tronikos tronikos released this 25 Feb 00:48

This release represents a significant stabilization of the nest_legacy integration, resolving dozens of bugs related to state accuracy, Protobuf API reliability, and device-specific edge cases.

🚀 Highlights

  • Retry Logic: Added 3-attempt exponential backoff for API writes to handle frequent "502 Bad Gateway" errors from Nest servers.
  • Improved Event Handling: Camera events are now processed chronologically, ensuring simultaneous events (like "Person" and "Face") are both captured instead of the last one overwriting the first.
  • Enhanced Reliability: Fixed several "silent failures" where the integration would report a successful change even if the Nest API rejected it.

🌡️ Thermostats & Heat Link

  • Multi-Stage Support: Fixed an issue where legacy thermostats with Stage 2/3 heating or cooling would incorrectly report as "Idle."
  • Eco Mode Fixes:
    • Fixed a bug where Protobuf thermostats appeared "OFF" in Home Assistant when Eco Mode was active.
    • Resolved a race condition where setting the temperature while in Eco Mode would fail or write to the wrong settings.
    • Allowed setting Eco temperatures to exactly 0.0°C (previously ignored).
  • HVAC State Accuracy:
    • Added FAN hvac_action to show when the fan is running independently of heating/cooling.
    • Fixed IDLE vs OFF mapping; the thermostat now correctly shows "Off" when disabled.
    • Fixed fan state remaining "On" indefinitely after a timer expired (REST API).
  • Heat Link (EU):
    • Prevented hot water settings from being wiped (zeroed out) when toggling switches.
    • Fixed Hot Water schedule/mode changes for Legacy REST users.
    • Mapped internal hardware strings (e.g., "Amber-2") to human-readable names.
  • New Features: Added battery level sensors for thermostats and a toggle for Humidifier state.

🛡️ Nest Protect (Smoke/CO)

  • False Motion Fix: Prevented wired Nest Protects from reporting "False Positive" motion based on home-wide occupancy; motion is now strictly tied to the individual device.
  • Replace By Date: Fixed a timezone offset bug that caused the "Replace By" date to be off by one day in Western hemispheres.
  • Night Light: The Night Light brightness entity is now only created for Protect models that actually support the feature.
  • Status Granularity: Improved Smoke/CO state reporting for Protobuf-connected Protects.

📷 Cameras & Doorbells

  • Protobuf Event Support: Added support for personHeard, dogBarking, and unfamiliar-face event types.
  • Auth Awareness: Added a warning for non-Google (legacy) accounts, as the Protobuf API (required for newer camera events) is not accessible to them.
  • Chime Logic: Fixed availability logic for the Doorbell indoor chime switch.
  • Timestamp Fix: Resolved an issue where camera event media timestamps were displayed in 1970 due to inconsistent millisecond/second units.

🌡️ Temperature Sensors

  • Online Status: Fixed a math error where sensors were reported as "Online" forever; they now correctly go "Unavailable" if they haven't checked in for 4 hours.
  • Organization: Protobuf temperature sensors now correctly inherit their Location/Area from the Nest app.
  • Naming: Fixed a bug where all REST sensors were hardcoded to "Temperature Sensor" regardless of their actual name.

⚙️ Core Integration Improvements

  • Device Management: Added support for manually removing orphaned or stale devices from the Home Assistant UI.
  • Long-Term Statistics: Added proper state classes to the Filter Runtime sensor so usage can be graphed over time.
  • RCS Settings: Fixed a critical bug where toggling an active sensor could wipe the thermostat's Remote Comfort Sensing configuration.
  • Type Safety: Fixed battery_health_state to return a boolean instead of an integer to comply with HA standards.
  • Maintenance: Reduced log noise during the authentication process.

Full Changelog: v0.1.18...v0.2.1