81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
# Tasmotonov
|
|
|
|
This is a very simple CLI script combined with a small GUI application which allows you to turn on or off multiple tasmota devices specified.
|
|
|
|
|
|
## Name
|
|
|
|
Maybe it's straightforward or obvious, but just for completeness: the name comes from
|
|
|
|
1. The direct bond to tasmota (written for its "API" if one can call the HTTP endpoints an API)
|
|
2. The ability to turn on and off tasmota devices ("on" and "off" pronounced directly one after the other sounds (a bit) like "onov")
|
|
|
|
|
|
## CLI Usage
|
|
|
|
```
|
|
usage: Tasmotonov - simply toggle multiple tasmota lights [-h] [-v] [--version] {file,inline} data {on,off,toggle}
|
|
|
|
A very simple script which allows you to turn on/off multiple tasmota devices specified.
|
|
|
|
positional arguments:
|
|
{file,inline} Select either to read the adresses (of the devices) from a "file" or from "inline"
|
|
data Either the path to the file, or a comma- or semicolon-separated list of tasmota adresses.
|
|
{on,off,toggle} Select to turn all tasmota devices "on" or "off" or "toggle" (case insensitive)
|
|
|
|
options:
|
|
-h, --help show this help message and exit
|
|
-v, --verbose Turn on verbose file output
|
|
--version show program's version number and exit
|
|
|
|
Info: if you choose a file as source, this files needs to contain the addresses of the tasmota devices either comma-separated, semicolon-separated, or newline-separated!
|
|
|
|
© Benjamin Burkhardt, 2025
|
|
```
|
|
|
|
|
|
## Installation
|
|
|
|
The CLI script ([tasmotonov.py](tasmotonov.py)) relies on two libaries apart from python3's standard libraries:
|
|
|
|
- `fqdn`: for validating the FQDN
|
|
- `requests`: for making the HTTP requests
|
|
|
|
To install it, just execute the following command:
|
|
|
|
```bash
|
|
pip install fqdn requests
|
|
```
|
|
|
|
---
|
|
|
|
The GUI application is based on Qt with it's python3 bindings PyQt6:
|
|
|
|
- `PySide6`: for running all the GUI stuff
|
|
|
|
To install it, just execute the following command:
|
|
|
|
```bash
|
|
pip install PySide6
|
|
```
|
|
|
|
|
|
## Running
|
|
|
|
CLI: Use `./tasmotonov.py`
|
|
|
|
GUI: Use `./tasmotonov-gui.py`
|
|
|
|
|
|
## Plans
|
|
|
|
I plan to add
|
|
|
|
- a darkmode maybe (but of course the interface doesn't look good either lol ;)
|
|
- and bundle everything together to get a desktop application (e.g. runnable under windows without development tools)
|
|
|
|
|
|
## License
|
|
|
|
This project is licensed under the terms of the GNU General Public License v3.0 or later, see [COPYING](COPYING).
|