]> git.basschouten.com Git - openhab-addons.git/blob
9875434aee656cd6f2c60279db9ecdf9a5f8d093
[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.miio.internal;
14
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.thing.ThingTypeUID;
22
23 /**
24  * The {@link MiIoBindingConstants} class defines common constants, which are
25  * used across the whole binding.
26  *
27  * @author Marcel Verpaalen - Initial contribution
28  */
29 @NonNullByDefault
30 public final class MiIoBindingConstants {
31
32     public static final String BINDING_ID = "miio";
33
34     // List of all Thing Type UIDs
35     public static final ThingTypeUID THING_TYPE_MIIO = new ThingTypeUID(BINDING_ID, "generic");
36     public static final ThingTypeUID THING_TYPE_BASIC = new ThingTypeUID(BINDING_ID, "basic");
37     public static final ThingTypeUID THING_TYPE_VACUUM = new ThingTypeUID(BINDING_ID, "vacuum");
38     public static final ThingTypeUID THING_TYPE_UNSUPPORTED = new ThingTypeUID(BINDING_ID, "unsupported");
39
40     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections
41             .unmodifiableSet(Stream.of(THING_TYPE_MIIO, THING_TYPE_BASIC, THING_TYPE_VACUUM, THING_TYPE_UNSUPPORTED)
42                     .collect(Collectors.toSet()));
43
44     public static final Set<ThingTypeUID> NONGENERIC_THING_TYPES_UIDS = Collections.unmodifiableSet(
45             Stream.of(THING_TYPE_BASIC, THING_TYPE_VACUUM, THING_TYPE_UNSUPPORTED).collect(Collectors.toSet()));
46
47     // List of all Channel IDs
48     public static final String CHANNEL_BATTERY = "status#battery";
49     public static final String CHANNEL_CLEAN_AREA = "status#clean_area";
50     public static final String CHANNEL_CLEAN_TIME = "status#clean_time";
51     public static final String CHANNEL_DND_ENABLED = "status#dnd_enabled";
52     public static final String CHANNEL_ERROR_CODE = "status#error_code";
53     public static final String CHANNEL_ERROR_ID = "status#error_id";
54     public static final String CHANNEL_FAN_POWER = "status#fan_power";
55     public static final String CHANNEL_IN_CLEANING = "status#in_cleaning";
56     public static final String CHANNEL_MAP_PRESENT = "status#map_present";
57     public static final String CHANNEL_STATE = "status#state";
58     public static final String CHANNEL_STATE_ID = "status#state_id";
59
60     public static final String CHANNEL_CONTROL = "actions#control";
61     public static final String CHANNEL_COMMAND = "actions#commands";
62     public static final String CHANNEL_VACUUM = "actions#vacuum";
63     public static final String CHANNEL_FAN_CONTROL = "actions#fan";
64     public static final String CHANNEL_TESTCOMMANDS = "actions#testcommands";
65     public static final String CHANNEL_POWER = "actions#power";
66
67     public static final String CHANNEL_SSID = "network#ssid";
68     public static final String CHANNEL_BSSID = "network#bssid";
69     public static final String CHANNEL_RSSI = "network#rssi";
70     public static final String CHANNEL_LIFE = "network#life";
71
72     public static final String CHANNEL_CONSUMABLE_MAIN_PERC = "consumables#main_brush_percent";
73     public static final String CHANNEL_CONSUMABLE_SIDE_PERC = "consumables#side_brush_percent";
74     public static final String CHANNEL_CONSUMABLE_FILTER_PERC = "consumables#filter_percent";
75     public static final String CHANNEL_CONSUMABLE_SENSOR_PERC = "consumables#sensor_dirt_percent";
76     public static final String CHANNEL_CONSUMABLE_MAIN_TIME = "consumables#main_brush_time";
77     public static final String CHANNEL_CONSUMABLE_SIDE_TIME = "consumables#side_brush_time";
78     public static final String CHANNEL_CONSUMABLE_FILTER_TIME = "consumables#filter_time";
79     public static final String CHANNEL_CONSUMABLE_SENSOR_TIME = "consumables#sensor_dirt_time";
80     public static final String CHANNEL_CONSUMABLE_RESET = "consumables#consumable_reset";
81
82     public static final String CHANNEL_DND_FUNCTION = "dnd#dnd_function";
83     public static final String CHANNEL_DND_START = "dnd#dnd_start";
84     public static final String CHANNEL_DND_END = "dnd#dnd_end";
85
86     public static final String CHANNEL_HISTORY_TOTALTIME = "history#total_clean_time";
87     public static final String CHANNEL_HISTORY_TOTALAREA = "history#total_clean_area";
88     public static final String CHANNEL_HISTORY_COUNT = "history#total_clean_count";
89
90     public static final String CHANNEL_HISTORY_START_TIME = "cleaning#last_clean_start_time";
91     public static final String CHANNEL_HISTORY_END_TIME = "cleaning#last_clean_end_time";
92     public static final String CHANNEL_HISTORY_AREA = "cleaning#last_clean_area";
93     public static final String CHANNEL_HISTORY_DURATION = "cleaning#last_clean_duration";
94     public static final String CHANNEL_HISTORY_ERROR = "cleaning#last_clean_error";
95     public static final String CHANNEL_HISTORY_FINISH = "cleaning#last_clean_finish";
96     public static final String CHANNEL_HISTORY_RECORD = "cleaning#last_clean_record";
97     public static final String CHANNEL_VACUUM_MAP = "cleaning#map";
98
99     public static final String PROPERTY_HOST_IP = "host";
100     public static final String PROPERTY_DID = "deviceId";
101     public static final String PROPERTY_TOKEN = "token";
102     public static final String PROPERTY_MODEL = "model";
103     public static final String PROPERTY_REFRESH_INTERVAL = "refreshInterval";
104     public static final String PROPERTY_TIMEOUT = "timeout";
105     public static final String PROPERTY_CLOUDSERVER = "cloudServer";
106
107     public static final byte[] DISCOVER_STRING = org.openhab.binding.miio.internal.Utils
108             .hexStringToByteArray("21310020ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
109     public static final int PORT = 54321;
110     public static final Set<String> IGNORED_TOKENS = Collections.unmodifiableSet(Stream
111             .of("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", "00000000000000000000000000000000").collect(Collectors.toSet()));
112
113     public static final String DATABASE_PATH = "database/";
114 }