Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

4 Commits

Repository files navigation

Python client for iAlarm

Also compatible with Meiantech, Allarmi365, and others

Install

python3 -m pip install ialarmclient-phoenix

Usage example

#!/usr/bin/env pythonimportasyncioimportialarmclientasyncdefstart():
ialarm=ialarmclient.IalarmClient(
username="username", # <- Your alarm web interface usernamepassword="password", # <- Your alarm web interface passwordurl="http://192.168.123.123"# <- Your alarm web interface URL (no trailing slash)
)
# Refresh alarm status, to be called every time you need to read updated information# May take up to 30-40 seconds the first time. Subsequent calls will be almost immediate.awaitialarm.refresh() # Retrieve information about your alarm zones (name, status, etc...)zones=awaitialarm.get_zones()
forzoneinzones:
ifzone.type!=ialarmclient.ZONE_TYPE_DISABLED:
print("Zone {} is {}".format(zone.number, zone.name))
# Other information can be read (see IalarmZone)# Retrieve alarm status (armed, disarmed, power failure, etc...)status=awaitialarm.get_status()
# Commands to arm/disarm your systemawaitialarm.arm_stay()
awaitialarm.arm_away()
awaitialarm.disarm()
awaitialarm.cancel_alarm()
# List all zones in alarmstatus=awaitialarm.get_status()
foralarmed_zoneinstatus.alarmed_zones:
print("Zone {} is alarmed".format(alarmed_zone.name))
# Status information for your systemifstatus.power_source_failure:
print("Power failure")
ifstatus.low_battery:
print("Low battery")
ifstatus.panic_alarm:
print("Panic alarm triggered")
ifstatus.arm_status==ialarmclient.STATUS_ARMED_AWAY:
print("System armed")
elifstatus.arm_status==ialarmclient.STATUS_ARMED_STAY:
print("System armed (STAY)")
elifstatus.arm_status==ialarmclient.STATUS_DISARMED:
print("System disarmed") if__name__=="__main__":
loop=asyncio.get_event_loop()
loop.run_until_complete(start())

About

Python client for iAlarm

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages