From: jimtng <2554958+jimtng@users.noreply.github.com> Date: Tue, 20 Aug 2024 15:02:43 +0000 (+1000) Subject: [http] Support chaining transformations without an intersection symbol (#17288) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=5975a5b0659b090e586a7a1f88c9319ffb436326;p=openhab-addons.git [http] Support chaining transformations without an intersection symbol (#17288) * [http] Support transformation chaining without an intersection symbol Signed-off-by: Jimmy Tanagra --- diff --git a/bundles/org.openhab.binding.http/README.md b/bundles/org.openhab.binding.http/README.md index 9313712a24..4aae71596b 100644 --- a/bundles/org.openhab.binding.http/README.md +++ b/bundles/org.openhab.binding.http/README.md @@ -22,8 +22,8 @@ It can be extended with different channels. | `stateMethod` | no | GET | Method used for requesting the state: `GET`, `PUT`, `POST`. | | `commandMethod` | no | GET | Method used for sending commands: `GET`, `PUT`, `POST`. | | `contentType` | yes | - | MIME content-type of the command requests. Only used for `PUT` and `POST`. | -| `encoding` | yes | - | Encoding to be used if no encoding is found in responses (advanced parameter). | -| `headers` | yes | - | Additional headers that are sent along with the request. Format is "header=value". Multiple values can be stored as `headers="key1=value1", "key2=value2", "key3=value3",` | +| `encoding` | yes | - | Encoding to be used if no encoding is found in responses (advanced parameter). | +| `headers` | yes | - | Additional headers that are sent along with the request. Format is "header=value". Multiple values can be stored as `headers="key1=value1", "key2=value2", "key3=value3",` | | `ignoreSSLErrors` | no | false | If set to true, ignores invalid SSL certificate errors. This is potentially dangerous. | | `strictErrorHandling` | no | false | If set to true, thing status is changed depending on last request result (failed = `OFFLINE`). Failed requests result in `UNDEF` for channel values. | | `userAgent` | yes | (yes ) | Sets a custom user agent (default is "Jetty/version", e.g. "Jetty/9.4.20.v20190813"). | @@ -55,7 +55,7 @@ The `image` channel-type supports `stateExtension` only. |-------------------------|----------|-------------|-----------------------------------------------------------------------------------------------------------| | `stateExtension` | yes | - | Appended to the `baseURL` for requesting states. | | `commandExtension` | yes | - | Appended to the `baseURL` for sending commands. If empty, same as `stateExtension`. | -| `stateTransformation ` | yes | - | One or more transformation applied to received values before updating channel. | +| `stateTransformation` | yes | - | One or more transformation applied to received values before updating channel. | | `commandTransformation` | yes | - | One or more transformation applied to channel value before sending to a remote. | | `stateContent` | yes | - | Content for state requests (if method is `PUT` or `POST`) | | `mode` | no | `READWRITE` | Mode this channel is allowed to operate. `READONLY` means receive state, `WRITEONLY` means send commands. | @@ -71,13 +71,15 @@ The relevant transformation service needs to be installed via the Main UI or add Here are a few examples to unwrap an incoming value via `stateTransformation` from a complex response: -| Received value | Tr. Service | Transformation | -|---------------------------------------------------------------------|-------------|-------------------------------------------| -| `{device: {status: { temperature: 23.2 }}}` | JSONPATH | `JSONPATH:$.device.status.temperature` | -| `23.2` | XPath | `XPath:/device/status/temperature/text()` | -| `THEVALUE:23.2°C` | REGEX | `REGEX::(.*?)°` | +| Received value | Tr. Service | Transformation | +|---------------------------------------------------------------------|-------------|--------------------------------------------| +| `{device: {status: { temperature: 23.2 }}}` | JSONPATH | `JSONPATH($.device.status.temperature)` | +| `23.2` | XPath | `XPath(/device/status/temperature/text())` | +| `THEVALUE:23.2°C` | REGEX | `REGEX(:(.*?)°)` | -Transformations can be chained by separating them with the mathematical intersection character "∩". +Transformations can be chained in the UI by listing each transformation on a separate line, or by separating them with the mathematical intersection character "∩". +Transformations are defined using this syntax: `TYPE(FUNCTION)`, e.g.: `JSONPATH($.path)`. +The syntax: `TYPE:FUNCTION` is still supported, e.g.: `JSONPATH:$.path`. Please note that the values will be discarded if one transformation fails (e.g. REGEX did not match). The same mechanism works for commands (`commandTransformation`) for outgoing values. @@ -145,7 +147,7 @@ Please note that incompatible units (e.g. `°C` for a `Number:Density` item) wil | `moveValue` | yes | - | A special value that represents `MOVE` | All values that are not `upValue`, `downValue`, `stopValue`, `moveValue` are interpreted as position 0-100% and need to be numeric only. - + ### `switch` | parameter | optional | default | description | @@ -167,13 +169,13 @@ After the parameter reference the format needs to be appended. See the link above for more information about the available format parameters (e.g. to use the string representation, you need to append `s` to the reference, for a timestamp `t`). When sending an OFF command on 2020-07-06, the URL -``` +```text http://www.domain.org/home/lights/23871/?status=%2$s&date=%1$tY-%1$tm-%1$td -``` +``` is transformed to -``` +```text http://www.domain.org/home/lights/23871/?status=OFF&date=2020-07-06 ``` @@ -183,10 +185,34 @@ http://www.domain.org/home/lights/23871/?status=OFF&date=2020-07-06 ```java Thing http:url:foo "Foo" [ - baseURL="https://example.com/api/v1/metadata-api/web/metadata", + baseURL="https://example.com/api/v1/metadata-api/web/metadata", + headers="key1=value1", "key2=value2", "key3=value3", + refresh=15] { + Channels: + Type string : text "Text" [ stateTransformation="JSONPATH($.metadata.data)" ] +} +``` + +Multiple transformations can be chained in the .things file by listing them as comma-separated values: + +```java +Thing http:url:foo "Foo" [ + baseURL="https://example.com/api/v1/metadata-api/web/metadata", + headers="key1=value1", "key2=value2", "key3=value3", + refresh=15] { + Channels: + Type string : text "Text" [ stateTransformation="REGEX(.*meta.*)", "JSONPATH($.metadata.data)" ] +} +``` + +or by combining them into one value, separated by "∩": + +```java +Thing http:url:foo "Foo" [ + baseURL="https://example.com/api/v1/metadata-api/web/metadata", headers="key1=value1", "key2=value2", "key3=value3", refresh=15] { Channels: - Type string : text "Text" [ stateTransformation="JSONPATH:$.metadata.data" ] + Type string : text "Text" [ stateTransformation="REGEX(.*meta.*) ∩ JSONPATH($.metadata.data)" ] } ``` diff --git a/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/config/HttpChannelConfig.java b/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/config/HttpChannelConfig.java index c9bf745cb8..4def1f3a08 100644 --- a/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/config/HttpChannelConfig.java +++ b/bundles/org.openhab.binding.http/src/main/java/org/openhab/binding/http/internal/config/HttpChannelConfig.java @@ -12,6 +12,8 @@ */ package org.openhab.binding.http.internal.config; +import java.util.List; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.core.thing.binding.generic.ChannelValueConverterConfig; @@ -26,7 +28,7 @@ public class HttpChannelConfig extends ChannelValueConverterConfig { public @Nullable String stateExtension; public @Nullable String commandExtension; - public @Nullable String stateTransformation; - public @Nullable String commandTransformation; + public @Nullable List stateTransformation; + public @Nullable List commandTransformation; public String stateContent = ""; } diff --git a/bundles/org.openhab.binding.http/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.http/src/main/resources/OH-INF/config/config.xml index 82cd4456a9..5a2388dca6 100644 --- a/bundles/org.openhab.binding.http/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.http/src/main/resources/OH-INF/config/config.xml @@ -5,13 +5,15 @@ xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd"> - + - Transformation pattern used when receiving values. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending values. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -42,13 +44,15 @@ - + - Transformation pattern used when receiving values. + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -111,13 +115,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -156,13 +162,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -228,13 +236,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -270,13 +280,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -331,13 +343,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". @@ -384,13 +398,15 @@ - + - Transformation pattern used when receiving value. Multiple transformation can be chained using "∩". + Transformation pattern used when receiving values. Multiple transformations can be chained by listing + each transformation on a separate line, or by concatenating them with "∩". - + - Transformation pattern used when sending value. Multiple transformation can be chained using "∩". + Transformation pattern used when sending values. Multiple transformations can be chained by listing each + transformation on a separate line, or by concatenating them with "∩". diff --git a/bundles/org.openhab.binding.http/src/main/resources/OH-INF/i18n/http.properties b/bundles/org.openhab.binding.http/src/main/resources/OH-INF/i18n/http.properties index e73fe079ff..09f42d1a16 100644 --- a/bundles/org.openhab.binding.http/src/main/resources/OH-INF/i18n/http.properties +++ b/bundles/org.openhab.binding.http/src/main/resources/OH-INF/i18n/http.properties @@ -7,6 +7,8 @@ addon.http.description = This is the binding for retrieving and processing HTTP thing-type.http.url.label = HTTP URL Thing thing-type.http.url.description = Represents a base URL and all associated requests. +thing-type.http.url.channel.last-failure.label = Last Failure +thing-type.http.url.channel.last-success.label = Last Success # thing types config @@ -14,6 +16,7 @@ thing-type.config.http.url.authMode.label = Authentication Mode thing-type.config.http.url.authMode.option.BASIC = Basic Authentication thing-type.config.http.url.authMode.option.BASIC_PREEMPTIVE = Preemptive Basic Authentication thing-type.config.http.url.authMode.option.DIGEST = Digest Authentication +thing-type.config.http.url.authMode.option.TOKEN = Token/Bearer Authentication thing-type.config.http.url.baseURL.label = Base URL thing-type.config.http.url.baseURL.description = The URL set here can be extended in the channel configuration. thing-type.config.http.url.bufferSize.label = Buffer Size @@ -39,7 +42,7 @@ thing-type.config.http.url.headers.description = Additional headers send along w thing-type.config.http.url.ignoreSSLErrors.label = Ignore SSL Errors thing-type.config.http.url.ignoreSSLErrors.description = If set to true ignores invalid SSL certificate errors. This is potentially dangerous. thing-type.config.http.url.password.label = Password -thing-type.config.http.url.password.description = Basic Authentication password +thing-type.config.http.url.password.description = Authentication password or token thing-type.config.http.url.refresh.label = Refresh Time thing-type.config.http.url.refresh.description = Time between two refreshes of all channels thing-type.config.http.url.stateMethod.label = State Method @@ -49,6 +52,8 @@ thing-type.config.http.url.stateMethod.option.POST = POST thing-type.config.http.url.stateMethod.option.PUT = PUT thing-type.config.http.url.timeout.label = Timeout thing-type.config.http.url.timeout.description = The timeout in ms for each request +thing-type.config.http.url.userAgent.label = User Agent +thing-type.config.http.url.userAgent.description = Sets a custom user agent (default is "Jetty/version", e.g. "Jetty/9.4.20.v20190813"). thing-type.config.http.url.username.label = Username thing-type.config.http.url.username.description = Basic Authentication username @@ -62,6 +67,8 @@ channel-type.http.image.label = Image Channel channel-type.http.location.label = Location Channel channel-type.http.number.label = Number Channel channel-type.http.player.label = Player Channel +channel-type.http.request-date-time.label = Dummy +channel-type.http.request-date-time.state.pattern = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS channel-type.http.rollershutter.label = Rollershutter Channel channel-type.http.string.label = String Channel channel-type.http.switch.label = Switch Channel @@ -75,13 +82,11 @@ channel-type.config.http.channel-config-color.colorMode.option.RGB = RGB channel-type.config.http.channel-config-color.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-color.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-color.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-color.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-color.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-color.decreaseValue.label = Decrease Value channel-type.config.http.channel-config-color.decreaseValue.description = The value that represents DECREASE channel-type.config.http.channel-config-color.increaseValue.label = Increase Value channel-type.config.http.channel-config-color.increaseValue.description = The value that represents INCREASE -channel-type.config.http.channel-config-color.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-color.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. channel-type.config.http.channel-config-color.mode.label = Read/Write Mode channel-type.config.http.channel-config-color.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-color.mode.option.READONLY = Read Only @@ -95,7 +100,7 @@ channel-type.config.http.channel-config-color.stateContent.description = Content channel-type.config.http.channel-config-color.stateExtension.label = State URL Extension channel-type.config.http.channel-config-color.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-color.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-color.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-color.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-color.step.label = Increase/Decrease Step channel-type.config.http.channel-config-color.step.description = The value by which the current brightness is increased/decreased if the corresponding command is received channel-type.config.http.channel-config-contact.closedValue.label = Closed Value @@ -103,9 +108,7 @@ channel-type.config.http.channel-config-contact.closedValue.description = The va channel-type.config.http.channel-config-contact.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-contact.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-contact.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-contact.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". -channel-type.config.http.channel-config-contact.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-contact.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-contact.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-contact.mode.label = Read/Write Mode channel-type.config.http.channel-config-contact.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-contact.mode.option.READONLY = Read Only @@ -117,17 +120,15 @@ channel-type.config.http.channel-config-contact.stateContent.description = Conte channel-type.config.http.channel-config-contact.stateExtension.label = State URL Extension channel-type.config.http.channel-config-contact.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-contact.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-contact.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-contact.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-dimmer.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-dimmer.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-dimmer.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-dimmer.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-dimmer.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-dimmer.decreaseValue.label = Decrease Value channel-type.config.http.channel-config-dimmer.decreaseValue.description = The value that represents DECREASE channel-type.config.http.channel-config-dimmer.increaseValue.label = Increase Value channel-type.config.http.channel-config-dimmer.increaseValue.description = The value that represents INCREASE -channel-type.config.http.channel-config-dimmer.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-dimmer.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. channel-type.config.http.channel-config-dimmer.mode.label = Read/Write Mode channel-type.config.http.channel-config-dimmer.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-dimmer.mode.option.READONLY = Read Only @@ -141,11 +142,9 @@ channel-type.config.http.channel-config-dimmer.stateContent.description = Conten channel-type.config.http.channel-config-dimmer.stateExtension.label = State URL Extension channel-type.config.http.channel-config-dimmer.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-dimmer.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-dimmer.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-dimmer.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-dimmer.step.label = Increase/Decrease Step channel-type.config.http.channel-config-dimmer.step.description = The value by which the current brightness is increased/decreased if the corresponding command is received -channel-type.config.http.channel-config-image.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-image.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL and stateExtension. channel-type.config.http.channel-config-image.stateContent.label = State Content channel-type.config.http.channel-config-image.stateContent.description = Content for state request (only used if method is POST/PUT) channel-type.config.http.channel-config-image.stateExtension.label = State URL Extension @@ -153,9 +152,7 @@ channel-type.config.http.channel-config-image.stateExtension.description = This channel-type.config.http.channel-config-number.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-number.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-number.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-number.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". -channel-type.config.http.channel-config-number.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-number.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-number.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-number.mode.label = Read/Write Mode channel-type.config.http.channel-config-number.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-number.mode.option.READONLY = Read Only @@ -165,17 +162,15 @@ channel-type.config.http.channel-config-number.stateContent.description = Conten channel-type.config.http.channel-config-number.stateExtension.label = State URL Extension channel-type.config.http.channel-config-number.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-number.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-number.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-number.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-number.unit.label = Unit channel-type.config.http.channel-config-number.unit.description = Unit to append to the (transformed) value. channel-type.config.http.channel-config-player.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-player.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-player.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-player.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-player.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-player.fastforwardValue.label = Fast Forward Value channel-type.config.http.channel-config-player.fastforwardValue.description = The value that represents FASTFORWARD -channel-type.config.http.channel-config-player.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-player.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. channel-type.config.http.channel-config-player.mode.label = Read/Write Mode channel-type.config.http.channel-config-player.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-player.mode.option.READONLY = Read Only @@ -195,15 +190,13 @@ channel-type.config.http.channel-config-player.stateContent.description = Conten channel-type.config.http.channel-config-player.stateExtension.label = State URL Extension channel-type.config.http.channel-config-player.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-player.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-player.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-player.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-rollershutter.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-rollershutter.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-rollershutter.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-rollershutter.commandTransformation.description = Transformation pattern used when sending values Chain multiple transformations with the mathematical intersection character "∩".. +channel-type.config.http.channel-config-rollershutter.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-rollershutter.downValue.label = Down Value channel-type.config.http.channel-config-rollershutter.downValue.description = The value that represents DOWN -channel-type.config.http.channel-config-rollershutter.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-rollershutter.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. channel-type.config.http.channel-config-rollershutter.mode.label = Read/Write Mode channel-type.config.http.channel-config-rollershutter.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-rollershutter.mode.option.READONLY = Read Only @@ -215,7 +208,7 @@ channel-type.config.http.channel-config-rollershutter.stateContent.description = channel-type.config.http.channel-config-rollershutter.stateExtension.label = State URL Extension channel-type.config.http.channel-config-rollershutter.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-rollershutter.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-rollershutter.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-rollershutter.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-rollershutter.stopValue.label = Stop Value channel-type.config.http.channel-config-rollershutter.stopValue.description = The value that represents STOP channel-type.config.http.channel-config-rollershutter.upValue.label = Up Value @@ -223,9 +216,7 @@ channel-type.config.http.channel-config-rollershutter.upValue.description = The channel-type.config.http.channel-config-switch.commandExtension.label = Command URL Extension channel-type.config.http.channel-config-switch.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config-switch.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config-switch.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". -channel-type.config.http.channel-config-switch.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config-switch.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-switch.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config-switch.mode.label = Read/Write Mode channel-type.config.http.channel-config-switch.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config-switch.mode.option.READONLY = Read Only @@ -239,13 +230,11 @@ channel-type.config.http.channel-config-switch.stateContent.description = Conten channel-type.config.http.channel-config-switch.stateExtension.label = State URL Extension channel-type.config.http.channel-config-switch.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config-switch.stateTransformation.label = State Transformation -channel-type.config.http.channel-config-switch.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config-switch.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config.commandExtension.label = Command URL Extension channel-type.config.http.channel-config.commandExtension.description = This value is added to the base URL configured in the thing for sending values. channel-type.config.http.channel-config.commandTransformation.label = Command Transformation -channel-type.config.http.channel-config.commandTransformation.description = Transformation pattern used when sending values. Chain multiple transformations with the mathematical intersection character "∩". -channel-type.config.http.channel-config.escapedUrl.label = Escaped URL -channel-type.config.http.channel-config.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config.commandTransformation.description = Transformation pattern used when sending values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". channel-type.config.http.channel-config.mode.label = Read/Write Mode channel-type.config.http.channel-config.mode.option.READWRITE = Read/Write channel-type.config.http.channel-config.mode.option.READONLY = Read Only @@ -255,4 +244,25 @@ channel-type.config.http.channel-config.stateContent.description = Content for s channel-type.config.http.channel-config.stateExtension.label = State URL Extension channel-type.config.http.channel-config.stateExtension.description = This value is added to the base URL configured in the thing for retrieving values. channel-type.config.http.channel-config.stateTransformation.label = State Transformation -channel-type.config.http.channel-config.stateTransformation.description = Transformation pattern used when receiving values. Chain multiple transformations with the mathematical intersection character "∩". +channel-type.config.http.channel-config.stateTransformation.description = Transformation pattern used when receiving values. Multiple transformations can be chained by listing each transformation on a separate line, or by concatenating them with "∩". + +# channel types config + +channel-type.config.http.channel-config-color.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-color.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-contact.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-contact.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-dimmer.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-dimmer.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-image.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-image.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL and stateExtension. +channel-type.config.http.channel-config-number.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-number.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-player.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-player.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-rollershutter.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-rollershutter.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config-switch.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config-switch.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension. +channel-type.config.http.channel-config.escapedUrl.label = Escaped URL +channel-type.config.http.channel-config.escapedUrl.description = This specifies whether the URL is already escaped. Applies to the base URL, commandExtension and stateExtension.