diff --git a/src/components/entity/ha-state-label-badge.js b/src/components/entity/ha-state-label-badge.js
index 805fd01ffd..981ddd2aff 100644
--- a/src/components/entity/ha-state-label-badge.js
+++ b/src/components/entity/ha-state-label-badge.js
@@ -66,6 +66,7 @@ export default new Polymer({
case 'sun':
case 'scene':
case 'script':
+ case 'alarm_control_panel':
return undefined;
case 'sensor':
return state.attributes.unit_of_measurement && state.state;
@@ -76,6 +77,9 @@ export default new Polymer({
computeIcon(state) {
switch (state.domain) {
+ case 'alarm_control_panel':
+ return state.state === 'disarmed' ?
+ 'icons:lock-open' : 'icons:lock';
case 'device_tracker':
return !state.attributes.entity_picture && domainIcon(state.domain);
case 'scene':
@@ -109,6 +113,8 @@ export default new Polymer({
return state.attributes.unit_of_measurement || state.state;
case 'device_tracker':
return state.state === 'home' ? 'Home' : 'Away';
+ case 'alarm_control_panel':
+ return state.state;
default:
return state.attributes.unit_of_measurement;
}
diff --git a/src/components/ha-zone-cards.js b/src/components/ha-zone-cards.js
index 8c6430f15c..720c1e237e 100644
--- a/src/components/ha-zone-cards.js
+++ b/src/components/ha-zone-cards.js
@@ -12,9 +12,10 @@ const PRIORITY = {
a: -1,
sun: 0,
device_tracker: 1,
- sensor: 2,
- scene: 3,
- script: 4,
+ alarm_control_panel: 2,
+ sensor: 3,
+ scene: 4,
+ script: 5,
thermostat: 40,
media_player: 50,
camera: 60,
diff --git a/src/more-infos/more-info-alarm.html b/src/more-infos/more-info-alarm.html
deleted file mode 100644
index 8b62217b3c..0000000000
--- a/src/more-infos/more-info-alarm.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- Croissant
- Donut
- Financier
- Madeleine
-
-
-
-
-
-
-
-
-
-
diff --git a/src/more-infos/more-info-alarm_control_panel.html b/src/more-infos/more-info-alarm_control_panel.html
new file mode 100644
index 0000000000..512b529b6f
--- /dev/null
+++ b/src/more-infos/more-info-alarm_control_panel.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
Disarm
+
Arm Home
+
Arm Away
+
+
+
diff --git a/src/more-infos/more-info-alarm.js b/src/more-infos/more-info-alarm_control_panel.js
similarity index 52%
rename from src/more-infos/more-info-alarm.js
rename to src/more-infos/more-info-alarm_control_panel.js
index 09dccca174..f183e4b2a0 100644
--- a/src/more-infos/more-info-alarm.js
+++ b/src/more-infos/more-info-alarm_control_panel.js
@@ -6,37 +6,7 @@ import attributeClassNames from '../util/attribute-class-names';
const ATTRIBUTE_CLASSES = [];
export default new Polymer({
- is: 'more-info-alarm',
- handle0Tap(number) {
- this.entered_code += '0';
- },
- handle1Tap(number) {
- this.entered_code += '1';
- },
- handle2Tap(number) {
- this.entered_code += '2';
- },
- handle3Tap(number) {
- this.entered_code += '3';
- },
- handle4Tap(number) {
- this.entered_code += '4';
- },
- handle5Tap(number) {
- this.entered_code += '5';
- },
- handle6Tap(number) {
- this.entered_code += '6';
- },
- handle7Tap(number) {
- this.entered_code += '7';
- },
- handle8Tap(number) {
- this.entered_code += '8';
- },
- handle9Tap(number) {
- this.entered_code += '9';
- },
+ is: 'more-info-alarm_control_panel',
handleDisarmTap(number) {
this.callService('alarm_disarm', {code: this.entered_code});
},
@@ -52,10 +22,12 @@ export default new Polymer({
value: '',
},
},
-
+ enteredCodeChanged(ev) {
+ this.entered_code = ev.target.value;
+ },
callService(service, data) {
const serviceData = data || {};
serviceData.entity_id = this.stateObj.entityId;
- serviceActions.callService('alarm', service, serviceData);
+ serviceActions.callService('alarm_control_panel', service, serviceData);
},
});
diff --git a/src/more-infos/more-info-content.html b/src/more-infos/more-info-content.html
index 8a3fc82640..f7b59075b1 100644
--- a/src/more-infos/more-info-content.html
+++ b/src/more-infos/more-info-content.html
@@ -10,7 +10,7 @@
-
+