Releases: frenck/spook
v5.0.0
π»π»π»π»π»π»π»π»π»π»
Spook 5 focuses on making repairs more useful and less noisy.
A major release, but the major part of it can be found in making the foundation of Spook more solid.
A lot of work went into improving how Spook detects unknown entities and actions in automations, scripts, dashboards, templates, helpers, and devices. The result should be fewer false positives, better repair timing, and behavior that more closely matches Home Assistant itself.
This release also adds new helper actions, todo entity support, improved translations, and a much stronger test setup behind the scenes.
Thanks to everyone who helped out on this one!
../Frenck
Blogging my personal ramblings at: https://frenck.dev
Or subscribe to my bi-weekly newsletter: https://frenck.dev/newsletter
β¨ New features
- Add sensor for todo entities @josephabbey (#1116)
- Add create and delete services for input number helpers @potelux (#1222)
- Add user enable and disable actions @alec-pinson (#1187)
- Detect unknown actions in scripts @frenckatron (#1282)
- Add Simplified and Traditional Chinese translations (zh-Hans & zh-Hant) @hzonz (#1288)
- Allow templates for zone coordinates @frenckatron (#1308)
π Bug fixes
- Use event-payload PR label verification @frenckatron (#1279)
- Redirect repairs to the first view with unknown entities @piitaya (#1172)
- Fix inverse helper device linking (breaks in HA 2026.8) @andrew-codechimp (#1227)
- Fix catalan translations @Rabosa616 (#1265)
- Update cs.json @petrmatula190 (#1233)
- sort the entity list in the unknown entity repair message for dashboards @besteru (#1163)
- Fix Swedish translations in sv.json @adnansarajlic (#1229)
- Fix Czech translations for automation errors @3dg1luk43 (#1207)
- Fix placeholders in Finnish translation @sofkaski (#1166)
- Improve Swedish repair translations @razzietheman (#1159)
- Fix translated placeholders in translations @frenckatron (#1280)
- Fix fired one-time listener cleanup @frenckatron (#1281)
- Ignore concatenated template entity fragments @frenckatron (#1284)
- Ignore notify targets in automation entity checks @frenckatron (#1283)
- Fix add area to floor service schema @frenckatron (#1293)
- Fix recorder statistics metadata import @frenckatron (#1294)
- Allow enabling disabled devices by ID @frenckatron (#1295)
- Ignore repair events without action @frenckatron (#1296)
- Recheck automation services when components load @frenckatron (#1299)
- Handle script referenced entity extraction errors @frenckatron (#1305)
- Skip disabled service sequence steps @frenckatron (#1309)
- Ignore entity ID prefixes in templates @frenckatron (#1306)
- Handle string native number values @frenckatron (#1303)
- Ignore Jinja import filenames @frenckatron (#1307)
- Fix Spook action names in translations @frenckatron (#1311)
- Ignore event payloads in automation repair checks @frenckatron (#1312)
- Clean up repair listeners on deactivate @frenckatron (#1314)
- Reduce repeated template extraction work @frenckatron (#1315)
- Inspect plural automation config sections @frenckatron (#1319)
- Skip disabled automations for service repairs @frenckatron (#1323)
- Align script and automation counts with UI @frenckatron (#1320)
- Ignore event data device IDs in plural triggers @frenckatron (#1321)
- Ignore entity references in Jinja comments @frenckatron (#1322)
- Treat time date sensors as known entities @frenckatron (#1317)
- Cascade device enable and disable actions @frenckatron (#1318)
- Offer to enable existing Spook entry @frenckatron (#1316)
- Preserve repair issue dismissal state @frenckatron (#1324)
- Recheck automation repairs on state changes @frenckatron (#1325)
- Recheck dashboard repairs on state changes @frenckatron (#1326)
π Enhancements
- Find unknown entities in heading badge @piitaya (#1173)
- Extract unknown reference repair base classes @frenckatron (#1276)
π§° Maintenance
- Translations update from Hosted Weblate @weblate (#1083)
- Fix typo in issue template @davet2001 (#1088)
- Add Home Assistant test harness @frenckatron (#1266)
- Add Python 3.14 coverage testing @frenckatron (#1268)
- Remove stale SonarCloud configuration @frenckatron (#1272)
- Use prek for local hooks @frenckatron (#1269)
- Add Scorecard and dependency review @frenckatron (#1271)
- Harden GitHub Actions with zizmor @frenckatron (#1270)
- Add helper extractor tests @frenckatron (#1274)
- Add unknown entity extractor tests @frenckatron (#1275)
- Use event-payload PR label verification @frenckatron (#1279)
- Add ectoplasm discovery contract tests @frenckatron (#1278)
- Translations update from Hosted Weblate @weblate (#1084)
- Cover already configured Spook config flow @frenckatron (#1289)
- Cover Spook inverse config flow @frenckatron (#1290)
- Cover entity extraction helpers @frenckatron (#1291)
- Cover Spook setup restart paths @frenckatron (#1292)
- Translations update from Hosted Weblate @weblate (#1298)
- Collapse dependency release notes @frenckatron (#1302)
- Translations update from Hosted Weblate @weblate (#1310)
π Documentation
- Fix spelling error in documentation/faq.md @raydixon (#1192)
- Correct minor typos in FAQ @CloCkWeRX (#1154)
- Rename action from hide_entity to update_entity_id @pfeifferch (#1120)
- Clarify hidden entity voice exposure @frenckatron (#1304)
β¬οΈ Dependency updates
80 changes
- β¬οΈ Lock file maintenance @renovate[bot] (#1089)
- β¬οΈ Update astral-sh/setup-uv action to v6.8.0 @renovate[bot] (#1091)
- β¬οΈ Update softprops/action-gh-release action to v2.3.4 @renovate[bot] (#1095)
- β¬οΈ Lock file maintenance @renovate[bot] (#1096)
- β¬οΈ Update softprops/action-gh-release action to v2.4.1 @renovate[bot] (#1097)
- β¬οΈ Update actions/setup-node action to v6 @renovate[bot] (#1104)
- β¬οΈ Update astral-sh/setup-uv action to v7 @renovate[bot] (#1099)
- β¬οΈ Update mcr.microsoft.com/devcontainers/python Docker tag to v3.14 @renovate[bot] (#1108)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.1 @renovate[bot] (#1111)
- β¬οΈ Update dependency node to v22.21.0 @renovate[bot] (#1113)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3.1.0 @renovate[bot] (#1114)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.2 @renovate[bot] (#1115)
- β¬οΈ Update dependency node to v22.21.1 @renovate[bot] (#1117)
- β¬οΈ Update softprops/action-gh-release action to v2.4.2 @renovate[bot] (#1122)
- β¬οΈ Update dependency node to v24 @renovate[bot] (#1118)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.3 @renovate[bot] (#1123)
- β¬οΈ Update dependency node to v24.11.1 @renovate[bot] (#1125)
- β¬οΈ Update actions/checkout action to v5.0.1 @renovate[bot] (#1130)
- β¬οΈ Update actions/checkout action to v6 @renovate[bot] (#1132)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.4 @renovate[bot] (#1133)
- β¬οΈ Update softprops/action-gh-release action to v2.5.0 @renovate[bot] (#1137)
- β¬οΈ Lock file maintenance @renovate[bot] (#1101)
- β¬οΈ Update actions/checkout action to v6.0.1 @renovate[bot] (#1139)
- β¬οΈ Update actions/setup-node action to v6.1.0 @renovate[bot] (#1140)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3.2.0 @renovate[bot] (#1141)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.5 @renovate[bot] (#1145)
- β¬οΈ Lock file maintenance @renovate[bot] (#1146)
- β¬οΈ Update dependency node to v24.12.0 @renovate[bot] (#1148)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.6 @renovate[bot] (#1149)
- β¬οΈ Lock file maintenance @renovate[bot] (#1150)
- β¬οΈ Lock file maintenance @renovate[bot] (#1152)
- β¬οΈ Lock file maintenance @renovate[bot] (#1155)
- β¬οΈ Lock file maintenance @renovate[bot] (#1158)
- β¬οΈ Update astral-sh/setup-uv action to v7.2.0 @renovate[bot] (#1160)
- β¬οΈ Lock file maintenance @renovate[bot] (#1164)
- β¬οΈ Update dependency node to v24.13.0 @renovate[bot] (#1167)
- β¬οΈ Update actions/setup-node action to v6.2.0 @renovate[bot] (#1168)
- β¬οΈ Lock file maintenance @renovate[bot] (#1170)
- β¬οΈ Update release-drafter/release-drafter action to v6.1.1 @renovate[bot] (#1171)
- β¬οΈ Update actions/checkout action to v6.0.2 @renovate[bot] (#1174)
- β¬οΈ Update release-drafter/release-drafter action to v6.2.0 @renovate[bot] (#1175)
- β¬οΈ Lock file maintenance @renovate[bot] (#1176)
- β¬οΈ Update astral-sh/setup-uv action to v7.2.1 @renovate[bot] (#1178)
- β¬οΈ Lock file maintenance @[renovate[bot]](https://github.co...
v5.0.0.beta1
π»π»π»π»π»π»π»π»π»π»
β¨ New features
- Add sensor for todo entities @josephabbey (#1116)
- Add create and delete services for input number helpers @potelux (#1222)
- Add user enable and disable actions @alec-pinson (#1187)
- Detect unknown actions in scripts @frenckatron (#1282)
- Add Simplified and Traditional Chinese translations (zh-Hans & zh-Hant) @hzonz (#1288)
- Allow templates for zone coordinates @frenckatron (#1308)
π Bug fixes
- Use event-payload PR label verification @frenckatron (#1279)
- Redirect repairs to the first view with unknown entities @piitaya (#1172)
- Fix inverse helper device linking (breaks in HA 2026.8) @andrew-codechimp (#1227)
- Fix catalan translations @Rabosa616 (#1265)
- Update cs.json @petrmatula190 (#1233)
- sort the entity list in the unknown entity repair message for dashboards @besteru (#1163)
- Fix Swedish translations in sv.json @adnansarajlic (#1229)
- Fix Czech translations for automation errors @3dg1luk43 (#1207)
- Fix placeholders in Finnish translation @sofkaski (#1166)
- Improve Swedish repair translations @razzietheman (#1159)
- Fix translated placeholders in translations @frenckatron (#1280)
- Fix fired one-time listener cleanup @frenckatron (#1281)
- Ignore concatenated template entity fragments @frenckatron (#1284)
- Ignore notify targets in automation entity checks @frenckatron (#1283)
- Fix add area to floor service schema @frenckatron (#1293)
- Fix recorder statistics metadata import @frenckatron (#1294)
- Allow enabling disabled devices by ID @frenckatron (#1295)
- Ignore repair events without action @frenckatron (#1296)
- Recheck automation services when components load @frenckatron (#1299)
- Handle script referenced entity extraction errors @frenckatron (#1305)
- Skip disabled service sequence steps @frenckatron (#1309)
- Ignore entity ID prefixes in templates @frenckatron (#1306)
- Handle string native number values @frenckatron (#1303)
- Ignore Jinja import filenames @frenckatron (#1307)
- Fix Spook action names in translations @frenckatron (#1311)
- Ignore event payloads in automation repair checks @frenckatron (#1312)
- Clean up repair listeners on deactivate @frenckatron (#1314)
- Reduce repeated template extraction work @frenckatron (#1315)
- Inspect plural automation config sections @frenckatron (#1319)
- Skip disabled automations for service repairs @frenckatron (#1323)
- Align script and automation counts with UI @frenckatron (#1320)
- Ignore event data device IDs in plural triggers @frenckatron (#1321)
- Ignore entity references in Jinja comments @frenckatron (#1322)
- Treat time date sensors as known entities @frenckatron (#1317)
- Cascade device enable and disable actions @frenckatron (#1318)
- Offer to enable existing Spook entry @frenckatron (#1316)
- Preserve repair issue dismissal state @frenckatron (#1324)
- Recheck automation repairs on state changes @frenckatron (#1325)
- Recheck dashboard repairs on state changes @frenckatron (#1326)
π Enhancements
- Find unknown entities in heading badge @piitaya (#1173)
- Extract unknown reference repair base classes @frenckatron (#1276)
π§° Maintenance
- Translations update from Hosted Weblate @weblate (#1083)
- Fix typo in issue template @davet2001 (#1088)
- Add Home Assistant test harness @frenckatron (#1266)
- Add Python 3.14 coverage testing @frenckatron (#1268)
- Remove stale SonarCloud configuration @frenckatron (#1272)
- Use prek for local hooks @frenckatron (#1269)
- Add Scorecard and dependency review @frenckatron (#1271)
- Harden GitHub Actions with zizmor @frenckatron (#1270)
- Add helper extractor tests @frenckatron (#1274)
- Add unknown entity extractor tests @frenckatron (#1275)
- Use event-payload PR label verification @frenckatron (#1279)
- Add ectoplasm discovery contract tests @frenckatron (#1278)
- Translations update from Hosted Weblate @weblate (#1084)
- Cover already configured Spook config flow @frenckatron (#1289)
- Cover Spook inverse config flow @frenckatron (#1290)
- Cover entity extraction helpers @frenckatron (#1291)
- Cover Spook setup restart paths @frenckatron (#1292)
- Translations update from Hosted Weblate @weblate (#1298)
- Collapse dependency release notes @frenckatron (#1302)
- Translations update from Hosted Weblate @weblate (#1310)
π Documentation
- Fix spelling error in documentation/faq.md @raydixon (#1192)
- Correct minor typos in FAQ @CloCkWeRX (#1154)
- Rename action from hide_entity to update_entity_id @pfeifferch (#1120)
- Clarify hidden entity voice exposure @frenckatron (#1304)
β¬οΈ Dependency updates
80 changes
- β¬οΈ Lock file maintenance @renovate[bot] (#1089)
- β¬οΈ Update astral-sh/setup-uv action to v6.8.0 @renovate[bot] (#1091)
- β¬οΈ Update softprops/action-gh-release action to v2.3.4 @renovate[bot] (#1095)
- β¬οΈ Lock file maintenance @renovate[bot] (#1096)
- β¬οΈ Update softprops/action-gh-release action to v2.4.1 @renovate[bot] (#1097)
- β¬οΈ Update actions/setup-node action to v6 @renovate[bot] (#1104)
- β¬οΈ Update astral-sh/setup-uv action to v7 @renovate[bot] (#1099)
- β¬οΈ Update mcr.microsoft.com/devcontainers/python Docker tag to v3.14 @renovate[bot] (#1108)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.1 @renovate[bot] (#1111)
- β¬οΈ Update dependency node to v22.21.0 @renovate[bot] (#1113)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3.1.0 @renovate[bot] (#1114)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.2 @renovate[bot] (#1115)
- β¬οΈ Update dependency node to v22.21.1 @renovate[bot] (#1117)
- β¬οΈ Update softprops/action-gh-release action to v2.4.2 @renovate[bot] (#1122)
- β¬οΈ Update dependency node to v24 @renovate[bot] (#1118)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.3 @renovate[bot] (#1123)
- β¬οΈ Update dependency node to v24.11.1 @renovate[bot] (#1125)
- β¬οΈ Update actions/checkout action to v5.0.1 @renovate[bot] (#1130)
- β¬οΈ Update actions/checkout action to v6 @renovate[bot] (#1132)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.4 @renovate[bot] (#1133)
- β¬οΈ Update softprops/action-gh-release action to v2.5.0 @renovate[bot] (#1137)
- β¬οΈ Lock file maintenance @renovate[bot] (#1101)
- β¬οΈ Update actions/checkout action to v6.0.1 @renovate[bot] (#1139)
- β¬οΈ Update actions/setup-node action to v6.1.0 @renovate[bot] (#1140)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3.2.0 @renovate[bot] (#1141)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.5 @renovate[bot] (#1145)
- β¬οΈ Lock file maintenance @renovate[bot] (#1146)
- β¬οΈ Update dependency node to v24.12.0 @renovate[bot] (#1148)
- β¬οΈ Update astral-sh/setup-uv action to v7.1.6 @renovate[bot] (#1149)
- β¬οΈ Lock file maintenance @renovate[bot] (#1150)
- β¬οΈ Lock file maintenance @renovate[bot] (#1152)
- β¬οΈ Lock file maintenance @renovate[bot] (#1155)
- β¬οΈ Lock file maintenance @renovate[bot] (#1158)
- β¬οΈ Update astral-sh/setup-uv action to v7.2.0 @renovate[bot] (#1160)
- β¬οΈ Lock file maintenance @renovate[bot] (#1164)
- β¬οΈ Update dependency node to v24.13.0 @renovate[bot] (#1167)
- β¬οΈ Update actions/setup-node action to v6.2.0 @renovate[bot] (#1168)
- β¬οΈ Lock file maintenance @renovate[bot] (#1170)
- β¬οΈ Update release-drafter/release-drafter action to v6.1.1 @renovate[bot] (#1171)
- β¬οΈ Update actions/checkout action to v6.0.2 @renovate[bot] (#1174)
- β¬οΈ Update release-drafter/release-drafter action to v6.2.0 @renovate[bot] (#1175)
- β¬οΈ Lock file maintenance @renovate[bot] (#1176)
- β¬οΈ Update astral-sh/setup-uv action to v7.2.1 @renovate[bot] (#1178)
- β¬οΈ Lock file maintenance @renovate[bot] (#1179)
- β¬οΈ Update astral-sh/setup-uv action to v7.3.0 @renovate[bot] (#1180)
- β¬οΈ Lock file maintenance @renovate[bot] (#1182)
- β¬οΈ Update dependency node to v24.13.1 @renovate[bot] (#1183)
- β¬οΈ Lock file maintenance @renovate[bot] (#1186)
- β¬οΈ Lock file maintenance @renovate[bot] (#1191)
- β¬οΈ Update dependency node to v24.14.0 @renovate[bot] (#1193)
- β¬οΈ Update astral-sh/setup-uv action to v7.3.1 @renovate[bot] (#1194)
- β¬οΈ Lock file maintenance @renovate[bot] (#...
v4.0.1
π»π»π»π»π»π»π»π»π»π»
π Bug fixes
- Fix broken language placeholders in some language strings @frenck (#1073)
- Fix service actions being identified as entities @frenck (#1076)
- Fix picking up filenames as entities @frenck (#1077)
π Enhancements
π»π»π»π»π»π»π»π»π»π»
v4.0.0
π»π»π»π»π»π»π»π»π»π»
π¨ Breaking changes
- Switch from rye to uv, Python 3.13, HA 2025.2 @frenck (#903)
- Remove template extensions @frenck (#935)
β¨ New features
- Add support for renaming entities dynamically @sibest19 (#877)
- Add support for detecting entity usage in Templates @frenck (#977)
π Bug fixes
- Fix for accessing lovelace_data['dashboards'] instead of lovelace_dat⦠@kashub (#902)
- Fix timer using changed to entity component @bendikrb (#884)
- Add type check for config in __async_extract_entities method @frenck (#973)
- Detect entities in card visibility @frenck (#974)
- Fix script repair to detect unknown entities in blueprint trigger inputs @copilot-swe-agent[bot] (#975)
- Add caching for all entity IDs and debounce updates in sensors @frenck (#978)
- Fix ghost busters listener management in async_setup_entry @frenck (#979)
- Fix Home Assistant 2025.10 compatibility @frenck (#1064)
- Fix copy/paste error and some alignment @dlein (#1010)
- Fix template variables warnings @frenck (#1065)
π§° Maintenance
- [ImgBot] Optimize images @imgbot[bot] (#810)
- Translations update from Hosted Weblate @weblate (#811)
- Translations update from Hosted Weblate @weblate (#809)
- Translations update from Hosted Weblate @weblate (#910)
- Migrate pre-commit configuration @frenck (#913)
- Translations update from Hosted Weblate @weblate (#914)
- π Updates maintenance/license year to 2025 @frenck (#915)
- Translations update from Hosted Weblate @weblate (#917)
- Translations update from Hosted Weblate @weblate (#928)
- Translations update from Hosted Weblate @weblate (#929)
- Translations update from Hosted Weblate @weblate (#932)
- Translations update from Hosted Weblate @weblate (#938)
- Translations update from Hosted Weblate @weblate (#939)
- Translations update from Hosted Weblate @weblate (#940)
- Translations update from Hosted Weblate @weblate (#954)
- Translations update from Hosted Weblate @weblate (#993)
- Translations update from Hosted Weblate @weblate (#992)
- Translations update from Hosted Weblate @weblate (#994)
- Translations update from Hosted Weblate @weblate (#995)
π Documentation
- Typo: a instead of an scary toolbox @jmartens (#860)
- Fix link from Core Extensions to Devices & Entities @gapple (#867)
- Remove old HACS install instructions @frenck (#911)
β¬οΈ Dependency updates
Details
- β¬οΈ Update eifinger/setup-rye action to v4.2.3 @renovate[bot] (#820)
- β¬οΈ Update dependency node to v20.17.0 @renovate[bot] (#822)
- β¬οΈ Update eifinger/setup-rye action to v4.2.4 @renovate[bot] (#833)
- β¬οΈ Update actions/setup-node action to v4.0.4 @renovate[bot] (#835)
- β¬οΈ Update eifinger/setup-rye action to v4.2.5 @renovate[bot] (#836)
- β¬οΈ Update actions/checkout action to v4.2.0 @renovate[bot] (#837)
- β¬οΈ Update eifinger/setup-rye action to v4.2.6 @renovate[bot] (#838)
- β¬οΈ Update dependency node to v20.18.0 @renovate[bot] (#841)
- β¬οΈ Update actions/checkout action to v4.2.1 @renovate[bot] (#843)
- β¬οΈ Update eifinger/setup-rye action to v4.2.7 @renovate[bot] (#849)
- β¬οΈ Update actions/checkout action to v4.2.2 @renovate[bot] (#850)
- β¬οΈ Update actions/setup-node action to v4.1.0 @renovate[bot] (#851)
- β¬οΈ Update softprops/action-gh-release action to v2.0.9 @renovate[bot] (#855)
- β¬οΈ Update dependency node to v22 @renovate[bot] (#853)
- β¬οΈ Update softprops/action-gh-release action to v2.1.0 @renovate[bot] (#859)
- β¬οΈ Update dependency node to v22.12.0 @renovate[bot] (#871)
- β¬οΈ Update eifinger/setup-rye action to v4.2.8 @renovate[bot] (#873)
- β¬οΈ Update softprops/action-gh-release action to v2.2.0 @renovate[bot] (#874)
- β¬οΈ Update softprops/action-gh-release action to v2.2.1 @renovate[bot] (#881)
- β¬οΈ Update dependency node to v22.13.0 @renovate[bot] (#882)
- β¬οΈ Update release-drafter/release-drafter action to v6.1.0 @renovate[bot] (#888)
- β¬οΈ Update dependency node to v22.13.1 @renovate[bot] (#889)
- β¬οΈ Update actions/setup-node action to v4.2.0 @renovate[bot] (#893)
- β¬οΈ Update dependency node to v22.14.0 @renovate[bot] (#898)
- β¬οΈ Lock file maintenance @renovate[bot] (#904)
- β¬οΈ Update astral-sh/setup-uv action to v5.3.0 @renovate[bot] (#905)
- β¬οΈ Lock file maintenance @renovate[bot] (#906)
- β¬οΈ Update astral-sh/setup-uv action to v5.3.1 @renovate[bot] (#907)
- β¬οΈ Lock file maintenance @renovate[bot] (#908)
- β¬οΈ Lock file maintenance @renovate[bot] (#912)
- β¬οΈ Lock file maintenance @renovate[bot] (#918)
- β¬οΈ Update actions/setup-node action to v4.3.0 @renovate[bot] (#923)
- β¬οΈ Update astral-sh/setup-uv action to v5.4.0 @renovate[bot] (#927)
- β¬οΈ Update astral-sh/setup-uv action to v5.4.1 @renovate[bot] (#937)
- β¬οΈ Update actions/setup-node action to v4.4.0 @renovate[bot] (#952)
- β¬οΈ Update astral-sh/setup-uv action to v5.4.2 @renovate[bot] (#955)
- β¬οΈ Update softprops/action-gh-release action to v2.2.2 @renovate[bot] (#956)
- β¬οΈ Update dependency node to v22.15.0 @renovate[bot] (#958)
- β¬οΈ Update astral-sh/setup-uv action to v6 @renovate[bot] (#960)
- β¬οΈ Update astral-sh/setup-uv action to v6.0.1 @renovate[bot] (#961)
- β¬οΈ Update dependency node to v22.15.1 @renovate[bot] (#969)
- β¬οΈ Update dependency node to v22.16.0 @renovate[bot] (#970)
- β¬οΈ Update astral-sh/setup-uv action to v6.1.0 @renovate[bot] (#971)
- β¬οΈ Lock file maintenance @renovate[bot] (#924)
- β¬οΈ Lock file maintenance @renovate[bot] (#983)
- β¬οΈ Lock file maintenance @renovate[bot] (#987)
- β¬οΈ Update softprops/action-gh-release action to v2.3.0 @renovate[bot] (#989)
- β¬οΈ Update softprops/action-gh-release action to v2.3.2 @renovate[bot] (#991)
- β¬οΈ Lock file maintenance @renovate[bot] (#997)
- β¬οΈ Update astral-sh/setup-uv action to v6.2.1 @renovate[bot] (#998)
- β¬οΈ Update astral-sh/setup-uv action to v6.3.0 @renovate[bot] (#999)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3.0.1 @renovate[bot] (#1001)
- β¬οΈ Lock file maintenance @renovate[bot] (#1002)
- β¬οΈ Update dependency node to v22.17.0 @renovate[bot] (#1004)
- β¬οΈ Update astral-sh/setup-uv action to v6.3.1 @renovate[bot] (#1005)
- β¬οΈ Lock file maintenance @renovate[bot] (#1007)
- β¬οΈ Lock file maintenance @renovate[bot] (#1009)
- β¬οΈ Lock file maintenance @renovate[bot] (#1013)
- β¬οΈ Update dependency node to v22.17.1 @renovate[bot] (#1015)
- β¬οΈ Update astral-sh/setup-uv action to v6.4.0 @renovate[bot] (#1016)
- β¬οΈ Update astral-sh/setup-uv action to v6.4.1 @renovate[bot] (#1018)
- β¬οΈ Lock file maintenance @renovate[bot] (#1021)
- β¬οΈ Update astral-sh/setup-uv action to v6.4.3 @renovate[bot] (#1022)
- β¬οΈ Lock file maintenance @renovate[bot] (#1025)
- β¬οΈ Update dependency node to v22.18.0 @renovate[bot] (#1029)
- β¬οΈ Lock file maintenance @renovate[bot] (#1030)
- β¬οΈ Lock file maintenance @renovate[bot] (#1036)
- β¬οΈ Update actions/checkout action to v4.3.0 @renovate[bot] (#1037)
- β¬οΈ Update actions/checkout action to v5 @renovate[bot] (#1038)
- β¬οΈ Update astral-sh/setup-uv action to v6.5.0 @renovate[bot] (#1039)
- β¬οΈ Lock file maintenance @renovate[bot] (#1043)
- β¬οΈ Update astral-sh/setup-uv action to v6.6.0 @renovate[bot] (#1044)
- β¬οΈ Update actions/upload-pages-artifact action to v4 @renovate[bot] (#1045)
- β¬οΈ Lock file maintenance @[re...
v3.1.0
π»π»π»π»π»π»π»π»π»π»
This release prepares for the upcoming Home Assistant 2024.8 release π
While it is not required to upgrade (2024.8 isn't breaking Spook, and Spook not breaking 2024.8), it does take into account changes made in Home Assistant 2024.8. That release will rename "Services" to "Actions", which Spook has done now as well π
Furthermore, we have a brand new action available this release: homeassistant.list_orphaned_database_entities, contributed by @gieljnssns.
Oh! And @piitaya π dropped by to add support for finding unknown entities in the new (experimental) sections dashboards! Nice β€οΈ
β¨ New features
- Add list_orphaned_database_entities service @gieljnssns (#752)
π Bug fixes
- Fix decimal math inaccuracy in increment/decrement services @frenck (#766)
- Remove platinum quality scale markers (they were fake anyways) @frenck (#804)
π Enhancements
π§° Maintenance
- Translations update from Hosted Weblate @weblate (#747)
- Translations update from Hosted Weblate @weblate (#761)
- Rename 'service' to 'action' following Home Assistant 2024.8 @frenck (#805)
- Translations update from Hosted Weblate @weblate (#807)
π Documentation
- Rename 'service' to 'action' following Home Assistant 2024.8 @frenck (#805)
- Fix link to import statistics @frenck (#806)
β¬οΈ Dependency updates
Details
- β¬οΈ Update dependency node to v20.13.0 @renovate (#755)
- β¬οΈ Update softprops/action-gh-release action to v2.0.5 @renovate (#754)
- β¬οΈ Update actions/checkout action to v4.1.5 @renovate (#756)
- β¬οΈ Update dependency node to v20.13.1 @renovate (#757)
- β¬οΈ Update eifinger/setup-rye action to v3 @renovate (#759)
- β¬οΈ Update eifinger/setup-rye action to v3.0.1 @renovate (#765)
- β¬οΈ Update actions/checkout action to v4.1.6 @renovate (#767)
- β¬οΈ Update eifinger/setup-rye action to v3.0.2 @renovate (#770)
- β¬οΈ Update dependency node to v20.14.0 @renovate (#772)
- β¬οΈ Update actions/checkout action to v4.1.7 @renovate (#777)
- β¬οΈ Update softprops/action-gh-release action to v2.0.6 @renovate (#778)
- β¬οΈ Update dependency node to v20.15.0 @renovate (#779)
- β¬οΈ Update eifinger/setup-rye action to v3.0.3 @renovate (#780)
- β¬οΈ Update eifinger/setup-rye action to v4 @renovate (#788)
- β¬οΈ Update eifinger/setup-rye action to v4.0.2 @renovate (#789)
- β¬οΈ Update dependency node to v20.15.1 @renovate (#790)
- β¬οΈ Update actions/setup-node action to v4.0.3 @renovate (#791)
- β¬οΈ Update eifinger/setup-rye action to v4.1.0 @renovate (#792)
- β¬οΈ Update eifinger/setup-rye action to v4.2.0 @renovate (#793)
- β¬οΈ Update sigstore/gh-action-sigstore-python action to v3 @renovate (#794)
- β¬οΈ Update softprops/action-gh-release action to v2.0.7 @renovate (#795)
- β¬οΈ Update softprops/action-gh-release action to v2.0.8 @renovate (#797)
- β¬οΈ Update eifinger/setup-rye action to v4.2.1 @renovate (#799)
- β¬οΈ Update dependency node to v20.16.0 @renovate (#800)
- β¬οΈ Update eifinger/setup-rye action to v4.2.2 @renovate (#801)
π»π»π»π»π»π»π»π»π»π»
v3.0.1
π»π»π»π»π»π»π»π»π»π»
Small bugfix release. For the bigger changes/announcements from v3.0.0, see:
https://github.com/frenck/spook/releases/tag/v3.0.0
π Bug fixes
π»π»π»π»π»π»π»π»π»π»
v3.0.0
π»π»π»π»π»π»π»π»π»π»
Birthday release! π
Spook π» recently had his first birthday, and I'm celebrating that with some major changes that justifies this release to be a major release π€
Many have complained that Spook has an annoying license and an unfriendly tone that is discouraging and scary. Well, honestly, the scary part is a bit part of running custom integrations, I guess, the reason why he is a ghost in the first place... but... Agreed.
Therefore, as of today, Spook is MIT Licensed π
And not just that, Spook is no longer "Not your homie"... as of today, Spook is your homie! π
Yes, feel free to run it and use it. He is your friend.
Compatibility with Home Assistant 2024.5
This release fixes a few compatibility issues with Home Assistant 2024.5.
Upgrading Spook before Home Assistant is recommended but not critical.
If you swap the upgrade order, there will be no sweat!
Labels & Floors
Home Assistant 2024.4 brought your new organizational features: Floors & Labels.
This release of Spook π» adds support for those too!
Spook is able to detect the use of unknown labels & floors being used in your automations and script (and creates repairs for those), but also provides you a shitload of services that allows you to manage both floors and labels programmatically.
Read more about it in the label management and floor management documentation.
Changelog
There are many other small changes and improvements. Thanks everyone for contributing! β€οΈ
β¨ New features
- Detect unknown labels used in automations @frenck (#694)
- Detect unknown floors used in automations @frenck (#695)
- Detect unknown labels used in scripts @frenck (#696)
- Detect unknown floors used in scripts @frenck (#697)
- Allow setting icon on homeassistant.create_area service @frenck (#699)
- Add homeassistant.create_floor service @frenck (#702)
- Add homeassistant.add_alias_to_floor service @frenck (#703)
- Add homeassistant.remove_alias_from_floor service @frenck (#704)
- Add homeassistant.set_floor_aliases service @frenck (#705)
- Add homeassistant.add_area_to_floor service @frenck (#706)
- Add homeassistant.remove_area_from_floor service @frenck (#707)
- Add homeassistant.delete_floor service @frenck (#708)
- Add homeassistant.delete_label service @frenck (#712)
- Add homeassistant.create_label service @frenck (#713)
- Add homeassistant.add_label_to_area service @frenck (#715)
- Add homeassistant.add_label_to_device service @frenck (#716)
- Add homeassistant.add_label_to_entity service @frenck (#717)
- Add homeassistant.remove_label_from_area service @frenck (#718)
- Add homeassistant.remove_label_from_device service @frenck (#719)
- Add homeassistant.remove_label_from_entity service @frenck (#720)
π Bug fixes
- Fix gathering of all floor IDs @frenck (#710)
- Fix blocking I/O on event loop while importing modules @frenck (#722)
- Fix area and floor registry service calls @cdce8p (#732)
π Enhancements
- Migrate from Poetry to rye @frenck (#673)
- Use floor selector in floor related services @frenck (#711)
- Misc typing improvements @cdce8p (#731)
- Add EventType annotations @cdce8p (#733)
- Change Description dataclasses to frozen @cdce8p (#730)
- Make AbstractSpookEntityService and AbstractSpookEntityComponentService generic @cdce8p (#729)
π§° Maintenance
- Switch Spook to MIT license @frenck (#671)
- Spook: Your homie - Brand assets @frenck (#687)
- Spook: Your homie @frenck (#688)
- Require at least Home Assistant 2024.4.0 @frenck (#692)
- Clean up Poetry from Renovate configuration @frenck (#693)
- Require at least Home Assistant 2024.4.0 @frenck (#721)
- Move license to root of repo so GitHub picks it up @frenck (#723)
- Translations update from Hosted Weblate @weblate (#682)
- Translations update from Hosted Weblate @weblate (#685)
π Documentation
- Add mentions of Spook in media @frenck (#689)
- Some more doc tweaks @frenck (#690)
- Recommend Spook, instead of discourage the use @frenck (#724)
- Update recorder.md to improve YAML example. @BJReplay (#727)
- Add documentation for v3.0 features @frenck (#745)
β¬οΈ Dependency updates
- β¬οΈ Update actions/setup-python action to v5.1.0 @renovate (#683)
- β¬οΈ Update dependency node to v20.12.0 @renovate (#684)
- β¬οΈ Update eifinger/setup-rye action to v2.5.1 @renovate (#691)
- β¬οΈ Update dependency node to v20.12.1 @renovate (#714)
- β¬οΈ Update eifinger/setup-rye action to v2.5.2 @renovate (#734)
- β¬οΈ Update dependency node to v20.12.2 @renovate (#735)
- β¬οΈ Update actions/checkout action to v4.1.3 @renovate (#739)
- β¬οΈ Update eifinger/setup-rye action to v2.6.0 @renovate (#741)
- β¬οΈ Update actions/checkout action to v4.1.4 @renovate (#742)
π»π»π»π»π»π»π»π»π»π»
v2.2.4
v2.2.3
π»π»π»π»π»π»π»π»π»π»
This is a bug-fix release! π
- Fixes a compatibility issue with the upcoming Home Assistant 2024.4 π¨
- Fixes automatic cleanup of reported repair issues
- Fixes detecting empty device IDs
π Bug fixes
- Make cloud switch entity
_update_statefunction a coro @jpbede (#647) - Fix for event filter @andrew-codechimp (#666)
- Fix auto-cleanup of repair issues @frenck (#667)
- Fix detecting empty device IDs @frenck (#669)
π§° Maintenance
- Translations update from Hosted Weblate @weblate (#614)
- Translations update from Hosted Weblate @weblate (#616)
β¬οΈ Dependency updates
Details
- β¬οΈ Update dependency node to v20.11.1 @renovate (#622)
- β¬οΈ Update dependency homeassistant to v2024.2.2 @renovate (#625)
- β¬οΈ Update dependency ruff to v0.2.2 @renovate (#628)
- β¬οΈ Update dependency pre-commit to v3.6.2 @renovate (#629)
- β¬οΈ Lock file maintenance @renovate (#630)
- β¬οΈ Update dependency homeassistant to v2024.2.3 @renovate (#633)
- β¬οΈ Update dependency pylint to v3.0.4 @renovate (#634)
- β¬οΈ Update dependency pylint to v3.1.0 @renovate (#639)
- β¬οΈ Lock file maintenance @renovate (#640)
- β¬οΈ Update dependency homeassistant to v2024.2.4 @renovate (#641)
- β¬οΈ Update dependency homeassistant to v2024.2.5 @renovate (#643)
- β¬οΈ Lock file maintenance @renovate (#649)
- β¬οΈ Update dependency homeassistant to v2024.3.0 @renovate (#652)
- β¬οΈ Update softprops/action-gh-release action to v2 @renovate (#653)
- β¬οΈ Lock file maintenance @renovate (#654)
- β¬οΈ Update softprops/action-gh-release action to v2.0.3 @renovate (#656)
- β¬οΈ Update softprops/action-gh-release action to v2.0.4 @renovate (#657)
- β¬οΈ Update dependency ruff to v0.3.2 @renovate (#645)
- β¬οΈ Update dependency hass-nabucasa to v0.79.0 @renovate (#658)
- β¬οΈ Lock file maintenance @renovate (#662)
- β¬οΈ Update actions/deploy-pages action to v4.0.5 @renovate (#663)
- β¬οΈ Update dependency ruff to v0.3.4 @renovate (#661)
- β¬οΈ Update dependency homeassistant to v2024.3.3 @renovate (#659)
π»π»π»π»π»π»π»π»π»π»
v2.2.2
π»π»π»π»π»π»π»π»π»π»
Tiny bug fix release that adds backward-compatibility for automations that still use the legacy service_template property to call the service using a template.
