{"id":13822005,"url":"https://github.com/nielsfaber/alarmo-card","last_synced_at":"2026-03-08T16:09:51.030Z","repository":{"id":39666206,"uuid":"391372854","full_name":"nielsfaber/alarmo-card","owner":"nielsfaber","description":"Home Assistant card for controlling the Alarmo component","archived":false,"fork":false,"pushed_at":"2025-08-09T06:43:51.000Z","size":573,"stargazers_count":137,"open_issues_count":3,"forks_count":28,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-09T08:32:18.895Z","etag":null,"topics":["alarm","alarmo","assistant","card","home","home-assistant","lovelace","security"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nielsfaber.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-07-31T14:04:50.000Z","updated_at":"2025-08-09T06:40:53.000Z","dependencies_parsed_at":"2023-02-08T08:46:33.881Z","dependency_job_id":"84618d28-baf8-49d5-a6d2-fe1fcb52ef31","html_url":"https://github.com/nielsfaber/alarmo-card","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/nielsfaber/alarmo-card","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsfaber%2Falarmo-card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsfaber%2Falarmo-card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsfaber%2Falarmo-card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsfaber%2Falarmo-card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nielsfaber","download_url":"https://codeload.github.com/nielsfaber/alarmo-card/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nielsfaber%2Falarmo-card/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280806835,"owners_count":26394451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alarm","alarmo","assistant","card","home","home-assistant","lovelace","security"],"created_at":"2024-08-04T08:01:37.865Z","updated_at":"2025-10-24T13:53:40.885Z","avatar_url":"https://github.com/nielsfaber.png","language":"TypeScript","funding_links":["https://www.paypal.com/donate/?business=CLL4T6Y8ACXNN\u0026no_recurring=0\u0026item_name=Thank+you+for+supporting+my+work+on+the+Alarmo+project%2E+Your+donation+is+much+appreciated%21\u0026currency_code=EUR","https://pics.paypal.com/00/s/YzlhMzI2ZjYtZDQxMi00NzNiLThmZTktOTk3MmEyYTA2Zjc0/file.PNG","https://www.buymeacoffee.com/vrdx7mi"],"categories":["TypeScript"],"sub_categories":[],"readme":"# alarmo-card \u003c!-- omit in TOC --\u003e\n[![hacs_badge](https://img.shields.io/badge/HACS-Custom-orange.svg)](https://github.com/hacs/integration)  \n\n\n- [alarmo-card ](#alarmo-card-)\n  - [Introduction](#introduction)\n  - [Features](#features)\n    - [Countdown timer](#countdown-timer)\n    - [Diagnostics messages](#diagnostics-messages)\n    - [Arming options](#arming-options)\n    - [Card customization](#card-customization)\n  - [Installation](#installation)\n  - [Updating](#updating)\n  - [Configuration](#configuration)\n  - [Options](#options)\n    - [State configuration](#state-configuration)\n  - [Say thank you](#say-thank-you)\n\n## Introduction\nThis is a Lovelace card for Home Assistant that can be used to control your Alarmo security system.\n\nThe card works on top of the [alarmo custom component](https://github.com/nielsfaber/alarmo). You *will* need it this as well.\n\nThis card is only suitable for controlling entities (of type `alarm_control_panel`) which are generated by the Alarmo integration, you cannot use it with any other alarm integration in HA.\n\nPreview:\n\n![alt text](https://github.com/nielsfaber/alarmo-card/blob/main/screenshots/alarmo-card.gif?raw=true \"demonstration video\")\n\n## Features\n\nThe alarmo-card is similar to the [Lovelace alarm panel card](https://www.home-assistant.io/lovelace/alarm-panel/), but brings some extra functions.\n\n### Countdown timer\n\nA countdown timer is displayed when the alarm is in arming or pending state. \nThe countdown timer will show the remaining time of the configured exit / entry delay.\nThis gives you an indication of how much time you have left for leaving the house / disarming the alarm.\n\n### Diagnostics messages\nThe card will give you an indication in the following conditions:\n* A wrong code (or no code) was entered.\n* The alarm could not be armed (due to one or more sensors).\n* The alarm was triggered (due to one or more sensors).\n\nIn the second and third case you will see a message in the card with the sensors that caused the issue.\nThe state of these sensors is visible in the message, such that you have feedback in case the issue is resolved.\n\n### Arming options\nWhen the alarm is disabled, an icon is shown in the top-right corner of the card. By clicking it a menu is revealed with the advanced arming options:\n* *Skip delay*: setting this option will cause the exit delay to be skipped, so arming the alarm will be effective immediately. This is practical in case you want to arm the alarm after you already left the house.\n* *Bypass open sensors*: this option forces the alarm to be armed. In case sensors are blocking the arming, they will be automatically bypassed (temporarily eliminated from the alarm). \n\nThe arming options are only applied on the next time you arm the alarm.\n\n### Card customization\nThe card allows the following customization options:\n* Increasing the size of the buttons in the card.\n* Choose which buttons for arming modes are visible.\n* Change the texts visible on the arming mode buttons and the text visible when the alarm is in this state.\n* Change the title of the alarm.\n\n\n## Installation\n\u003cdetails\u003e\n\u003csummary\u003eclick to show installation instructions \u003c/summary\u003e\n\nHACS installation:\n\nNote: Ensure you have a www folder created as in config/www or the installation will succeed but fails silently\n1. Click the Orange + button bottom right and search for Alarmo Card\n2. Click on \"Install\" under the new card that just popped up.\n\nNote: Ensure to install [`https://github.com/nielsfaber/alarmo`](https://github.com/nielsfaber/alarmo) and add the integration in order for the card to work properly. \n\nManual installation\n\n1. Download the latest release of `alarmo-card.js` [here](https://github.com/nielsfaber/alarmo-card/releases) and place it into `www/alarmo-card`.\n\n2. Use the GUI; Configuration -\u003e Lovelace Dashboards -\u003e Resources Tab to add `/local/alarmo-card/alarmo-card.js?v=0`, or add a reference to the card in the resources section of `configuration.yaml`:\n\n```yaml\nresources:\n  - url: /local/alarmo-card/alarmo-card.js?v=0\n    type: module\n```\n\u003c/details\u003e\n\n## Updating\n\n\u003cdetails\u003e\n\u003csummary\u003eclick to show updating instructions \u003c/summary\u003e\n\nUpdating via HACS:\nHACS should auto-remind you in the HACS tab when an update is available.\n\nUpdating manually:\n\nUse `git pull` for manual installation updates.\n\nSince most browsers will cache the Lovelace card code, you can force a refresh of  the browser by editing the entry in the `resources:` section in  `ui-lovelace.yaml`, by updating the version to `?v=(n+1)` (where `n` the current value).\n\n\n\u003c/details\u003e\n\n---\n\n\n## Configuration\n\nFor setting up the card, you need to assign the correct entity to the card.\nAll settings regarding delay times, arming modes, code settings are automatically detected.\n\nExample YAML configuration:\n```yaml\ntype: 'custom:alarmo-card'\nentity: alarm_control_panel.alarmo\n```\n\nConfiguration using UI mode:\n1. Go to the Lovelace page where you want to add the card\n2. Click \"Edit Dashboard\" on the right (under the button with the 3 dots)\n* Click the \"Add card\" button on the bottom\n* Choose \"Custom: Alarmo Card\" and pick the correct entity.\n\n## Options\n| Name                    | Type    | Requirement  | Description                                                                                                                                                                                       | Default            |\n| ----------------------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |\n| `type`                  | string  | **Required** | `custom:alarmo-card`                                                                                                                                                                              |                    |\n| `entity`                | string  | **Required** | Alarm_control_panel entity                                                                                                                                                                        |                    |\n| `name`                  | string  | Optional     | Displayed name (next to icon)                                                                                                                                                                     | (Take from entity) |\n| `keep_keypad_visible`   | boolean | Optional     | Keep the keypad always visible, also when no code input is required.\u003cbr\u003eOnly useful if numerical code is used.                                                                                    | `false`            |\n| `button_scale_actions`  | number  | Optional     | Scaling factor to apply to the size of the action buttons (between 1.0 and 2.5)                                                                                                                   | `1.0`              |\n| `button_scale_keypad`   | number  | Optional     | Scaling factor to apply to the size of the keypad buttons (between 1.0 and 2.5)                                                                                                                   | `1.0`              |\n| `use_clear_icon`        | boolean | Optional     | Show icon (instead of text) in keypad for clearing code input.\u003cbr\u003eOnly useful if numerical code is used.                                                                                          | `false`            |\n| `hide_keypad`           | boolean | Optional     | Hide the keypad buttons for entering the code from the card.                                                                                                                                      | `false`            |\n| `use_code_dialog`       | boolean | Optional     | Display the keypad for entering the code as a popup dialog.\u003cbr\u003eThis option cannot be combined with the settings `hide_keypad`, `keep_keypad_visible`, `button_scale_keypad` and `use_clear_icon`. | `false`            |\n| `show_messages`         | boolean | Optional     | Show diagnostic messages in the card when alarm is triggered or cannot be armed.                                                                                                                  | `true`             |\n| `show_ready_indicator`  | boolean | Optional     | Adds ready/not ready indicators to the arm mode buttons.                                                                                                                                          | `true`             |\n| `show_bypassed_sensors` | boolean | Optional     | Show a warning message when the alarm is armed with bypassed sensors.                                                                                                                             | `true`             |\n| `states`                | object  | Optional     | Customize the display of states in the card.\u003cbr\u003eSee [state configuration](#state-configuration).                                                                                                  |                    |\n\n### State configuration \nState configuration allows users to modify the displayed texts and buttons (where applicable) in the card corresponding to certain states.\n\nNote that the alarm entity may not support all `armed_xxx` states. States which are not supported will not show up in the card and cannot be configured.\n\n| Name           | Type    | Applicable states                                                                                                                                | Description                                                                    | Default                   |\n| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------- |\n| `hide`         | boolean | `armed_away`\u003cbr\u003e`armed_home`\u003cbr\u003e`armed_night`\u003cbr\u003e`armed_vacation`\u003cbr\u003e`armed_custom_bypass`                                                       | Hides the button corresponding to the state.                                   | `false`                   |\n| `button_label` | string  | `disarmed`\u003cbr\u003e`armed_away`\u003cbr\u003e`armed_home`\u003cbr\u003e`armed_night`\u003cbr\u003e`armed_vacation`\u003cbr\u003e`armed_custom_bypass`                                         | Overwrites the text on the button.\u003cbr\u003eOnly useful if the button is not hidden. | (Use translation from HA) |\n| `state_label`  | string  | `disarmed`\u003cbr\u003e`triggered`\u003cbr\u003e`arming`\u003cbr\u003e`pending`\u003cbr\u003e`armed_away`\u003cbr\u003e`armed_home`\u003cbr\u003e`armed_night`\u003cbr\u003e`armed_vacation`\u003cbr\u003e`armed_custom_bypass` | Overwrites the text displayed in the card when the alarm is in this state.     | (Use translation from HA) |\n\n**Example of using state configuration**\n\nThe example below hides the `armed_home` button (although the alarm supports it), and renames the `armed_away` / `disarmed` options.\n\n```yaml\ntype: custom:alarmo-card\nentity: alarm_control_panel.alarmo\nstates:\n  armed_away:\n    hide: false\n    button_label: \"Turn on\"\n    state_label: \"Enabled\"\n  armed_home:\n    hide: true\n  disarmed:\n    hide: false\n    button_label: \"Turn off\"\n    state_label: \"Disabled\"\n# ... rest of card config\n```\nResult:\n\n![example result](https://github.com/nielsfaber/alarmo-card/blob/main/screenshots/state-config-example.png?raw=true \"example result\")\n\n---\n\n## Say thank you\nIf you want to make donation as appreciation of my work, you can do so via PayPal or buy me a coffee. Thank you!\n\n\u003ca href=\"https://www.paypal.com/donate/?business=CLL4T6Y8ACXNN\u0026no_recurring=0\u0026item_name=Thank+you+for+supporting+my+work+on+the+Alarmo+project%2E+Your+donation+is+much+appreciated%21\u0026currency_code=EUR\" target=\"_blank\"\u003e\u003cimg src=\"https://pics.paypal.com/00/s/YzlhMzI2ZjYtZDQxMi00NzNiLThmZTktOTk3MmEyYTA2Zjc0/file.PNG\" width=\"150\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.buymeacoffee.com/vrdx7mi\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnielsfaber%2Falarmo-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnielsfaber%2Falarmo-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnielsfaber%2Falarmo-card/lists"}