├── .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 |
4 |
5 | Home Assistant
6 |
7 |
10 |
11 |
12 |
Lounge
13 |

14 |
15 |
16 |
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 |