%global _empty_manifest_terminate_build 0 Name: python-pyrisco Version: 0.5.7 Release: 1 Summary: A python library to communicate with Risco Cloud. License: MIT URL: https://github.com/OnFreund/PyRisco Source0: https://mirrors.nju.edu.cn/pypi/web/packages/43/19/27ebe156c0ce632daf4da4e887609da078aac3903c27a0499c366de3d115/pyrisco-0.5.7.tar.gz BuildArch: noarch Requires: python3-aiohttp %description # PyRisco A python interface to Risco alarm systems through [Risco Cloud](https://riscocloud.com/ELAS/WebUI). ## Installation You can install pyrisco from [PyPI](https://pypi.org/project/pyrisco/): pip3 install pyrisco Python 3.7 and above are supported. ## How to use ### Cloud ```python from pyrisco import RiscoCloud r = RiscoCloud("", "", "") # you can also pass your own session to login. It will not be closed await r.login() alarm = await r.get_state() # partitions and zones are zero-based in Cloud print(alarm.partitions[0].armed) events = await r.get_events("2020-06-17T00:00:00Z", 10) print(events[0].name) print(alarm.zones[0].name) print(alarm.zones[0].triggered) print(alarm.zones[0].bypassed) # arm partition 0 await r.partitions[0].arm() # and disarm it await r.partitions[0].disarm() # Partial arming await r.partitions[0].partial_arm() # Group arming await r.partitions[0].group_arm("B") # or a zero based index await r.partitions[0].group_arm(1) # Don't forget to close when you're done await r.close() ``` ### Local ```python from pyrisco import RiscoLocal r = RiscoLocal("", , "") await r.connect() # Register handlers async def _error(error): print(f'Error handler: {error}') remove_error = r.add_error_handler(_error) async def _event(event): print(f'Event handler: {event}') remove_event = r.add_event_handler(_event) async def _default(command, result, *params): print(f'Default handler: {command}, {result}, {params}') remove_default = r.add_default_handler(_default) async def _zone(zone_id, zone): print(f'Zone handler: {zone_id}, {vars(zone)}') remove_zone = r.add_zone_handler(_zone) async def _partition(partition_id, partition): print(f'Partition handler: {partition_id}, {vars(partition)}') remove_partition = r.add_partition_handler(_partition) await r.connect() # partitions and zones are one-based in Cloud print(r.partitions[1].armed) print(r.zones[1].name) print(r.zones[1].triggered) print(r.zones[1].bypassed) # arm partition 1 await r.partitions[1].arm() # and disarm it await r.partitions[1].disarm() # Partial arming await r.partitions[1].partial_arm() # Group arming await r.partitions[1].group_arm("B") # or a zero based index await r.partitions[1].group_arm(1) # Don't forget to close when you're done await r.disconnect() ``` %package -n python3-pyrisco Summary: A python library to communicate with Risco Cloud. Provides: python-pyrisco BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-pyrisco # PyRisco A python interface to Risco alarm systems through [Risco Cloud](https://riscocloud.com/ELAS/WebUI). ## Installation You can install pyrisco from [PyPI](https://pypi.org/project/pyrisco/): pip3 install pyrisco Python 3.7 and above are supported. ## How to use ### Cloud ```python from pyrisco import RiscoCloud r = RiscoCloud("", "", "") # you can also pass your own session to login. It will not be closed await r.login() alarm = await r.get_state() # partitions and zones are zero-based in Cloud print(alarm.partitions[0].armed) events = await r.get_events("2020-06-17T00:00:00Z", 10) print(events[0].name) print(alarm.zones[0].name) print(alarm.zones[0].triggered) print(alarm.zones[0].bypassed) # arm partition 0 await r.partitions[0].arm() # and disarm it await r.partitions[0].disarm() # Partial arming await r.partitions[0].partial_arm() # Group arming await r.partitions[0].group_arm("B") # or a zero based index await r.partitions[0].group_arm(1) # Don't forget to close when you're done await r.close() ``` ### Local ```python from pyrisco import RiscoLocal r = RiscoLocal("", , "") await r.connect() # Register handlers async def _error(error): print(f'Error handler: {error}') remove_error = r.add_error_handler(_error) async def _event(event): print(f'Event handler: {event}') remove_event = r.add_event_handler(_event) async def _default(command, result, *params): print(f'Default handler: {command}, {result}, {params}') remove_default = r.add_default_handler(_default) async def _zone(zone_id, zone): print(f'Zone handler: {zone_id}, {vars(zone)}') remove_zone = r.add_zone_handler(_zone) async def _partition(partition_id, partition): print(f'Partition handler: {partition_id}, {vars(partition)}') remove_partition = r.add_partition_handler(_partition) await r.connect() # partitions and zones are one-based in Cloud print(r.partitions[1].armed) print(r.zones[1].name) print(r.zones[1].triggered) print(r.zones[1].bypassed) # arm partition 1 await r.partitions[1].arm() # and disarm it await r.partitions[1].disarm() # Partial arming await r.partitions[1].partial_arm() # Group arming await r.partitions[1].group_arm("B") # or a zero based index await r.partitions[1].group_arm(1) # Don't forget to close when you're done await r.disconnect() ``` %package help Summary: Development documents and examples for pyrisco Provides: python3-pyrisco-doc %description help # PyRisco A python interface to Risco alarm systems through [Risco Cloud](https://riscocloud.com/ELAS/WebUI). ## Installation You can install pyrisco from [PyPI](https://pypi.org/project/pyrisco/): pip3 install pyrisco Python 3.7 and above are supported. ## How to use ### Cloud ```python from pyrisco import RiscoCloud r = RiscoCloud("", "", "") # you can also pass your own session to login. It will not be closed await r.login() alarm = await r.get_state() # partitions and zones are zero-based in Cloud print(alarm.partitions[0].armed) events = await r.get_events("2020-06-17T00:00:00Z", 10) print(events[0].name) print(alarm.zones[0].name) print(alarm.zones[0].triggered) print(alarm.zones[0].bypassed) # arm partition 0 await r.partitions[0].arm() # and disarm it await r.partitions[0].disarm() # Partial arming await r.partitions[0].partial_arm() # Group arming await r.partitions[0].group_arm("B") # or a zero based index await r.partitions[0].group_arm(1) # Don't forget to close when you're done await r.close() ``` ### Local ```python from pyrisco import RiscoLocal r = RiscoLocal("", , "") await r.connect() # Register handlers async def _error(error): print(f'Error handler: {error}') remove_error = r.add_error_handler(_error) async def _event(event): print(f'Event handler: {event}') remove_event = r.add_event_handler(_event) async def _default(command, result, *params): print(f'Default handler: {command}, {result}, {params}') remove_default = r.add_default_handler(_default) async def _zone(zone_id, zone): print(f'Zone handler: {zone_id}, {vars(zone)}') remove_zone = r.add_zone_handler(_zone) async def _partition(partition_id, partition): print(f'Partition handler: {partition_id}, {vars(partition)}') remove_partition = r.add_partition_handler(_partition) await r.connect() # partitions and zones are one-based in Cloud print(r.partitions[1].armed) print(r.zones[1].name) print(r.zones[1].triggered) print(r.zones[1].bypassed) # arm partition 1 await r.partitions[1].arm() # and disarm it await r.partitions[1].disarm() # Partial arming await r.partitions[1].partial_arm() # Group arming await r.partitions[1].group_arm("B") # or a zero based index await r.partitions[1].group_arm(1) # Don't forget to close when you're done await r.disconnect() ``` %prep %autosetup -n pyrisco-0.5.7 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-pyrisco -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 10 2023 Python_Bot - 0.5.7-1 - Package Spec generated