]> git.basschouten.com Git - openhab-addons.git/blob
1e839f60e7027a565be84336a5d8840837b6a27f
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.netatmo.internal.api.data;
14
15 import java.util.List;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18
19 /**
20  * This enum describes sub events in relation to a given event
21  *
22  * @author GaĆ«l L'hopital - Initial contribution
23  */
24 @NonNullByDefault
25 public enum EventSubType {
26     // SD Card sub events
27     SD_CARD_MISSING("1", EventType.SD),
28     SD_CARD_INSERTED("2", EventType.SD),
29     SD_CARD_FORMATTED("3", EventType.SD),
30     SD_CARD_WORKING("4", EventType.SD),
31     SD_CARD_DEFECTIVE("5", EventType.SD),
32     SD_CARD_INCOMPATIBLE_SPEED("6", EventType.SD),
33     SD_CARD_INSUFFICIENT_SPACE("7", EventType.SD),
34
35     // Power sub events
36     ALIM_INCORRECT_POWER("1", EventType.ALIM),
37     ALIM_CORRECT_POWER("2", EventType.ALIM),
38
39     // Smoke detector sub events
40     DETECTION_CHAMBER_CLEAN("0", EventType.DETECTION_CHAMBER_STATUS),
41     DETECTION_CHAMBER_DIRTY("1", EventType.DETECTION_CHAMBER_STATUS),
42     BATTERY_LOW("0", EventType.BATTERY_STATUS),
43     BATTERY_VERY_LOW("1", EventType.BATTERY_STATUS),
44     SMOKE_CLEARED("0", EventType.SMOKE),
45     SMOKE_DETECTED("1", EventType.SMOKE),
46     HUSH_ACTIVATED("0", EventType.HUSH),
47     HUSH_DEACTIVATED("1", EventType.HUSH),
48     SOUND_TEST_OK("0", EventType.SOUND_TEST),
49     SOUND_TEST_ERROR("1", EventType.SOUND_TEST),
50     DETECTOR_READY("0", EventType.TAMPERED),
51     DETECTOR_TAMPERED("1", EventType.TAMPERED),
52
53     // Carbon Monoxide Alarm
54     CO_OK("0", EventType.CO_DETECTED),
55     CO_PRE_ALARM("1", EventType.CO_DETECTED),
56     CO_ALARM("2", EventType.CO_DETECTED),
57
58     WIFI_STATUS_OK("1", EventType.WIFI_STATUS),
59     WIFI_STATUS_ERROR("0", EventType.WIFI_STATUS),
60
61     // Artificially implemented by the binding subtypes
62     PERSON_ARRIVAL("1", EventType.PERSON, EventType.PERSON_HOME),
63     PERSON_SEEN("2", EventType.PERSON),
64     PERSON_DEPARTURE("1", EventType.PERSON_AWAY),
65     MOVEMENT_HUMAN("1", EventType.MOVEMENT, EventType.HUMAN),
66     MOVEMENT_VEHICLE("2", EventType.MOVEMENT),
67     MOVEMENT_ANIMAL("3", EventType.MOVEMENT, EventType.ANIMAL),
68
69     // Weather station events
70     RAIN_ALARM("rain", EventType.ALARM_EVENT),
71     CO2_ALARM("co2", EventType.ALARM_EVENT);
72
73     public final List<EventType> types;
74     public final String subType;
75
76     EventSubType(String subType, EventType... types) {
77         this.types = List.of(types);
78         this.subType = subType;
79     }
80 }