gates / gates (push) Successful in 7m1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
11 lines
813 B
Python
11 lines
813 B
Python
# Read-only Tuya cloud status per plug, keys from `sec run` env. Prints success, item count and switch state only.
|
|
import os, tinytuya
|
|
c = tinytuya.Cloud(apiRegion="eu", apiKey=os.environ["TUYA_ID"], apiSecret=os.environ["TUYA_SECRET"])
|
|
print("cloud token:", "ok" if getattr(c, "token", None) else "FAILED (%s)" % getattr(c, "error", "?"))
|
|
for name in ("TUYA_DEVICE_ID_N100", "TUYA_DEVICE_ID_HP"):
|
|
r = c.getstatus(os.environ[name])
|
|
ok = isinstance(r, dict) and r.get("success") is True
|
|
items = r.get("result", []) if ok else []
|
|
sw = [i.get("value") for i in items if i.get("code") == "switch_1"]
|
|
print("%s: %s, %d status items, switch_1=%s" % (name, "PASS" if ok else "FAIL code=%s msg=%s" % (r.get("code"), r.get("msg")) if isinstance(r, dict) else "FAIL", len(items), sw[0] if sw else "?"))
|