]> git.basschouten.com Git - openhab-addons.git/blob
44748ffc103ebe5d866dcd8be3dd2f1414022c59
[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     public final List<EventType> types;
70     public final int subType;
71
72     EventSubType(int i, EventType... types) {
73         this.types = List.of(types);
74         this.subType = i;
75     }
76 }