Skip to content

Releases: donserdal/ha-windows-shutdown

v1.2.4

Choose a tag to compare

@donserdal donserdal released this 07 May 20:53

Overzicht van alle wijzigingen:
init.py — volledig herschreven:

async_setup + CONFIG_SCHEMA verwijderd (niet nodig zonder YAML-config)
Services verplaatst naar async_setup_entry met has_service guard → gold: action-setup
Services opgeruimd in async_unload_entry wanneer laatste entry wordt verwijderd
vol.Schema validatie op beide services (delay range 0-3600, shutdown_type in lijst)
_get_targets helper om duplicatie tussen de twee handlers te elimineren

coordinator.py:

ConfigEntryAuthFailed gebruikt nu translation_key="auth_failed"
device_info property toegevoegd (één centrale bron voor DeviceInfo)
async_notify heeft nu dezelfde state guard als async_send_shutdown
DEVICE_MANUFACTURER, DEVICE_MODEL geïmporteerd vanuit const

button.py + binary_sensor.py:

DeviceInfo aanmaak vervangen door coordinator.device_info
Dode imports verwijderd (CONF_HOST, CONF_PORT, DeviceInfo, DEVICE_MANUFACTURER, etc.)
HomeAssistantError in async_press gebruikt nu translation_key="press_failed"

strings.json / translations — nieuwe exceptions: auth_failed, press_failed

Full Changelog: v1.2.3...v1.2.4

v1.2.3

Choose a tag to compare

@donserdal donserdal released this 06 May 23:43

Full Changelog: v1.2.0...v1.2.3

v1.2.0

Choose a tag to compare

@donserdal donserdal released this 10 Apr 22:50

[1.2.0] — 2026-04-11

Added

  • Reauthentication flow: renew the API key via the UI without reinstalling the integration
  • Diagnostics: downloadable debug information for troubleshooting
  • Reconfigure flow: adjust delay and action type via the Configure button
  • mDNS scan is now thread-safe via threading.Lock
  • Port range validation (1–65535) for manual entry
  • PARALLEL_UPDATES = 1 on both platforms
  • ConfigEntryState.LOADED check for service calls

Changed

  • Service registration now uses the modern runtime_data approach
  • HTTP logic centralized in a single _async_request helper
  • API key is now private (self._api_key)
  • SHUTDOWN_TYPES changed from list to tuple
  • JSON parse error refined to JSONDecodeError
  • Button is greyed out when the PC is offline

Fixed

  • async_get_options_flow was in the wrong class
  • Duplicate definition of CONF_API_KEY in const.py
  • Port number used string literal 'port' instead of CONF_PORT
  • CRLF line endings in services.yaml