]> git.basschouten.com Git - openhab-addons.git/blob
b9456c3484fc10d4fa23ad500c947bf80cd2e9de
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2022 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.webhook;
14
15 import java.util.ArrayList;
16 import java.util.List;
17
18 import com.google.gson.annotations.SerializedName;
19
20 /**
21  * The {@link NAWebhookCameraEvent} is responsible to hold
22  * data given back by the Netatmo API when calling the webhook
23  *
24  * @author GaĆ«l L'hopital - Initial contribution
25  *
26  */
27 public class NAWebhookCameraEvent {
28
29     public enum AppTypeEnum {
30         @SerializedName("app_camera")
31         CAMERA("camera");
32
33         private String value;
34
35         AppTypeEnum(String value) {
36             this.value = value;
37         }
38
39         @Override
40         public String toString() {
41             return value;
42         }
43     }
44
45     @SerializedName("app_type")
46     private AppTypeEnum appType = null;
47
48     public AppTypeEnum getAppType() {
49         return appType;
50     }
51
52     public enum EventTypeEnum {
53         @SerializedName("person")
54         PERSON("person"),
55
56         @SerializedName("person_away")
57         PERSON_AWAY("person_away"),
58
59         @SerializedName("movement")
60         MOVEMENT("movement"),
61
62         @SerializedName("outdoor")
63         OUTDOOR("outdoor"),
64
65         @SerializedName("connection")
66         CONNECTION("connection"),
67
68         @SerializedName("disconnection")
69         DISCONNECTION("disconnection"),
70
71         @SerializedName("on")
72         ON("on"),
73
74         @SerializedName("off")
75         OFF("off"),
76
77         @SerializedName("boot")
78         BOOT("boot"),
79
80         @SerializedName("sd")
81         SD("sd"),
82
83         @SerializedName("alim")
84         ALIM("alim"),
85
86         @SerializedName("daily_summary")
87         DAILY_SUMMARY("daily_summary"),
88
89         @SerializedName("new_module")
90         NEW_MODULE("new_module"),
91
92         @SerializedName("module_connect")
93         MODULE_CONNECT("module_connect"),
94
95         @SerializedName("module_disconnect")
96         MODULE_DISCONNECT("module_disconnect"),
97
98         @SerializedName("module_low_battery")
99         MODULE_LOW_BATTERY("module_low_battery"),
100
101         @SerializedName("module_end_update")
102         MODULE_END_UPDATE("module_end_update"),
103
104         @SerializedName("tag_big_move")
105         TAG_BIG_MOVE("tag_big_move"),
106
107         @SerializedName("tag_small_move")
108         TAG_SMALL_MOVE("tag_small_move"),
109
110         @SerializedName("tag_uninstalled")
111         TAG_UNINSTALLED("tag_uninstalled"),
112
113         @SerializedName("tag_open")
114         TAG_OPEN("tag_open");
115
116         private String value;
117
118         EventTypeEnum(String value) {
119             this.value = value;
120         }
121
122         @Override
123         public String toString() {
124             return value;
125         }
126     }
127
128     @SerializedName("event_type")
129     private EventTypeEnum eventType = null;
130
131     public EventTypeEnum getEventType() {
132         return eventType;
133     }
134
135     @SerializedName("camera_id")
136     String cameraId;
137
138     public String getCameraId() {
139         return cameraId;
140     }
141
142     @SerializedName("home_id")
143     String homeId;
144
145     public String getHomeId() {
146         return homeId;
147     }
148
149     @SerializedName("persons")
150     private List<NAWebhookCameraEventPerson> persons = new ArrayList<>();
151
152     public List<NAWebhookCameraEventPerson> getPersons() {
153         return persons;
154     }
155 }