What's Changed
This release is focused on presence detection. We can now detect the presence and absence of trackers devices like TILE, NUT, BlueCharm (and other models identified here, the gateway will publish an offline message after tracker_timeout (120s per default) to set your controller to "Away" status.
Additionally, the Apple Watch, iPhone, and iPad can be used for presence detection using their IRK.
And of course numerous other enhancements detailed below, thanks @DigiH and @koenvervloesem !
New devices
Devices | Model | Measurements |
---|---|---|
ClearGrass/Qingping | CGP23W | temperature, humidity, atmospheric pressure, battery |
Aranet4 | CO₂ Monitor | temperature, humidity, pressure, carbon dioxide, battery |
Switchbot | Curtain model 3 | moving, position, light level, battery, calibration state |
New features
- prmac implementation by @DigiH in #187
- Apple devices Identity Address and IRK instructions by @DigiH in #190
- [DISC] HA discovery lock class added by @DigiH in #191
- Add option to disable BLE by @koenvervloesem in #196
- [DISC] device_tracker discovery by @DigiH in #213
- [DISC] device tracker discovery value_template to rssi by @DigiH in #215
- [DISC] Isolate "track" advanced property publishing by @DigiH in #217
- [DISC] Timeout for discovered device trackers by @DigiH in #219
Miscelleanous
- Process undecoded messages from MQTT the same way as from BLE by @koenvervloesem in #192
- Show command-line options alphabetically by @koenvervloesem in #195
- Show version in --help output by @koenvervloesem in #198
- Update Ruff version and use ruff-format instead of black formatter by @koenvervloesem in #199
- Fix undecoded servicedata by @DigiH in #204
- Fix TypeError for None values in diagnostics by @koenvervloesem in #206
- Don't crash when receiving JSON message without id by @koenvervloesem in #223
- Apple devices only unlocked fix by @DigiH in #221
Documentation
- [DOCS] Remove devices page as now generated by the decoder by @1technophile in #185
- [DOCS] pip upgrade addition by @koenvervloesem in #194
- [DOCS] Passive scanning path clarification by @DigiH in #200
- [DOC]S General documentation fixes, using Vale's Google style guide by @koenvervloesem in #211
- [DOCS] Further documentation fixes by enabling Google style suggestions by @koenvervloesem in #212
- [DOCS] Factorize configuration by @1technophile in #218
- [DOCS] Add IRK screenshot by @1technophile in #224
CI
- [CI] Run pre-commit on all files by @koenvervloesem in #214
- [CI] Ignore Ruff rules conflicting with formatter by @koenvervloesem in #209
- [CI] Run Vale in pre-commit to spellcheck documentation by @koenvervloesem in #210
- [CI] Run checks also on Python 3.12 by @koenvervloesem in #197
- [CI] Test build of Python package on all Python versions for every PR by @koenvervloesem in #201
- [CI] Update Vale to 3.0.4 by @koenvervloesem in #220
- [CI] Relax McCabe complexity limit to 15 by @koenvervloesem in #222
Full Changelog: v1.2.0...v1.3.0