]> git.basschouten.com Git - openhab-addons.git/blob
ea6584b7bbccffbeacc84441d86fc2fba37456f0
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2020 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.amazonechocontrol.internal.jsons;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.eclipse.jdt.annotation.Nullable;
17 import org.openhab.binding.amazonechocontrol.internal.jsons.JsonSmartHomeCapabilities.SmartHomeCapability;
18 import org.openhab.binding.amazonechocontrol.internal.jsons.JsonSmartHomeDeviceNetworkState.SmartHomeDeviceNetworkState;
19 import org.openhab.binding.amazonechocontrol.internal.jsons.JsonSmartHomeTags.JsonSmartHomeTag;
20
21 /**
22  * @author Lukas Knoeller - Initial contribution
23  */
24 @NonNullByDefault
25 public class JsonSmartHomeDevices {
26     public static class SmartHomeDevice implements SmartHomeBaseDevice {
27
28         public @Nullable Integer updateIntervalInSeconds;
29
30         @Override
31         public @Nullable String findId() {
32             return applianceId;
33         }
34
35         @Override
36         public boolean isGroup() {
37             return false;
38         }
39
40         public @Nullable String applianceId;
41         public @Nullable String manufacturerName;
42         public @Nullable String friendlyDescription;
43         public @Nullable String modelName;
44         public @Nullable String friendlyName;
45         public @Nullable String reachability;
46         public @Nullable String entityId;
47         public @Nullable SmartHomeDeviceNetworkState applianceNetworkState;
48         public @Nullable SmartHomeCapability @Nullable [] capabilities;
49         public @Nullable JsonSmartHomeTag tags;
50         public @Nullable String @Nullable [] applianceTypes;
51         public @Nullable JsonSmartHomeDeviceAlias @Nullable [] aliases;
52         public @Nullable SmartHomeDevice @Nullable [] groupDevices;
53         public @Nullable String connectedVia;
54         public @Nullable DriverIdentity driverIdentity;
55     }
56
57     public static class DriverIdentity {
58         public @Nullable String namespace;
59         public @Nullable String identifier;
60     }
61
62     public @Nullable SmartHomeDevice @Nullable [] smarthomeDevices;
63 }