From e611b5d368aa4574129d81e3355e7f9d8e2b989d Mon Sep 17 00:00:00 2001 From: Daniel Rosengarten Date: Sat, 4 Jan 2025 21:15:44 +0100 Subject: [PATCH] [velbus] New functionality & Bug fix (#17926) * [velbus] New functionnality & Bug fix Signed-off-by: Daniel Rosengarten Signed-off-by: Daniel Rosengarten Co-authored-by: Simonas Kazlauskas --- bundles/org.openhab.binding.velbus/README.md | 496 +++- .../internal/VelbusBindingConstants.java | 29 +- .../velbus/internal/VelbusColorChannel.java | 89 +- .../velbus/internal/VelbusHandlerFactory.java | 3 + .../binding/velbus/internal/VelbusModule.java | 26 +- .../internal/VelbusVirtualColorChannel.java | 2 +- .../VelbusThingDiscoveryService.java | 20 + .../handler/VelbusNewDimmerHandler.java | 264 ++ .../handler/VelbusRelayWithInputHandler.java | 6 +- .../internal/handler/VelbusSensorHandler.java | 6 +- .../VelbusSensorWithAlarmClockHandler.java | 12 +- .../internal/handler/VelbusThingHandler.java | 5 +- .../handler/VelbusVMBDALIHandler.java | 4 +- .../internal/packets/VelbusButtonPacket.java | 6 +- .../packets/VelbusDaliRequestPacket.java | 4 +- .../packets/VelbusNewDimmerRequestPacket.java | 53 + .../internal/packets/VelbusSetDimPacket.java | 4 + .../packets/VelbusSetScenePacket.java | 2 +- .../OH-INF/config/1-channel-device-config.xml | 39 + .../config/13-channel-device-config.xml | 99 + .../OH-INF/config/2-channel-device-config.xml | 26 + .../config/33-channel-device-config.xml | 243 ++ .../config/4-channel-devices-config.xml | 75 + .../OH-INF/config/5-channel-device-config.xml | 44 + .../OH-INF/config/6-channel-device-config.xml | 50 + .../OH-INF/config/7-channel-device-config.xml | 112 + .../OH-INF/config/8-channel-device-config.xml | 308 ++ .../config/81-channel-device-config.xml | 690 +++++ .../OH-INF/config/9-channel-device-config.xml | 149 + .../resources/OH-INF/config/bridge-config.xml | 56 + .../main/resources/OH-INF/config/config.xml | 1613 ----------- .../resources/OH-INF/config/sensor-config.xml | 21 + .../resources/OH-INF/i18n/velbus.properties | 388 ++- .../resources/OH-INF/thing/bridge-types.xml | 25 + .../OH-INF/thing/channel-groups-types.xml | 1320 +++++++++ .../resources/OH-INF/thing/channel-types.xml | 241 ++ .../OH-INF/thing/modules-blind-types.xml | 85 + .../OH-INF/thing/modules-dimmer-types.xml | 178 ++ .../OH-INF/thing/modules-heating-types.xml | 23 + .../OH-INF/thing/modules-input-types.xml | 703 +++++ .../OH-INF/thing/modules-relay-types.xml | 175 ++ .../OH-INF/thing/modules-sensor-types.xml | 209 ++ .../resources/OH-INF/thing/thing-types.xml | 2562 ----------------- .../resources/OH-INF/update/instructions.xml | 38 - .../resources/OH-INF/update/vmbel1-update.xml | 14 + .../resources/OH-INF/update/vmbel2-update.xml | 14 + .../resources/OH-INF/update/vmbel4-update.xml | 14 + .../resources/OH-INF/update/vmbelo-update.xml | 14 + 48 files changed, 6090 insertions(+), 4469 deletions(-) create mode 100644 bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusNewDimmerHandler.java create mode 100644 bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusNewDimmerRequestPacket.java create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/1-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/13-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/2-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/33-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/4-channel-devices-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/5-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/6-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/7-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/8-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/81-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/9-channel-device-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/bridge-config.xml delete mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/sensor-config.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/bridge-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-blind-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-dimmer-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-heating-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-relay-types.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml delete mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/thing-types.xml delete mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/instructions.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel1-update.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel2-update.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel4-update.xml create mode 100644 bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbelo-update.xml diff --git a/bundles/org.openhab.binding.velbus/README.md b/bundles/org.openhab.binding.velbus/README.md index e44fc9cfac0..cf5c12e4035 100644 --- a/bundles/org.openhab.binding.velbus/README.md +++ b/bundles/org.openhab.binding.velbus/README.md @@ -31,75 +31,77 @@ xidel -e \ ``` --> -| Type | Description | -|--------------|--------------------------------------------------------------------------------------------| -| vmb1bl | 1-channel blind control module for din rail | -| vmb1bls | 1-channel blind control module for universal mounting | -| vmb1dm | Dimmer module for inductive/resistive and capacitive load | -| vmb1led | 1-channel 0-10V controlled PWM dimmer for led strips | -| vmb1ry | 1-channel relay module | -| vmb1ryno | 1-channel relay module with potential-free changeover contact | -| vmb1rynos | 1-channel relay module with potential-free changeover contact | -| vmb1rys | 1-channel relay module with input | -| vmb1ts | Temperature Sensor Module | -| vmb2bl | 2-channel blind control module | -| vmb2ble-10 | 2-channel blind control module with extended possibilities | -| vmb2ble | 2-channel blind control module with extended possibilities | -| vmb2pbn | Push-button interface for Niko 1- or 2-fold push-buttons | -| vmb4an | Analog I/O module | -| vmb4dc | 4-channel 0/1-10V dimmer controller | -| vmb4pb | 4 button interface module | -| vmb4ry | 4-channel relay module | -| vmb4ryld-10 | 4-channel relay module with voltage outputs | -| vmb4ryld | 4-channel relay module with voltage outputs | -| vmb4ryno-10 | 4-channel relay module with potential-free contacts | -| vmb4ryno | 4-channel relay module with potential-free contacts | -| vmb6in | 6-channel input module | -| vmb6pb-20 | 6-channel input module | -| vmb6pbn | Push-button interface module for Niko 4- or 6-fold push-button | -| vmb7in | 7-channel input module (potentialfree + pulse) | -| vmb8ir | Infrared remote control receiver module | -| vmb8pb | 8-Channel Push Button module | -| vmb8pbu | Push-button interface with 8 channels for universal mounting | -| vmbdali-20 | DALI gateway module | -| vmbdali | DALI gateway module | -| vmbdme | Dimmer for electronic/resistive load | -| vmbdmir | Single channel triac dimmer for resistive and inductive loads | -| vmbdmi | Single channel triac dimmer for resistive and inductive loads | -| vmbel1-20 | Edge-lit one touch button module | -| vmbel1 | Edge-lit one touch button module | -| vmbel2-20 | Edge-lit two touch buttons module | -| vmbel2 | Edge-lit two touch buttons module | -| vmbel4pir-20 | Edge-lit Motion detector with four touch buttons | -| vmbel4-20 | Edge-lit four touch buttons module | -| vmbel4 | Edge-lit four touch buttons module | -| vmbelo-20 | Edge-lit touch panel with Oled display | -| vmbelo | Edge-lit touch panel with Oled display | -| vmbelpir | Edge-lit Motion detector with one touch button | -| vmbgp1-20 | Glass control module with 1 touch key | -| vmbgp1-2 | Glass control module with 1 touch key (Edition 2) | -| vmbgp1 | Glass control module with 1 touch key | -| vmbgp2-20 | Glass control module with 2 touch keys | -| vmbgp2-2 | Glass control module with 2 touch keys (Edition 2) | -| vmbgp2 | Glass control module with 2 touch keys | -| vmbgp4-20 | Glass control module with 4 touch keys | -| vmbgp4-2 | Glass control module with 4 touch keys (Edition 2) | -| vmbgp4 | Glass control module with 4 touch keys | -| vmbgp4pir-20 | Glass control module with 4 touch keys and built-in motion and twilight sensor | -| vmbgp4pir-2 | Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) | -| vmbgp4pir | Glass control module with 4 touch keys and built-in motion and twilight sensor | -| vmbgpod-2 | Glass control module with oled display and temperature controller (Edition 2) | -| vmbgpod | Glass control module with oled display and temperature controller | -| vmbgpo-20 | Glass control module with oled display and temperature controller | -| vmbgpo | Glass control module with oled display | -| vmbin | 1-channel input module | -| vmbkp | Keypad interface module | -| vmbmeteo | Weather station with thermometer, anemometer, rain sensor and light sensor | -| vmbpirc | Motion and twilight sensor for ceiling mounting | -| vmbpirm | Mini motion and twilight sensor for recessed or surface mounting | -| vmbpiro | Outdoor motion, twilight and temperature sensor, Theben | -| vmbrfr8s | 8 channel RF receiver module | -| vmbvp1 | Doorbird interface module | +| Type | Description | +|---------------|--------------------------------------------------------------------------------------------| +| vmb1bl | 1-channel blind control module for din rail | +| vmb1bls | 1-channel blind control module for universal mounting | +| vmb1dm | Dimmer module for inductive/resistive and capacitive load | +| vmb1led | 1-channel 0-10V controlled PWM dimmer for led strips | +| vmb1ry | 1-channel relay module | +| vmb1ryno | 1-channel relay module with potential-free changeover contact | +| vmb1rynos | 1-channel relay module with potential-free changeover contact | +| vmb1rys | 1-channel relay module with input | +| vmb1ts | Temperature Sensor Module | +| vmb2bl | 2-channel blind control module | +| vmb2ble-10 | 2-channel blind control module with extended possibilities | +| vmb2ble | 2-channel blind control module with extended possibilities | +| vmb2pbn | Push-button interface for Niko 1- or 2-fold push-buttons | +| vmb4an | Analog I/O module | +| vmb4dc | 4-channel 0/1-10V dimmer controller | +| vmb4ledpwm-20 | 4 channel led PWM dimmer module | +| vmb4pb | 4 button interface module | +| vmb4ry | 4-channel relay module | +| vmb4ryld-10 | 4-channel relay module with voltage outputs | +| vmb4ryld | 4-channel relay module with voltage outputs | +| vmb4ryno-10 | 4-channel relay module with potential-free contacts | +| vmb4ryno | 4-channel relay module with potential-free contacts | +| vmb6in | 6-channel input module | +| vmb6pb-20 | 6-channel input module | +| vmb6pbn | Push-button interface module for Niko 4- or 6-fold push-button | +| vmb7in | 7-channel input module (potentialfree + pulse) | +| vmb8dc-20 | 8 channel 0 to 10 V dimmer control module | +| vmb8ir | Infrared remote control receiver module | +| vmb8pb | 8-Channel Push Button module | +| vmb8pbu | Push-button interface with 8 channels for universal mounting | +| vmbdali-20 | DALI gateway module | +| vmbdali | DALI gateway module | +| vmbdme | Dimmer for electronic/resistive load | +| vmbdmir | Single channel triac dimmer for resistive and inductive loads | +| vmbdmi | Single channel triac dimmer for resistive and inductive loads | +| vmbel1-20 | Edge-lit one touch button module | +| vmbel1 | Edge-lit one touch button module | +| vmbel2-20 | Edge-lit two touch buttons module | +| vmbel2 | Edge-lit two touch buttons module | +| vmbel4pir-20 | Edge-lit Motion detector with four touch buttons | +| vmbel4-20 | Edge-lit four touch buttons module | +| vmbel4 | Edge-lit four touch buttons module | +| vmbelo-20 | Edge-lit touch panel with Oled display | +| vmbelo | Edge-lit touch panel with Oled display | +| vmbelpir | Edge-lit Motion detector with one touch button | +| vmbgp1-20 | Glass control module with 1 touch key | +| vmbgp1-2 | Glass control module with 1 touch key (Edition 2) | +| vmbgp1 | Glass control module with 1 touch key | +| vmbgp2-20 | Glass control module with 2 touch keys | +| vmbgp2-2 | Glass control module with 2 touch keys (Edition 2) | +| vmbgp2 | Glass control module with 2 touch keys | +| vmbgp4-20 | Glass control module with 4 touch keys | +| vmbgp4-2 | Glass control module with 4 touch keys (Edition 2) | +| vmbgp4 | Glass control module with 4 touch keys | +| vmbgp4pir-20 | Glass control module with 4 touch keys and built-in motion and twilight sensor | +| vmbgp4pir-2 | Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) | +| vmbgp4pir | Glass control module with 4 touch keys and built-in motion and twilight sensor | +| vmbgpod-2 | Glass control module with oled display and temperature controller (Edition 2) | +| vmbgpod | Glass control module with oled display and temperature controller | +| vmbgpo-20 | Glass control module with oled display and temperature controller | +| vmbgpo | Glass control module with oled display | +| vmbin | 1-channel input module | +| vmbkp | Keypad interface module | +| vmbmeteo | Weather station with thermometer, anemometer, rain sensor and light sensor | +| vmbpirc | Motion and twilight sensor for ceiling mounting | +| vmbpirm | Mini motion and twilight sensor for recessed or surface mounting | +| vmbpiro | Outdoor motion, twilight and temperature sensor, Theben | +| vmbrfr8s | 8 channel RF receiver module | +| vmbvp1 | Doorbird interface module | ## Discovery @@ -245,18 +247,26 @@ xidel -e 'let $refs := ( ``` --> -| Property | Supported modules | Description | -|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| -| `counter1PulseMultiplier` | `vmb7in` | The pulse multiplier for counter 1 | -| `counter1Unit` | `vmb7in` | The unit for Counter 1. | -| `counter2PulseMultiplier` | `vmb7in` | The pulse multiplier for counter 2 | -| `counter2Unit` | `vmb7in` | The unit for Counter 2. | -| `counter3PulseMultiplier` | `vmb7in` | The pulse multiplier for counter 3 | -| `counter3Unit` | `vmb7in` | The unit for Counter 3. | -| `counter4PulseMultiplier` | `vmb7in` | The pulse multiplier for counter 4 | -| `counter4Unit` | `vmb7in` | The unit for Counter 4. | -| `dimspeed` | `vmb1dm`, `vmb1led`, `vmb4dc`, `vmbdme`, `vmbdmi`, `vmbdmir` | The time (in seconds) needed for dimming from 0 to 100%. | -| `refresh` | `vmb1ts`, `vmb4an`, `vmb7in`, `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp1-2`, `vmbgp2`, `vmbgp2-2`, `vmbgp4`, `vmbgp4-2`, `vmbgp4pir`, `vmbgp4pir-2`, `vmbmeteo`, `vmbpirc`, `vmbpirm`, `vmbpiro` | Refresh interval for sensors or counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. | +| Property | Supported modules | Description | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------| +| `counter1PulseMultiplier` | `vmb7in`, `vmb8in-20` | The pulse multiplier for counter 1 | +| `counter1Unit` | `vmb7in`, `vmb8in-20` | The unit for Counter 1. | +| `counter2PulseMultiplier` | `vmb7in`, `vmb8in-20` | The pulse multiplier for counter 2 | +| `counter2Unit` | `vmb7in`, `vmb8in-20` | The unit for Counter 2. | +| `counter3PulseMultiplier` | `vmb7in`, `vmb8in-20` | The pulse multiplier for counter 3 | +| `counter3Unit` | `vmb7in`, `vmb8in-20` | The unit for Counter 3. | +| `counter4PulseMultiplier` | `vmb7in`, `vmb8in-20` | The pulse multiplier for counter 4 | +| `counter4Unit` | `vmb7in`, `vmb8in-20` | The unit for Counter 4. | +| `counter5PulseMultiplier` | `vmb8in-20` | The pulse multiplier for counter 5 | +| `counter5Unit` | `vmb8in-20` | The unit for Counter 5. | +| `counter6PulseMultiplier` | `vmb8in-20` | The pulse multiplier for counter 6 | +| `counter6Unit` | `vmb8in-20` | The unit for Counter 6. | +| `counter7PulseMultiplier` | `vmb8in-20` | The pulse multiplier for counter 7 | +| `counter7Unit` | `vmb8in-20` | The unit for Counter 7. | +| `counter8PulseMultiplier` | `vmb8in-20` | The pulse multiplier for counter 8 | +| `counter8Unit` | `vmb8in-20` | The unit for Counter 8. | +| `dimspeed` | `vmb1dm`, `vmb1led`, `vmb4dc`, `vmbdme`, `vmbdmi`, `vmbdmir` | The time (in seconds) needed for dimming from 0 to 100%. | +| `refresh` | `vmb1ts`, `vmb4an`, `vmb7in`, `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp1-2`, `vmbgp2`, `vmbgp2-2`, `vmbgp4`, `vmbgp4-2`, `vmbgp4pir`, `vmbgp4pir-2`, `vmbmeteo`, `vmbpiro`, `vmb8in-20` | Refresh interval for sensors or counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. | The `vmbdali` and `vmbdali-20` things have 16 virtual light channels. A virtual light combines 3 or 4 VMBDALI module channels into an openHAB channel to control RGB or RGBW lights. @@ -279,97 +289,279 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ## Channels -The bridges have a number of channels to set the global alarms: `bridgeClockAlarm#clockAlarm1Enabled`, `bridgeClockAlarm#clockAlarm1WakeupHour`, `bridgeClockAlarm#clockAlarm1WakeupMinute`, `bridgeClockAlarm#clockAlarm1BedtimeHour`, `bridgeClockAlarm#clockAlarm1BedtimeMinute`, `bridgeClockAlarm#clockAlarm2Enabled`, `bridgeClockAlarm#clockAlarm2WakeupHour`, `bridgeClockAlarm#clockAlarm2WakeupMinute`, `bridgeClockAlarm#clockAlarm2BedtimeHour` and `bridgeClockAlarm#clockAlarm2BedtimeMinute`. +### Bridges `bridge`, `networkbridge` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|-------------------------------| +| `bridgeClockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `bridgeClockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | -For thing types `vmb1bl` and `vmb1bls` the supported channel is `CH1`. -UpDown, StopMove and Percent command types are supported. +### Modules `vmb1bl`, `vmb1bls` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|------------------------------|---------| +| | `CH1` | UpDown, StopMove, Percent | | -For thing types `vmb1dm`, `vmb1led`, `vmbdme`, `vmbdmi` and `vmbdmir` the supported channel is `CH1`. -OnOff and Percent command types are supported. -Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off. +### Modules `vmb1dm`, `vmb1led`, `vmbdme`, `vmbdmi`, `vmbdmir` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|-------------------------|----------------------------------------------------------------------------------------------------| +| | `CH1` | OnOff, Percent | Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off. | -For thing type `vmb1ry` the supported channel is `CH1`. -OnOff command types are supported. +### Module `vmb1ry` +| Supported channels groups | Supported channels | Supported command types | Remarks | +| | `CH1` | OnOff | | -For thing type `vmb4ry` 4 channels are available `CH1` ... `CH4`. -OnOff command types are supported. +### Module `vmb4ry` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|------------------------------|---------| +| | `CH1` ... `CH4` | OnOff | | -For thing types `vmb1ryno`, `vmb1rynos`, `vmb4ryld`, `vmb4ryld-10`, `vmb4ryno` and `vmb4ryno-10` 5 channels are available `CH1` ... `CH5`. -OnOff command types are supported. +### Modules `vmb1ryno`, `vmb1rynos`, `vmb4ryld`, `vmb4ryld-10`, `vmb4ryno`, `vmb4ryno-10` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|------------------------------|---------| +| | `CH1` ... `CH5` | OnOff | | -For thing types `vmb1rys` 6 channels are available `CH1` ... `CH6`. -OnOff command types are supported on channels `CH1` ... `CH5`. -Pressed and Long_Pressed command types are supported on channel `CH6`. -1 trigger channel on `CH6t`. +### Module `vmb1rys` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------------|---------| +| | `CH1` ... `CH5` | OnOff | | +| | `CH6` | Pressed, Long_Pressed | | +| | `CH6t` | Pressed, Released, Long_Pressed | Trigger | -The module `vmb1ts` has a number of channels to set the module's thermostat (`thermostat#currentTemperatureSetpoint`, `thermostat#heatingModeComfortTemperatureSetpoint`, `thermostat#heatingModeDayTemperatureSetpoint`, `thermostat#heatingModeNightTemperatureSetpoint`, `thermostat#heatingModeAntiFrostTemperatureSetpoint`, `thermostat#coolingModeComfortTemperatureSetpoint`, `thermostat#coolingModeDayTemperatureSetpoint`, `thermostat#coolingModeNightTemperatureSetpoint`, `thermostat#coolingModeSafeTemperatureSetpoint`, `operatingMode` and `thermostat#mode`) and thermostat trigger channels: `thermostat#heater`, `thermostat#boost`, `thermostat#pump`, `thermostat#cooler`, `thermostat#alarm1`, `thermostat#alarm2`, `thermostat#alarm3`, `thermostat#alarm4`. +### Module `vmb1ts` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|-----------------------------------| +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | -For thing types `vmb2bl`, `vmb2ble` and `vmb2ble-10` the supported channels are `CH1` and `CH2`. UpDown, StopMove and Percent command types are supported. +### Modules `vmb2bl`, `vmb2ble`, `vmb2ble-10` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------|---------| +| | `CH1`,`CH2` | UpDown, StopMove, Percent | | -For thing type `vmb6in` 6 channels are available `CH1` ... `CH6`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH6`. -6 trigger channels on channels `input#CH1` ... `input#CH6`. +### Module `vmb6in` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------------|---------| +| `button` | `CH1` ... `CH6` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH6` | Pressed, Released, Long_Pressed | Trigger | -For thing type `vmb7in` 8 channels are available `CH1` ... `CH8`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH8`. -8 trigger channels on channels `input#CH1` ... `input#CH8`. +### Module `vmb8ir` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------------|---------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | -For thing types `vmb2pbn`, `vmb6pbn`, `vmb7in`, `vmb8ir`, `vmb8pb`, `vmb8pbu`, `vmbrfr8s`, `vmbvp1` and `vmb6pb-20` 8 channels are available `CH1` ... `CH8`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH8`. -8 trigger channels on channels `input#CH1` ... `input#CH8`. -Thing types `vmb2pbn`, `vmb6pbn`, `vmb7in`, `vmb8pb`, `vmb8pbu`, `vmbrfr8s` and `vmbvp1` also have 8 channels to steer the button LED feedback `feedback#CH1` ... `feedback#CH8`. -Additionally, the modules `vmb2pbn`, `vmb6pbn`, `vmb7in`, `vmb8pbu`, `vmbrfr8s`, `vmbvp1` and `vmb6pb-20` have a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. +### Modules `vmb7in`, `vmb8in-20`, `vmb8ir` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------------|---------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | -For thing type`vmb4an` 8 trigger channels are avaiable `input#CH1` ... `input#CH8`. -These channels will be triggered by the module's alarms. -Four pairs of channels are available to retrieve the module's analog inputs. -Each pair has a channel to retrieve the raw analog value (`analoginput#CH9Raw` ... `analoginput#CH12Raw`) and a channel to retrieve the textual analog value (`analoginput#CH9` ... `analoginput#CH12`). -Four channels are available to set the module's analog outputs `analogOutput:CH13` ... `analogOutput:CH16`. -For thing type `vmb4dc` 4 channels are available `CH1` ... `CH4`. -OnOff and Percent command types are supported. -Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off. +### Modules `vmb2pbn`, `vmb6pbn`, `vmb8pb`, `vmb8pbu`, `vmbrfr8s`, `vmbvp1`, `vmb6pb-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|-------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `feedback` | `CH1` ... `CH8` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | -For thing type `vmb4ry` 4 channels are available `CH1` ... `CH4`. -OnOff command types are supported. +### Module `vmb4dc` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|-------------------------|----------------------------------------------------------------------------------------------------| +| | `CH1` ... `CH4` | OnOff, Percent | Sending an ON command will switch the dimmer to the value stored when last turning the dimmer off. | -Thing types `vmbel1`, `vmbel1-20`, `vmbel2`, `vmbel2-20`, `vmbel4`, `vmbel4-20`, `vmbelpir`, `vmbel4pir-20`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir`, `vmbgp4pir-20` and `vmbpiro` have 8 trigger channels `input:CH1` ... `input:CH8` and one temperature channel `input:CH9`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` and `button#CH2` for the thing type `vmbelpir`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH4` for the thing type `vmbel4pir-20`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH8` for the thing types `vmbel1`, `vmbel1-20`, `vmbel2`, `vmbel2-20`, `vmbel4`, `vmbel4-20`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir`, `vmbgp4pir-20` and `vmbpiro`. -The thing types `vmbel1`, `vmbel1-20` and `vmbgp1` have one channel to steer the button LED feedback `feedback#CH1`. -The thing types `vmbel2`, `vmbel2-20` and `vmbgp2` have two channels to steer the button LED feedback `feedback#CH1` and `feedback#CH2`. -The thing types `vmbel4`, `vmbel4-20`, `vmbel4pir-20`, `vmbgp4`, `vmbgp4pir` and `vmbgp4pir-20` have four channels to steer the button LED feedback `feedback#CH1` ... `feedback#CH4`. -The thing type `vmbpiro` has a channel `input#LIGHT` indicating the illuminance. -The thing types `vmbel1`, `vmbel1-20`, `vmbel2`, `vmbel2-20`, `vmbel4`, `vmbel4-20`, `vmbelpir` and `vmbel4pir-20` have one output channel `output#output`. -Thing types `vmbel1`, `vmbel1-20`, `vmbel2`, `vmbel2-20`, `vmbel4`, `vmbel4-20`, `vmbelpir`, `vmbel4pir-20`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir` and `vmbgp4pir-20` have a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. -Thing types `vmbel1`, `vmbel1-20`, `vmbel2`, `vmbel2-20`, `vmbel4`, `vmbel4-20`, `vmbelpir`, `vmbel4pir-20`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir` and `vmbgp4pir-20` also have a number of channels to set the module's thermostat (`thermostat#currentTemperatureSetpoint`, `thermostat#heatingModeComfortTemperatureSetpoint`, `thermostat#heatingModeDayTemperatureSetpoint`, `thermostat#heatingModeNightTemperatureSetpoint`, `thermostat#heatingModeAntiFrostTemperatureSetpoint`, `thermostat#coolingModeComfortTemperatureSetpoint`, `thermostat#coolingModeDayTemperatureSetpoint`, `thermostat#coolingModeNightTemperatureSetpoint`, `thermostat#coolingModeSafeTemperatureSetpoint`, `operatingMode` and `thermostat#mode`) and thermostat trigger channels: `thermostat#heater`, `thermostat#boost`, `thermostat#pump`, `thermostat#cooler`, `thermostat#alarm1`, `thermostat#alarm2`, `thermostat#alarm3`, `thermostat#alarm4`. +### Module `vmb4an` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------|---------------------------------|---------| +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `analoginput` | `CH9` ... `CH12` | Text | | +| `analoginput` | `CH9Raw` ... `CH12Raw` | Number | | +| `analogOutput` | `CH13` ... `CH16` | Percent | | -Thing types `vmbelo`, `vmbelo-20`, `vmbgpo`, `vmbgpo-20`, `vmbgpod` and `vmbgpod-2` have 32 trigger channels `input#CH1` ... `input#CH32` and one temperature channel `input#CH33`. -Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH32`. -They have have 32 channels to steer the button LED feedback `feedback#CH1` ... `feedback#CH32`. -The thing type `vmbelo` and `vmbelo-20` have one output channel `output#output`. -They have a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. -They have a number of channels to set the module's thermostat thermostat (`thermostat#currentTemperatureSetpoint`, `thermostat#heatingModeComfortTemperatureSetpoint`, `thermostat#heatingModeDayTemperatureSetpoint`, `thermostat#heatingModeNightTemperatureSetpoint`, `thermostat#heatingModeAntiFrostTemperatureSetpoint`, `thermostat#coolingModeComfortTemperatureSetpoint`, `thermostat#coolingModeDayTemperatureSetpoint`, `thermostat#coolingModeNightTemperatureSetpoint`, `thermostat#coolingModeSafeTemperatureSetpoint`, `operatingMode` and `thermostat#mode`) and thermostat trigger channels: `thermostat#heater`, `thermostat#boost`, `thermostat#pump`, `thermostat#cooler`, `thermostat#alarm1`, `thermostat#alarm2`, `thermostat#alarm3`, `thermostat#alarm4`. -They also have two channels to control the module's display `oledDisplay:MEMO` and `oledDisplay:SCREENSAVER`. +### Module `vmbelpir` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH2` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | -Thing type `vmbmeteo`has 8 trigger channels (`input#CH1` ... `input#CH8`). These channels will be triggered by the module's alarms. -It has a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. -It also has a number of channels to read out the weather station's sensors: `weatherStation:temperature`, `weatherStation:rainfall`, `weatherStation:illuminance` and `weatherStation:windspeed`. -Thing types `vmbpirc` and `vmbpirm` have 7 trigger channels `input#CH1` ... `input#CH7`. -Additionally, these modules have a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. +### Module `vmbel4pir-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH4` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | -Thing types `vmbdali` and `vmbdali-20` have 81 trigger channels `input#CH1` ... `input#CH81`. -They have 81 channels to steer the button LED feedback `feedback#CH1` ... `feedback#CH81`. -hsbColor command type is supported on channels `color#CH1` ... `color#CH64` (A1 ... A64), `color#CH65` ... `color#CH80` (G1 ... G16) and `color#CH81` (broadcast). This is to set the color on the channels. -Percent command type is supported on channels `brightness#CH1` ... `brightness#CH64` (A1 ... A64), `brightness#CH65` ... `brightness#CH80` (G1 ... G16) and `brightness#CH81` (broadcast). This is to set the brightness on the channels. -Percent command type is supported on channels `white#CH1` ... `white#CH64` (A1 ... A64), `white#CH65` ... `white#CH80` (G1 ... G16) and `white#CH81` (broadcast). This is to set the white on the channels. -Values 1 to 15 are supported on channels `scene#CH1` ... `scene#CH64` (A1 ... A64), `scene#CH65` ... `scene#CH80` (G1 ... G16) and `scene#CH81` (broadcast). This is to set the scene on the channels. -hsbColor command type is supported on channels `virtual-light#VL1` ... `virtual-light#VL16`. This is to set the color on the virtual light. -They have a number of channels to set the module's alarms: `clockAlarm#clockAlarm1Enabled`, `clockAlarm#clockAlarm1WakeupHour`, `clockAlarm#clockAlarm1WakeupMinute`, `clockAlarm#clockAlarm1BedtimeHour`, `clockAlarm#clockAlarm1BedtimeMinute`, `clockAlarm#clockAlarm2Enabled`, `clockAlarm#clockAlarm2WakeupHour`, `clockAlarm#clockAlarm2WakeupMinute`, `clockAlarm#clockAlarm2BedtimeHour` and `clockAlarm#clockAlarm2BedtimeMinute`. +### Modules `vmbgp1` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `feedback` | `CH1` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | -The trigger channels can be used as a trigger to rules. The event message can be `PRESSED`, `RELEASED`or `LONG_PRESSED`. +### Modules `vmbel1`, `vmbel1-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `feedback` | `CH1` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | + + +### Modules `vmbgp2` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `feedback` | `CH1` ... `CH2` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | + +### Modules `vmbel2`, `vmbel2-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `feedback` | `CH1` ... `CH2` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | + +### Modules `vmbgp4`, `vmbgp4pir`, `vmbgp4pir-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `feedback` | `CH1` ... `CH4` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | + +### Modules `vmbel4`, `vmbel4-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `feedback` | `CH1` ... `CH4` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | + +### Modules `vmbpiro` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-------------------------------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `input` | `LIGHT` | Number | | +| `feedback` | `CH1` ... `CH4` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | + +### Modules `vmbgpo`, `vmbgpo-20`, `vmbgpod`, `vmbgpod-2` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH32` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH32` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `feedback` | `CH1` ... `CH32` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | +| `oledDisplay` | `MEMO` | Text | | +| `oledDisplay` | `SCREENSAVER` | OnOff | | + +### Modules `vmbelo`, `vmbelo-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-----------------------------------| +| `button` | `CH1` ... `CH32` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH32` | Pressed, Released, Long_Pressed | Trigger | +| `input` | `CH9` | Number | | +| `output` | `output` | OnOff | | +| `feedback` | `CH1` ... `CH32` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | +| `oledDisplay` | `MEMO` | Text | | +| `oledDisplay` | `SCREENSAVER` | OnOff | | + +### Module `vmbmeteo` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |---------------------------------|-------------------------------| +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `weatherStation` | `temperature`, `rainfall`, `illuminance`, `windspeed` | Number | Steer the button LED feedback | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | + +### Modules `vmbpirc`, `vmbpirm` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |---------------------------------|-------------------------------| +| `input` | `CH1` ... `CH7` | Pressed, Released, Long_Pressed | Trigger | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | + +### Modules `vmbdali`, `vmbdali-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +| `input` | `CH1` ... `CH81` | Pressed, Released, Long_Pressed | Trigger | +| `feedback` | `CH1` ... `CH81` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | +| `color` | `CH1` ... `CH81` | hsbColor | CH1 ... CH64 = A1 ... A64 / CH65 ... CH80 = G1 ... G16 / CH81 = Broadcast | +| `brightness` | `CH1` ... `CH81` | Percent | CH1 ... CH64 = A1 ... A64 / CH65 ... CH80 = G1 ... G16 / CH81 = Broadcast | +| `white` | `CH1` ... `CH81` | Percent | CH1 ... CH64 = A1 ... A64 / CH65 ... CH80 = G1 ... G16 / CH81 = Broadcast | +| `scene` | `CH1` ... `CH81` | Number | Min = 1, Max = 15, CH1 ... CH64 = A1 ... A64 / CH65 ... CH80 = G1 ... G16 / CH81 = Broadcast | +| `virtual-light` | `VL1` ... `VL16` | hsbColor | Look at properties to group channels into a virtual light | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | + +### Module `vmb4ledpwm-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------|---------------------------------|-------------------| +| `brightness` | `CH1` ... `CH4` | Percent | | +| `fade-mode` | `CH1` ... `CH4` | Direct, Fade_Rate, Fade_Time | | +| `scene` | `CH1` ... `CH4` | Number | Min = 1, Max = 15 | + +### Module `vmb8dc-20` +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|------------------------|---------------------------------|-------------------| +| `brightness` | `CH1` ... `CH8` | Percent | | +| `fade-mode` | `CH1` ... `CH8` | Direct, Fade_Rate, Fade_Time | | +| `scene` | `CH1` ... `CH8` | Number | Min = 1, Max = 15 | + +The trigger channels can be used as a trigger to rules. The event message can be `PRESSED`, `RELEASED` or `LONG_PRESSED`. To remove the state of the Item in the Sitemap for a `button` channel. Go to the Items list, select the Item, add a State Description Metadata, and set the Pattern value to a blank space. diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusBindingConstants.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusBindingConstants.java index 7ca0d4211f1..397d8d53813 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusBindingConstants.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusBindingConstants.java @@ -79,6 +79,7 @@ public class VelbusBindingConstants { public static final ThingTypeUID THING_TYPE_VMBPIRC = new ThingTypeUID(BINDING_ID, "vmbpirc"); public static final ThingTypeUID THING_TYPE_VMBPIRM = new ThingTypeUID(BINDING_ID, "vmbpirm"); public static final ThingTypeUID THING_TYPE_VMBPIRO = new ThingTypeUID(BINDING_ID, "vmbpiro"); + public static final ThingTypeUID THING_TYPE_VMBPIRO_10 = new ThingTypeUID(BINDING_ID, "vmbpiro-10"); public static final ThingTypeUID THING_TYPE_VMBRFR8S = new ThingTypeUID(BINDING_ID, "vmbrfr8s"); public static final ThingTypeUID THING_TYPE_VMBVP1 = new ThingTypeUID(BINDING_ID, "vmbvp1"); public static final ThingTypeUID THING_TYPE_VMBKP = new ThingTypeUID(BINDING_ID, "vmbkp"); @@ -89,6 +90,8 @@ public class VelbusBindingConstants { public static final ThingTypeUID THING_TYPE_VMB4RYNO_10 = new ThingTypeUID(BINDING_ID, "vmb4ryno-10"); public static final ThingTypeUID THING_TYPE_VMB2BLE_10 = new ThingTypeUID(BINDING_ID, "vmb2ble-10"); public static final ThingTypeUID THING_TYPE_VMB6PB_20 = new ThingTypeUID(BINDING_ID, "vmb6pb-20"); + public static final ThingTypeUID THING_TYPE_VMB8IN_20 = new ThingTypeUID(BINDING_ID, "vmb8in-20"); + public static final ThingTypeUID THING_TYPE_VMBPIR_20 = new ThingTypeUID(BINDING_ID, "vmbpir-20"); public static final ThingTypeUID THING_TYPE_VMBEL1_20 = new ThingTypeUID(BINDING_ID, "vmbel1-20"); public static final ThingTypeUID THING_TYPE_VMBEL2_20 = new ThingTypeUID(BINDING_ID, "vmbel2-20"); public static final ThingTypeUID THING_TYPE_VMBEL4_20 = new ThingTypeUID(BINDING_ID, "vmbel4-20"); @@ -100,6 +103,8 @@ public class VelbusBindingConstants { public static final ThingTypeUID THING_TYPE_VMBDALI_20 = new ThingTypeUID(BINDING_ID, "vmbdali-20"); public static final ThingTypeUID THING_TYPE_VMBEL4PIR_20 = new ThingTypeUID(BINDING_ID, "vmbel4pir-20"); public static final ThingTypeUID THING_TYPE_VMBGP4PIR_20 = new ThingTypeUID(BINDING_ID, "vmbgp4pir-20"); + public static final ThingTypeUID THING_TYPE_VMB4LEDPWM_20 = new ThingTypeUID(BINDING_ID, "vmb4ledpwm-20"); + public static final ThingTypeUID THING_TYPE_VMB8DC_20 = new ThingTypeUID(BINDING_ID, "vmb8dc-20"); // thing type sets public static final Set BRIDGE_THING_TYPES_UIDS = Set.of(BRIDGE_THING_TYPE, @@ -113,18 +118,20 @@ public class VelbusBindingConstants { THING_TYPE_VMBEL2, THING_TYPE_VMBEL4, THING_TYPE_VMBELO, THING_TYPE_VMBELPIR, THING_TYPE_VMBGP1, THING_TYPE_VMBGP1_2, THING_TYPE_VMBGP2, THING_TYPE_VMBGP2_2, THING_TYPE_VMBGP4, THING_TYPE_VMBGP4_2, THING_TYPE_VMBGP4PIR, THING_TYPE_VMBGP4PIR_2, THING_TYPE_VMBGPO, THING_TYPE_VMBGPOD, THING_TYPE_VMBGPOD_2, - THING_TYPE_VMBMETEO, THING_TYPE_VMBPIRC, THING_TYPE_VMBPIRM, THING_TYPE_VMBPIRO, THING_TYPE_VMBRFR8S, - THING_TYPE_VMBVP1, THING_TYPE_VMBKP, THING_TYPE_VMBIN, THING_TYPE_VMB4PB, THING_TYPE_VMBDALI, - THING_TYPE_VMB4RYLD_10, THING_TYPE_VMB4RYNO_10, THING_TYPE_VMB2BLE_10, THING_TYPE_VMB6PB_20, - THING_TYPE_VMBEL1_20, THING_TYPE_VMBEL2_20, THING_TYPE_VMBEL4_20, THING_TYPE_VMBELO_20, - THING_TYPE_VMBGP1_20, THING_TYPE_VMBGP2_20, THING_TYPE_VMBGP4_20, THING_TYPE_VMBGPO_20, - THING_TYPE_VMBDALI_20, THING_TYPE_VMBEL4PIR_20, THING_TYPE_VMBGP4PIR_20); + THING_TYPE_VMBMETEO, THING_TYPE_VMBPIRC, THING_TYPE_VMBPIRM, THING_TYPE_VMBPIRO, THING_TYPE_VMBPIRO_10, + THING_TYPE_VMBRFR8S, THING_TYPE_VMBVP1, THING_TYPE_VMBKP, THING_TYPE_VMBIN, THING_TYPE_VMB4PB, + THING_TYPE_VMBDALI, THING_TYPE_VMB4RYLD_10, THING_TYPE_VMB4RYNO_10, THING_TYPE_VMB2BLE_10, + THING_TYPE_VMB6PB_20, THING_TYPE_VMB8IN_20, THING_TYPE_VMBPIR_20, THING_TYPE_VMBEL1_20, + THING_TYPE_VMBEL2_20, THING_TYPE_VMBEL4_20, THING_TYPE_VMBELO_20, THING_TYPE_VMBGP1_20, + THING_TYPE_VMBGP2_20, THING_TYPE_VMBGP4_20, THING_TYPE_VMBGPO_20, THING_TYPE_VMBDALI_20, + THING_TYPE_VMBEL4PIR_20, THING_TYPE_VMBGP4PIR_20, THING_TYPE_VMB4LEDPWM_20, THING_TYPE_VMB8DC_20); // Velbus module types public static final byte MODULE_TYPE_VMB8PB = 0x01; public static final byte MODULE_TYPE_VMB1RY = 0x02; public static final byte MODULE_TYPE_VMB1BL = 0x03; public static final byte MODULE_TYPE_VMB6IN = 0x05; + public static final byte MODULE_TYPE_VMB4LEDPWM_20 = 0x06; public static final byte MODULE_TYPE_VMB1DM = 0x07; public static final byte MODULE_TYPE_VMB4RY = 0x08; public static final byte MODULE_TYPE_VMB2BL = 0x09; @@ -147,6 +154,7 @@ public class VelbusBindingConstants { public static final byte MODULE_TYPE_VMBGP4 = 0x20; public static final byte MODULE_TYPE_VMBGPO = 0x21; public static final byte MODULE_TYPE_VMB7IN = 0x22; + public static final byte MODULE_TYPE_VMBPIRO_10 = 0x23; public static final byte MODULE_TYPE_VMBGPOD = 0x28; public static final byte MODULE_TYPE_VMB1RYNOS = 0x29; public static final byte MODULE_TYPE_VMBPIRM = 0x2A; @@ -177,7 +185,10 @@ public class VelbusBindingConstants { public static final byte MODULE_TYPE_VMB4RYLD_10 = 0x48; public static final byte MODULE_TYPE_VMB4RYNO_10 = 0x49; public static final byte MODULE_TYPE_VMB2BLE_10 = 0x4A; + public static final byte MODULE_TYPE_VMB8DC_20 = 0x4B; public static final byte MODULE_TYPE_VMB6PB_20 = 0x4C; + public static final byte MODULE_TYPE_VMBPIR_20 = 0x4D; + public static final byte MODULE_TYPE_VMB8IN_20 = 0x4E; public static final byte MODULE_TYPE_VMBEL1_20 = 0x4F; public static final byte MODULE_TYPE_VMBEL2_20 = 0x50; public static final byte MODULE_TYPE_VMBEL4_20 = 0x51; @@ -266,9 +277,12 @@ public class VelbusBindingConstants { public static final byte ALL_DALI_CHANNELS = (byte) 0x51; public static final byte SUB_ADDRESS_DISABLED = (byte) 0xFF; public static final byte VALUE_UNCHANGED = (byte) 0xFF; - public static final byte DALI_SETTING_ACTUAL_LEVEL = (byte) 0x1A; + public static final byte SETTING_ACTUAL_LEVEL = (byte) 0x1A; public static final byte DALI_MAX_VALUE = (byte) 0xFE; + public static final byte CURVE_TYPE_LINEAR = (byte) 0x01; + public static final byte CURVE_TYPE_EXPONENTIAL = (byte) 0x02; + // Module properties public static final String PORT = "port"; public static final String ADDRESS = "address"; @@ -301,6 +315,7 @@ public class VelbusBindingConstants { public static final String CHANNEL_GROUP_WHITE = "white"; public static final String CHANNEL_GROUP_SCENE = "scene"; public static final String CHANNEL_GROUP_VIRTUAL_LIGHT = "virtual-light"; + public static final String CHANNEL_GROUP_FADE_MODE = "fade-mode"; // Channels ids public static final String CHANNEL_CLOCK_ALARM1_TYPE = "clockAlarm1Type"; diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusColorChannel.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusColorChannel.java index e4060c4e5d8..a3c11789a7f 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusColorChannel.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusColorChannel.java @@ -26,23 +26,52 @@ import org.openhab.core.util.ColorUtil; */ @NonNullByDefault public class VelbusColorChannel { - protected final int BRIGHTNESS_MIN_VALUE = 0; - protected final int BRIGHTNESS_MAX_VALUE = 100; + protected static final int BRIGHTNESS_MIN_VALUE = 0; + protected static final int BRIGHTNESS_MAX_VALUE = 100; - protected final int COLOR_MIN_VALUE = 0; - protected final int COLOR_MAX_VALUE = 255; + protected static final int[] BRIGHTNESS_CURVE_VALUES = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, + 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17, + 18, 18, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 25, 26, 27, 28, 29, 30, 30, 31, 32, 33, 33, 35, 36, 37, + 38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 53, 54, 56, 57, 59, 61, 62, 64, 66, 68, 70, 72, 74, 76, 78, + 80, 82, 84, 87, 89, 92, 94, 97, 100 }; - protected final int WHITE_MIN_VALUE = 0; - protected final int WHITE_MAX_VALUE = 100; + protected static final int[] BRIGHTNESS_CURVE_MISSING_VALUES = { 34, 43, 48, 52, 55, 58, 60, 63, 65, 67, 69, 71, 73, + 75, 77, 79, 81, 83, 85, 86, 88, 90, 91, 93, 95, 96, 98, 99 }; + protected static final int[] BRIGHTNESS_CURVE_SUBSTITUTION_VALUES = { 33, 44, 49, 51, 56, 59, 61, 64, 66, 68, 70, + 72, 74, 76, 78, 80, 82, 84, 84, 87, 89, 89, 92, 94, 94, 97, 97 }; + + protected static final int COLOR_MIN_VALUE = 0; + protected static final int COLOR_MAX_VALUE = 255; + + protected static final int WHITE_MIN_VALUE = 0; + protected static final int WHITE_MAX_VALUE = 100; private int brightness = 100; private int[] color = { 255, 255, 255 }; private int white = 100; + private byte curveType = CURVE_TYPE_LINEAR; + + public VelbusColorChannel() { + this.curveType = CURVE_TYPE_LINEAR; + } + + /** + * @param curveType the curve type used by the module (linear or exponential) + */ + public VelbusColorChannel(byte curveType) { + this.curveType = curveType; + } /** * @param brightness the brightness to set */ public void setBrightness(int brightness) { + if (this.curveType == CURVE_TYPE_EXPONENTIAL) + brightness = adaptBrightnessValue(brightness); this.brightness = (brightness < BRIGHTNESS_MIN_VALUE) ? BRIGHTNESS_MIN_VALUE : brightness; this.brightness = (brightness > BRIGHTNESS_MAX_VALUE) ? BRIGHTNESS_MAX_VALUE : brightness; } @@ -66,8 +95,12 @@ public class VelbusColorChannel { */ public void setBrightness(byte brightness) { if (brightness != VALUE_UNCHANGED) { - this.brightness = convertFromVelbus(Byte.toUnsignedInt(brightness), Byte.toUnsignedInt(DALI_MAX_VALUE), - BRIGHTNESS_MAX_VALUE); + if (this.curveType == CURVE_TYPE_LINEAR) { + this.brightness = convertFromVelbus(Byte.toUnsignedInt(brightness), Byte.toUnsignedInt(DALI_MAX_VALUE), + BRIGHTNESS_MAX_VALUE); + } else { + this.brightness = BRIGHTNESS_CURVE_VALUES[Byte.toUnsignedInt(brightness)]; + } } } @@ -89,7 +122,45 @@ public class VelbusColorChannel { * @return the brightness for velbus packet */ public byte getBrightnessVelbus() { - return convertToVelbus(this.brightness, BRIGHTNESS_MAX_VALUE, Byte.toUnsignedInt(DALI_MAX_VALUE)); + if (this.curveType == CURVE_TYPE_LINEAR) { + return convertToVelbus(getBrightness(), BRIGHTNESS_MAX_VALUE, Byte.toUnsignedInt(DALI_MAX_VALUE)); + } else { + return convertToVelbusBrightnessCurve(getBrightness()); + } + } + + /** + * @param value the value to adapt + * @return the value adapted to the exponential curve implemented in modules + */ + private int adaptBrightnessValue(int value) { + int brightVal = value; + + for (int index = 0; index < BRIGHTNESS_CURVE_MISSING_VALUES.length; index++) { + if (BRIGHTNESS_CURVE_MISSING_VALUES[index] == value) { + brightVal = BRIGHTNESS_CURVE_SUBSTITUTION_VALUES[index]; + break; + } + } + + return brightVal; + } + + /** + * @param value the value to convert + * @return the value converted for the velbus packet + */ + private byte convertToVelbusBrightnessCurve(int value) { + byte brightnessCurve = (byte) 0xFE; + + for (int index = 0; index < BRIGHTNESS_CURVE_VALUES.length; index++) { + if (BRIGHTNESS_CURVE_VALUES[index] == value) { + brightnessCurve = Integer.valueOf(index).byteValue(); + break; + } + } + + return brightnessCurve; } /** diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusHandlerFactory.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusHandlerFactory.java index c3d00048575..d555b8d6936 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusHandlerFactory.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusHandlerFactory.java @@ -20,6 +20,7 @@ import org.openhab.binding.velbus.internal.handler.VelbusBlindsHandler; import org.openhab.binding.velbus.internal.handler.VelbusBridgeHandler; import org.openhab.binding.velbus.internal.handler.VelbusDimmerHandler; import org.openhab.binding.velbus.internal.handler.VelbusNetworkBridgeHandler; +import org.openhab.binding.velbus.internal.handler.VelbusNewDimmerHandler; import org.openhab.binding.velbus.internal.handler.VelbusRelayHandler; import org.openhab.binding.velbus.internal.handler.VelbusRelayWithInputHandler; import org.openhab.binding.velbus.internal.handler.VelbusSensorHandler; @@ -110,6 +111,8 @@ public class VelbusHandlerFactory extends BaseThingHandlerFactory { thingHandler = new VelbusVMB1TSHandler(thing); } else if (VelbusVMBDALIHandler.SUPPORTED_THING_TYPES.contains(thingTypeUID)) { thingHandler = new VelbusVMBDALIHandler(thing); + } else if (VelbusNewDimmerHandler.SUPPORTED_THING_TYPES.contains(thingTypeUID)) { + thingHandler = new VelbusNewDimmerHandler(thing); } return thingHandler; diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusModule.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusModule.java index 953c7209f83..23680e8899e 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusModule.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusModule.java @@ -16,7 +16,9 @@ import static org.openhab.binding.velbus.internal.VelbusBindingConstants.*; import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import java.util.TreeMap; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -36,6 +38,18 @@ import org.openhab.core.thing.ThingUID; public class VelbusModule { private final HashMap channelNames = new HashMap<>(); + private static final Set CHANNEL_NAME_IDX_FROM_BYTE_THING_TYPES = new HashSet<>(Arrays.asList( + THING_TYPE_VMB4AN, THING_TYPE_VMB4LEDPWM_20, THING_TYPE_VMB4PB, THING_TYPE_VMB6PB_20, THING_TYPE_VMB8DC_20, + THING_TYPE_VMB8IN_20, THING_TYPE_VMBEL1, THING_TYPE_VMBEL1_20, THING_TYPE_VMBEL2, THING_TYPE_VMBEL2_20, + THING_TYPE_VMBEL4, THING_TYPE_VMBEL4_20, THING_TYPE_VMBEL4PIR_20, THING_TYPE_VMBELO, THING_TYPE_VMBELO_20, + THING_TYPE_VMBELPIR, THING_TYPE_VMBGP1, THING_TYPE_VMBGP1_2, THING_TYPE_VMBGP1_20, THING_TYPE_VMBGP2, + THING_TYPE_VMBGP2_2, THING_TYPE_VMBGP2_20, THING_TYPE_VMBGP4, THING_TYPE_VMBGP4_2, THING_TYPE_VMBGP4_20, + THING_TYPE_VMBGP4PIR, THING_TYPE_VMBGP4PIR_2, THING_TYPE_VMBGP4PIR_20, THING_TYPE_VMBGPO, + THING_TYPE_VMBGPOD, THING_TYPE_VMBGPOD_2, THING_TYPE_VMBGPO_20, THING_TYPE_VMBIN, THING_TYPE_VMBKP)); + + private static final Set PIR_WITH_SENSOR_THING_TYPES = new HashSet<>( + Arrays.asList(THING_TYPE_VMBPIRO, THING_TYPE_VMBPIRO_10)); + private VelbusModuleAddress velbusModuleAddress; private byte highByteOfSerialNumber; private byte lowByteOfSerialNumber; @@ -83,6 +97,10 @@ public class VelbusModule { return this.thingTypeUID; } + public int getNumberOfChannels() { + return numberOfChannels; + } + public ThingUID getThingUID(ThingUID bridgeUID) { return new ThingUID(getThingTypeUID(), bridgeUID, getAddress()); } @@ -124,8 +142,12 @@ public class VelbusModule { } } - Integer key = numberOfChannels <= 8 ? velbusModuleAddress.getChannelIndex(channelIdentifier) - : channelIdentifier.getChannelByte() - 1; + Integer key = CHANNEL_NAME_IDX_FROM_BYTE_THING_TYPES.contains(thingTypeUID) + ? channelIdentifier.getChannelByte() - 1 + : velbusModuleAddress.getChannelIndex(channelIdentifier); + if (key == 0 && PIR_WITH_SENSOR_THING_TYPES.contains(thingTypeUID)) + key = key + 8; + if (!channelNames.containsKey(key)) { channelNames.put(key, new String[3]); } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusVirtualColorChannel.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusVirtualColorChannel.java index 37021266800..2cdbef000c9 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusVirtualColorChannel.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/VelbusVirtualColorChannel.java @@ -25,7 +25,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; */ @NonNullByDefault public class VelbusVirtualColorChannel extends VelbusColorChannel { - private final byte NOT_CONFIGURED = (byte) 0x00; + private static final byte NOT_CONFIGURED = (byte) 0x00; private byte redChannel; private byte greenChannel; diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/discovery/VelbusThingDiscoveryService.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/discovery/VelbusThingDiscoveryService.java index 64c25593ce2..ebb8f2c3390 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/discovery/VelbusThingDiscoveryService.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/discovery/VelbusThingDiscoveryService.java @@ -385,6 +385,26 @@ public class VelbusThingDiscoveryService extends AbstractThingHandlerDiscoverySe velbusModule = new VelbusModule(new VelbusModuleAddress(address, 9), moduleType, highByteOfSerialNumber, lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMBDALI_20, 81); break; + case MODULE_TYPE_VMB4LEDPWM_20: + velbusModule = new VelbusModule(new VelbusModuleAddress(address, 0), moduleType, highByteOfSerialNumber, + lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMB4LEDPWM_20, 4); + break; + case MODULE_TYPE_VMB8DC_20: + velbusModule = new VelbusModule(new VelbusModuleAddress(address, 0), moduleType, highByteOfSerialNumber, + lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMB8DC_20, 8); + break; + case MODULE_TYPE_VMBPIRO_10: + velbusModule = new VelbusModule(new VelbusModuleAddress(address, 0), moduleType, highByteOfSerialNumber, + lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMBPIRO_10, 9); + break; + case MODULE_TYPE_VMBPIR_20: + velbusModule = new VelbusModule(new VelbusModuleAddress(address, 0), moduleType, highByteOfSerialNumber, + lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMBPIR_20, 7); + break; + case MODULE_TYPE_VMB8IN_20: + velbusModule = new VelbusModule(new VelbusModuleAddress(address, 0), moduleType, highByteOfSerialNumber, + lowByteOfSerialNumber, memoryMapVersion, buildYear, buildWeek, THING_TYPE_VMB8IN_20, 8); + break; } if (velbusModule != null) { diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusNewDimmerHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusNewDimmerHandler.java new file mode 100644 index 00000000000..87f1042bfb3 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusNewDimmerHandler.java @@ -0,0 +1,264 @@ +/** + * Copyright (c) 2010-2024 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.velbus.internal.handler; + +import static org.openhab.binding.velbus.internal.VelbusBindingConstants.*; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.velbus.internal.VelbusColorChannel; +import org.openhab.binding.velbus.internal.config.VelbusSensorConfig; +import org.openhab.binding.velbus.internal.packets.VelbusNewDimmerRequestPacket; +import org.openhab.binding.velbus.internal.packets.VelbusPacket; +import org.openhab.binding.velbus.internal.packets.VelbusSetDimPacket; +import org.openhab.binding.velbus.internal.packets.VelbusSetScenePacket; +import org.openhab.core.library.types.DecimalType; +import org.openhab.core.library.types.PercentType; +import org.openhab.core.library.types.StringType; +import org.openhab.core.thing.ChannelUID; +import org.openhab.core.thing.Thing; +import org.openhab.core.thing.ThingStatus; +import org.openhab.core.thing.ThingStatusDetail; +import org.openhab.core.thing.ThingTypeUID; +import org.openhab.core.types.Command; +import org.openhab.core.types.RefreshType; + +/** + * The {@link VelbusNewDimmerHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Daniel Rosengarten - Initial contribution + */ +@NonNullByDefault +public class VelbusNewDimmerHandler extends VelbusSensorWithAlarmClockHandler { + public static final Set SUPPORTED_THING_TYPES = new HashSet<>( + Arrays.asList(THING_TYPE_VMB4LEDPWM_20, THING_TYPE_VMB8DC_20)); + private @Nullable ScheduledFuture refreshJob; + private @NonNullByDefault({}) VelbusSensorConfig sensorConfig; + + private VelbusColorChannel[] colorChannels; + private byte[] fadeModeChannels; + + private static final StringType DIRECT = new StringType("DIRECT"); + private static final StringType FADE_RATE = new StringType("FADE_RATE"); + private static final StringType FADE_TIME = new StringType("FADE_TIME"); + + public VelbusNewDimmerHandler(Thing thing) { + super(thing, 0); + + colorChannels = new VelbusColorChannel[8]; + fadeModeChannels = new byte[8]; + } + + @Override + public void initialize() { + this.sensorConfig = getConfigAs(VelbusSensorConfig.class); + + super.initialize(); + + initializeAutomaticRefresh(); + initializeColorChannel(); + initializeFadeMode(); + initializeChannelStates(); + } + + private void initializeAutomaticRefresh() { + int refreshInterval = this.sensorConfig.refresh; + + if (refreshInterval > 0) { + startAutomaticRefresh(refreshInterval); + } + } + + private void initializeColorChannel() { + byte curveType; + + curveType = (this.thing.getThingTypeUID().equals(THING_TYPE_VMB8DC_20)) ? CURVE_TYPE_LINEAR + : CURVE_TYPE_EXPONENTIAL; + + for (int i = 0; i <= 7; i++) { + colorChannels[i] = new VelbusColorChannel(curveType); + } + } + + private void initializeFadeMode() { + for (int i = 0; i <= 7; i++) { + fadeModeChannels[i] = 0x00; + } + } + + private void initializeChannelStates() { + VelbusBridgeHandler velbusBridgeHandler = getVelbusBridgeHandler(); + if (velbusBridgeHandler == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + return; + } + + sendNewDimmerReadoutRequest(velbusBridgeHandler, ALL_CHANNELS); + } + + @Override + public void dispose() { + final ScheduledFuture refreshJob = this.refreshJob; + if (refreshJob != null) { + refreshJob.cancel(true); + this.refreshJob = null; + } + } + + private void startAutomaticRefresh(int refreshInterval) { + VelbusBridgeHandler velbusBridgeHandler = getVelbusBridgeHandler(); + if (velbusBridgeHandler == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + return; + } + + refreshJob = scheduler.scheduleWithFixedDelay(() -> { + sendNewDimmerReadoutRequest(velbusBridgeHandler, ALL_CHANNELS); + }, 0, refreshInterval, TimeUnit.SECONDS); + } + + protected void sendNewDimmerReadoutRequest(VelbusBridgeHandler velbusBridgeHandler, byte channel) { + VelbusNewDimmerRequestPacket packet = new VelbusNewDimmerRequestPacket(getModuleAddress().getAddress(), + channel); + + byte[] packetBytes = packet.getBytes(); + velbusBridgeHandler.sendPacket(packetBytes); + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + super.handleCommand(channelUID, command); + + VelbusBridgeHandler velbusBridgeHandler = getVelbusBridgeHandler(); + if (velbusBridgeHandler == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + return; + } + + byte address = getModuleAddress().getChannelIdentifier(channelUID).getAddress(); + byte channel = Integer.valueOf(getModuleAddress().getChannelNumber(channelUID)).byteValue(); + + if (command instanceof RefreshType) { + if (isBrightnessGroupChannel(channelUID)) { + sendNewDimmerReadoutRequest(velbusBridgeHandler, channel); + } + } else if (isSceneGroupChannel(channelUID)) { + if (command instanceof DecimalType decimalCommand) { + byte scene = decimalCommand.byteValue(); + + VelbusSetScenePacket packet = new VelbusSetScenePacket(address, channel, scene); + velbusBridgeHandler.sendPacket(packet.getBytes()); + } else { + throw new UnsupportedOperationException( + "The command '" + command + "' is not supported on channel '" + channelUID + "'."); + } + } else if (isFadeModeGroupChannel(channelUID)) { + if (command instanceof StringType stringCommand) { + byte fadeMode = 0x00; + + if (stringCommand.equals(DIRECT)) { + fadeMode = 0x00; + } else if (stringCommand.equals(FADE_RATE)) { + fadeMode = 0x01; + } else if (stringCommand.equals(FADE_TIME)) { + fadeMode = 0x02; + } + + fadeModeChannels[Byte.toUnsignedInt(channel) - 1] = fadeMode; + } else { + throw new UnsupportedOperationException( + "The command '" + command + "' is not supported on channel '" + channelUID + "'."); + } + } else if (isBrightnessGroupChannel(channelUID)) { + VelbusColorChannel colorChannel = colorChannels[Byte.toUnsignedInt(channel) - 1]; + + if (command instanceof PercentType percentCommand) { + colorChannel.setBrightness(percentCommand); + + VelbusSetDimPacket packet = new VelbusSetDimPacket(address, channel); + packet.setDim(colorChannel.getBrightnessVelbus()); + packet.setMode(fadeModeChannels[Byte.toUnsignedInt(channel) - 1]); + velbusBridgeHandler.sendPacket(packet.getBytes()); + } else { + throw new UnsupportedOperationException( + "The command '" + command + "' is not supported on channel '" + channelUID + "'."); + } + } + } + + private boolean isBrightnessGroupChannel(ChannelUID channelUID) { + return CHANNEL_GROUP_BRIGHTNESS.equals(channelUID.getGroupId()); + } + + private boolean isSceneGroupChannel(ChannelUID channelUID) { + return CHANNEL_GROUP_SCENE.equals(channelUID.getGroupId()); + } + + private boolean isFadeModeGroupChannel(ChannelUID channelUID) { + return CHANNEL_GROUP_FADE_MODE.equals(channelUID.getGroupId()); + } + + @Override + public boolean onPacketReceived(byte[] packet) { + if (!super.onPacketReceived(packet)) { + return false; + } + + if (packet[0] == VelbusPacket.STX && packet.length >= 7) { + byte command = packet[4]; + byte setting = packet[6]; + + if (command == COMMAND_TEMP_SENSOR_SETTINGS_PART1 && setting == SETTING_ACTUAL_LEVEL) { + int channel = Byte.toUnsignedInt(packet[5]); + + if (channel >= 1 && channel <= 8) { + VelbusColorChannel colorChannel = colorChannels[channel - 1]; + + if (packet.length >= 8 && packet.length < 12) { + ChannelUID brightness = new ChannelUID(thing.getUID(), CHANNEL_GROUP_BRIGHTNESS, + CHANNEL + channel); + colorChannel.setBrightness(packet[7]); + updateState(brightness, colorChannel.getBrightnessPercent()); + } else if (packet.length >= 12) { + ChannelUID brightness = new ChannelUID(thing.getUID(), CHANNEL_GROUP_BRIGHTNESS, + CHANNEL + channel); + colorChannel.setBrightness(packet[7]); + updateState(brightness, colorChannel.getBrightnessPercent()); + } + } + } else if (command == COMMAND_DIMVALUE_STATUS && packet.length >= 8) { + int channel = Byte.toUnsignedInt(packet[5]); + + if (channel >= 1 && channel <= 8) { + VelbusColorChannel colorChannel = colorChannels[channel - 1]; + + for (int i = 0; i < (packet.length - 8); i++) { + ChannelUID brightness = new ChannelUID(thing.getUID(), CHANNEL_GROUP_BRIGHTNESS, + CHANNEL + (channel + i)); + colorChannel.setBrightness(packet[6 + i]); + updateState(brightness, colorChannel.getBrightnessPercent()); + } + } + } + } + + return true; + } +} diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusRelayWithInputHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusRelayWithInputHandler.java index 892e21a9443..6f8516f22a1 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusRelayWithInputHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusRelayWithInputHandler.java @@ -62,17 +62,17 @@ public class VelbusRelayWithInputHandler extends VelbusRelayHandler { if (stringCommand.equals(PRESSED) || stringCommand.equals(LONG_PRESSED)) { VelbusButtonPacket packet = new VelbusButtonPacket(getModuleAddress().getChannelIdentifier(channelUID)); - packet.Pressed(); + packet.pressed(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel("CH6t", CommonTriggerEvents.PRESSED); if (stringCommand.equals(LONG_PRESSED)) { - packet.LongPressed(); + packet.longPressed(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel("CH6t", CommonTriggerEvents.LONG_PRESSED); } - packet.Released(); + packet.released(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel("CH6t", CommonTriggerEvents.RELEASED); } else { diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorHandler.java index 93315f040d1..e439055b0d7 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorHandler.java @@ -97,19 +97,19 @@ public class VelbusSensorHandler extends VelbusThingHandler { if (stringCommand.equals(PRESSED) || stringCommand.equals(LONG_PRESSED)) { VelbusButtonPacket packet = new VelbusButtonPacket(getModuleAddress().getChannelIdentifier(channelUID)); - packet.Pressed(); + packet.pressed(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel(CHANNEL_GROUP_INPUT + "#CH" + getModuleAddress().getChannelNumber(channelUID), CommonTriggerEvents.PRESSED); if (stringCommand.equals(LONG_PRESSED)) { - packet.LongPressed(); + packet.longPressed(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel(CHANNEL_GROUP_INPUT + "#CH" + getModuleAddress().getChannelNumber(channelUID), CommonTriggerEvents.LONG_PRESSED); } - packet.Released(); + packet.released(); velbusBridgeHandler.sendPacket(packet.getBytes()); triggerChannel(CHANNEL_GROUP_INPUT + "#CH" + getModuleAddress().getChannelNumber(channelUID), CommonTriggerEvents.RELEASED); diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorWithAlarmClockHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorWithAlarmClockHandler.java index 2146813311b..75d9b4992a9 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorWithAlarmClockHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusSensorWithAlarmClockHandler.java @@ -46,9 +46,10 @@ import org.openhab.core.types.RefreshType; */ @NonNullByDefault public class VelbusSensorWithAlarmClockHandler extends VelbusSensorHandler { - public static final Set SUPPORTED_THING_TYPES = new HashSet<>(Arrays.asList(THING_TYPE_VMB2PBN, - THING_TYPE_VMB6PBN, THING_TYPE_VMB8PBU, THING_TYPE_VMBPIRC, THING_TYPE_VMBPIRM, THING_TYPE_VMBRFR8S, - THING_TYPE_VMBVP1, THING_TYPE_VMBKP, THING_TYPE_VMBIN, THING_TYPE_VMB4PB, THING_TYPE_VMB6PB_20)); + public static final Set SUPPORTED_THING_TYPES = new HashSet<>( + Arrays.asList(THING_TYPE_VMB2PBN, THING_TYPE_VMB6PBN, THING_TYPE_VMB8PBU, THING_TYPE_VMBPIRC, + THING_TYPE_VMBPIRM, THING_TYPE_VMBRFR8S, THING_TYPE_VMBVP1, THING_TYPE_VMBKP, THING_TYPE_VMBIN, + THING_TYPE_VMB4PB, THING_TYPE_VMB6PB_20, THING_TYPE_VMBPIRO_10, THING_TYPE_VMBPIR_20)); private static final HashMap ALARM_CONFIGURATION_MEMORY_ADDRESSES = new HashMap<>(); static { @@ -95,6 +96,11 @@ public class VelbusSensorWithAlarmClockHandler extends VelbusSensorHandler { ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMBDALI_20, 0x0513); ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMBEL4PIR_20, 0x032B); ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMBGP4PIR_20, 0x032B); + ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMB4LEDPWM_20, 0x0043); + ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMB8DC_20, 0x0083); + ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMBPIRO_10, 0x0031); + ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMBPIR_20, 0x0033); + ALARM_CONFIGURATION_MEMORY_ADDRESSES.put(THING_TYPE_VMB8IN_20, 0x00A7); } private static final byte ALARM_CONFIGURATION_MEMORY_SIZE = 0x09; diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusThingHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusThingHandler.java index ea66969d38f..8c102736e39 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusThingHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusThingHandler.java @@ -259,9 +259,6 @@ public abstract class VelbusThingHandler extends BaseThingHandler implements Vel public boolean onPacketReceived(byte[] packet) { logger.trace("onPacketReceived() was called"); - if (disposed) { - return false; - } - return true; + return !disposed; } } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusVMBDALIHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusVMBDALIHandler.java index 2015b75bb74..589ca74ec31 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusVMBDALIHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusVMBDALIHandler.java @@ -86,7 +86,7 @@ public class VelbusVMBDALIHandler extends VelbusSensorWithAlarmClockHandler { private void initializeColorChannel() { for (int i = 0; i <= 80; i++) { - colorChannels[i] = new VelbusColorChannel(); + colorChannels[i] = new VelbusColorChannel(CURVE_TYPE_EXPONENTIAL); } } @@ -288,7 +288,7 @@ public class VelbusVMBDALIHandler extends VelbusSensorWithAlarmClockHandler { byte command = packet[4]; byte setting = packet[6]; - if (command == COMMAND_TEMP_SENSOR_SETTINGS_PART1 && setting == DALI_SETTING_ACTUAL_LEVEL) { + if (command == COMMAND_TEMP_SENSOR_SETTINGS_PART1 && setting == SETTING_ACTUAL_LEVEL) { int channel = Byte.toUnsignedInt(packet[5]); if (channel >= 1 && channel <= 80) { diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusButtonPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusButtonPacket.java index d8e52af0312..135f3ebea84 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusButtonPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusButtonPacket.java @@ -35,15 +35,15 @@ public class VelbusButtonPacket extends VelbusPacket { (byte) 0x00 }; } - public void Pressed() { + public void pressed() { data = new byte[] { VelbusBindingConstants.COMMAND_PUSH_BUTTON_STATUS, channel, (byte) 0x00, (byte) 0x00 }; } - public void LongPressed() { + public void longPressed() { data = new byte[] { VelbusBindingConstants.COMMAND_PUSH_BUTTON_STATUS, (byte) 0x00, (byte) 0x00, channel }; } - public void Released() { + public void released() { data = new byte[] { VelbusBindingConstants.COMMAND_PUSH_BUTTON_STATUS, (byte) 0x00, channel, (byte) 0x00 }; } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDaliRequestPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDaliRequestPacket.java index 7aa5caeedde..25eb48e14c3 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDaliRequestPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDaliRequestPacket.java @@ -25,7 +25,7 @@ import org.openhab.binding.velbus.internal.VelbusChannelIdentifier; */ @NonNullByDefault public class VelbusDaliRequestPacket extends VelbusPacket { - private final byte GATEWAY_CONFIG = (byte) 0x01; + private static final byte GATEWAY_CONFIG = (byte) 0x01; private byte channel = ALL_DALI_CHANNELS; @@ -47,7 +47,7 @@ public class VelbusDaliRequestPacket extends VelbusPacket { return new byte[] { COMMAND_TEMP_SENSOR_SETTINGS_REQUEST, this.channel, GATEWAY_CONFIG }; } else { return new byte[] { COMMAND_TEMP_SENSOR_SETTINGS_REQUEST, this.channel, GATEWAY_CONFIG, - DALI_SETTING_ACTUAL_LEVEL }; + SETTING_ACTUAL_LEVEL }; } } } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusNewDimmerRequestPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusNewDimmerRequestPacket.java new file mode 100644 index 00000000000..9b78b4fa629 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusNewDimmerRequestPacket.java @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2010-2024 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.velbus.internal.packets; + +import static org.openhab.binding.velbus.internal.VelbusBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.velbus.internal.VelbusChannelIdentifier; + +/** + * The {@link VelbusNewDimmerRequestPacket} represents a Velbus packet that can be used to + * request the values of the channel(s) of the given Velbus module. + * + * @author Daniel Rosengarten - Initial contribution + */ +@NonNullByDefault +public class VelbusNewDimmerRequestPacket extends VelbusPacket { + private static final byte GATEWAY_CONFIG = (byte) 0x00; + + private byte channel = ALL_CHANNELS; + + public VelbusNewDimmerRequestPacket(byte address, byte channel) { + super(address, PRIO_LOW); + + this.channel = (channel == ALL_CHANNELS) ? ALL_CHANNELS : channel; + } + + public VelbusNewDimmerRequestPacket(VelbusChannelIdentifier velbusChannelIdentifier) { + super(velbusChannelIdentifier.getAddress(), PRIO_LOW); + + this.channel = velbusChannelIdentifier.getChannelByte(); + } + + @Override + protected byte[] getDataBytes() { + if (this.channel == ALL_CHANNELS) { + return new byte[] { COMMAND_TEMP_SENSOR_SETTINGS_REQUEST, this.channel, GATEWAY_CONFIG }; + } else { + return new byte[] { COMMAND_TEMP_SENSOR_SETTINGS_REQUEST, this.channel, GATEWAY_CONFIG, + SETTING_ACTUAL_LEVEL }; + } + } +} diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetDimPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetDimPacket.java index 7909170abaf..29fabd8784c 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetDimPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetDimPacket.java @@ -36,6 +36,10 @@ public class VelbusSetDimPacket extends VelbusPacket { data[2] = dim; } + public void setMode(byte mode) { + data[3] = mode; + } + @Override protected byte[] getDataBytes() { return data; diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetScenePacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetScenePacket.java index 65f3c6a0fe6..afabdb4bd03 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetScenePacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusSetScenePacket.java @@ -31,7 +31,7 @@ public class VelbusSetScenePacket extends VelbusPacket { this.data = new byte[] { VelbusBindingConstants.COMMAND_SET_DIMSCENE, channel, sceneNumber }; } - public void GoToScene(byte sceneNumber) { + public void goToScene(byte sceneNumber) { data[2] = sceneNumber; } diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/1-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/1-channel-device-config.xml new file mode 100644 index 00000000000..b214ce4cf85 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/1-channel-device-config.xml @@ -0,0 +1,39 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The time (in seconds) needed for dimming from 0 to 100%. + 0 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/13-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/13-channel-device-config.xml new file mode 100644 index 00000000000..fdbf4595e0f --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/13-channel-device-config.xml @@ -0,0 +1,99 @@ + + + + + + + The velbus address of the device + + + + Refresh interval for the sensors (in seconds), default 300. If set to 0 or left empty, no refresh will + be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + The name of CH9. + CH9 + true + + + + The name of CH10. + CH10 + true + + + + The name of CH11. + CH11 + true + + + + The name of CH12. + CH12 + true + + + + The name of CH13. + CH13 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/2-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/2-channel-device-config.xml new file mode 100644 index 00000000000..6bdf5bc7672 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/2-channel-device-config.xml @@ -0,0 +1,26 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/33-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/33-channel-device-config.xml new file mode 100644 index 00000000000..96e26e173fe --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/33-channel-device-config.xml @@ -0,0 +1,243 @@ + + + + + + + The velbus address of the device + + + + The velbus sub-address 1 of the device (FF = disabled). In the VelbusLink application it's identified by + Page 3-4 or Pushbuttons 9-16. + FF + + + + The velbus sub-address 2 of the device (FF = disabled). In the VelbusLink application it's identified by + Page 5-6 or Pushbuttons 17-24. + FF + + + + The velbus sub-address 3 of the device (FF = disabled). In the VelbusLink application it's identified by + Page 7-8 or Pushbuttons 25-32. + FF + + + + The velbus sub-address 4 of the device (FF = disabled). In the VelbusLink application it's identified by + Sensor or Thermostat. + FF + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + The name of CH9. + CH9 + true + + + + The name of CH10. + CH10 + true + + + + The name of CH11. + CH11 + true + + + + The name of CH12. + CH12 + true + + + + The name of CH13. + CH13 + true + + + + The name of CH14. + CH14 + true + + + + The name of CH15. + CH15 + true + + + + The name of CH16. + CH16 + true + + + + The name of CH17. + CH17 + true + + + + The name of CH18. + CH18 + true + + + + The name of CH19. + CH19 + true + + + + The name of CH20. + CH20 + true + + + + The name of CH21. + CH21 + true + + + + The name of CH22. + CH22 + true + + + + The name of CH23. + CH23 + true + + + + The name of CH24. + CH24 + true + + + + The name of CH25. + CH25 + true + + + + The name of CH26. + CH26 + true + + + + The name of CH27. + CH27 + true + + + + The name of CH28. + CH28 + true + + + + The name of CH29. + CH29 + true + + + + The name of CH30. + CH30 + true + + + + The name of CH31. + CH31 + true + + + + The name of CH32. + CH32 + true + + + + The name of CH33 (temperature sensor channel). + Temperature + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/4-channel-devices-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/4-channel-devices-config.xml new file mode 100644 index 00000000000..43da413694a --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/4-channel-devices-config.xml @@ -0,0 +1,75 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The time (in seconds) needed for dimming from 0 to 100%. + 0 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/5-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/5-channel-device-config.xml new file mode 100644 index 00000000000..85af7d83227 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/5-channel-device-config.xml @@ -0,0 +1,44 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/6-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/6-channel-device-config.xml new file mode 100644 index 00000000000..b977c3d6aa6 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/6-channel-device-config.xml @@ -0,0 +1,50 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/7-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/7-channel-device-config.xml new file mode 100644 index 00000000000..8129f13ce43 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/7-channel-device-config.xml @@ -0,0 +1,112 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + + + + The velbus address of the device + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/8-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/8-channel-device-config.xml new file mode 100644 index 00000000000..a95f49526cf --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/8-channel-device-config.xml @@ -0,0 +1,308 @@ + + + + + + + The velbus address of the device + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + + + + The velbus address of the device + + + + Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will + be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + The unit for Counter 1. + kWh + + + + + + true + + + + The pulse multiplier for counter 1. + 1 + + + + + + + true + + + + The unit for Counter 2. + kWh + + + + + + true + + + + The pulse multiplier for counter 2. + 1 + + + + + + + true + + + + The unit for Counter 3. + kWh + + + + + + true + + + + The pulse multiplier for counter 3. + 1 + + + + + + + true + + + + The unit for Counter 4. + kWh + + + + + + true + + + + The pulse multiplier for counter 4. + 1 + + + + + + + true + + + + The unit for Counter 4. + kWh + + + + + + true + + + + The pulse multiplier for counter 4. + 1 + + + + + + + true + + + + The unit for Counter 4. + kWh + + + + + + true + + + + The pulse multiplier for counter 4. + 1 + + + + + + + true + + + + The unit for Counter 4. + kWh + + + + + + true + + + + The pulse multiplier for counter 4. + 1 + + + + + + + true + + + + The unit for Counter 4. + kWh + + + + + + true + + + + The pulse multiplier for counter 4. + 1 + + + + + + + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/81-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/81-channel-device-config.xml new file mode 100644 index 00000000000..92ff4a9fd0e --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/81-channel-device-config.xml @@ -0,0 +1,690 @@ + + + + + + + The velbus address of the device. In the VelbusLink application it's identified by DALI Address A0..A7 + or Channel CH1..CH8. + + + + The velbus sub-address 1 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A8..A15 or Channel CH9..CH16. + FF + + + + The velbus sub-address 2 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A16..A23 or Channel CH17..CH24. + FF + + + + The velbus sub-address 3 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A24..A31 or Channel CH25..CH32. + FF + + + + The velbus sub-address 4 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A32..A39 or Channel CH33..CH40. + FF + + + + The velbus sub-address 5 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A40..A47 or Channel CH41..CH48. + FF + + + + The velbus sub-address 6 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A48..A55 or Channel CH49..CH56. + FF + + + + The velbus sub-address 7 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Address A56..A63 or Channel CH57..CH64. + FF + + + + The velbus sub-address 8 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Group G0..G7 or Channel CH65..CH72. + FF + + + + The velbus sub-address 9 of the device (FF = disabled). In the VelbusLink application it's identified by + DALI Group G8..G15 or Channel CH73..CH80. + FF + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + The name of CH1. + A0 + true + + + + The name of CH2. + A1 + true + + + + The name of CH3. + A2 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + A4 + true + + + + The name of CH6. + A5 + true + + + + The name of CH7. + A6 + true + + + + The name of CH8. + A7 + true + + + + The name of CH9. + A8 + true + + + + The name of CH10. + A9 + true + + + + The name of CH11. + A10 + true + + + + The name of CH12. + A11 + true + + + + The name of CH13. + A12 + true + + + + The name of CH14. + A13 + true + + + + The name of CH15. + A14 + true + + + + The name of CH16. + A15 + true + + + + The name of CH17. + A16 + true + + + + The name of CH18. + A17 + true + + + + The name of CH19. + A18 + true + + + + The name of CH20. + A19 + true + + + + The name of CH21. + A20 + true + + + + The name of CH22. + A21 + true + + + + The name of CH23. + A22 + true + + + + The name of CH24. + A23 + true + + + + The name of CH25. + A24 + true + + + + The name of CH26. + A25 + true + + + + The name of CH27. + A26 + true + + + + The name of CH28. + A27 + true + + + + The name of CH29. + A28 + true + + + + The name of CH30. + A29 + true + + + + The name of CH31. + A30 + true + + + + The name of CH32. + A31 + true + + + + The name of CH33. + A32 + true + + + + The name of CH34. + A33 + true + + + + The name of CH35. + A34 + true + + + + The name of CH36. + A35 + true + + + + The name of CH37. + A36 + true + + + + The name of CH38. + A37 + true + + + + The name of CH39. + A38 + true + + + + The name of CH40. + A39 + true + + + + The name of CH41. + A40 + true + + + + The name of CH42. + A41 + true + + + + The name of CH43. + A42 + true + + + + The name of CH44. + A43 + true + + + + The name of CH45. + A44 + true + + + + The name of CH46. + A45 + true + + + + The name of CH47. + A46 + true + + + + The name of CH48. + A47 + true + + + + The name of CH49. + A48 + true + + + + The name of CH50. + A39 + true + + + + The name of CH51. + A50 + true + + + + The name of CH52. + A51 + true + + + + The name of CH53. + A52 + true + + + + The name of CH54. + A53 + true + + + + The name of CH55. + A54 + true + + + + The name of CH56. + A55 + true + + + + The name of CH57. + A56 + true + + + + The name of CH58. + A57 + true + + + + The name of CH59. + A58 + true + + + + The name of CH60. + A59 + true + + + + The name of CH61. + A60 + true + + + + The name of CH62. + A61 + true + + + + The name of CH63. + A62 + true + + + + The name of CH64. + A63 + true + + + + The name of CH65. + G0 + true + + + + The name of CH66. + G1 + true + + + + The name of CH67. + G2 + true + + + + The name of CH68. + G3 + true + + + + The name of CH69. + G4 + true + + + + The name of CH70. + G5 + true + + + + The name of CH71. + G6 + true + + + + The name of CH72. + G7 + true + + + + The name of CH73. + G8 + true + + + + The name of CH74. + G9 + true + + + + The name of CH75. + G10 + true + + + + The name of CH76. + G11 + true + + + + The name of CH77. + G12 + true + + + + The name of CH78. + G13 + true + + + + The name of CH79. + G14 + true + + + + The name of CH80. + G15 + true + + + + The name of CH81. + Broadcast + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH1,CH2,CH3,CH4) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH5,CH6,CH7,CH8) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH9,CH10,CH11,CH12) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH13,CH14,CH15,CH16) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH17,CH18,CH19,CH20) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH21,CH22,CH23,CH24) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH25,CH26,CH27,CH28) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH29,CH30,CH31,CH32) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH33,CH34,CH35,CH36) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH37,CH38,CH39,CH40) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH41,CH42,CH43,CH44) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH45,CH46,CH47,CH48) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH49,CH50,CH51,CH52) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH53,CH54,CH55,CH56) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH57,CH58,CH59,CH60) + true + + + + Create a virtual color light from 3 or 4 channels. Format: + Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to + CH64. (e.g. + CH61,CH62,CH63,CH64) + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/9-channel-device-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/9-channel-device-config.xml new file mode 100644 index 00000000000..ea461afb1d4 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/9-channel-device-config.xml @@ -0,0 +1,149 @@ + + + + + + + The velbus address of the device + + + + The velbus sub-address of the device (FF = disabled). In the VelbusLink application it's identified by + Sensor or Thermostat. + FF + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + The name of CH9 (temperature sensor channel). + Temperature + true + + + + + + + The velbus address of the device + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + The name of CH1. + CH1 + true + + + + The name of CH2. + CH2 + true + + + + The name of CH3. + CH3 + true + + + + The name of CH4. + CH4 + true + + + + The name of CH5. + CH5 + true + + + + The name of CH6. + CH6 + true + + + + The name of CH7. + CH7 + true + + + + The name of CH8. + CH8 + true + + + + The name of CH9 (temperature sensor channel). + Temperature + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/bridge-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/bridge-config.xml new file mode 100644 index 00000000000..0e74fb1ab29 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/bridge-config.xml @@ -0,0 +1,56 @@ + + + + + + serial-port + false + + Select serial port (COM1, /dev/ttyS0, ...) + + + + The interval (in minutes) at which the realtime clock, date and daylight savings status of the modules + will be updated, default 360. If set to 0 or left empty, no refresh will be scheduled. + 360 + true + + + + The interval (in seconds) at which reconnections should be reattempted in case of a communication + problem, default 15. If set to 0 or left empty, no reconnections will be attempted. + 15 + true + + + + + + network-address + + IP Address or hostname of Velbus server + + + + Network port to communicate with Velbus server + + + + The interval (in minutes) at which the realtime clock, date and daylight savings status of the modules + will be updated, default 360. If set to 0 or left empty, no refresh will be scheduled. + 360 + true + + + + The interval (in seconds) at which reconnections should be reattempted in case of a communication + problem, default 15. If set to 0 or left empty, no reconnections will be attempted. + 15 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/config.xml deleted file mode 100644 index 730eddd9de1..00000000000 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/config.xml +++ /dev/null @@ -1,1613 +0,0 @@ - - - - - - serial-port - false - - Select serial port (COM1, /dev/ttyS0, ...) - - - - The interval (in minutes) at which the realtime clock, date and daylight savings status of the modules - will be updated, default 360. If set to 0 or left empty, no refresh will be scheduled. - 360 - true - - - - The interval (in seconds) at which reconnections should be reattempted in case of a communication - problem, default 15. If set to 0 or left empty, no reconnections will be attempted. - 15 - true - - - - - - network-address - - IP Address or hostname of Velbus server - - - - Network port to communicate with Velbus server - - - - The interval (in minutes) at which the realtime clock, date and daylight savings status of the modules - will be updated, default 360. If set to 0 or left empty, no refresh will be scheduled. - 360 - true - - - - The interval (in seconds) at which reconnections should be reattempted in case of a communication - problem, default 15. If set to 0 or left empty, no reconnections will be attempted. - 15 - true - - - - - - - The velbus address of the device - - - - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no - refresh will be scheduled. - 300 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The time (in seconds) needed for dimming from 0 to 100%. - 0 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The time (in seconds) needed for dimming from 0 to 100%. - 0 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - - - - The velbus address of the device - - - - Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will - be scheduled. - 300 - true - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - The unit for Counter 1. - kWh - - - - - - true - - - - The pulse multiplier for counter 1. - 1 - - - - - - - true - - - - The unit for Counter 2. - kWh - - - - - - true - - - - The pulse multiplier for counter 2. - 1 - - - - - - - true - - - - The unit for Counter 3. - kWh - - - - - - true - - - - The pulse multiplier for counter 3. - 1 - - - - - - - true - - - - The unit for Counter 4. - kWh - - - - - - true - - - - The pulse multiplier for counter 4. - 1 - - - - - - - true - - - - - - - The velbus address of the device - - - - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no - refresh will be scheduled. - 300 - true - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - - - - The velbus address of the device - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - The name of CH8. - CH8 - true - - - - - - - The velbus address of the device - - - - The velbus sub-address of the device (FF = disabled). In the VelbusLink application it's identified by - Sensor or Thermostat. - FF - - - - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no - refresh will be scheduled. - 300 - true - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - The name of CH8. - CH8 - true - - - - The name of CH9 (temperature sensor channel). - Temperature - true - - - - - - - The velbus address of the device - - - - Refresh interval for the sensors (in seconds), default 300. If set to 0 or left empty, no refresh will - be scheduled. - 300 - true - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - The name of CH8. - CH8 - true - - - - The name of CH9. - CH9 - true - - - - The name of CH10. - CH10 - true - - - - The name of CH11. - CH11 - true - - - - The name of CH12. - CH12 - true - - - - The name of CH13. - CH13 - true - - - - - - - The velbus address of the device - - - - The velbus sub-address 1 of the device (FF = disabled). In the VelbusLink application it's identified by - Page 3-4 or Pushbuttons 9-16. - FF - - - - The velbus sub-address 2 of the device (FF = disabled). In the VelbusLink application it's identified by - Page 5-6 or Pushbuttons 17-24. - FF - - - - The velbus sub-address 3 of the device (FF = disabled). In the VelbusLink application it's identified by - Page 7-8 or Pushbuttons 25-32. - FF - - - - The velbus sub-address 4 of the device (FF = disabled). In the VelbusLink application it's identified by - Sensor or Thermostat. - FF - - - - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no - refresh will be scheduled. - 300 - true - - - - The name of CH1. - CH1 - true - - - - The name of CH2. - CH2 - true - - - - The name of CH3. - CH3 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - CH5 - true - - - - The name of CH6. - CH6 - true - - - - The name of CH7. - CH7 - true - - - - The name of CH8. - CH8 - true - - - - The name of CH9. - CH9 - true - - - - The name of CH10. - CH10 - true - - - - The name of CH11. - CH11 - true - - - - The name of CH12. - CH12 - true - - - - The name of CH13. - CH13 - true - - - - The name of CH14. - CH14 - true - - - - The name of CH15. - CH15 - true - - - - The name of CH16. - CH16 - true - - - - The name of CH17. - CH17 - true - - - - The name of CH18. - CH18 - true - - - - The name of CH19. - CH19 - true - - - - The name of CH20. - CH20 - true - - - - The name of CH21. - CH21 - true - - - - The name of CH22. - CH22 - true - - - - The name of CH23. - CH23 - true - - - - The name of CH24. - CH24 - true - - - - The name of CH25. - CH25 - true - - - - The name of CH26. - CH26 - true - - - - The name of CH27. - CH27 - true - - - - The name of CH28. - CH28 - true - - - - The name of CH29. - CH29 - true - - - - The name of CH30. - CH30 - true - - - - The name of CH31. - CH31 - true - - - - The name of CH32. - CH32 - true - - - - The name of CH33 (temperature sensor channel). - Temperature - true - - - - - - - The velbus address of the device. In the VelbusLink application it's identified by DALI Address A0..A7 - or Channel CH1..CH8. - - - - The velbus sub-address 1 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A8..A15 or Channel CH9..CH16. - FF - - - - The velbus sub-address 2 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A16..A23 or Channel CH17..CH24. - FF - - - - The velbus sub-address 3 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A24..A31 or Channel CH25..CH32. - FF - - - - The velbus sub-address 4 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A32..A39 or Channel CH33..CH40. - FF - - - - The velbus sub-address 5 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A40..A47 or Channel CH41..CH48. - FF - - - - The velbus sub-address 6 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A48..A55 or Channel CH49..CH56. - FF - - - - The velbus sub-address 7 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Address A56..A63 or Channel CH57..CH64. - FF - - - - The velbus sub-address 8 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Group G0..G7 or Channel CH65..CH72. - FF - - - - The velbus sub-address 9 of the device (FF = disabled). In the VelbusLink application it's identified by - DALI Group G8..G15 or Channel CH73..CH80. - FF - - - - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no - refresh will be scheduled. - 300 - true - - - - The name of CH1. - A0 - true - - - - The name of CH2. - A1 - true - - - - The name of CH3. - A2 - true - - - - The name of CH4. - CH4 - true - - - - The name of CH5. - A4 - true - - - - The name of CH6. - A5 - true - - - - The name of CH7. - A6 - true - - - - The name of CH8. - A7 - true - - - - The name of CH9. - A8 - true - - - - The name of CH10. - A9 - true - - - - The name of CH11. - A10 - true - - - - The name of CH12. - A11 - true - - - - The name of CH13. - A12 - true - - - - The name of CH14. - A13 - true - - - - The name of CH15. - A14 - true - - - - The name of CH16. - A15 - true - - - - The name of CH17. - A16 - true - - - - The name of CH18. - A17 - true - - - - The name of CH19. - A18 - true - - - - The name of CH20. - A19 - true - - - - The name of CH21. - A20 - true - - - - The name of CH22. - A21 - true - - - - The name of CH23. - A22 - true - - - - The name of CH24. - A23 - true - - - - The name of CH25. - A24 - true - - - - The name of CH26. - A25 - true - - - - The name of CH27. - A26 - true - - - - The name of CH28. - A27 - true - - - - The name of CH29. - A28 - true - - - - The name of CH30. - A29 - true - - - - The name of CH31. - A30 - true - - - - The name of CH32. - A31 - true - - - - The name of CH33. - A32 - true - - - - The name of CH34. - A33 - true - - - - The name of CH35. - A34 - true - - - - The name of CH36. - A35 - true - - - - The name of CH37. - A36 - true - - - - The name of CH38. - A37 - true - - - - The name of CH39. - A38 - true - - - - The name of CH40. - A39 - true - - - - The name of CH41. - A40 - true - - - - The name of CH42. - A41 - true - - - - The name of CH43. - A42 - true - - - - The name of CH44. - A43 - true - - - - The name of CH45. - A44 - true - - - - The name of CH46. - A45 - true - - - - The name of CH47. - A46 - true - - - - The name of CH48. - A47 - true - - - - The name of CH49. - A48 - true - - - - The name of CH50. - A39 - true - - - - The name of CH51. - A50 - true - - - - The name of CH52. - A51 - true - - - - The name of CH53. - A52 - true - - - - The name of CH54. - A53 - true - - - - The name of CH55. - A54 - true - - - - The name of CH56. - A55 - true - - - - The name of CH57. - A56 - true - - - - The name of CH58. - A57 - true - - - - The name of CH59. - A58 - true - - - - The name of CH60. - A59 - true - - - - The name of CH61. - A60 - true - - - - The name of CH62. - A61 - true - - - - The name of CH63. - A62 - true - - - - The name of CH64. - A63 - true - - - - The name of CH65. - G0 - true - - - - The name of CH66. - G1 - true - - - - The name of CH67. - G2 - true - - - - The name of CH68. - G3 - true - - - - The name of CH69. - G4 - true - - - - The name of CH70. - G5 - true - - - - The name of CH71. - G6 - true - - - - The name of CH72. - G7 - true - - - - The name of CH73. - G8 - true - - - - The name of CH74. - G9 - true - - - - The name of CH75. - G10 - true - - - - The name of CH76. - G11 - true - - - - The name of CH77. - G12 - true - - - - The name of CH78. - G13 - true - - - - The name of CH79. - G14 - true - - - - The name of CH80. - G15 - true - - - - The name of CH81. - Broadcast - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH1,CH2,CH3,CH4) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH5,CH6,CH7,CH8) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH9,CH10,CH11,CH12) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH13,CH14,CH15,CH16) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH17,CH18,CH19,CH20) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH21,CH22,CH23,CH24) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH25,CH26,CH27,CH28) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH29,CH30,CH31,CH32) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH33,CH34,CH35,CH36) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH37,CH38,CH39,CH40) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH41,CH42,CH43,CH44) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH45,CH46,CH47,CH48) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH49,CH50,CH51,CH52) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH53,CH54,CH55,CH56) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH57,CH58,CH59,CH60) - true - - - - Create a virtual color light from 3 or 4 channels. Format: - Red_channel,Green_channel,Blue_channel,White_channel. White_channel is optionnal. From CH1 to - CH64. (e.g. - CH61,CH62,CH63,CH64) - true - - - - diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/sensor-config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/sensor-config.xml new file mode 100644 index 00000000000..f8987322e2f --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/config/sensor-config.xml @@ -0,0 +1,21 @@ + + + + + + + The velbus address of the device + + + + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. + 300 + true + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties index 3b4686df9a9..26b14638b19 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties @@ -39,6 +39,8 @@ thing-type.velbus.vmb4an.label = VMB4AN thing-type.velbus.vmb4an.description = Analog I/O module thing-type.velbus.vmb4dc.label = VMB4DC thing-type.velbus.vmb4dc.description = 4-channel 0/1-10V dimmer controller +thing-type.velbus.vmb4ledpwm-20.label = VMB4LEDPWM-20 +thing-type.velbus.vmb4ledpwm-20.description = 4 channel led PWM dimmer module thing-type.velbus.vmb4pb.label = VMB4PB thing-type.velbus.vmb4pb.description = 4 button interface module thing-type.velbus.vmb4ry.label = VMB4RY @@ -53,12 +55,16 @@ thing-type.velbus.vmb4ryno.label = VMB4RYNO thing-type.velbus.vmb4ryno.description = 4-channel relay module with potential-free contacts thing-type.velbus.vmb6in.label = VMB6IN thing-type.velbus.vmb6in.description = 6-channel input module -thing-type.velbus.vmb6pbn-20.label = VMB6PBN-20 -thing-type.velbus.vmb6pbn-20.description = 6 button interface module +thing-type.velbus.vmb6pb-20.label = VMB6PB-20 +thing-type.velbus.vmb6pb-20.description = 6 button interface module thing-type.velbus.vmb6pbn.label = VMB6PBN thing-type.velbus.vmb6pbn.description = Push-button interface module for Niko 4- or 6-fold push-button thing-type.velbus.vmb7in.label = VMB7IN thing-type.velbus.vmb7in.description = 7-channel input module (potentialfree + pulse) +thing-type.velbus.vmb8dc-20.label = VMB8DC-20 +thing-type.velbus.vmb8dc-20.description = 8 channel 0 to 10 V dimmer control module +thing-type.velbus.vmb8in-20.label = VMB8IN-20 +thing-type.velbus.vmb8in-20.description = 8-channel input module (potentialfree + pulse) thing-type.velbus.vmb8ir.label = VMB8IR thing-type.velbus.vmb8ir.description = Infrared remote control receiver module thing-type.velbus.vmb8pb.label = VMB8PB @@ -133,10 +139,14 @@ thing-type.velbus.vmbkp.label = VMBKP thing-type.velbus.vmbkp.description = Keypad interface module thing-type.velbus.vmbmeteo.label = VMBMETEO thing-type.velbus.vmbmeteo.description = Weather station with thermometer, anemometer, rain sensor and light sensor +thing-type.velbus.vmbpir-20.label = VMBPIR-20 +thing-type.velbus.vmbpir-20.description = Mini motion and twilight sensor for recessed or surface mounting thing-type.velbus.vmbpirc.label = VMBPIRC thing-type.velbus.vmbpirc.description = Motion and twilight sensor for ceiling mounting thing-type.velbus.vmbpirm.label = VMBPIRM thing-type.velbus.vmbpirm.description = Mini motion and twilight sensor for recessed or surface mounting +thing-type.velbus.vmbpiro-10.label = VMBPIRO-10 +thing-type.velbus.vmbpiro-10.description = Outdoor motion, twilight and temperature sensor, Theben thing-type.velbus.vmbpiro.label = VMBPIRO thing-type.velbus.vmbpiro.description = Outdoor motion, twilight and temperature sensor, Theben thing-type.velbus.vmbrfr8s.label = VMBRFR8S @@ -332,68 +342,22 @@ thing-type.config.velbus.6channelDevice.CH6.label = CH6 Name thing-type.config.velbus.6channelDevice.CH6.description = The name of CH6. thing-type.config.velbus.6channelDevice.address.label = Address thing-type.config.velbus.6channelDevice.address.description = The velbus address of the device -thing-type.config.velbus.7channelDeviceWithCounters.CH1.label = CH1 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH1.description = The name of CH1. -thing-type.config.velbus.7channelDeviceWithCounters.CH2.label = CH2 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH2.description = The name of CH2. -thing-type.config.velbus.7channelDeviceWithCounters.CH3.label = CH3 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH3.description = The name of CH3. -thing-type.config.velbus.7channelDeviceWithCounters.CH4.label = CH4 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH4.description = The name of CH4. -thing-type.config.velbus.7channelDeviceWithCounters.CH5.label = CH5 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH5.description = The name of CH5. -thing-type.config.velbus.7channelDeviceWithCounters.CH6.label = CH6 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH6.description = The name of CH6. -thing-type.config.velbus.7channelDeviceWithCounters.CH7.label = CH7 Name -thing-type.config.velbus.7channelDeviceWithCounters.CH7.description = The name of CH7. -thing-type.config.velbus.7channelDeviceWithCounters.address.label = Address -thing-type.config.velbus.7channelDeviceWithCounters.address.description = The velbus address of the device -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.label = Counter 1 Pulse Multiplier -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.description = The pulse multiplier for counter 1. -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.1 = x1 -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.2.5 = x2.5 -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.0.05 = x0.05 -thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.0.01 = x0.01 -thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.label = Counter 1 Unit -thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.description = The unit for Counter 1. -thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.kWh = kWh -thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.liters = liters -thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.m³ = m³ -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.label = Counter 2 Pulse Multiplier -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.description = The pulse multiplier for counter 2. -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.1 = x1 -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.2.5 = x2.5 -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.0.05 = x0.05 -thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.0.01 = x0.01 -thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.label = Counter 2 Unit -thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.description = The unit for Counter 2. -thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.kWh = kWh -thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.liters = liters -thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.m³ = m³ -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.label = Counter 3 Pulse Multiplier -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.description = The pulse multiplier for counter 3. -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.1 = x1 -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.2.5 = x2.5 -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.0.05 = x0.05 -thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.0.01 = x0.01 -thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.label = Counter 3 Unit -thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.description = The unit for Counter 3. -thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.kWh = kWh -thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.liters = liters -thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.m³ = m³ -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.label = Counter 4 Pulse Multiplier -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.description = The pulse multiplier for counter 4. -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.1 = x1 -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.2.5 = x2.5 -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.0.05 = x0.05 -thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.0.01 = x0.01 -thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.label = Counter 4 Unit -thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.description = The unit for Counter 4. -thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.kWh = kWh -thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.liters = liters -thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.m³ = m³ -thing-type.config.velbus.7channelDeviceWithCounters.refresh.label = Refresh Interval -thing-type.config.velbus.7channelDeviceWithCounters.refresh.description = Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. +thing-type.config.velbus.7channelDevice.CH1.label = CH1 Name +thing-type.config.velbus.7channelDevice.CH1.description = The name of CH1. +thing-type.config.velbus.7channelDevice.CH2.label = CH2 Name +thing-type.config.velbus.7channelDevice.CH2.description = The name of CH2. +thing-type.config.velbus.7channelDevice.CH3.label = CH3 Name +thing-type.config.velbus.7channelDevice.CH3.description = The name of CH3. +thing-type.config.velbus.7channelDevice.CH4.label = CH4 Name +thing-type.config.velbus.7channelDevice.CH4.description = The name of CH4. +thing-type.config.velbus.7channelDevice.CH5.label = CH5 Name +thing-type.config.velbus.7channelDevice.CH5.description = The name of CH5. +thing-type.config.velbus.7channelDevice.CH6.label = CH6 Name +thing-type.config.velbus.7channelDevice.CH6.description = The name of CH6. +thing-type.config.velbus.7channelDevice.CH7.label = CH7 Name +thing-type.config.velbus.7channelDevice.CH7.description = The name of CH7. +thing-type.config.velbus.7channelDevice.address.label = Address +thing-type.config.velbus.7channelDevice.address.description = The velbus address of the device thing-type.config.velbus.7channelDeviceWithTemperatureSensor.CH1.label = CH1 Name thing-type.config.velbus.7channelDeviceWithTemperatureSensor.CH1.description = The name of CH1. thing-type.config.velbus.7channelDeviceWithTemperatureSensor.CH2.label = CH2 Name @@ -646,6 +610,114 @@ thing-type.config.velbus.8channelDevice.CH8.label = CH8 Name thing-type.config.velbus.8channelDevice.CH8.description = The name of CH8. thing-type.config.velbus.8channelDevice.address.label = Address thing-type.config.velbus.8channelDevice.address.description = The velbus address of the device +thing-type.config.velbus.8channelDeviceWithCounters.CH1.label = CH1 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH1.description = The name of CH1. +thing-type.config.velbus.8channelDeviceWithCounters.CH2.label = CH2 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH2.description = The name of CH2. +thing-type.config.velbus.8channelDeviceWithCounters.CH3.label = CH3 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH3.description = The name of CH3. +thing-type.config.velbus.8channelDeviceWithCounters.CH4.label = CH4 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH4.description = The name of CH4. +thing-type.config.velbus.8channelDeviceWithCounters.CH5.label = CH5 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH5.description = The name of CH5. +thing-type.config.velbus.8channelDeviceWithCounters.CH6.label = CH6 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH6.description = The name of CH6. +thing-type.config.velbus.8channelDeviceWithCounters.CH7.label = CH7 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH7.description = The name of CH7. +thing-type.config.velbus.8channelDeviceWithCounters.CH8.label = CH8 Name +thing-type.config.velbus.8channelDeviceWithCounters.CH8.description = The name of CH8. +thing-type.config.velbus.8channelDeviceWithCounters.address.label = Address +thing-type.config.velbus.8channelDeviceWithCounters.address.description = The velbus address of the device +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.label = Counter 1 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.description = The pulse multiplier for counter 1. +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter1PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter1Unit.label = Counter 1 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter1Unit.description = The unit for Counter 1. +thing-type.config.velbus.8channelDeviceWithCounters.counter1Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter1Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter1Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.label = Counter 2 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.description = The pulse multiplier for counter 2. +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter2PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter2Unit.label = Counter 2 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter2Unit.description = The unit for Counter 2. +thing-type.config.velbus.8channelDeviceWithCounters.counter2Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter2Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter2Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.label = Counter 3 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.description = The pulse multiplier for counter 3. +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter3PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter3Unit.label = Counter 3 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter3Unit.description = The unit for Counter 3. +thing-type.config.velbus.8channelDeviceWithCounters.counter3Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter3Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter3Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter4PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter4Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter4Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter4Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter4Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter4Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter5PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter5Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter5Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter5Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter5Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter5Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter6PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter6Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter6Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter6Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter6Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter6Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter7PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter7Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter7Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter7Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter7Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter7Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWithCounters.counter8PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWithCounters.counter8Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWithCounters.counter8Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWithCounters.counter8Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWithCounters.counter8Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWithCounters.counter8Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWithCounters.refresh.label = Refresh Interval +thing-type.config.velbus.8channelDeviceWithCounters.refresh.description = Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. thing-type.config.velbus.9channelDeviceWithTemperatureSensor.CH1.label = CH1 Name thing-type.config.velbus.9channelDeviceWithTemperatureSensor.CH1.description = The name of CH1. thing-type.config.velbus.9channelDeviceWithTemperatureSensor.CH2.label = CH2 Name @@ -670,6 +742,28 @@ thing-type.config.velbus.9channelDeviceWithTemperatureSensor.refresh.label = Ref thing-type.config.velbus.9channelDeviceWithTemperatureSensor.refresh.description = Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. thing-type.config.velbus.9channelDeviceWithTemperatureSensor.subaddress1.label = Channel CH9 Address thing-type.config.velbus.9channelDeviceWithTemperatureSensor.subaddress1.description = The velbus sub-address of the device (FF = disabled). In the VelbusLink application it's identified by Sensor or Thermostat. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH1.label = CH1 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH1.description = The name of CH1. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH2.label = CH2 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH2.description = The name of CH2. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH3.label = CH3 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH3.description = The name of CH3. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH4.label = CH4 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH4.description = The name of CH4. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH5.label = CH5 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH5.description = The name of CH5. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH6.label = CH6 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH6.description = The name of CH6. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH7.label = CH7 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH7.description = The name of CH7. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH8.label = CH8 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH8.description = The name of CH8. +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH9.label = CH9 Name +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.CH9.description = The name of CH9 (temperature sensor channel). +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.address.label = Address +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.address.description = The velbus address of the device +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.refresh.label = Refresh Interval +thing-type.config.velbus.9channelDeviceWithTemperatureSensorWithoutSubAddress.refresh.description = Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. thing-type.config.velbus.temperatureSensorDevice.address.label = Address thing-type.config.velbus.temperatureSensorDevice.address.description = The velbus address of the device thing-type.config.velbus.temperatureSensorDevice.refresh.label = Refresh Interval @@ -699,12 +793,24 @@ channel-group-type.velbus.4channelAnalogInputModule.label = Analog Input channel-group-type.velbus.4channelAnalogInputModule.description = This is a generic analog module with 4 input channels. channel-group-type.velbus.4channelAnalogOutputModule.label = Analog Input channel-group-type.velbus.4channelAnalogOutputModule.description = This is a generic analog module with 4 output channels. +channel-group-type.velbus.4channelBrightnessModule.label = Brightness +channel-group-type.velbus.4channelBrightnessModule.description = This is a generic module with 4 brightness channels. channel-group-type.velbus.4channelButtonModule.label = Button channel-group-type.velbus.4channelButtonModule.description = This is a generic module with 4 button channels. +channel-group-type.velbus.4channelColorModule.label = Color +channel-group-type.velbus.4channelColorModule.description = This is a generic module with 4 color channels. channel-group-type.velbus.4channelCounterModule.label = Counters channel-group-type.velbus.4channelCounterModule.description = This is a generic module with 4 counter channels. +channel-group-type.velbus.4channelFadeModule.label = Fade Mode +channel-group-type.velbus.4channelFadeModule.description = This is a generic module with 4 fade mode channels. channel-group-type.velbus.4channelFeedbackModule.label = Feedback channel-group-type.velbus.4channelFeedbackModule.description = This is a generic module with 4 feedback channels. +channel-group-type.velbus.4channelInputModule.label = Input +channel-group-type.velbus.4channelInputModule.description = This is a generic module with 4 input channels. +channel-group-type.velbus.4channelSceneModule.label = Scene +channel-group-type.velbus.4channelSceneModule.description = This is a generic module with 4 scene channels. +channel-group-type.velbus.4channelWhiteColorModule.label = White Color +channel-group-type.velbus.4channelWhiteColorModule.description = This is a generic module with 4 white color channels. channel-group-type.velbus.5SubchannelButtonModule.label = Button channel-group-type.velbus.5SubchannelButtonModule.description = This is a generic module with 5 button channels. Starting at channel 4. channel-group-type.velbus.6channelButtonModule.label = Button @@ -727,12 +833,24 @@ channel-group-type.velbus.81channelSceneModule.label = Scene channel-group-type.velbus.81channelSceneModule.description = This is a generic module with 81 scene channels. channel-group-type.velbus.81channelWhiteColorModule.label = White Color channel-group-type.velbus.81channelWhiteColorModule.description = This is a generic module with 81 white color channels. +channel-group-type.velbus.8channelBrightnessModule.label = Brightness +channel-group-type.velbus.8channelBrightnessModule.description = This is a generic module with 8 brightness channels. channel-group-type.velbus.8channelButtonModule.label = Button channel-group-type.velbus.8channelButtonModule.description = This is a generic module with 8 button channels. +channel-group-type.velbus.8channelColorModule.label = Color +channel-group-type.velbus.8channelColorModule.description = This is a generic module with 8 color channels. +channel-group-type.velbus.8channelCounterModule.label = Counters +channel-group-type.velbus.8channelCounterModule.description = This is a generic module with 4 counter channels. +channel-group-type.velbus.8channelFadeModule.label = Fade Mode +channel-group-type.velbus.8channelFadeModule.description = This is a generic module with 8 fade mode channels. channel-group-type.velbus.8channelFeedbackModule.label = Feedback channel-group-type.velbus.8channelFeedbackModule.description = This is a generic module with 8 feedback channels. channel-group-type.velbus.8channelInputModule.label = Input channel-group-type.velbus.8channelInputModule.description = This is a generic module with 8 input channels. +channel-group-type.velbus.8channelSceneModule.label = Scene +channel-group-type.velbus.8channelSceneModule.description = This is a generic module with 8 scene channels. +channel-group-type.velbus.8channelWhiteColorModule.label = White Color +channel-group-type.velbus.8channelWhiteColorModule.description = This is a generic module with 8 white color channels. channel-group-type.velbus.9channelInputModuleWithTemperatureAndLightSensor.label = Input with Temperature/Light Sensor channel-group-type.velbus.9channelInputModuleWithTemperatureAndLightSensor.description = This is a generic module with 8 input channels, a temperature sensor and a light sensor. channel-group-type.velbus.9channelInputModuleWithTemperatureSensor.label = Input with Temperature Sensor @@ -802,6 +920,11 @@ channel-type.velbus.button-channel.command.option.LONG_PRESSED = long pressed channel-type.velbus.counter.label = Counter channel-type.velbus.current.label = Current channel-type.velbus.current.description = Currently measured current +channel-type.velbus.fade-mode.label = Fade Mode +channel-type.velbus.fade-mode.description = Fade mode for dimmer module +channel-type.velbus.fade-mode.command.option.DIRECT = direct +channel-type.velbus.fade-mode.command.option.FADE_RATE = fade rate +channel-type.velbus.fade-mode.command.option.FADE_TIME = fade time channel-type.velbus.heatingMode.label = Mode channel-type.velbus.heatingMode.description = Mode (comfort/day/night/safe) for the thermostat in Velbus channel-type.velbus.heatingMode.state.option.COMFORT = Comfort @@ -846,6 +969,143 @@ channel-type.velbus.voltage.description = Currently measured voltage channel-type.velbus.windspeed.label = Wind Speed channel-type.velbus.windspeed.description = Currently measured wind speed +# thing types config + +thing-type.config.velbus.7channelDeviceWithCounters.CH1.label = CH1 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH1.description = The name of CH1. +thing-type.config.velbus.7channelDeviceWithCounters.CH2.label = CH2 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH2.description = The name of CH2. +thing-type.config.velbus.7channelDeviceWithCounters.CH3.label = CH3 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH3.description = The name of CH3. +thing-type.config.velbus.7channelDeviceWithCounters.CH4.label = CH4 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH4.description = The name of CH4. +thing-type.config.velbus.7channelDeviceWithCounters.CH5.label = CH5 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH5.description = The name of CH5. +thing-type.config.velbus.7channelDeviceWithCounters.CH6.label = CH6 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH6.description = The name of CH6. +thing-type.config.velbus.7channelDeviceWithCounters.CH7.label = CH7 Name +thing-type.config.velbus.7channelDeviceWithCounters.CH7.description = The name of CH7. +thing-type.config.velbus.7channelDeviceWithCounters.address.label = Address +thing-type.config.velbus.7channelDeviceWithCounters.address.description = The velbus address of the device +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.label = Counter 1 Pulse Multiplier +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.description = The pulse multiplier for counter 1. +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.1 = x1 +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.7channelDeviceWithCounters.counter1PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.label = Counter 1 Unit +thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.description = The unit for Counter 1. +thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.kWh = kWh +thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.liters = liters +thing-type.config.velbus.7channelDeviceWithCounters.counter1Unit.option.m³ = m³ +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.label = Counter 2 Pulse Multiplier +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.description = The pulse multiplier for counter 2. +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.1 = x1 +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.7channelDeviceWithCounters.counter2PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.label = Counter 2 Unit +thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.description = The unit for Counter 2. +thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.kWh = kWh +thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.liters = liters +thing-type.config.velbus.7channelDeviceWithCounters.counter2Unit.option.m³ = m³ +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.label = Counter 3 Pulse Multiplier +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.description = The pulse multiplier for counter 3. +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.1 = x1 +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.7channelDeviceWithCounters.counter3PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.label = Counter 3 Unit +thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.description = The unit for Counter 3. +thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.kWh = kWh +thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.liters = liters +thing-type.config.velbus.7channelDeviceWithCounters.counter3Unit.option.m³ = m³ +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.1 = x1 +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.7channelDeviceWithCounters.counter4PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.label = Counter 4 Unit +thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.description = The unit for Counter 4. +thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.kWh = kWh +thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.liters = liters +thing-type.config.velbus.7channelDeviceWithCounters.counter4Unit.option.m³ = m³ +thing-type.config.velbus.7channelDeviceWithCounters.refresh.label = Refresh Interval +thing-type.config.velbus.7channelDeviceWithCounters.refresh.description = Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. + +# thing types config + +thing-type.config.velbus.8channelDeviceWith4Counters.CH1.label = CH1 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH1.description = The name of CH1. +thing-type.config.velbus.8channelDeviceWith4Counters.CH2.label = CH2 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH2.description = The name of CH2. +thing-type.config.velbus.8channelDeviceWith4Counters.CH3.label = CH3 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH3.description = The name of CH3. +thing-type.config.velbus.8channelDeviceWith4Counters.CH4.label = CH4 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH4.description = The name of CH4. +thing-type.config.velbus.8channelDeviceWith4Counters.CH5.label = CH5 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH5.description = The name of CH5. +thing-type.config.velbus.8channelDeviceWith4Counters.CH6.label = CH6 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH6.description = The name of CH6. +thing-type.config.velbus.8channelDeviceWith4Counters.CH7.label = CH7 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH7.description = The name of CH7. +thing-type.config.velbus.8channelDeviceWith4Counters.CH8.label = CH8 Name +thing-type.config.velbus.8channelDeviceWith4Counters.CH8.description = The name of CH8. +thing-type.config.velbus.8channelDeviceWith4Counters.address.label = Address +thing-type.config.velbus.8channelDeviceWith4Counters.address.description = The velbus address of the device +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.label = Counter 1 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.description = The pulse multiplier for counter 1. +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWith4Counters.counter1PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWith4Counters.counter1Unit.label = Counter 1 Unit +thing-type.config.velbus.8channelDeviceWith4Counters.counter1Unit.description = The unit for Counter 1. +thing-type.config.velbus.8channelDeviceWith4Counters.counter1Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWith4Counters.counter1Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWith4Counters.counter1Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.label = Counter 2 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.description = The pulse multiplier for counter 2. +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWith4Counters.counter2PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWith4Counters.counter2Unit.label = Counter 2 Unit +thing-type.config.velbus.8channelDeviceWith4Counters.counter2Unit.description = The unit for Counter 2. +thing-type.config.velbus.8channelDeviceWith4Counters.counter2Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWith4Counters.counter2Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWith4Counters.counter2Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.label = Counter 3 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.description = The pulse multiplier for counter 3. +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWith4Counters.counter3PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWith4Counters.counter3Unit.label = Counter 3 Unit +thing-type.config.velbus.8channelDeviceWith4Counters.counter3Unit.description = The unit for Counter 3. +thing-type.config.velbus.8channelDeviceWith4Counters.counter3Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWith4Counters.counter3Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWith4Counters.counter3Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.label = Counter 4 Pulse Multiplier +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.description = The pulse multiplier for counter 4. +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.option.1 = x1 +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.option.2.5 = x2.5 +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.option.0.05 = x0.05 +thing-type.config.velbus.8channelDeviceWith4Counters.counter4PulseMultiplier.option.0.01 = x0.01 +thing-type.config.velbus.8channelDeviceWith4Counters.counter4Unit.label = Counter 4 Unit +thing-type.config.velbus.8channelDeviceWith4Counters.counter4Unit.description = The unit for Counter 4. +thing-type.config.velbus.8channelDeviceWith4Counters.counter4Unit.option.kWh = kWh +thing-type.config.velbus.8channelDeviceWith4Counters.counter4Unit.option.liters = liters +thing-type.config.velbus.8channelDeviceWith4Counters.counter4Unit.option.m³ = m³ +thing-type.config.velbus.8channelDeviceWith4Counters.refresh.label = Refresh Interval +thing-type.config.velbus.8channelDeviceWith4Counters.refresh.description = Refresh interval for the counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. + +# thing types + +thing-type.velbus.vmb6pbn-20.label = VMB6PBN-20 +thing-type.velbus.vmb6pbn-20.description = 6 button interface module + # channel group types channel-group-type.velbus.81channelColorTemperatureModule.label = Color Temperature diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/bridge-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/bridge-types.xml new file mode 100644 index 00000000000..e9c0666ca84 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/bridge-types.xml @@ -0,0 +1,25 @@ + + + + + + This bridge represents a Velbus Serial-interface + + + + + + + + + This bridge represents a Velbus connection over TCP/IP + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml new file mode 100644 index 00000000000..dc583051114 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml @@ -0,0 +1,1320 @@ + + + + + + This is a generic module with 8 input channels and a temperature sensor. + + + + + + + + + This is a generic analog module with 4 input channels. + + + + + + + + + + + + + + + + + This is a generic analog module with 4 output channels. + + + + + + + + + + + + This is a generic module with 4 counter channels. + + + + + + + + + + + + + + + This is a generic module with 4 counter channels. + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 input channels. + + + + + + + + + + + This is a generic module with 6 input channels. + + + + + + + + + + + + + This is a generic module with 7 input channels. + + + + + + + + + + + + + + + This is a generic module with 8 input channels. + + + + + + + + + + + + + + + + This is a generic module with 8 input channels and a temperature sensor. + + + + + + + + + + + + + + + + This is a generic module with 8 input channels, a temperature sensor and a light sensor. + + + + + + + + + + + + + + + + + This is a generic module with 32 input channels and a temperature sensor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 81 input channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 1 output. + + + + + + + + + + This is a generic module with 1 feedback channel. + + + + + + + + + + This is a generic module with 2 feedback channels. + + + + + + + + + + + This is a generic module with 4 feedback channels. + + + + + + + + + + + + + This is a generic module with 6 feedback channels. + + + + + + + + + + + + + + + This is a generic module with 8 feedback channels. + + + + + + + + + + + + + + + + + This is a generic module with 32 feedback channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 81 feedback channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 2 button channels. + + + + + + + + + + + This is a generic module with 4 button channels. + + + + + + + + + + + + + This is a generic module with 5 button channels. Starting at channel 4. + + + + + + + + + + + + + + This is a generic module with 6 button channels. + + + + + + + + + + + + + + + This is a generic module with 8 button channels. + + + + + + + + + + + + + + + + + This is a generic module with 32 button channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 color channels. + + + + + + + + + + + + + This is a generic module with 8 color channels. + + + + + + + + + + + + + + + + + This is a generic module with 81 color channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 brightness channels. + + + + + + + + + + + + + This is a generic module with 8 brightness channels. + + + + + + + + + + + + + + + + + This is a generic module with 81 brightness channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 white color channels. + + + + + + + + + + + + + This is a generic module with 8 white color channels. + + + + + + + + + + + + + + + + + This is a generic module with 81 white color channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 scene channels. + + + + + + + + + + + + + This is a generic module with 8 scene channels. + + + + + + + + + + + + + + + + + This is a generic module with 81 scene channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 16 virtual light channels. + + + + + + + + + + + + + + + + + + + + + + + + + This is a generic module with 4 fade mode channels. + + + + + + + + + + + + + This is a generic module with 8 fade mode channels. + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a thermostat that supports heating/cooling and comfort/day/night/safe modes. + Temperatures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a weather station with channels for temperature, rainfall, illuminance and windspeed. + + + + + + + + + + + + This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed + time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed + time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-types.xml new file mode 100644 index 00000000000..4a00e6f6c85 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-types.xml @@ -0,0 +1,241 @@ + + + + + String + + Operating mode (heating/cooling) for the thermostat in Velbus + + + + + + + + + + String + + Mode (comfort/day/night/safe) for the thermostat in Velbus + + + + + + + + + + + + String + + Feedback LED for the push button in Velbus + + + + + + + + + + + + + String + + Type (local/global) of the alarm clock in Velbus + + + + + + + + + + String + + + + + Switch + + Switch control for action in Velbus + Switch + + + + String + + Switch + + + + + + + + + + Dimmer + + Brightness control for dimmer action in Velbus + Light + + + + Rollershutter + + Rollershutter control for rollershutter action in Velbus + Blinds + + + + Number:Temperature + + Current temperature + Temperature + + + + + + Number + + + + + + + Number + + + + + + + Number + + + + + + + Number:Temperature + + Temperature + + + + + + Number:ElectricPotential + + Currently measured voltage + Voltage + + + + + + Number:ElectricCurrent + + Currently measured current + Current + + + + + + Number:Dimensionless + + Current percentage + Percentage + + + + Number:ElectricResistance + + Currently measured resistance + Resistance + + + + + + Number:Length + + Currently measured quantity of rain + Rainfall + + + + + + Number:Illuminance + + Currently measured illuminance + Illuminance + + + + + + Number:Speed + + Currently measured wind speed + Wind + + + + + + trigger + + + + + + + + + + + + trigger + + + + + + + + + + + Number + + Scene options for DALI network + + + + + + String + + Fade mode for dimmer module + + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-blind-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-blind-types.xml new file mode 100644 index 00000000000..1370cc5332a --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-blind-types.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + 1-channel blind control module for din rail + + + + + + + + + + + + + + + 1-channel blind control module for universal mounting + + + + + + + + + + + + + + + 2-channel blind control module + + + + + + + + + + + + + + + + 2-channel blind control module with extended possibilities + + + + + + + + + + + + + + + + 2-channel blind control module with extended possibilities + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-dimmer-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-dimmer-types.xml new file mode 100644 index 00000000000..824d511b0ec --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-dimmer-types.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + Dimmer module for inductive/resistive and capacitive load + + + + + + + + + + + + + + + 1-channel 0-10V controlled PWM dimmer for led strips + + + + + + + + + + + + + + + 4-channel 0/1-10V dimmer controller + + + + + + + + + + + + + + + + + + 4 channel led PWM dimmer module + + + + + + + + + + + + + + + + + 8 channel 0 to 10 V dimmer control module + + + + + + + + + + + + + + + + + DALI gateway module + + + + + + + + + + + + + + + + + + + + + + DALI gateway module + + + + + + + + + + + + + + + + + + + + + + Dimmer for electronic/resistive load + + + + + + + + + + + + + + + Single channel triac dimmer for resistive and inductive loads + + + + + + + + + + + + + + + Single channel triac dimmer for resistive and inductive loads + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-heating-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-heating-types.xml new file mode 100644 index 00000000000..21c0591eb9d --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-heating-types.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + Temperature Sensor Module + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml new file mode 100644 index 00000000000..f39f3e67d84 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml @@ -0,0 +1,703 @@ + + + + + + + + + + + Push-button interface for Niko 1- or 2-fold push-buttons + + + + + + + + + + + + + + + + + Analog I/O module + + + + + + + + + + + + + + + + + 4 button interface module + + + + + + + + + + + + + + + + + + 6 button interface module + + + + + + + + + + + + + + + + + + 6-channel input module + + + + + + + + + + + + + + + + Push-button interface module for Niko 4- or 6-fold push-button + + + + + + + + + + + + + + + + + + 7-channel input module (potentialfree + pulse) + + + + + + + + + + + + + + + + + + 8-channel input module (potentialfree + pulse) + + + + + + + + + + + + + + + + + + Infrared remote control receiver module + + + + + + + + + + + + + + + + 8-Channel Push Button module + + + + + + + + + + + + + + + + + Push-button interface with 8 channels for universal mounting + + + + + + + + + + + + + + + + + + Edge-lit one touch button module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit one touch button module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit two touch buttons module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit two touch buttons module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit four touch buttons module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit four touch buttons module + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit touch panel with Oled display + + + + + + + + + + + 1 + + + + + + + + + + + + + Edge-lit touch panel with Oled display + + + + + + + + + + + 1 + + + + + + + + + + + + + Glass control module with 1 touch key + + + + + + + + + + + + + + + + + + + Glass control module with 1 touch key (Edition 2) + + + + + + + + + + + + + + + + + + + Glass control module with 1 touch key + + + + + + + + + + + + + + + + + + + Glass control module with 2 touch keys + + + + + + + + + + + + + + + + + + + Glass control module with 2 touch keys (Edition 2) + + + + + + + + + + + + + + + + + + + Glass control module with 2 touch keys + + + + + + + + + + + + + + + + + + + Glass control module with 4 touch keys + + + + + + + + + + + + + + + + + + + Glass control module with 4 touch keys (Edition 2) + + + + + + + + + + + + + + + + + + + Glass control module with 4 touch keys + + + + + + + + + + + + + + + + + + + Glass control module with oled display + + + + + + + + + + + + + + + + + + + + Glass control module with oled display + + + + + + + + + + + + + + + + + + + + Glass control module with oled display and temperature controller + + + + + + + + + + + + + + + + + + + + Glass control module with oled display and temperature controller (Edition 2) + + + + + + + + + + + + + + + + + + + + Keypad interface module + + + + + + + + + + + + + + + + + 1-channel input module + + + + + + + + + + + + + + + + + 8 channel RF receiver module + + + + + + + + + + + + + + + + + Doorbird interface module + + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-relay-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-relay-types.xml new file mode 100644 index 00000000000..2ca6c40e025 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-relay-types.xml @@ -0,0 +1,175 @@ + + + + + + + + + + + 1-channel relay module + + + + + + + + + + + + + + + 1-channel relay module with potential-free changeover contact + + + + + + + + + + + + + + + + + + + 1-channel relay module with potential-free changeover contact + + + + + + + + + + + + + + + + + + + 1-channel relay module with input + + + + + + + + + + + + + + + + + + + + + 4-channel relay module + + + + + + + + + + + + + + + + + + 4-channel relay module with voltage outputs + + + + + + + + + + + + + + + + + + + 4-channel relay module with voltage outputs + + + + + + + + + + + + + + + + + + + 4-channel relay module with potential-free contacts + + + + + + + + + + + + + + + + + + + 4-channel relay module with potential-free contacts + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml new file mode 100644 index 00000000000..a8b6a478d37 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml @@ -0,0 +1,209 @@ + + + + + + + + + + + Edge-lit Motion detector with one touch button + + + + + + + + + + 1 + + + + + + + + + + + + + Glass control module with 4 touch keys and built-in motion and twilight sensor + + + + + + + + + + + + + + + + + + + Edge-lit Motion detector with four touch button + + + + + + + + + + 1 + + + + + + + + + + + + + Weather station with thermometer, anemometer, rain sensor and light sensor + + + + + + + + + + + + + + + + + Mini motion and twilight sensor for recessed or surface mounting + + + + + + + + + + + + + + + + Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) + + + + + + + + + + + + + + + + + + + Glass control module with 4 touch keys and built-in motion and twilight sensor + + + + + + + + + + + + + + + + + + + Motion and twilight sensor for ceiling mounting + + + + + + + + + + + + + + + + Mini motion and twilight sensor for recessed or surface mounting + + + + + + + + + + + + + + + + Outdoor motion, twilight and temperature sensor, Theben + + + + + + + + + + + + + + + + Outdoor motion, twilight and temperature sensor, Theben + + + + + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/thing-types.xml deleted file mode 100644 index 920a2e72545..00000000000 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/thing-types.xml +++ /dev/null @@ -1,2562 +0,0 @@ - - - - - - This bridge represents a Velbus Serial-interface - - - - - - - - - This bridge represents a Velbus connection over TCP/IP - - - - - - - - - - - - - - 1-channel blind control module for din rail - - - - - - - - - - - - - - - 1-channel blind control module for universal mounting - - - - - - - - - - - - - - - Dimmer module for inductive/resistive and capacitive load - - - - - - - - - - - - - - - 1-channel 0-10V controlled PWM dimmer for led strips - - - - - - - - - - - - - - - 1-channel relay module - - - - - - - - - - - - - - - 1-channel relay module with potential-free changeover contact - - - - - - - - - - - - - - - - - - - 1-channel relay module with potential-free changeover contact - - - - - - - - - - - - - - - - - - - 1-channel relay module with input - - - - - - - - - - - - - - - - - - - - - Temperature Sensor Module - - - - - - - - - - - - - - - - 2-channel blind control module - - - - - - - - - - - - - - - - 2-channel blind control module with extended possibilities - - - - - - - - - - - - - - - - 2-channel blind control module with extended possibilities - - - - - - - - - - - - - - - - Push-button interface for Niko 1- or 2-fold push-buttons - - - - - - - - - - - - - - - - - Analog I/O module - - - - - - - - - - - - - - - - - 4-channel 0/1-10V dimmer controller - - - - - - - - - - - - - - - - - - 4-channel relay module - - - - - - - - - - - - - - - - - - 4-channel relay module with voltage outputs - - - - - - - - - - - - - - - - - - - 4-channel relay module with voltage outputs - - - - - - - - - - - - - - - - - - - 4-channel relay module with potential-free contacts - - - - - - - - - - - - - - - - - - - 4-channel relay module with potential-free contacts - - - - - - - - - - - - - - - - - - - 6-channel input module - - - - - - - - - - - - - - - - Push-button interface module for Niko 4- or 6-fold push-button - - - - - - - - - - - - - - - - - - 6 button interface module - - - - - - - - - - - - - - - - - - 7-channel input module (potentialfree + pulse) - - - - - - - - - - - - - - - - - - Infrared remote control receiver module - - - - - - - - - - - - - - - - 8-Channel Push Button module - - - - - - - - - - - - - - - - - Push-button interface with 8 channels for universal mounting - - - - - - - - - - - - - - - - - - Dimmer for electronic/resistive load - - - - - - - - - - - - - - - Single channel triac dimmer for resistive and inductive loads - - - - - - - - - - - - - - - Single channel triac dimmer for resistive and inductive loads - - - - - - - - - - - - - - - Edge-lit one touch button module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit one touch button module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit two touch buttons module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit two touch buttons module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit four touch buttons module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit four touch buttons module - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit touch panel with Oled display - - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit touch panel with Oled display - - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit Motion detector with one touch button - - - - - - - - - - 1 - - - - - - - - - - - - - Edge-lit Motion detector with four touch button - - - - - - - - - - 1 - - - - - - - - - - - - - Glass control module with 1 touch key - - - - - - - - - - - - - - - - - - - Glass control module with 1 touch key - - - - - - - - - - - - - - - - - - - Glass control module with 1 touch key (Edition 2) - - - - - - - - - - - - - - - - - - - Glass control module with 2 touch keys - - - - - - - - - - - - - - - - - - - Glass control module with 2 touch keys - - - - - - - - - - - - - - - - - - - Glass control module with 2 touch keys (Edition 2) - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys (Edition 2) - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys and built-in motion and twilight sensor - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) - - - - - - - - - - - - - - - - - - - Glass control module with 4 touch keys and built-in motion and twilight sensor - - - - - - - - - - - - - - - - - - - Glass control module with oled display - - - - - - - - - - - - - - - - - - - - Glass control module with oled display - - - - - - - - - - - - - - - - - - - - Glass control module with oled display and temperature controller - - - - - - - - - - - - - - - - - - - - Glass control module with oled display and temperature controller (Edition 2) - - - - - - - - - - - - - - - - - - - - Weather station with thermometer, anemometer, rain sensor and light sensor - - - - - - - - - - - - - - - - - Motion and twilight sensor for ceiling mounting - - - - - - - - - - - - - - - - Mini motion and twilight sensor for recessed or surface mounting - - - - - - - - - - - - - - - - Outdoor motion, twilight and temperature sensor, Theben - - - - - - - - - - - - - - - - 8 channel RF receiver module - - - - - - - - - - - - - - - - - Doorbird interface module - - - - - - - - - - - - - - - - - Keypad interface module - - - - - - - - - - - - - - - - - 1-channel input module - - - - - - - - - - - - - - - - - 4 button interface module - - - - - - - - - - - - - - - - - - DALI gateway module - - - - - - - - - - - - - - - - - - - - - - DALI gateway module - - - - - - - - - - - - - - - - String - - Operating mode (heating/cooling) for the thermostat in Velbus - - - - - - - - - String - - Mode (comfort/day/night/safe) for the thermostat in Velbus - - - - - - - - - - - String - - Feedback LED for the push button in Velbus - - - - - - - - - - - - String - - Type (local/global) of the alarm clock in Velbus - - - - - - - - - String - - - - Switch - - Switch control for action in Velbus - Switch - - - String - - Switch - - - - - - - - - Dimmer - - Brightness control for dimmer action in Velbus - Light - - - Rollershutter - - Rollershutter control for rollershutter action in Velbus - Blinds - - - Number:Temperature - - Current temperature - Temperature - - - - - Number - - - - - - Number - - - - - - Number - - - - - - Number:Temperature - - Temperature - - - - - Number:ElectricPotential - - Currently measured voltage - Voltage - - - - - Number:ElectricCurrent - - Currently measured current - Current - - - - - Number:Dimensionless - - Current percentage - Percentage - - - Number:ElectricResistance - - Currently measured resistance - Resistance - - - - - Number:Length - - Currently measured quantity of rain - Rainfall - - - - - Number:Illuminance - - Currently measured illuminance - Illuminance - - - - - Number:Speed - - Currently measured wind speed - Wind - - - - - trigger - - - - - - - - - - - trigger - - - - - - - - - - Number - - Scene options for DALI network - - - - - - - This is a generic module with 8 input channels and a temperature sensor. - - - - - - - - This is a generic analog module with 4 input channels. - - - - - - - - - - - - - - - - This is a generic analog module with 4 output channels. - - - - - - - - - - - This is a generic module with 4 counter channels. - - - - - - - - - - - - - - This is a generic module with 6 input channels. - - - - - - - - - - - - This is a generic module with 7 input channels. - - - - - - - - - - - - - - This is a generic module with 8 input channels. - - - - - - - - - - - - - - - This is a generic module with 8 input channels and a temperature sensor. - - - - - - - - - - - - - - - This is a generic module with 8 input channels, a temperature sensor and a light sensor. - - - - - - - - - - - - - - - - This is a generic module with 32 input channels and a temperature sensor. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 input channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 1 output. - - - - - - - - - This is a generic module with 1 feedback channel. - - - - - - - - - This is a generic module with 2 feedback channels. - - - - - - - - - - This is a generic module with 4 feedback channels. - - - - - - - - - - - - This is a generic module with 6 feedback channels. - - - - - - - - - - - - - - This is a generic module with 8 feedback channels. - - - - - - - - - - - - - - - - This is a generic module with 32 feedback channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 feedback channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 2 button channels. - - - - - - - - - - This is a generic module with 4 button channels. - - - - - - - - - - - - This is a generic module with 5 button channels. Starting at channel 4. - - - - - - - - - - - - - This is a generic module with 6 button channels. - - - - - - - - - - - - - - This is a generic module with 8 button channels. - - - - - - - - - - - - - - - - This is a generic module with 32 button channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 color channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 brightness channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 white color channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 81 scene channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a generic module with 16 virtual light channels. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a thermostat that supports heating/cooling and comfort/day/night/safe modes. - Temperatures - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a weather station with channels for temperature, rainfall, illuminance and windspeed. - - - - - - - - - - - This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed - time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed - time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/instructions.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/instructions.xml deleted file mode 100644 index 188e629e941..00000000000 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/instructions.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - velbus:switch - - - - - - - - velbus:switch - - - - - - - - velbus:switch - - - - - - - - velbus:switch - - - - - diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel1-update.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel1-update.xml new file mode 100644 index 00000000000..264d3e1a119 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel1-update.xml @@ -0,0 +1,14 @@ + + + + + + + velbus:switch + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel2-update.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel2-update.xml new file mode 100644 index 00000000000..7e46875d75f --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel2-update.xml @@ -0,0 +1,14 @@ + + + + + + + velbus:switch + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel4-update.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel4-update.xml new file mode 100644 index 00000000000..3471ddc0065 --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbel4-update.xml @@ -0,0 +1,14 @@ + + + + + + + velbus:switch + + + + + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbelo-update.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbelo-update.xml new file mode 100644 index 00000000000..48e2e9fa7fd --- /dev/null +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/update/vmbelo-update.xml @@ -0,0 +1,14 @@ + + + + + + + velbus:switch + + + + +