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 * Percents of the used heap
87 public static final String CHANNEL_MEMORY_USED_HEAP_PERCENT = "memory#usedHeapPercent";
90 * Bytes used in the heap
92 public static final String CHANNEL_MEMORY_HEAP_AVAILABLE = "memory#availableHeap";
95 * Total size of swap memory
97 public static final String CHANNEL_SWAP_TOTAL = "swap#total";
100 * Size of the available swap memory
102 public static final String CHANNEL_SWAP_AVAILABLE = "swap#available";
105 * Size of the used swap memory
107 public static final String CHANNEL_SWAP_USED = "swap#used";
110 * Percents of the available swap memory
112 public static final String CHANNEL_SWAP_AVAILABLE_PERCENT = "swap#availablePercent";
115 * Percents of the used swap memory
117 public static final String CHANNEL_SWAP_USED_PERCENT = "swap#usedPercent";
120 * Physical storage drive name
122 public static final String CHANNEL_DRIVE_NAME = "drive#name";
125 * Physical storage drive model
127 public static final String CHANNEL_DRIVE_MODEL = "drive#model";
130 * Physical storage drive serial number
132 public static final String CHANNEL_DRIVE_SERIAL = "drive#serial";
135 * Name of the logical volume storage
137 public static final String CHANNEL_STORAGE_NAME = "storage#name";
140 * Logical storage volume type -(e.g. NTFS, FAT32 ..)
142 public static final String CHANNEL_STORAGE_TYPE = "storage#type";
145 * Description of the logical volume storage
147 public static final String CHANNEL_STORAGE_DESCRIPTION = "storage#description";
150 * Size of the available storage space
152 public static final String CHANNEL_STORAGE_AVAILABLE = "storage#available";
155 * Size of the used storage space
157 public static final String CHANNEL_STORAGE_USED = "storage#used";
160 * Total storage space
162 public static final String CHANNEL_STORAGE_TOTAL = "storage#total";
165 * Percents of the available storage space
167 public static final String CHANNEL_STORAGE_AVAILABLE_PERCENT = "storage#availablePercent";
170 * Percents of the used storage space
172 public static final String CHANNEL_STORAGE_USED_PERCENT = "storage#usedPercent";
175 * Temperature of the CPU measured from the sensors.
177 public static final String CHANNEL_SENSORS_CPU_TEMPERATURE = "sensors#cpuTemp";
180 * Voltage of the CPU core.
182 public static final String CHANNEL_SENOSRS_CPU_VOLTAGE = "sensors#cpuVoltage";
187 public static final String CHANNEL_SENSORS_FAN_SPEED = "sensors#fanSpeed";
190 * Name of the battery
192 public static final String CHANNEL_BATTERY_NAME = "battery#name";
195 * Remaining capacity of the battery.
197 public static final String CHANNEL_BATTERY_REMAINING_CAPACITY = "battery#remainingCapacity";
200 * Estimated remaining time of the battery
202 public static final String CHANNEL_BATTERY_REMAINING_TIME = "battery#remainingTime";
205 * Detailed description about the CPU
207 public static final String CHANNEL_CPU_DESCRIPTION = "cpu#description";
210 * Average recent CPU load
212 public static final String CHANNEL_CPU_LOAD = "cpu#load";
215 * Average CPU load for the last minute
217 public static final String CHANNEL_CPU_LOAD_1 = "cpu#load1";
220 * Average CPU load for the last 5 minutes
222 public static final String CHANNEL_CPU_LOAD_5 = "cpu#load5";
225 * Average CPU load for the last 15 minutes
227 public static final String CHANNEL_CPU_LOAD_15 = "cpu#load15";
232 public static final String CHANNEL_CPU_NAME = "cpu#name";
235 * CPU uptime in minutes
237 public static final String CHANNEL_CPU_UPTIME = "cpu#uptime";
240 * CPU running threads count
242 public static final String CHANNEL_CPU_THREADS = "cpu#threads";
245 * Information about the display device
247 public static final String CHANNEL_DISPLAY_INFORMATION = "display#information";
250 * Host IP address of the network
252 public static final String CHANNEL_NETWORK_IP = "network#ip";
255 * Network display name
257 public static final String CHANNEL_NETWORK_ADAPTER_NAME = "network#networkName";
262 public static final String CHANNEL_NETWORK_DATA_SENT = "network#dataSent";
265 * Network data received
267 public static final String CHANNEL_NETWORK_DATA_RECEIVED = "network#dataReceived";
270 * Network packets sent
272 public static final String CHANNEL_NETWORK_PACKETS_SENT = "network#packetsSent";
275 * Network packets received
277 public static final String CHANNEL_NETWORK_PACKETS_RECEIVED = "network#packetsReceived";
282 public static final String CHANNEL_NETWORK_NAME = "network#networkDisplayName";
285 * Network mac address
287 public static final String CHANNEL_NETWORK_MAC = "network#mac";
290 * Name of the channel group for process information
292 public static final String CHANNEL_GROUP_PROCESS = "process";
295 * CPU load used from a process
298 public static final String CHANNEL_PROCESS_LOAD = "process#load";
301 * Size of memory used from a process in MB
303 public static final String CHANNEL_PROCESS_MEMORY = "process#used";
306 * Name of the process
308 public static final String CHANNEL_PROCESS_NAME = "process#name";
311 * Number of threads, used form the process
313 public static final String CHANNEL_PROCESS_THREADS = "process#threads";
316 * The full path of the process
318 public static final String CHANNEL_PROCESS_PATH = "process#path";
320 // Thing configuraion
322 * Name of the configuration parameter of the thing that defines refresh time for High priority channels
324 public static final String HIGH_PRIORITY_REFRESH_TIME = "interval_high";
327 * Name of the configuration parameter of the thing that defines refresh time for Medium priority channels
329 public static final String MEDIUM_PRIORITY_REFRESH_TIME = "interval_medium";
331 // Channel configuration
334 * Name of the channel configuration parameter priority
336 public static final String PRIOIRITY_PARAM = "priority";
339 * Name of the channel configuration parameter pid
342 public static final String PID_PARAM = "pid";