├── .gitignore ├── custom_components └── bwalarm │ ├── __init__.py │ ├── resources │ ├── images │ │ ├── ha.png │ │ ├── gazos.jpg │ │ ├── camera-pool.jpg │ │ ├── camera-garage.jpg │ │ ├── camera-outdoor.jpg │ │ └── camera-tv-room.jpg │ ├── alarm │ │ ├── donate │ │ │ ├── bch.png │ │ │ ├── btc.png │ │ │ ├── eth.png │ │ │ ├── ltc.png │ │ │ ├── xrp.png │ │ │ └── paypal.png │ │ ├── lobster.woff2.gz │ │ ├── custom-element.html │ │ └── alarm.css │ ├── doc │ │ ├── examples.md │ │ ├── examples │ │ │ ├── my_bwalarm.yaml │ │ │ └── automations.yaml │ │ ├── notes.md │ │ └── configuration.md │ └── lib │ │ ├── countdown360.js │ │ ├── sha256.js │ │ └── jscolor.js │ ├── manifest.json │ ├── const.py │ ├── services.yaml │ └── TODO ├── resources └── bwalarm │ ├── bwalarm.yaml │ └── images │ └── wallpanel.png ├── .github └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | __pycache__ 3 | -------------------------------------------------------------------------------- /custom_components/bwalarm/__init__.py: -------------------------------------------------------------------------------- 1 | # empty # 2 | -------------------------------------------------------------------------------- /resources/bwalarm/bwalarm.yaml: -------------------------------------------------------------------------------- 1 | platform: bwalarm 2 | -------------------------------------------------------------------------------- /resources/bwalarm/images/wallpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/resources/bwalarm/images/wallpanel.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/ha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/ha.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/gazos.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/gazos.jpg -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/bch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/bch.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/btc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/btc.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/eth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/eth.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/ltc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/ltc.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/xrp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/xrp.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/lobster.woff2.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/lobster.woff2.gz -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/camera-pool.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/camera-pool.jpg -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/donate/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/alarm/donate/paypal.png -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/camera-garage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/camera-garage.jpg -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/camera-outdoor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/camera-outdoor.jpg -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/images/camera-tv-room.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/akasma74/Hass-Custom-Alarm/HEAD/custom_components/bwalarm/resources/images/camera-tv-room.jpg -------------------------------------------------------------------------------- /custom_components/bwalarm/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "domain": "bwalarm", 3 | "name": "BWAlarm (ak74 edition)", 4 | "documentation": "https://github.com/akasma74/Hass-Custom-Alarm", 5 | "dependencies": [], 6 | "after_dependencies": ["mqtt"], 7 | "codeowners": ["@akasma74"], 8 | "requirements": ["ruamel.yaml>=0.17.22"], 9 | "version": "1.12.16" 10 | } 11 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /custom_components/bwalarm/const.py: -------------------------------------------------------------------------------- 1 | """Constants for bwalarm""" 2 | 3 | CUSTOM_INTEGRATIONS_ROOT = 'custom_components' 4 | # create [HA config]/OVERRIDE_FOLDER/INTEGRATION_FOLDER/ to take precedence 5 | # over a correspondent file in [HA config]/CUSTOM_INTEGRATIONS_ROOT/INTEGRATION_FOLDER/RESOURCES_FOLDER 6 | OVERRIDE_FOLDER = 'resources' 7 | PLATFORM = 'bwalarm' 8 | 9 | # integration folder inside [HA config]/CUSTOM_INTEGRATIONS_ROOT/ 10 | INTEGRATION_FOLDER = PLATFORM 11 | # resides inside INTEGRATION_FOLDER 12 | RESOURCES_FOLDER = 'resources' 13 | 14 | CONFIG_FNAME = "{}.yaml".format(PLATFORM) 15 | PERSISTENCE_FNAME = "{}.json".format(PLATFORM) 16 | LOG_FNAME = "{}_log.json".format(PLATFORM) 17 | PANEL_FNAME = "panel.html" 18 | 19 | # resides inside RESOURCES_FOLDER 20 | IMAGES_FOLDER = 'images' 21 | DEFAULT_ICON_NAME = 'ha.png' 22 | -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/alarm/custom-element.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /custom_components/bwalarm/resources/doc/examples.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | 3 | ### CONFIGURATION 4 | [Here](examples/my_bwalarm.yaml) is one of my configurations. 5 | 6 | ### HOME ASSISTANT AUTOMATIONS 7 | [Here](examples/automations.yaml) you can find out how to react to the alarm states in Home Assistant using automations. 8 | 9 | ### SERVICE CALLS 10 | Set value of `ignore_open_sensors` configuration variable: 11 | ```yaml 12 | service: alarm_control_panel.set_ignore_open_sensors 13 | data: 14 | value: true 15 | ``` 16 | The default for `value` is `false`, i.e making a service call without `data` 17 | ```yaml 18 | service: alarm_control_panel.set_ignore_open_sensors 19 | ``` 20 | has the same effect as 21 | ```yaml 22 | service: alarm_control_panel.set_ignore_open_sensors 23 | data: 24 | value: false 25 | ``` 26 | 27 | ### MQTT INTERFACE 28 | Set the `Away` mode after a configured `pending_time`: 29 | ```javascript 30 | home/alarm/set ARM_AWAY 31 | ``` 32 | Set the `Home` mode immediately: 33 | ```javascript 34 | home/alarm/set ARM_HOME {"code":"override"} 35 | ``` 36 | Set the `Home` mode using a code after a configured `pending_time`: 37 | ```javascript 38 | home/alarm/set ARM_HOME {"code": 1234} 39 | ``` 40 | Disarms the alarm if `override_code` is `true`: 41 | ```javascript 42 | home/alarm/set DISARM 43 | ``` 44 | Disarm the alarm if `override_code` is `false`: 45 | ```javascript 46 | home/alarm/set DISARM {"code": 1234} 47 | ``` 48 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 14 | 15 | **The component:** 16 | - Current version: 17 | - Last known working version (if any): 18 | 19 | **Your setup:** 20 | - Home Assistant version: 21 | - Last known working Home Assistant version (if any): 22 | - OS: 23 | - Browser name & version: 24 | 25 | **Describe the bug** 26 | 27 | 28 | **To Reproduce** 29 | 36 | 37 | **Expected behavior** 38 | 39 | 40 | **Your bwalarm.yaml** 41 | 42 | ```yaml 43 | ``` 44 | **Home Assistant log** 45 | 46 | ```txt 47 | ``` 48 | **Screenshots** 49 | 50 | 51 | **Additional context** 52 |