{"adoption": {"forks": 162, "observed_at": "2026-08-28T04:06:27.188032+00:00", "stars": 2216}, "canonical_url": "https://ross.abutalabs.com/products/alarmo", "card": {"archived": false, "artifact_type": "plugin", "description": "Easy to use alarm system integration for Home Assistant", "domain": ["security", "self-hosted"], "enriched": true, "function": ["security", "workflow-automation", "gui", "configuration-management"], "health_score": 98, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["nielsfaber/alarmo"], "name": "nielsfaber/alarmo", "platform": ["self-hosted", "python"], "pushed_at": "2026-08-09T12:13:39+00:00", "repo": "nielsfaber/alarmo", "stars": 2216, "tags": ["home-assistant", "hacs", "alarm-system", "lovelace", "mqtt", "smart-home", "home-automation", "automation"], "topics": ["home", "assistant", "hass", "integration", "alarm", "security", "lovelace"], "urls": [], "use_cases": ["set up a DIY home alarm system in Home Assistant", "arm and disarm my house alarm with codes per user", "get push notifications when the alarm is triggered", "integrate my alarm panel with HomeKit or Google Home via MQTT", "create separate alarm areas for different parts of the house", "automatically arm the alarm at night", "build a lovelace card to control my alarm"], "what_it_is": "Alarmo is a Home Assistant custom integration that turns existing sensors into a full-featured home alarm system, configurable entirely through a browser UI. It supports arm modes, areas, user codes, MQTT panels, and automations for notifications and actions.", "when_to_avoid": ["you don't use Home Assistant", "you need a professionally monitored security system", "you need a standalone alarm hub without Home Assistant"], "when_to_choose": ["you use Home Assistant and want a configurable alarm system from existing sensors", "you need multiple arm modes, areas, and user codes", "you want MQTT or HomeKit/Google Home integration for alarm panels"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/alarmo", "repo": "nielsfaber/alarmo", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "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:27.188032+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:27.188032+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:45:57.283917+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7371da1b0fd8d748dee41c9470938629e7149a26bef84538c16b6f5d2fac9dfa", "fetched_at": "2026-08-28T04:06:27.188032+00:00", "kind": "readme", "missing": false, "url": "https://github.com/nielsfaber/alarmo"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 84}, "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": 2138, "days_push": 24, "days_rel": 24, "gap_med": 43.5, "n_releases_24m": 15}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}