2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.paradoxalarm.internal.model;
16 * The {@link Partition} Paradox partition states. Retrieved and parsed from RAM memory responses.
18 * @author Konstantin Polihronov - Initial contribution
20 public class PartitionState {
22 private static final String ARMED = "Armed";
23 private static final String DISARMED = "Disarmed";
24 private static final String IN_ALARM = "InAlarm";
26 private static final String ARMED_IN_NO_ENTRY = "NoEntry Armed";
27 private static final String ARMED_IN_STAY = "Stay Armed";
28 private static final String ARMED_IN_AWAY = "Away Armed";
29 private static final String FIRE_ALARM = "Fire Alarm";
30 private static final String AUDIBLE_ALARM = "Audible Alarm";
31 private static final String SILENT_ALARM = "Silent Alarm";
32 private boolean isArmed;
33 private boolean isArmedInAway;
34 private boolean isArmedInStay;
35 private boolean isArmedInNoEntry;
36 private boolean isInAlarm;
37 private boolean isInSilentAlarm;
38 private boolean isInAudibleAlarm;
39 private boolean isInFireAlarm;
41 private boolean isReadyToArm;
42 private boolean isInExitDelay;
43 private boolean isInEntryDelay;
44 private boolean isInTrouble;
45 private boolean hasAlarmInMemory;
46 private boolean isInZoneBypass;
48 private boolean hasZoneInTamperTrouble;
49 private boolean hasZoneInLowBatteryTrouble;
50 private boolean hasZoneInFireLoopTrouble;
51 private boolean hasZoneInSupervisionTrouble;
53 private boolean isStayInstantReady;
54 private boolean isForceReady;
55 private boolean isBypassReady;
56 private boolean isInhibitReady;
57 private boolean areAllZoneclosed;
59 public String getMainState() {
60 if (isInAlarm || isInSilentAlarm || isInAudibleAlarm || isInFireAlarm) {
63 return isArmed || isArmedInAway || isArmedInStay || isArmedInNoEntry ? ARMED : DISARMED;
67 public String getDetailedState() {
69 if (isInSilentAlarm) {
71 } else if (isInAudibleAlarm) {
73 } else if (isInFireAlarm) {
80 } else if (isArmedInStay) {
82 } else if (isArmedInNoEntry) {
83 return ARMED_IN_NO_ENTRY;
92 public String toString() {
93 return "PartitionState [isArmed=" + isArmed + ", isArmedInAway=" + isArmedInAway + ", isArmedInStay="
94 + isArmedInStay + ", isArmedInNoEntry=" + isArmedInNoEntry + ", isInAlarm=" + isInAlarm
95 + ", isInSilentAlarm=" + isInSilentAlarm + ", isInAudibleAlarm=" + isInAudibleAlarm + ", isInFireAlarm="
96 + isInFireAlarm + ", isReadyToArm=" + isReadyToArm + ", isInExitDelay=" + isInExitDelay
97 + ", isInEntryDelay=" + isInEntryDelay + ", isInTrouble=" + isInTrouble + ", hasAlarmInMemory="
98 + hasAlarmInMemory + ", isInZoneBypass=" + isInZoneBypass + ", hasZoneInTamperTrouble="
99 + hasZoneInTamperTrouble + ", hasZoneInLowBatteryTrouble=" + hasZoneInLowBatteryTrouble
100 + ", hasZoneInFireLoopTrouble=" + hasZoneInFireLoopTrouble + ", hasZoneInSupervisionTrouble="
101 + hasZoneInSupervisionTrouble + ", isStayInstantReady=" + isStayInstantReady + ", isForceReady="
102 + isForceReady + ", isBypassReady=" + isBypassReady + ", isInhibitReady=" + isInhibitReady
103 + ", areAllZoneclosed=" + areAllZoneclosed + "]";
106 public boolean isArmed() {
110 public void setArmed(boolean isArmed) {
111 this.isArmed = isArmed;
114 public boolean isArmedInAway() {
115 return isArmedInAway;
118 public void setArmedInAway(boolean isArmedInAway) {
119 this.isArmedInAway = isArmedInAway;
122 public boolean isArmedInStay() {
123 return isArmedInStay;
126 public void setArmedInStay(boolean isArmedInStay) {
127 this.isArmedInStay = isArmedInStay;
130 public boolean isArmedInNoEntry() {
131 return isArmedInNoEntry;
134 public void setArmedInNoEntry(boolean isArmedInNoEntry) {
135 this.isArmedInNoEntry = isArmedInNoEntry;
138 public boolean isInAlarm() {
142 public void setInAlarm(boolean isInAlarm) {
143 this.isInAlarm = isInAlarm;
146 public boolean isInSilentAlarm() {
147 return isInSilentAlarm;
150 public void setInSilentAlarm(boolean isInSilentAlarm) {
151 this.isInSilentAlarm = isInSilentAlarm;
154 public boolean isInAudibleAlarm() {
155 return isInAudibleAlarm;
158 public void setInAudibleAlarm(boolean isInAudibleAlarm) {
159 this.isInAudibleAlarm = isInAudibleAlarm;
162 public boolean isInFireAlarm() {
163 return isInFireAlarm;
166 public void setInFireAlarm(boolean isInFireAlarm) {
167 this.isInFireAlarm = isInFireAlarm;
170 public boolean isReadyToArm() {
174 public void setReadyToArm(boolean isReadyToArm) {
175 this.isReadyToArm = isReadyToArm;
178 public boolean isInExitDelay() {
179 return isInExitDelay;
182 public void setInExitDelay(boolean isInExitDelay) {
183 this.isInExitDelay = isInExitDelay;
186 public boolean isInEntryDelay() {
187 return isInEntryDelay;
190 public void setInEntryDelay(boolean isInEntryDelay) {
191 this.isInEntryDelay = isInEntryDelay;
194 public boolean isInTrouble() {
198 public void setInTrouble(boolean isInTrouble) {
199 this.isInTrouble = isInTrouble;
202 public boolean isHasAarmInMemory() {
203 return hasAlarmInMemory;
206 public void setHasAarmInMemory(boolean hasAarmInMemory) {
207 this.hasAlarmInMemory = hasAarmInMemory;
210 public boolean isInZoneBypass() {
211 return isInZoneBypass;
214 public void setInZoneBypass(boolean isInZoneBypass) {
215 this.isInZoneBypass = isInZoneBypass;
218 public boolean isHasZoneInTamperTrouble() {
219 return hasZoneInTamperTrouble;
222 public void setHasZoneInTamperTrouble(boolean hasZoneInTamperTrouble) {
223 this.hasZoneInTamperTrouble = hasZoneInTamperTrouble;
226 public boolean isHasZoneInLowBatteryTrouble() {
227 return hasZoneInLowBatteryTrouble;
230 public void setHasZoneInLowBatteryTrouble(boolean hasZoneInLowBatteryTrouble) {
231 this.hasZoneInLowBatteryTrouble = hasZoneInLowBatteryTrouble;
234 public boolean isHasZoneInFireLoopTrouble() {
235 return hasZoneInFireLoopTrouble;
238 public void setHasZoneInFireLoopTrouble(boolean hasZoneInFireLoopTrouble) {
239 this.hasZoneInFireLoopTrouble = hasZoneInFireLoopTrouble;
242 public boolean isHasZoneInSupervisionTrouble() {
243 return hasZoneInSupervisionTrouble;
246 public void setHasZoneInSupervisionTrouble(boolean hasZoneInSupervisionTrouble) {
247 this.hasZoneInSupervisionTrouble = hasZoneInSupervisionTrouble;
250 public boolean isStayInstantReady() {
251 return isStayInstantReady;
254 public void setStayInstantReady(boolean isStayInstantReady) {
255 this.isStayInstantReady = isStayInstantReady;
258 public boolean isForceReady() {
262 public void setForceReady(boolean isForceReady) {
263 this.isForceReady = isForceReady;
266 public boolean isBypassReady() {
267 return isBypassReady;
270 public void setBypassReady(boolean isBypassReady) {
271 this.isBypassReady = isBypassReady;
274 public boolean isInhibitReady() {
275 return isInhibitReady;
278 public void setInhibitReady(boolean isInhibitReady) {
279 this.isInhibitReady = isInhibitReady;
282 public boolean isAreAllZoneclosed() {
283 return areAllZoneclosed;
286 public void setAllZoneClosed(boolean areAllZoneclosed) {
287 this.areAllZoneclosed = areAllZoneclosed;
290 public boolean isHasAlarmInMemory() {
291 return hasAlarmInMemory;
294 public void setHasAlarmInMemory(boolean hasAlarmInMemory) {
295 this.hasAlarmInMemory = hasAlarmInMemory;