aboutsummaryrefslogtreecommitdiffstats
path: root/tasmota-http-cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'tasmota-http-cli.py')
-rw-r--r--tasmota-http-cli.py54
1 files changed, 0 insertions, 54 deletions
diff --git a/tasmota-http-cli.py b/tasmota-http-cli.py
deleted file mode 100644
index c151f3f..0000000
--- a/tasmota-http-cli.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import asyncio
-import tasmotadevicecontroller
-import argparse
-import getpass
-import json
-import time
-
-async def main(host, username, password, toggle):
- if username is None:
- device = await tasmotadevicecontroller.TasmotaDevice.connect(host)
- else:
- device = await tasmotadevicecontroller.TasmotaDevice.connect(url = host, username = username, password = password)
-
- if toggle:
- await device.setPower(tasmotadevicecontroller.tasmota_types.PowerType.TOGGLE)
- time.sleep(2)
-
- friendlyname = await device.getFriendlyName()
- power = await device.getPower()
- status8 = await device.sendRawRequest("status 8")
- watts = status8["StatusSNS"]["ENERGY"]
- print(json.dumps(watts, indent = 4))
-
- if power:
- print("'%s' is currently ON" % friendlyname)
- else:
- print("'%s' is currently OFF" % friendlyname)
-
-parser = argparse.ArgumentParser()
-parser.add_argument(
- "-d", "--device-host",
- type = str,
- help = "Tasmota host port",
- required = True
-)
-parser.add_argument(
- "-u", "--user",
- type = str,
- help = "Username to login with"
-)
-parser.add_argument(
- "-t", "--toggle",
- action = "store_true",
- help = "Toggle current power status"
-)
-
-if __name__ == "__main__":
- args = vars(parser.parse_args())
- if args["user"] is not None:
- args["password"] = getpass.getpass("Input password for %s@%s: " % (args["user"], args["device_host"]))
- else:
- args["password"] = None
- loop = asyncio.get_event_loop()
- loop.run_until_complete(main(args["device_host"], args["user"], args["password"], args["toggle"]))