v0.15.0 — LSI water balance from your own test results
Added
- LSI sensor (Langelier Saturation Index): computed live from the (calibrated) pH + water temperature and your manual test results — enter them in the new Total alkalinity / Calcium hardness / Cyanuric acid / TDS (test) entities after each strip/drop test. The math is pinned to the published industry standards (CDC MAHC 2024 Annex table, Taylor/CPO charts, Wojtowicz closed forms, PHTA's pH-dependent CYA correction — including the classic CF=log₁₀(0.4·CH) chart factor that most naive implementations get wrong by +0.4). For saltwater pools the TDS term automatically uses the live salinity reading.
- Water balance sensor interpreting the LSI: severely corrosive / slightly corrosive / balanced (−0.3…+0.3) / slightly scaling (+0.3…+0.5) / scale forming.
- Test coverage for the last untested paths from the audit (card/service registration, cloud-secret re-auth, pump-auto restore after restart).
Notes
- Measurement-history backfill via Tuya's log APIs was investigated against a live project and dropped: the free IoT Core tier returns no data-point history (only online/offline events). Documented in the README.
No breaking changes. After updating via HACS, restart Home Assistant. To get an LSI: fill in at least Total alkalinity + Calcium hardness from your latest water test.