%global _empty_manifest_terminate_build 0 Name: python-tasmotadevicecontroller Version: 0.0.8 Release: 1 Summary: Control Tasmota devices via their web api License: GNU General Public License v3 (GPLv3) URL: https://github.com/chaptergy/tasmota-device-controller Source0: https://mirrors.nju.edu.cn/pypi/web/packages/de/cd/277e5d6eae4d09175a189990f59cc3d36eb2a7a63abc2c4359bffc917b9c/tasmotadevicecontroller-0.0.8.tar.gz BuildArch: noarch %description # Tasmota Device Controller This packag provides async wrappers for Tasmota's web request API. Only very few requests are implemented so far! If you need other requests, please have a look at the section [Contributing](#contributing), or create an issue. `get` methods return the value of the fetched item, `set` methods return the new set value (so what the `get` method would return after the set). However there are some exceptions like `BLINK` for `setPower()` which always returns `True`, but that should be mentioned in the methods description. Since this package was created for a Home Assistant integration, you can check out [that integration](https://github.com/chaptergy/homeassistant-tasmota-switch) for other sample usage. Example usage: ```py import asyncio from tasmotadevicecontroller import TasmotaDevice from tasmotadevicecontroller import tasmota_types as t async def main(): device = await TasmotaDevice.connect('192.168.10.21') # Get friendly name (of first output, which is the default output) nameResult = await device.getFriendlyName() print(nameResult) # Returns 'My Tasmota Plug' # Get power of first output getResult = await device.getPower() print(getResult) # Returns True (on) # Set power of first output to on setResult = await device.setPower(t.PowerType.TOGGLE) print(setResult) # Returns True or False (depending if the device was switched on or off) loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` ## Contributing If you want to add new requests, can implement these commands and create a merge request on [GitHub](https://github.com/chaptergy/tasmota-device-controller). Almost every command is implemented as one getter method and one setter method. Add your command if possible in the same way inside the `TasmotaDevice` class. Remember to add descriptions to each method. This description can usually be taken from the Tasmota wiki. Also, remember to always use `async` `await`! If the command takes values from a specific set of values, create an `Enum` inside `tasmota_types.py` for it. %package -n python3-tasmotadevicecontroller Summary: Control Tasmota devices via their web api Provides: python-tasmotadevicecontroller BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-tasmotadevicecontroller # Tasmota Device Controller This packag provides async wrappers for Tasmota's web request API. Only very few requests are implemented so far! If you need other requests, please have a look at the section [Contributing](#contributing), or create an issue. `get` methods return the value of the fetched item, `set` methods return the new set value (so what the `get` method would return after the set). However there are some exceptions like `BLINK` for `setPower()` which always returns `True`, but that should be mentioned in the methods description. Since this package was created for a Home Assistant integration, you can check out [that integration](https://github.com/chaptergy/homeassistant-tasmota-switch) for other sample usage. Example usage: ```py import asyncio from tasmotadevicecontroller import TasmotaDevice from tasmotadevicecontroller import tasmota_types as t async def main(): device = await TasmotaDevice.connect('192.168.10.21') # Get friendly name (of first output, which is the default output) nameResult = await device.getFriendlyName() print(nameResult) # Returns 'My Tasmota Plug' # Get power of first output getResult = await device.getPower() print(getResult) # Returns True (on) # Set power of first output to on setResult = await device.setPower(t.PowerType.TOGGLE) print(setResult) # Returns True or False (depending if the device was switched on or off) loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` ## Contributing If you want to add new requests, can implement these commands and create a merge request on [GitHub](https://github.com/chaptergy/tasmota-device-controller). Almost every command is implemented as one getter method and one setter method. Add your command if possible in the same way inside the `TasmotaDevice` class. Remember to add descriptions to each method. This description can usually be taken from the Tasmota wiki. Also, remember to always use `async` `await`! If the command takes values from a specific set of values, create an `Enum` inside `tasmota_types.py` for it. %package help Summary: Development documents and examples for tasmotadevicecontroller Provides: python3-tasmotadevicecontroller-doc %description help # Tasmota Device Controller This packag provides async wrappers for Tasmota's web request API. Only very few requests are implemented so far! If you need other requests, please have a look at the section [Contributing](#contributing), or create an issue. `get` methods return the value of the fetched item, `set` methods return the new set value (so what the `get` method would return after the set). However there are some exceptions like `BLINK` for `setPower()` which always returns `True`, but that should be mentioned in the methods description. Since this package was created for a Home Assistant integration, you can check out [that integration](https://github.com/chaptergy/homeassistant-tasmota-switch) for other sample usage. Example usage: ```py import asyncio from tasmotadevicecontroller import TasmotaDevice from tasmotadevicecontroller import tasmota_types as t async def main(): device = await TasmotaDevice.connect('192.168.10.21') # Get friendly name (of first output, which is the default output) nameResult = await device.getFriendlyName() print(nameResult) # Returns 'My Tasmota Plug' # Get power of first output getResult = await device.getPower() print(getResult) # Returns True (on) # Set power of first output to on setResult = await device.setPower(t.PowerType.TOGGLE) print(setResult) # Returns True or False (depending if the device was switched on or off) loop = asyncio.get_event_loop() loop.run_until_complete(main()) ``` ## Contributing If you want to add new requests, can implement these commands and create a merge request on [GitHub](https://github.com/chaptergy/tasmota-device-controller). Almost every command is implemented as one getter method and one setter method. Add your command if possible in the same way inside the `TasmotaDevice` class. Remember to add descriptions to each method. This description can usually be taken from the Tasmota wiki. Also, remember to always use `async` `await`! If the command takes values from a specific set of values, create an `Enum` inside `tasmota_types.py` for it. %prep %autosetup -n tasmotadevicecontroller-0.0.8 %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-tasmotadevicecontroller -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Mon Apr 10 2023 Python_Bot - 0.0.8-1 - Package Spec generated