2 * Copyright (c) 2010-2021 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
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
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.systeminfo.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link SysteminfoBindingConstants} class defines common constants, which are
20 * used across the whole binding.
22 * @author Svilen Valkanov - Initial contribution
25 public class SysteminfoBindingConstants {
27 public static final String BINDING_ID = "systeminfo";
29 public static final ThingTypeUID THING_TYPE_COMPUTER = new ThingTypeUID(BINDING_ID, "computer");
33 * Number of CPU logical cores
35 public static final String PROPERTY_CPU_LOGICAL_CORES = "CPU Logical Cores";
38 * Number of CPU physical cores
40 public static final String PROPERTY_CPU_PHYSICAL_CORES = "CPU Physical Cores";
43 * Contains information about the family /Windows, Linux, OS X etc/ of the operation system
45 public static final String PROPERTY_OS_FAMILY = "OS Family";
48 * Name of the manufacturer of the operation system
50 public static final String PROPERTY_OS_MANUFACTURER = "OS Manufacturer";
53 * Version of the operation system
55 public static final String PROPERTY_OS_VERSION = "OS Version";
57 // List of all Channel IDs
60 * Size of the available memory
62 public static final String CHANNEL_MEMORY_AVAILABLE = "memory#available";
65 * Size of the used memory
67 public static final String CHANNEL_MEMORY_USED = "memory#used";
70 * Total size of the memory
72 public static final String CHANNEL_MEMORY_TOTAL = "memory#total";
75 * Percents of the available memory
77 public static final String CHANNEL_MEMORY_AVAILABLE_PERCENT = "memory#availablePercent";
80 * Percents of the used memory
82 public static final String CHANNEL_MEMORY_USED_PERCENT = "memory#usedPercent";
85 * Total size of swap memory
87 public static final String CHANNEL_SWAP_TOTAL = "swap#total";
90 * Size of the available swap memory
92 public static final String CHANNEL_SWAP_AVAILABLE = "swap#available";
95 * Size of the used swap memory
97 public static final String CHANNEL_SWAP_USED = "swap#used";
100 * Percents of the available swap memory
102 public static final String CHANNEL_SWAP_AVAILABLE_PERCENT = "swap#availablePercent";
105 * Percents of the used swap memory
107 public static final String CHANNEL_SWAP_USED_PERCENT = "swap#usedPercent";
110 * Physical storage drive name
112 public static final String CHANNEL_DRIVE_NAME = "drive#name";
115 * Physical storage drive model
117 public static final String CHANNEL_DRIVE_MODEL = "drive#model";
120 * Physical storage drive serial number
122 public static final String CHANNEL_DRIVE_SERIAL = "drive#serial";
125 * Name of the logical volume storage
127 public static final String CHANNEL_STORAGE_NAME = "storage#name";
130 * Logical storage volume type -(e.g. NTFS, FAT32 ..)
132 public static final String CHANNEL_STORAGE_TYPE = "storage#type";
135 * Description of the logical volume storage
137 public static final String CHANNEL_STORAGE_DESCRIPTION = "storage#description";
140 * Size of the available storage space
142 public static final String CHANNEL_STORAGE_AVAILABLE = "storage#available";
145 * Size of the used storage space
147 public static final String CHANNEL_STORAGE_USED = "storage#used";
150 * Total storage space
152 public static final String CHANNEL_STORAGE_TOTAL = "storage#total";
155 * Percents of the available storage space
157 public static final String CHANNEL_STORAGE_AVAILABLE_PERCENT = "storage#availablePercent";
160 * Percents of the used storage space
162 public static final String CHANNEL_STORAGE_USED_PERCENT = "storage#usedPercent";
165 * Temperature of the CPU measured from the sensors.
167 public static final String CHANNEL_SENSORS_CPU_TEMPERATURE = "sensors#cpuTemp";
170 * Voltage of the CPU core.
172 public static final String CHANNEL_SENOSRS_CPU_VOLTAGE = "sensors#cpuVoltage";
177 public static final String CHANNEL_SENSORS_FAN_SPEED = "sensors#fanSpeed";
180 * Name of the battery
182 public static final String CHANNEL_BATTERY_NAME = "battery#name";
185 * Remaining capacity of the battery.
187 public static final String CHANNEL_BATTERY_REMAINING_CAPACITY = "battery#remainingCapacity";
190 * Estimated remaining time of the battery
192 public static final String CHANNEL_BATTERY_REMAINING_TIME = "battery#remainingTime";
195 * Detailed description about the CPU
197 public static final String CHANNEL_CPU_DESCRIPTION = "cpu#description";
200 * Average recent CPU load
202 public static final String CHANNEL_CPU_LOAD = "cpu#load";
205 * Average CPU load for the last minute
207 public static final String CHANNEL_CPU_LOAD_1 = "cpu#load1";
210 * Average CPU load for the last 5 minutes
212 public static final String CHANNEL_CPU_LOAD_5 = "cpu#load5";
215 * Average CPU load for the last 15 minutes
217 public static final String CHANNEL_CPU_LOAD_15 = "cpu#load15";
222 public static final String CHANNEL_CPU_NAME = "cpu#name";
225 * CPU uptime in minutes
227 public static final String CHANNEL_CPU_UPTIME = "cpu#uptime";
230 * CPU running threads count
232 public static final String CHANNEL_CPU_THREADS = "cpu#threads";
235 * Information about the display device
237 public static final String CHANNEL_DISPLAY_INFORMATION = "display#information";
240 * Host IP address of the network
242 public static final String CHANNEL_NETWORK_IP = "network#ip";
245 * Network display name
247 public static final String CHANNEL_NETWORK_ADAPTER_NAME = "network#networkName";
252 public static final String CHANNEL_NETWORK_DATA_SENT = "network#dataSent";
255 * Network data received
257 public static final String CHANNEL_NETWORK_DATA_RECEIVED = "network#dataReceived";
260 * Network packets sent
262 public static final String CHANNEL_NETWORK_PACKETS_SENT = "network#packetsSent";
265 * Network packets received
267 public static final String CHANNEL_NETWORK_PACKETS_RECEIVED = "network#packetsReceived";
272 public static final String CHANNEL_NETWORK_NAME = "network#networkDisplayName";
275 * Network mac address
277 public static final String CHANNEL_NETWORK_MAC = "network#mac";
280 * Name of the channel group for process information
282 public static final String CHANNEL_GROUP_PROCESS = "process";
285 * CPU load used from a process
288 public static final String CHANNEL_PROCESS_LOAD = "process#load";
291 * Size of memory used from a process in MB
293 public static final String CHANNEL_PROCESS_MEMORY = "process#used";
296 * Name of the process
298 public static final String CHANNEL_PROCESS_NAME = "process#name";
301 * Number of threads, used form the process
303 public static final String CHANNEL_PROCESS_THREADS = "process#threads";
306 * The full path of the process
308 public static final String CHANNEL_PROCESS_PATH = "process#path";
310 // Thing configuraion
312 * Name of the configuration parameter of the thing that defines refresh time for High priority channels
314 public static final String HIGH_PRIORITY_REFRESH_TIME = "interval_high";
317 * Name of the configuration parameter of the thing that defines refresh time for Medium priority channels
319 public static final String MEDIUM_PRIORITY_REFRESH_TIME = "interval_medium";
321 // Channel configuration
324 * Name of the channel configuration parameter priority
326 public static final String PRIOIRITY_PARAM = "priority";
329 * Name of the channel configuration parameter pid
332 public static final String PID_PARAM = "pid";