Skip to content

v1.0.0 - First release

Choose a tag to compare

@VoidElle VoidElle released this 07 Jun 09:35
· 13 commits to main since this release

Features

  • Async Python client for iAlarm-MK alarm panels via the local Meian TCP protocol
  • Arm Away, Arm Stay, Arm Partial, Disarm, Cancel Alarm
  • Read alarm status, zone list, and network info
  • Framed two-phase socket read: large MK7 responses (>1024 bytes) always received in full
  • TCP keep-alive (SO_KEEPALIVE) to prevent idle connection drops at the OS level
  • Application-level keepalive: background task polls status every 30 s to prevent panel idle timeouts
  • Auto-reconnect: each command retries once on connection drop before raising
  • Concurrent-safe: internal asyncio.Lock serializes all commands (Home Assistant coordinator safe)
  • Async context manager support (async with)
  • Type-safe dataclasses: AlarmStatusModel, ZoneModel, NetworkInfoModel
  • Structured exceptions: IAlarmMkConnectionError, IAlarmMkLoginError, IAlarmMkAlarmError
  • Comprehensive debug logging at every protocol step

Supported panels

Model Default TCP port
iAlarm MK7 8000
iAlarm MK2 18034

Full Changelog: https://github.com/VoidElle/open-ialarm-mk-local-api/commits/v1.0.0