diff --git a/src/more-infos/more-info-alarm_control_panel.html b/src/more-infos/more-info-alarm_control_panel.html index 512b529b6f..e721cca8a2 100644 --- a/src/more-infos/more-info-alarm_control_panel.html +++ b/src/more-infos/more-info-alarm_control_panel.html @@ -9,9 +9,9 @@
- Disarm - Arm Home - Arm Away + Disarm + Arm Home + Arm Away
diff --git a/src/more-infos/more-info-alarm_control_panel.js b/src/more-infos/more-info-alarm_control_panel.js index 80772b0279..72089cfca3 100644 --- a/src/more-infos/more-info-alarm_control_panel.js +++ b/src/more-infos/more-info-alarm_control_panel.js @@ -14,14 +14,39 @@ export default new Polymer({ this.callService('alarm_arm_away', {code: this.entered_code}); }, properties: { + stateObj: { + type: Object, + observer: 'stateObjChanged', + }, entered_code: { type: String, value: '', }, + disarm_button_enabled: { + type: Boolean, + value: false, + }, + arm_home_button_enabled: { + type: Boolean, + value: false, + }, + arm_away_button_enabled: { + type: Boolean, + value: false, + }, }, enteredCodeChanged(ev) { this.entered_code = ev.target.value; }, + stateObjChanged(newVal) { + if (newVal) { + this.disarm_button_enabled = newVal.state === 'armed_home' || newVal.state === 'armed_away'; + this.arm_home_button_enabled = newVal.state === 'disarmed'; + this.arm_away_button_enabled = newVal.state === 'disarmed'; + } + + this.async(() => this.fire('iron-resize'), 500); + }, callService(service, data) { const serviceData = data || {}; serviceData.entity_id = this.stateObj.entityId;