diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:24:04 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:24:04 +0000 |
commit | 2d3531403f09d927b5631880ceff29f49b85fa97 (patch) | |
tree | 769150d327bd4f780be9b91c21c743866833dbf2 | |
parent | 7a17712a82755fef4cffd714271c8ca88ae80368 (diff) |
automatic import of python-tasmotadevicecontroller
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-tasmotadevicecontroller.spec | 207 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 209 insertions, 0 deletions
@@ -0,0 +1 @@ +/tasmotadevicecontroller-0.0.8.tar.gz diff --git a/python-tasmotadevicecontroller.spec b/python-tasmotadevicecontroller.spec new file mode 100644 index 0000000..37b52a2 --- /dev/null +++ b/python-tasmotadevicecontroller.spec @@ -0,0 +1,207 @@ +%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 +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.8-1 +- Package Spec generated @@ -0,0 +1 @@ +7b167b30351fe19122deed8a0b3ff63e tasmotadevicecontroller-0.0.8.tar.gz |