Releases: wildekek/aiohortos
Release list
v0.3.1
Fixes the refresh-token fallback: a rejected refresh token now falls back to re-authenticating with the API key.
_read() maps 401 and 403 to HortosAuthenticationError, which is a sibling of HortosResponseError rather than a subclass, so _bearer() never caught it. A revoked or otherwise rejected refresh token surfaced as an authentication failure even though the API key was still valid.
The existing fallback test only covered a 500 response, which was caught; the 401 path is now covered too.
v0.3.0
Adds identifier naming helpers, moving the readout identifier grammar into the library alongside the enumeration decoding.
split_camel()—VentPositionLeewardSidebecomesVent position leeward side, keeping acronyms such asCO2intact.readout_display_name()— turns an identifier into a friendly name, dropping the defaultMeasuredkind (and Ridder'sMeasueredtypo of it) and parenthesising the others.readout_subject()— the identifier without its-kindsuffix, lowercased.disambiguate_source_names()— resolves clashing source display names by appending the source type, then a number from the technical name.
No behaviour changes to existing API.
v0.2.0
Adds decode_cardinal_wind_direction(), moving the HortOS wind-direction enumeration table into the library where the rest of the protocol knowledge lives.
Only whole-number member ids in the 8772-8787 block decode to a bearing; anything else returns None. Previously a consumer rounding the value could turn a fractional out-of-range id such as 8771.6 into due north.
v0.1.1
Documentation only — no code changes.
Makes the community/unsupported status explicit, at Ridder's request: the library is not an official or certified Ridder product, Ridder's support boundary is the HortOS Automation API itself, and the API carries no backward-compatibility guarantee for community integrations.
v0.1.0
Initial release: async, read-only client for the Ridder HortOS Automation API.
- API-key authentication with transparent bearer/refresh token renewal
- Devices, device health, readout definitions, latest readouts, readout history
- Typed models for every payload, PEP 561 typed (
py.typed) - Extracted from the
ha-hortimaxHome Assistant integration