{"adoption": {"forks": 342, "observed_at": "2026-08-28T04:06:00.911855+00:00", "stars": 1971}, "canonical_url": "https://ross.abutalabs.com/products/alexa_media_player", "card": {"archived": false, "artifact_type": "plugin", "description": "This is a custom component to allow control of Amazon Alexa devices in Home Assistant using the unofficial Alexa API.", "domain": ["iot", "self-hosted", "apis"], "enriched": true, "function": ["http-client", "middleware"], "health_score": 100, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["alandtse/alexa_media_player"], "name": "alandtse/alexa_media_player", "platform": ["python", "self-hosted"], "pushed_at": "2026-08-24T19:06:02+00:00", "repo": "alandtse/alexa_media_player", "stars": 1971, "tags": ["home-assistant", "alexa", "echo", "media-player", "custom-component", "hacs", "unofficial-api", "smart-speaker", "automation"], "topics": ["alexa", "home-assistant", "hacktoberfest", "homeassistant"], "urls": [], "use_cases": ["control my Echo speakers from Home Assistant", "play and pause music on Alexa devices in automations", "show current song title and album art from Echo in my dashboard", "set volume on all my Alexa devices at once", "integrate Echo Dot as a media player entity", "automate Alexa announcements and playback via Home Assistant"], "what_it_is": "A Home Assistant custom component that controls Amazon Alexa/Echo devices through the unofficial Alexa API, exposing them as media player entities. It supports playback control, volume, and metadata retrieval, but relies on an unofficial API that Amazon could revoke at any time.", "when_to_avoid": ["you need a guaranteed, officially supported integration (Amazon may cut off the unofficial API)", "you don't use Home Assistant", "you need features beyond media playback control and metadata"], "when_to_choose": ["you run Home Assistant and own Amazon Echo/Alexa devices", "you want Echo devices as native media player entities with track metadata", "you need Alexa device control in HA automations without official Alexa integration limitations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/alexa_media_player", "repo": "alandtse/alexa_media_player", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "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:06:00.911855+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:00.911855+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:05:04.267071+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ca94bd47b69742f803fb26d60c6d49834fe357162cbfafc13d023e70759b47c7", "fetched_at": "2026-08-28T04:06:00.911855+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alandtse/alexa_media_player"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 94}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2982, "days_push": 9, "days_rel": 41, "gap_med": 6.0, "n_releases_24m": 59}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}