diff --git a/lib/entity_widgets/controls/alarm_control_panel_controls.dart b/lib/entity_widgets/controls/alarm_control_panel_controls.dart index eeaf873..7d2c960 100644 --- a/lib/entity_widgets/controls/alarm_control_panel_controls.dart +++ b/lib/entity_widgets/controls/alarm_control_panel_controls.dart @@ -5,7 +5,7 @@ class AlarmControlPanelControlsWidget extends StatefulWidget { final bool extended; final List states; - const AlarmControlPanelControlsWidget({Key key, @required this.extended, this.states: const ["arm_home", "arm_away"]}) : super(key: key); + const AlarmControlPanelControlsWidget({Key key, @required this.extended, this.states}) : super(key: key); @override _AlarmControlPanelControlsWidgetWidgetState createState() => _AlarmControlPanelControlsWidgetWidgetState(); @@ -15,6 +15,14 @@ class AlarmControlPanelControlsWidget extends StatefulWidget { class _AlarmControlPanelControlsWidgetWidgetState extends State { String code = ""; + List supportedStates; + + @override + void initState() { + super.initState(); + supportedStates = widget.states ?? ["arm_home", "arm_away"]; + } + void _callService(AlarmControlPanelEntity entity, String service) { eventBus.fire(new ServiceCallEvent( @@ -72,7 +80,7 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State buttons = []; if (entity.state == EntityState.alarm_disarmed) { - if (widget.states.contains("arm_home")) { + if (supportedStates.contains("arm_home")) { buttons.add( RaisedButton( onPressed: () => _callService(entity, "alarm_arm_home"), @@ -80,7 +88,7 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State _callService(entity, "alarm_arm_away"), @@ -89,7 +97,7 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State _callService(entity, "alarm_arm_night"), @@ -97,7 +105,7 @@ class _AlarmControlPanelControlsWidgetWidgetState extends State