mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 23:22:02 +01:00
0fe144708c
Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
# VAT Transformation Service
|
|
|
|
The VAT Transformation Service adds VAT (Value-Added Tax) to a given input amount.
|
|
The input string must be either an ISO 3166 alpha-2 country code or a percentage, i.e. numerical format.
|
|
|
|
## Examples
|
|
|
|
### Display
|
|
|
|
```java
|
|
Number CurrentSpotPrice "Current Spot Price incl. VAT [VAT(12.5):%s]" <price>
|
|
```
|
|
|
|
### In a Rule
|
|
|
|
Add Danish VAT to price:
|
|
|
|
:::: tabs
|
|
|
|
::: tab DSL
|
|
|
|
```javascript
|
|
var Number price = 499
|
|
logInfo("Price", "Price incl. VAT: " + transform("VAT", "DK", price.toString))
|
|
```
|
|
|
|
:::
|
|
|
|
::: tab JavaScript
|
|
|
|
```javascript
|
|
var price = 499;
|
|
console.log("Price incl. VAT: " + actions.Transformation.transform("VAT", "DK", price.toString()));
|
|
```
|
|
|
|
:::
|
|
|
|
::::
|
|
|
|
## Usage as a Profile
|
|
|
|
The functionality of this `TransformationService` can also be used in a `Profile` on an `ItemChannelLink`.
|
|
This is the most powerful usage since VAT will be added without providing any explicit country code, percentage or configuration.
|
|
To use this, an `.items` file can be configured as follows:
|
|
|
|
```java
|
|
Number CurrentSpotPrice "Current Spot Price" <price> { channel="<channelUID>" [profile="transform:VAT"] }
|
|
```
|
|
|
|
To override VAT percentage for configured system country:
|
|
|
|
```java
|
|
Number CurrentSpotPrice "Current Spot Price" <price> { channel="<channelUID>" [profile="transform:VAT", percentage="12.5"] }
|
|
```
|
|
|
|
If VAT is not known for the configured country or the provided percentage is invalid, the default is 0%, so the input value will be put into the transformation without any changes.
|
|
|
|
Please note: This profile is a one-way transformation, i.e. only values from a device towards the item are changed, the other direction is left untouched.
|