mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
42 lines
1.4 KiB
Markdown
42 lines
1.4 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:
|
||
|
|
||
|
```java
|
||
|
var Number price = 499
|
||
|
logInfo("Price", "Price incl. VAT: " + 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.
|