added migrated 2.x add-ons

Signed-off-by: Kai Kreuzer <kai@openhab.org>
This commit is contained in:
Kai Kreuzer
2020-09-21 01:58:32 +02:00
parent bbf1a7fd29
commit 6df6783b60
11662 changed files with 1302875 additions and 11 deletions

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<binding:binding id="systeminfo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:binding="https://openhab.org/schemas/binding/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd">
<name>Systeminfo Binding</name>
<description>This binding provides information about the operating system and the hardware.</description>
<author>Svilen Valkanov</author>
</binding:binding>

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<config-description:config-descriptions
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0
https://openhab.org/schemas/config-description-1.0.0.xsd">
<!-- Channels use the priority configuration parameter to inform the binding how often the channel state must be updated.
High priority should be channels, which change its state dynamically at few seconds interval. Medium priority channels
usually need update of the state more often - at several minutes. Low priority channels do not change their state at all,
or very often. They do not need regular updates. -->
<config-description uri="systeminfo:channels:lowpriority">
<parameter-group name="priorityGroup">
<label>String</label>
<description>String</description>
<advanced>false</advanced>
</parameter-group>
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>Low</default>
</parameter>
</config-description>
<config-description uri="systeminfo:channels:mediumpriority">
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>Medium</default>
</parameter>
</config-description>
<config-description uri="systeminfo:channels:highpriority">
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>High</default>
</parameter>
</config-description>
<config-description uri="systeminfo:channels:lowpriority_process">
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>Low</default>
</parameter>
<parameter name="pid" type="integer" min="0" step="1">
<label>PID</label>
<description>The Process Identifier of the process.</description>
<default>0</default>
</parameter>
</config-description>
<config-description uri="systeminfo:channels:mediumpriority_process">
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>Medium</default>
</parameter>
<parameter name="pid" type="integer" min="0" step="1">
<label>PID</label>
<description>The Process Identifier of the process.</description>
<default>0</default>
</parameter>
</config-description>
<config-description uri="systeminfo:channels:highpriority_process">
<parameter name="priority" type="text">
<label>Interval</label>
<description>Refresh interval in seconds.</description>
<options>
<option value="High">High</option>
<option value="Medium">Medium</option>
<option value="Low">Low</option>
</options>
<default>High</default>
</parameter>
<parameter name="pid" type="integer" min="0" step="1">
<label>PID</label>
<description>The Process Identifier of the process.</description>
<default>0</default>
</parameter>
</config-description>
</config-description:config-descriptions>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<config-description:config-descriptions
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0
https://openhab.org/schemas/config-description-1.0.0.xsd">
<!-- The thing updates at intervals the High and Medium priority channels, defined in channel configuration file. This parameters
specify how often (time in seconds) these channels should be updated. -->
<config-description uri="thing-type:systeminfo:computerConfig">
<parameter name="interval_high" type="integer">
<label>Interval for High Priority Tasks</label>
<description>Refresh interval in seconds.</description>
<default>1</default>
</parameter>
<parameter name="interval_medium" type="integer">
<label>Interval for Medium Priority Tasks</label>
<description>Refresh interval in seconds.</description>
<default>60</default>
</parameter>
<!-- Parameter "interval_low" is not needed, because channels with priority set to low are not updated periodically. They
are updated only at initializing or at REFRESH command. -->
</config-description>
</config-description:config-descriptions>

View File

@@ -0,0 +1,384 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="systeminfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<!-- This file contains channel specific information and describes how the different channel types should be rendered. Each
channel is assigned a default priority configuration. For more info about priorities see OH-INF/config/channelConfig.xml -->
<channel-group-type id="memoryGroup">
<label>Physical Memory</label>
<description>Physical memory information</description>
<channels>
<channel id="total" typeId="total"/>
<channel id="available" typeId="available"/>
<channel id="used" typeId="used"/>
<channel id="availablePercent" typeId="availablePercent"/>
<channel id="usedPercent" typeId="usedPercent"/>
</channels>
</channel-group-type>
<channel-group-type id="swapGroup">
<label>Swap Memory</label>
<description>Swap memory information</description>
<channels>
<channel id="total" typeId="total"/>
<channel id="available" typeId="available"/>
<channel id="used" typeId="used"/>
<channel id="availablePercent" typeId="availablePercent"/>
<channel id="usedPercent" typeId="usedPercent"/>
</channels>
</channel-group-type>
<channel-group-type id="storageGroup">
<label>Storage</label>
<description>Logical storage information</description>
<channels>
<channel id="total" typeId="total"/>
<channel id="available" typeId="available"/>
<channel id="used" typeId="used"/>
<channel id="availablePercent" typeId="availablePercent"/>
<channel id="usedPercent" typeId="usedPercent"/>
<channel id="name" typeId="name"/>
<channel id="description" typeId="description"/>
<channel id="type" typeId="type"/>
</channels>
</channel-group-type>
<channel-group-type id="driveGroup">
<label>Drive</label>
<description>Drive information</description>
<channels>
<channel id="name" typeId="name"/>
<channel id="model" typeId="model"/>
<channel id="serial" typeId="serial"/>
</channels>
</channel-group-type>
<channel-group-type id="networkGroup">
<label>Network</label>
<description>Network parameters</description>
<channels>
<channel id="ip" typeId="ip"/>
<channel id="networkName" typeId="networkName"/>
<channel id="networkDisplayName" typeId="networkDisplayName"/>
<channel id="dataSent" typeId="dataSent"/>
<channel id="dataReceived" typeId="dataReceived"/>
<channel id="packetsSent" typeId="packetsSent"/>
<channel id="packetsReceived" typeId="packetsReceived"/>
<channel id="mac" typeId="mac"/>
</channels>
</channel-group-type>
<channel-group-type id="displayGroup">
<label>Display</label>
<description>Display parameters</description>
<channels>
<channel id="information" typeId="information"/>
</channels>
</channel-group-type>
<channel-group-type id="sensorsGroup">
<label>Sensor</label>
<description>Sensor parameters</description>
<channels>
<channel id="cpuTemp" typeId="cpuTemp"/>
<channel id="cpuVoltage" typeId="cpuVoltage"/>
<channel id="fanSpeed" typeId="fanSpeed"/>
</channels>
</channel-group-type>
<channel-group-type id="batteryGroup">
<label>Battery</label>
<description>Battery parameters</description>
<channels>
<channel id="name" typeId="name"/>
<channel id="remainingCapacity" typeId="remainingCapacity"/>
<channel id="remainingTime" typeId="remainingTime"/>
</channels>
</channel-group-type>
<channel-group-type id="cpuGroup">
<label>CPU</label>
<description>CPU parameters</description>
<channels>
<channel id="name" typeId="name"/>
<channel id="description" typeId="description"/>
<channel id="load1" typeId="loadAverage"/>
<channel id="load5" typeId="loadAverage"/>
<channel id="load15" typeId="loadAverage"/>
<channel id="uptime" typeId="uptime"/>
<channel id="threads" typeId="threads"/>
</channels>
</channel-group-type>
<channel-group-type id="processGroup">
<label>Process</label>
<description>System process information</description>
<channels>
<channel id="load" typeId="load_process"/>
<channel id="used" typeId="used_process"/>
<channel id="name" typeId="name_process"/>
<channel id="threads" typeId="threads_process"/>
<channel id="path" typeId="path_process"/>
</channels>
</channel-group-type>
<channel-type id="path_process">
<item-type>String</item-type>
<label>Path</label>
<description>The full path</description>
<state readOnly="true" pattern="%s"/>
<config-description-ref uri="systeminfo:channels:lowpriority_process"/>
</channel-type>
<channel-type id="available">
<item-type>Number</item-type>
<label>Available</label>
<description>Available size in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:highpriority"/>
</channel-type>
<channel-type id="used">
<item-type>Number</item-type>
<label>Used</label>
<description>Used size in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:highpriority"/>
</channel-type>
<channel-type id="used_process">
<item-type>Number</item-type>
<label>Used</label>
<description>Used size in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:highpriority_process"/>
</channel-type>
<channel-type id="total">
<item-type>Number</item-type>
<label>Total</label>
<description>Total size in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="availablePercent">
<item-type>Number</item-type>
<label>Available (%)</label>
<description>Available size in percent</description>
<state readOnly="true" pattern="%.1f %%"/>
<config-description-ref uri="systeminfo:channels:highpriority"/>
</channel-type>
<channel-type id="usedPercent">
<item-type>Number</item-type>
<label>Used (%)</label>
<description>Used size in percent</description>
<state readOnly="true" pattern="%.1f %%"/>
<config-description-ref uri="systeminfo:channels:highpriority"/>
</channel-type>
<channel-type id="name">
<item-type>String</item-type>
<label>Name</label>
<description>Name of the device (process)</description>
<state readOnly="true" pattern="%s"/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="name_process">
<item-type>String</item-type>
<label>Name</label>
<description>Name of the device (process)</description>
<state readOnly="true" pattern="%s"/>
<config-description-ref uri="systeminfo:channels:lowpriority_process"/>
</channel-type>
<channel-type id="model" advanced="true">
<item-type>String</item-type>
<label>Model</label>
<description>The model of the device</description>
<state readOnly="true" pattern="%s"/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="serial" advanced="true">
<item-type>String</item-type>
<label>Serial Number</label>
<description>The serial number of the device</description>
<state readOnly="true" pattern="%s"/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="description" advanced="true">
<item-type>String</item-type>
<label>Description</label>
<description>Description of the device</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="type" advanced="true">
<item-type>String</item-type>
<label>Type</label>
<description>Storage type</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="cpuTemp" advanced="true">
<item-type>Number</item-type>
<label>CPU Temperature</label>
<description>CPU Temperature in Celsius degrees</description>
<state readOnly="true" pattern="%.1f °"/>
<config-description-ref uri="systeminfo:channels:highpriority"/>
</channel-type>
<channel-type id="cpuVoltage" advanced="true">
<item-type>Number</item-type>
<label>CPU Voltage</label>
<description>CPU Voltage in V</description>
<state readOnly="true" pattern="%.1f V"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="fanSpeed" advanced="true">
<item-type>Number</item-type>
<label>Fan Speed</label>
<description>Fan speed in rpm</description>
<state readOnly="true" pattern="%d rpm"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="remainingTime">
<item-type>Number</item-type>
<label>Remaining Time</label>
<description>Remaining time in minutes</description>
<state readOnly="true" pattern="%.1f Minutes"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="remainingCapacity">
<item-type>Number</item-type>
<label>Remaining Capacity</label>
<description>Remaining capacity in percent</description>
<state readOnly="true" pattern="%.1f %%"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="load_process">
<item-type>Number</item-type>
<label>Load</label>
<description>Load in percent</description>
<state readOnly="true" pattern="%.1f %%"/>
<config-description-ref uri="systeminfo:channels:highpriority_process"/>
</channel-type>
<channel-type id="loadAverage" advanced="true">
<item-type>Number</item-type>
<label>Load Average</label>
<description>Load as a number of processes for the last 1,5 or 15 minutes</description>
<state readOnly="true" pattern="%.1f"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="uptime" advanced="true">
<item-type>Number</item-type>
<label>System Uptime</label>
<description>System uptime (time after start) in minutes</description>
<state readOnly="true" pattern="%.1f Minutes"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="threads" advanced="true">
<item-type>Number</item-type>
<label>Number of Threads</label>
<description>Number of threads currently running</description>
<state readOnly="true" pattern="%d"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="threads_process" advanced="true">
<item-type>Number</item-type>
<label>Number of Threads</label>
<description>Number of threads currently running</description>
<state readOnly="true" pattern="%d"/>
<config-description-ref uri="systeminfo:channels:mediumpriority_process"/>
</channel-type>
<channel-type id="information" advanced="true">
<item-type>String</item-type>
<label>Display Information</label>
<description>Product, manufacturer, SN, width and height of the display in cm</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="ip">
<item-type>String</item-type>
<label>IP Address</label>
<description>Host IP address of the network</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="mac" advanced="true">
<item-type>String</item-type>
<label>Mac Address</label>
<description>Mac address of the network</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="networkName">
<item-type>String</item-type>
<label>Network Name</label>
<description>The name of the network.</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="networkDisplayName">
<item-type>String</item-type>
<label>Network Display Name</label>
<description>The display name of the network</description>
<state readOnly="true" pattern="%s "/>
<config-description-ref uri="systeminfo:channels:lowpriority"/>
</channel-type>
<channel-type id="packetsSent" advanced="true">
<item-type>Number</item-type>
<label>Packets Sent</label>
<description>Number of packets sent</description>
<state readOnly="true" pattern="%d "/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="packetsReceived" advanced="true">
<item-type>Number</item-type>
<label>Packets Received</label>
<description>Number of packets received</description>
<state readOnly="true" pattern="%d "/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="dataSent" advanced="true">
<item-type>Number</item-type>
<label>Data Sent</label>
<description>Data sent in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
<channel-type id="dataReceived" advanced="true">
<item-type>Number</item-type>
<label>Data Received</label>
<description>Data received in MB</description>
<state readOnly="true" pattern="%d MB"/>
<config-description-ref uri="systeminfo:channels:mediumpriority"/>
</channel-type>
</thing:thing-descriptions>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="systeminfo"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<!-- This thing represents a computer with single logical storage device, single drive, single display, battery and one
network interface installed. If other configurations are needed feel free to create different thing types. Currently dynamic
channel creation is not supported from the binding. -->
<thing-type id="computer">
<label>Systeminfo</label>
<description>The computer operating system and hardware information</description>
<channel-groups>
<channel-group id="memory" typeId="memoryGroup"/>
<channel-group id="storage" typeId="storageGroup"/>
<channel-group id="sensors" typeId="sensorsGroup"/>
<channel-group id="cpu" typeId="cpuGroup"/>
<!-- This group types are not mandatory for every computer configuration -->
<channel-group id="process" typeId="processGroup"/>
<channel-group id="drive" typeId="driveGroup"/>
<channel-group id="swap" typeId="swapGroup"/>
<channel-group id="display" typeId="displayGroup"/>
<channel-group id="battery" typeId="batteryGroup"/>
<channel-group id="network" typeId="networkGroup"/>
</channel-groups>
<properties>
<property name="CPU Logical Cores">Not available</property>
<property name="CPU Physical Cores">Not available</property>
<property name="OS Manufacturer">Not available</property>
<property name="OS Version">Not available</property>
<property name="OS Family">Not available</property>
</properties>
<config-description-ref uri="thing-type:systeminfo:computerConfig"/>
</thing-type>
</thing:thing-descriptions>