{"adoption": {"forks": 1513, "observed_at": "2026-08-28T04:07:58.634263+00:00", "stars": 3383}, "canonical_url": "https://ross.abutalabs.com/products/tuya-local", "card": {"archived": false, "artifact_type": "plugin", "description": "Local support for Tuya devices in Home Assistant", "domain": ["iot", "self-hosted"], "enriched": true, "function": ["iot", "workflow-automation"], "health_score": 100, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["make-all/tuya-local"], "name": "make-all/tuya-local", "platform": ["python", "iot", "self-hosted"], "pushed_at": "2026-08-26T12:27:26+00:00", "repo": "make-all/tuya-local", "stars": 3383, "tags": ["tuya", "home-assistant-integration", "local-control", "hacs", "smart-home", "wifi-devices", "cloud-free", "integration", "device-control", "home-automation", "linux"], "topics": ["tuya", "climate", "home-assistant", "pool-heaters", "humidifiers", "dehumidifiers", "heaters", "fans", "switches", "lights"], "urls": [], "use_cases": ["control Tuya smart devices locally without the cloud", "integrate Tuya heaters and climate devices into Home Assistant", "reduce latency and improve reliability of Tuya device control", "unlock device features not exposed by the Tuya cloud API", "manage Tuya fans, lights, and switches in Home Assistant", "set up Tuya devices via HACS"], "what_it_is": "A Home Assistant custom integration that provides local network control of Tuya-based smart home devices without routing through the Tuya cloud. It supports a wide range of device types including climate devices, heaters, fans, lights, switches, and humidifiers over WiFi, with limited hub device support.", "when_to_avoid": ["you need a privacy/security solution - devices still report status to the Tuya cloud", "your device requires hub connectivity beyond the limited hub support", "another local Tuya integration already claims the device's single local connection slot", "you don't use Home Assistant"], "when_to_choose": ["you want faster, more reliable control of Tuya devices than the cloud integration provides", "your Tuya device is unsupported by the official Tuya cloud API", "you prefer local network control over cloud dependency", "you use Home Assistant and install integrations via HACS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tuya-local", "repo": "make-all/tuya-local", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:58.634263+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:39:39.572120+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e7c7f8294daa026526025f1afb22c151c87b7146dc0382eef50bcb6ce5510b33", "fetched_at": "2026-08-28T04:07:58.634263+00:00", "kind": "readme", "missing": false, "url": "https://github.com/make-all/tuya-local"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 96}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2327, "days_push": 7, "days_rel": 24, "gap_med": 11, "n_releases_24m": 36}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}