1 <?xml version="1.0" encoding="UTF-8"?>
2 <config-description:config-descriptions
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0"
5 xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd">
7 <config-description uri="thing-type:mqtt:rollershutter_channel">
8 <parameter-group name="transformations">
9 <label>Transform Values</label>
10 <description>These configuration parameters allow you to alter a value before it is published to MQTT or before a
11 received value is assigned to an item.</description>
12 <advanced>true</advanced>
15 <parameter name="stateTopic" type="text">
16 <label>MQTT State Topic</label>
17 <description>An MQTT topic that this thing will subscribe to, to receive the state. This can be left empty, the
18 channel will be state-less command-only channel.</description>
20 <parameter name="commandTopic" type="text">
21 <label>MQTT Command Topic</label>
22 <description>An MQTT topic that this thing will send a command to. If not set, this will be a read-only
23 rollershutter.</description>
25 <parameter name="stopCommandTopic" type="text">
26 <label>MQTT Stop Command Topic</label>
27 <description>An MQTT topic that this thing will send a STOP command to. If not set, it will send STOP commands to the
28 main commandTopic.</description>
30 <parameter name="transformationPattern" type="text" groupName="transformations">
31 <label>Incoming Value Transformations</label>
32 <description><![CDATA[
33 Applies transformations to an incoming MQTT topic value.
34 A transformation example for a received JSON would be "JSONPATH:$.device.status.temperature" for
35 a json {device: {status: { temperature: 23.2 }}}.
37 You can chain transformations by separating them with the intersection character ∩.
39 <advanced>true</advanced>
41 <parameter name="transformationPatternOut" type="text" groupName="transformations">
42 <label>Outgoing Value Transformation</label>
43 <description><![CDATA[
44 Applies a transformation before publishing a MQTT topic value.
46 Transformations are specialised in extracting a value, but some transformations like
47 the MAP one could be useful.
49 <advanced>true</advanced>
51 <parameter name="formatBeforePublish" type="text" groupName="transformations">
52 <label>Outgoing Value Format</label>
53 <description><![CDATA[
54 Format a value before it is published to the MQTT broker.
55 The default is to just pass the channel/item state.
57 If you want to apply a prefix, say "MYCOLOR,", you would use "MYCOLOR,%s".
58 If you want to adjust the precision of a number to for example 4 digits, you would use "%.4f".
60 <advanced>true</advanced>
63 <parameter name="qos" type="integer" min="0" max="2" required="false">
65 <description>MQTT QoS of this channel (0, 1, 2). Default is QoS of the broker connection.</description>
67 <option value="0">At most once (best effort delivery "fire and forget")</option>
68 <option value="1">At least once (guaranteed that a message will be delivered at least once)</option>
69 <option value="2">Exactly once (guarantees that each message is received only once by the counterpart)</option>
71 <advanced>true</advanced>
73 <parameter name="retained" type="boolean">
74 <label>Retained</label>
75 <description>The value will be published to the command topic as retained message. A retained value stays on the
76 broker and can even be seen by MQTT clients that are subscribing at a later point in time.</description>
77 <default>false</default>
78 <advanced>true</advanced>
80 <parameter name="postCommand" type="boolean">
81 <label>Is Command</label>
82 <description>If the received MQTT value should not only update the state of linked items, but command them, enable
83 this option.</description>
84 <default>false</default>
85 <advanced>true</advanced>
87 <parameter name="on" type="text">
88 <label>Up Command Value</label>
89 <description>A string (like "OPEN") that is sent when commanding the rollershutter to open. If not provided, 0 (or
90 100, if inverted) will be sent instead.</description>
91 <advanced>true</advanced>
93 <parameter name="off" type="text">
94 <label>Down Command Value</label>
95 <description>A string (like "CLOSE") that is sent when commanding the rollershutter to close. If not provided, 100
96 (or 0, if inverted) will be sent instead.</description>
97 <advanced>true</advanced>
99 <parameter name="stop" type="text">
100 <label>Stop Command</label>
101 <description>A string (like "STOP") that is sent when commanding the rollershutter to stop.</description>
102 <advanced>true</advanced>
104 <parameter name="onState" type="text">
105 <label>Up State Value</label>
106 <description>A string (like "OPENED") that is recognised as UP state. You can use this parameter for a second
107 keyword, next to UP. Defaults to the Up Command Value.</description>
108 <advanced>true</advanced>
110 <parameter name="offState" type="text">
111 <label>Down State Value</label>
112 <description>A string (like "CLOSED") that is recognised as DOWN state. You can use this parameter for a second
113 keyword, next to DOWN. Defaults to the Down Command Value.</description>
114 <advanced>true</advanced>
116 <parameter name="invert" type="boolean">
117 <label>Invert</label>
118 <description>Enable if your device uses 100 as UP and 0 as DOWN, instead of the normal openHAB convention of 0 as UP
119 and 100 as DOWN.</description>
120 <default>false</default>
121 <advanced>true</advanced>
123 <parameter name="transformExtentsToString" type="boolean">
124 <label>Transform Commands at Extents to String</label>
125 <description>If a command is 0 or 100, send that as UP or DOWN commands instead. Useful if your device doesn't
126 support going to a specific position - only opening or closing, but you have front ends (say HomeKit) or rules that
127 will only send percentage commands instead of UP/DOWN.
129 <default>false</default>
130 <advanced>true</advanced>
132 </config-description>
133 </config-description:config-descriptions>