Skip to content

Instantly share code, notes, and snippets.

@MDAR
Last active December 31, 2025 12:11
Show Gist options
  • Select an option

  • Save MDAR/878f9ca068ba05d1ba19912952e235b2 to your computer and use it in GitHub Desktop.

Select an option

Save MDAR/878f9ca068ba05d1ba19912952e235b2 to your computer and use it in GitHub Desktop.
{Velbus} [openHAB] Text based configuration for Velbus modules.

Text files for adding www.velbus.eu modules and channels to www.openhab.org instances While the MainUI is the prefered way of adding Things and Items, I have found that for Bulk editing, Text based Items files are the fastest to create, debug and update.

I method of adding Things to openHAB is always in the MainUI, as updates in the Binding can be easily accommodated by deleting the Thing, and adding it again so that it uses the new profile (Bug are corrected and new features added)

Bulk editing the Items files is easy with a find and replace.

simply replace the velbus:vmbgpod:VelbusNetworkBridge:05 parts with the correct ID for the Thing

The Color Rule works with the ColourPicker Group items from the items files

// Dec 2025
// Added VMB2DC-20
// Added VMB8DC-20
// Added VMB4LEDPWM-20
// May 20th 2024
// Serious update to Alkexa Thermostat
// Adding Alexa metadat in V4.1.2 for thermostats in the UI is broken
// Text file / manual using the CODE window is the only option
// see this formum post - https://community.openhab.org/t/edit-metadata-results-in-spinning-wheel-while-loading/153937/7
// Oct 5th 2023
// add motion sensor with profile conversion from Pressed to ON
// add MotionSensor metadata for Alexa
// Aug 8th 2022 - For use with openHAB3 onwards
// Alexa Version 3 metadata
// Semantic modelling, see also the Semantic building template
// Groups for combing lights or seeing how many circuits are on
// Bug, removed 2 x [ from line 17
// Dec 2025 30th
// Add VMB2DC0-20, VMB8DC-20 and VMB4LEDPWM-20
// String VelbusRefresh "Velbus Refresh"
// String ExternalIP "External IP"
// Group CabinGPO_Thermostat "Cabin Thermostat" <temperature> { ga="Thermostat" [roomHint="Cabin", thermostatModes="off=SAFE,heat=DAY,eco=NIGHT,on=DAY"] , alexa="Endpoint.Thermostat" [name="Cabin Thermostat", description="Velbus Thermostat in Cabin"] , homekit = "Thermostat" }
// Number CabinGPO_CurrentTemperature "Cabin Current Temperature" <heating> ( CabinGPO_Thermostat ,WholeHouse_CurrentTemperature ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:input#CH33" , ga="thermostatTemperatureAmbient" , alexa="TemperatureSensor.temperature" , homekit = "CurrentTemperature" } // Set to Ch9 or Ch33
// Number CabinGPO_CurrentTargetTemperature "Cabin Current Target Temperature" <heating> ( CabinGPO_Thermostat ,WholeHouse_CurrentTargetTemperature ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#currentTemperatureSetpoint" , ga="thermostatTemperatureSetpoint" , alexa="ThermostatController.targetSetpoint" , homekit = "TargetTemperature" }
// String CabinGPO_ThermostatMode "Cabin Thermostat mode" <heating> ( CabinGPO_Thermostat, WholeHouse_ThermostatMode ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#mode" , ga="thermostatMode" , alexa="ModeController.mode" [friendlyNames="@Setting.Preset", supportedModes="SAFE=Safe,NIGHT=Night,DAY=Day,COMFORT=Comfort"] , homekit = "TargetHeatingCoolingMode" [HEAT="COMFORT", AUTO="DAY", COOL="NIGHT", OFF="SAFE"] }
// String CabinGPO_ThermostatOperatingMode "Cabin Thermostat operating mode" <heating> ( CabinGPO_Thermostat, WholeHouse_ThermostatOperatingMode ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#operatingMode" , alexa="ThermostatController.thermostatMode" [COOL="COOLING",HEAT="HEATING"] , homekit = "CurrentHeatingCoolingMode" [HEAT="HEATING", COOL="COOLING"] }
//
//
//
// Number CabinGPO_HeatingComfortTarget "Cabin Heating Comfort Target Temperature" <temperature> (WholeHouse_HeatingComfortTarget ) {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeComfortTemperatureSetpoint" }
// Number CabinGPO_HeatingDayTarget "Cabin Heating Day Target Temperature" <temperature> (WholeHouse_HeatingDayTarget ) {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeDayTemperatureSetpoint" }
// Number CabinGPO_HeatingNightTarget "Cabin Heating Night Target Temperature" <temperature> (WholeHouse_HeatingNightTarget ) {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeNightTemperatureSetpoint" }
// Number CabinGPO_HeatingAntifrostTarget "Cabin Heating Antifrost Target Temperature"<temperature> (WholeHouse_HeatingAntifrostTarget ) {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeAntiFrostTemperatureSetpoint" }
//
//
// Number CabinGPO_CoolingComfortTarget "Cabin Cooling Comfort Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeComfortTemperatureSetpoint" }
// Number CabinGPO_CoolingDayTarget "Cabin Cooling Day Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeDayTemperatureSetpoint" }
// Number CabinGPO_CoolingNightTarget "Cabin Cooling Night Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeNightTemperatureSetpoint" }
// Number CabinGPO_CoolingSafeTarget "Cabin Cooling Safe Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeSafeTemperatureSetpoint" }
// Edit the following to suit the relay channels in use
// Switch CabinGPO_HeatingRelay "Cabin Heating Relay" <radiator> (WholeHouse_HeatingRelay_Count,WholeHouse_HeatingRelay) {channel="velbus:vmb4ryld:VelbusNetworkBridge:02:CH4"}
// Switch CabinGPO_CoolingRelay "Cabin Cooling Relay" <climate> (WholeHouse_CoolingRelay_Count,WholeHouse_CoolingRelay) {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH3"}
// Group:Switch:OR(ON,OFF) LoungeAllLights "Lounge lights any on"
// Group:Number:COUNT("ON") LoungeAllLightCount "Lounge How many lights on"
// Group:Dimmer:AVG LoungeLXGroup "Group of lights"
// Group ColourPickers "All Colour Pickers"
// Edit the following to suit the Dimmer channels in use - Any colour item should be put into the (ColourPickers) group
// Color BathroomColour "Bathroom Colour" <colorpicker> (ColourPickers) {ga="light", alexa="Light.brightness,Light.powerState,Light.color"[name="Colour Light", description="Smart Colour Light"]}
// Dimmer BathroomColour_RED "Bathroom Red" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH1"}
// Dimmer BathroomColour_GREEN "Bathroom Green" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH2"}
// Dimmer BathroomColour_BLUE "Bathroom Blue" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH3"}
// Dimmer BathroomColour_WHITE "Bathroom White" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH4", ga="Light" [roomHint="Bathroom"], alexa="Light" [name="Dimmable Light", description="Super Smart Dimming Light"]}
//
//
//
// Color MidRoomColour "Middle Bedroom Colour" <colorpicker> (ColourPickers) {ga="light", alexa="Light.brightness,Light.powerState,Light.color"}
// Dimmer MidRoomColour_RED "Middle Bedroom Red" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH1"}
// Dimmer MidRoomColour_GREEN "Middle Bedroom Green" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH2"}
// Dimmer MidRoomColour_BLUE "Middle Bedroom Blue" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH3"}
// Dimmer MidRoomColour_WHITE "Middle Bedroom White" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH4", ga="Light" [roomHint="Middle Bedroom"], alexa="Light" [name="Dimmable Light", description="White Smart Dimming Light"]}
// Lighting
// Mains dimmer
// VMBDMI-R
// Dimmer MainsDimmer01 "Mains Dimmer" <slider> {channel="velbus:vmbdmir:VelbusNetworkBridge:D1:CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// VMB2DC-20
// Group:Dimmer:AVG VMB2DC_AVG "2DC Average"
// Dimmer VMB2DCCh01 "2DC Ch 1" <slider> (VMB2DC_AVG) {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB2DCCh02 "2DC Ch 2" <slider> (VMB2DC_AVG) {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB2DCCh01fade "2DC Ch 1 Fade mode" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:fade-mode#CH1"}
// String VMB2DCCh02fade "2DC Ch 2 Fade mode" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:fade-mode#CH2"}
// Number VMB2DCCh01Scene "2DC Ch 1 Scene" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:scene#CH1"}
// Number VMB2DCCh02Scene "2DC Ch 2 Scene" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:scene#CH2"}
// VMB8DC-20
// Group:Dimmer:AVG VMB8DC_Group "VMB8DC Average" <light>
// Dimmer VMB8DC20_Ch01 "8DC Ch 1" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch02 "8DC Ch 2" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch03 "8DC Ch 3" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH3", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch04 "8DC Ch 4" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH4", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch05 "8DC Ch 5" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH5", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch06 "8DC Ch 6" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH6", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch07 "8DC Ch 7" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH7", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch08 "8DC Ch 8" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH8", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB8DC20_Ch01_fade "8DC Ch 1 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH1"}
// String VMB8DC20_Ch02_fade "8DC Ch 2 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH2"}
// String VMB8DC20_Ch03_fade "8DC Ch 3 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH3"}
// String VMB8DC20_Ch04_fade "8DC Ch 4 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH4"}
// String VMB8DC20_Ch05_fade "8DC Ch 5 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH5"}
// String VMB8DC20_Ch06_fade "8DC Ch 6 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH6"}
// String VMB8DC20_Ch07_fade "8DC Ch 7 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH7"}
// String VMB8DC20_Ch08_fade "8DC Ch 8 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH8"}
// Number VMB8DC20_Ch01_scene "8DC Ch 1 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH1"}
// Number VMB8DC20_Ch02_scene "8DC Ch 2 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH2"}
// Number VMB8DC20_Ch03_scene "8DC Ch 3 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH3"}
// Number VMB8DC20_Ch04_scene "8DC Ch 4 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH4"}
// Number VMB8DC20_Ch05_scene "8DC Ch 5 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH5"}
// Number VMB8DC20_Ch06_scene "8DC Ch 6 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH6"}
// Number VMB8DC20_Ch07_scene "8DC Ch 7 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH7"}
// Number VMB8DC20_Ch08_scene "8DC Ch 8 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH8"}
// VMB4LEDPWM-20
// Group:Dimmer:AVG VMB4LEDPWM_Group "VMB4LEDPWM Average" <light>
// Dimmer VMB4LEDPWM20_Ch01 "4LED Ch 1" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch02 "4LED Ch 2" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch03 "4LED Ch 3" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH3", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch04 "4LED Ch 4" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH4", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB4LEDPWM20_Ch01_fade "4LED Ch 1 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH1"}
// String VMB4LEDPWM20_Ch02_fade "4LED Ch 2 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH2"}
// String VMB4LEDPWM20_Ch03_fade "4LED Ch 3 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH3"}
// String VMB4LEDPWM20_Ch04_fade "4LED Ch 4 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH4"}
// Number VMB4LEDPWM20_Ch01_scene "4LED Ch 1 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH1"}
// Number VMB4LEDPWM20_Ch02_scene "4LED Ch 2 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH2"}
// Number VMB4LEDPWM20_Ch03_scene "4LED Ch 3 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH3"}
// Number VMB4LEDPWM20_Ch04_scene "4LED Ch 4 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH4"}
//
//
// Color VMB4LEDPWM20_Color "4LED Colour Picker" <color> {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:virtual-light#VL1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_WHT "4LED White portion" <slider> {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:dim-white#DW1", ga="Light" [roomHint="Model"], alexa="Light"}
// Switch LightingRelay01 "Lighting Relay 01" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH1", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"] , expire="1h,command=OFF"} // will reset to OFF after 1 hour
// Switch LightingRelay02 "Lighting Relay 02" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH2", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// Switch LightingRelay03 "Lighting Relay 03" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH3", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// Switch LightingRelay04 "Lighting Relay 04" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH4", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// VMB7IN - Energy monitoring / pulse counter, Add Unit of Measurement and icon as required
// Number VMB7IN_0A_Counter_1 "Electricity Usage Total" <energy> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter1"}
// Number VMB7IN_0A_Counter_1_Current "Electricity Usage Current" <energy> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter1Current"}
// Number VMB7IN_0A_Counter_2 "Gas Usage" <gas> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter"}
// Number VMB7IN_0A_Counter_2_Current "Gas Usage Current" <gas> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter2Current"}
// Number VMB7IN_0A_Counter_3 "All Water usage" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter3"}
// Number VMB7IN_0A_Counter_3_Current "All Water usage Current" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter3Current"}
// Number VMB7IN_0A_Counter_4 "Hot Water usage" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter4"}
// Number VMB7IN_0A_Counter_4_Current "Hot Water usage Current" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter4Current"}
// Edit the following to suit the relay channels in use
// Switch Loft1RY_CH1 "Loft 12V PSU" <switch> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH1" , ga="Outlet" , alexa="Switch" [name="Socket", description="Switched socket"]}
// Switch Loft1RY_CH2 "Loft 1RY Unused" {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH2" , ga="Outlet" , alexa="Coffeemaker" [name="Coffee", description="Coffee AMchine"]}
// Switch Loft1RY_CH3 "Loft 1RY Lounge Fan" {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH3" , ga="Fan" , alexa="Fan"}
// Switch Loft1RY_CH4 "Lounge as Bedroom" <bedroom_blue> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH4" , ga="Outlet" [ tfaAck=true ] , alexa="Switch" [name="Desk Fan", description="My desk fan"]}
// Switch Loft1RY_CH5 "House Awake" <alarm> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH5"}
// Meteo channels
// Number:Temperature Meteo_Temperature "Weather Station Temperature" <temperature> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH10"}
// Number:Length Meteo_Rainfall "Weather Station Rainfall" <rain> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH11"}
// Number:Illuminance Meteo_LightLevel "Weather Station Light Level" <sun> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH12"}
// Number:Speed Meteo_Windspeed "Weather Station Wind Speed" <wind> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH13"}
// Motor controllers - blinds, curtains, windows, projection screens etc
// or Alexa command PercentageController.percentage
// Rollershutter Door "Door" {channel="velbus:vmb2ble:VelbusNetworkBridge:61:CH1" , alexa="Blind,PositionState" [name="Large Window Blind", description="Largest Window blind"]}
// Rollershutter Roof "Roof" {channel="velbus:vmb2ble:VelbusNetworkBridge:61:CH2" , alexa="Blind,PositionState" [name="Small Window Blind", description="Smallest Window blind", capabilityNames="@Setting.Position", supportedCommands="UP=@Value.Up:@Value.Open,DOWN=@Value.Down:@Value.Close,STOP=@Value.Stop", supportedRange="0:100:1", unitOfMeasure="Percent", actionMappings="Close=DOWN,Open=UP,Lower=DOWN,Raise=UP,Stop=STOP", stateMappings="Closed=100,Open=0:99"]}
// Ensure these groups are active in at least 1 Items file and add the Minute and Hour limiting rule
// Group g_Minute "Limit Alarm Minute"
// Group g_Hour "Limit Alarm Hour"
// Add ONLY if you want to use the Global alarm option in the Bridge
// Switch CabinGPO_ClockAlarm_ClockAlarm1Enabled "Cabin Alarm 1 Enabled" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1Enabled"} // Add ONLY if you want to use the Global alarm option in the Bridge
// String CabinGPO_ClockAlarm_ClockAlarm1Type "Cabin Alarm 1 Type" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1Type"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1WakeupHour "Cabin Alarm 1 Wake Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1WakeupHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1WakeupMinute "Cabin Alarm 1 Wake Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1WakeupMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1BedtimeHour "Cabin Alarm 1 Bed Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1BedtimeHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1BedtimeMinute "Cabin Alarm 1 Bed Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1BedtimeMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Switch CabinGPO_ClockAlarm_ClockAlarm2Enabled "Cabin Alarm 2 Enabled" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2Enabled"} // Add ONLY if you want to use the Global alarm option in the Bridge
// String CabinGPO_ClockAlarm_ClockAlarm2Type "Cabin Alarm 2 Type" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2Type"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2WakeupHour "Cabin Alarm 2 Wake Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2WakeupHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2WakeupMinute "Cabin Alarm 2 Wake Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2WakeupMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2BedtimeHour "Cabin Alarm 2 Bed Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2BedtimeHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2BedtimeMinute "Cabin Alarm 2 Bed Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2BedtimeMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// OLED Extras
// String CabinGPO_Memo "Cabin Memotext" <text> {channel="velbus:vmbgpod:CabinOD:05:oledDisplay#MEMO", ga="text"}
// Switch CabinGPO_Screensaver "Cabin Screen saver" <screen> {channel="velbus:vmbgpod:CabinOD:05:oledDisplay#SCREENSAVER"}
// Button mimicking - Send "PRESSED" or "LONG_PRESSED" to this string
// String CabinGPO_Button01 "CabinGPO Button 1" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH1", expire="1s,state=RELEASED"} //reverts to Released after 1 second
// String CabinGPO_Button02 "CabinGPO Button 2" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH2", expire="1s,state=RELEASED"}
// String CabinGPO_Button03 "CabinGPO Button 3" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH3", expire="1s,state=RELEASED"}
// String CabinGPO_Button04 "CabinGPO Button 4" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH4", expire="1s,state=RELEASED"}
// String CabinGPO_Button05 "CabinGPO Button 5" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH5", expire="1s,state=RELEASED"}
// String CabinGPO_Button06 "CabinGPO Button 6" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH6", expire="1s,state=RELEASED"}
// String CabinGPO_Button07 "CabinGPO Button 7" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH7", expire="1s,state=RELEASED"}
// String CabinGPO_Button01 "CabinGPO Button 8" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH8", expire="1s,state=RELEASED"}
// Button triggers, example given for a VMBGP4PIR, where channels 5 to 8 are
// String CabinGP4PIR_Dark "Cabin Dark" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH5"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_Motion "Cabin Motion" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH6"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_MotionLD "Cabin Motion LD" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH7"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_Absence "Cabin Absence" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH8"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// LED Feedback
// String CabinGPO_LED_Feedback_BT1 "Cabin LED Feedback Button 1" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH1"}
// String CabinGPO_LED_Feedback_BT2 "Cabin LED Feedback Button 2" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH2"}
// String CabinGPO_LED_Feedback_BT3 "Cabin LED Feedback Button 3" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH3"}
// String CabinGPO_LED_Feedback_BT4 "Cabin LED Feedback Button 4" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH4"}
// String CabinGPO_LED_Feedback_BT5 "Cabin LED Feedback Button 5" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH5"}
// String CabinGPO_LED_Feedback_BT6 "Cabin LED Feedback Button 6" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH6"}
// String CabinGPO_LED_Feedback_BT7 "Cabin LED Feedback Button 7" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH7"}
// String CabinGPO_LED_Feedback_BT8 "Cabin LED Feedback Button 8" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH8"}
// Useful information
// https://www.openhab.org/docs/ecosystem/alexa/
// https://www.openhab.org/docs/ecosystem/google-assistant/
// May 20th 2024
// Serious update to Alexa Thermostat
// Adding Alexa metadat in V4.1.2 for thermostats in the UI is broken
// Text file / manual using the CODE window is the only option
// see this formum post - https://community.openhab.org/t/edit-metadata-results-in-spinning-wheel-while-loading/153937/7
// April 28th 2024
// addedd HomeKit to thermostat
// April 24th
// Tidy up the layout of this file
// Oct 5th 2023
// add motion sensor with profile conversion from Pressed to ON
// add MotionSensor metadata for Alexa
// Aug 8th 2022 - For use with openHAB3 onwards
// Alexa Version 3 metadata
// Semantic modelling, see also the Semantic building template
// Groups for combing lights or seeing how many circuits are on
// Bug, removed 2 x [ from line 18
// Dec 2025 30th
// Add VMB2DC0-20, VMB8DC-20 and VMB4LEDPWM-20
// String VelbusRefresh "Velbus Refresh"
// String ExternalIP "External IP"
// Group CabinGPO_Thermostat "Cabin Thermostat" <temperature> { ga="Thermostat" [roomHint="Cabin", thermostatModes="off=SAFE,heat=DAY,eco=NIGHT,on=DAY"] , alexa="Endpoint.Thermostat" [name="Cabin Thermostat", description="Velbus Thermostat in Cabin"] , homekit = "Thermostat" }
// Number CabinGPO_CurrentTemperature "Cabin Current Temperature" <heating> ( CabinGPO_Thermostat ,WholeHouse_CurrentTemperature ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:input#CH33" , ga="thermostatTemperatureAmbient" , alexa="TemperatureSensor.temperature" , homekit = "CurrentTemperature" } // Set to Ch9 or Ch33
// Number CabinGPO_CurrentTargetTemperature "Cabin Current Target Temperature" <heating> ( CabinGPO_Thermostat ,WholeHouse_CurrentTargetTemperature ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#currentTemperatureSetpoint" , ga="thermostatTemperatureSetpoint" , alexa="ThermostatController.targetSetpoint" , homekit = "TargetTemperature" }
// String CabinGPO_ThermostatMode "Cabin Thermostat mode" <heating> ( CabinGPO_Thermostat, WholeHouse_ThermostatMode ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#mode" , ga="thermostatMode" , alexa="ModeController.mode" [friendlyNames="@Setting.Preset", supportedModes="SAFE=Safe,NIGHT=Night,DAY=Day,COMFORT=Comfort"] , homekit = "TargetHeatingCoolingMode" [HEAT="COMFORT", AUTO="DAY", COOL="NIGHT", OFF="SAFE"] }
// String CabinGPO_ThermostatOperatingMode "Cabin Thermostat operating mode" <heating> ( CabinGPO_Thermostat, WholeHouse_ThermostatOperatingMode ) { channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#operatingMode" , alexa="ThermostatController.thermostatMode" [COOL="COOLING",HEAT="HEATING"] , homekit = "CurrentHeatingCoolingMode" [HEAT="HEATING", COOL="COOLING"] }
//
//
//
//
//
// Number CabinGPO_HeatingComfortTarget "Cabin Heating Comfort Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeComfortTemperatureSetpoint" }
// Number CabinGPO_HeatingDayTarget "Cabin Heating Day Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeDayTemperatureSetpoint" }
// Number CabinGPO_HeatingNightTarget "Cabin Heating Night Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeNightTemperatureSetpoint" }
// Number CabinGPO_HeatingAntifrostTarget "Cabin Heating Antifrost Target Temperature"<temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#heatingModeAntiFrostTemperatureSetpoint" }
//
//
// Number CabinGPO_CoolingComfortTarget "Cabin Cooling Comfort Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeComfortTemperatureSetpoint" }
// Number CabinGPO_CoolingDayTarget "Cabin Cooling Day Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeDayTemperatureSetpoint" }
// Number CabinGPO_CoolingNightTarget "Cabin Cooling Night Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeNightTemperatureSetpoint" }
// Number CabinGPO_CoolingSafeTarget "Cabin Cooling Safe Target Temperature" <temperature> {channel="velbus:vmbgpod:VelbusNetworkBridge:05:thermostat#coolingModeSafeTemperatureSetpoint" }
// Edit the following to suit the relay channels in use
// Switch CabinGPO_HeatingRelay "Cabin Heating Relay" <radiator> (WholeHouse_HeatingRelay_Count,WholeHouse_HeatingRelay) {channel="velbus:vmb4ryld:VelbusNetworkBridge:02:CH4"}
// Switch CabinGPO_CoolingRelay "Cabin Cooling Relay" <climate> (WholeHouse_CoolingRelay_Count,WholeHouse_CoolingRelay) {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH3"}
// Group:Switch:OR(ON,OFF) LoungeAllLights "Lounge lights any on"
// Group:Number:COUNT("ON") LoungeAllLightCount "Lounge How many lights on"
// Group:Dimmer:AVG LoungeLXGroup "Group of lights"
// Group ColourPickers "All Colour Pickers"
// Edit the following to suit the Dimmer channels in use - Any colour item should be put into the (ColourPickers) group
// Color BathroomColour "Bathroom Colour" <colorpicker> (ColourPickers) {ga="light", alexa="light.color"[name="Colour Light", description="Smart Colour Light"]}
// Dimmer BathroomColour_RED "Bathroom Red" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH1"}
// Dimmer BathroomColour_GREEN "Bathroom Green" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH2"}
// Dimmer BathroomColour_BLUE "Bathroom Blue" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH3"}
// Dimmer BathroomColour_WHITE "Bathroom White" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:BF:CH4", ga="Light" [roomHint="Bathroom"], alexa="Light" [name="Dimmable Light", description="Super Smart Dimming Light"]}
//
//
//
// Color MidRoomColour "Middle Bedroom Colour" <colorpicker> (ColourPickers) {ga="light", alexa="BrightnessController.brightness,PowerController.powerState,ColorController.color"}
// Dimmer MidRoomColour_RED "Middle Bedroom Red" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH1"}
// Dimmer MidRoomColour_GREEN "Middle Bedroom Green" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH2"}
// Dimmer MidRoomColour_BLUE "Middle Bedroom Blue" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH3"}
// Dimmer MidRoomColour_WHITE "Middle Bedroom White" <slider> {channel="velbus:vmb4dc:VelbusNetworkBridge:D2:CH4", ga="Light" [roomHint="Middle Bedroom"], alexa="Light" [name="Dimmable Light", description="White Smart Dimming Light"]}
// Mains dimmer
// Dimmer MainsDimmer01 "Mains Dimmer" <slider> {channel="velbus:vmbdmir:VelbusNetworkBridge:D1:CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// VMB2DC-20
// Group:Dimmer:AVG VMB2DC_AVG "2DC Average"
// Dimmer VMB2DCCh01 "2DC Ch 1" <slider> (VMB2DC_AVG) {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB2DCCh02 "2DC Ch 2" <slider> (VMB2DC_AVG) {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB2DCCh01fade "2DC Ch 1 Fade mode" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:fade-mode#CH1"}
// String VMB2DCCh02fade "2DC Ch 2 Fade mode" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:fade-mode#CH2"}
// Number VMB2DCCh01Scene "2DC Ch 1 Scene" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:scene#CH1"}
// Number VMB2DCCh02Scene "2DC Ch 2 Scene" {channel="velbus:vmb2dc-20:VelbusNetworkBridge:D2:scene#CH2"}
// VMB8DC-20
// Group:Dimmer:AVG VMB8DC_Group "VMB8DC Average" <light>
// Dimmer VMB8DC20_Ch01 "8DC Ch 1" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch02 "8DC Ch 2" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch03 "8DC Ch 3" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH3", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch04 "8DC Ch 4" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH4", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch05 "8DC Ch 5" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH5", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch06 "8DC Ch 6" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH6", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch07 "8DC Ch 7" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH7", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB8DC20_Ch08 "8DC Ch 8" <slider> (VMB8DC_Group) {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:brightness#CH8", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB8DC20_Ch01_fade "8DC Ch 1 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH1"}
// String VMB8DC20_Ch02_fade "8DC Ch 2 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH2"}
// String VMB8DC20_Ch03_fade "8DC Ch 3 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH3"}
// String VMB8DC20_Ch04_fade "8DC Ch 4 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH4"}
// String VMB8DC20_Ch05_fade "8DC Ch 5 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH5"}
// String VMB8DC20_Ch06_fade "8DC Ch 6 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH6"}
// String VMB8DC20_Ch07_fade "8DC Ch 7 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH7"}
// String VMB8DC20_Ch08_fade "8DC Ch 8 Fade mode" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:fade-mode#CH8"}
// Number VMB8DC20_Ch01_scene "8DC Ch 1 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH1"}
// Number VMB8DC20_Ch02_scene "8DC Ch 2 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH2"}
// Number VMB8DC20_Ch03_scene "8DC Ch 3 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH3"}
// Number VMB8DC20_Ch04_scene "8DC Ch 4 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH4"}
// Number VMB8DC20_Ch05_scene "8DC Ch 5 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH5"}
// Number VMB8DC20_Ch06_scene "8DC Ch 6 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH6"}
// Number VMB8DC20_Ch07_scene "8DC Ch 7 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH7"}
// Number VMB8DC20_Ch08_scene "8DC Ch 8 Scene" {channel="velbus:vmb8dc-20:VelbusNetworkBridge:VMB8DC-20-0xD8:scene#CH8"}
// VMB4LEDPWM-20
// Group:Dimmer:AVG VMB4LEDPWM_Group "VMB4LEDPWM Average" <light>
// Dimmer VMB4LEDPWM20_Ch01 "4LED Ch 1" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch02 "4LED Ch 2" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH2", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch03 "4LED Ch 3" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH3", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_Ch04 "4LED Ch 4" <slider> (VMB4LEDPWM_Group) {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:brightness#CH4", ga="Light" [roomHint="Model"], alexa="Light"}
// String VMB4LEDPWM20_Ch01_fade "4LED Ch 1 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH1"}
// String VMB4LEDPWM20_Ch02_fade "4LED Ch 2 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH2"}
// String VMB4LEDPWM20_Ch03_fade "4LED Ch 3 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH3"}
// String VMB4LEDPWM20_Ch04_fade "4LED Ch 4 Fade mode" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:fade-mode#CH4"}
// Number VMB4LEDPWM20_Ch01_scene "4LED Ch 1 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH1"}
// Number VMB4LEDPWM20_Ch02_scene "4LED Ch 2 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH2"}
// Number VMB4LEDPWM20_Ch03_scene "4LED Ch 3 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH3"}
// Number VMB4LEDPWM20_Ch04_scene "4LED Ch 4 Scene" {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:scene#CH4"}
//
//
// Color VMB4LEDPWM20_Color "4LED Colour Picker" <color> {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:virtual-light#VL1", ga="Light" [roomHint="Model"], alexa="Light"}
// Dimmer VMB4LEDPWM20_WHT "4LED White portion" <slider> {channel="velbus:vmb4ledpwm-20:VelbusNetworkBridge:0C:dim-white#DW1", ga="Light" [roomHint="Model"], alexa="Light"}
// Lighting - Change to suit the relay you are using - VMBxRYxxxxxx
// Switch LightingRelay01 "Lighting Relay 01" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH1", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"] , expire="1h,command=OFF"} // will reset to OFF after 1 hour
// Switch LightingRelay02 "Lighting Relay 02" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH2", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// Switch LightingRelay03 "Lighting Relay 03" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH3", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// Switch LightingRelay04 "Lighting Relay 04" <switch> {channel="velbus:vmb4ryno:VelbusNetworkBridge:74:CH4", alexa="Light.PowerState" [name="Light Switch", description="Super Smart Light"]}
// VMB7IN - Energy monitoring / pulse counter, Add Unit of Measurement and icon as required
// Number VMB7IN_0A_Counter_1 "Electricity Usage Total" <energy> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter1"}
// Number VMB7IN_0A_Counter_1_Current "Electricity Usage Current" <energy> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter1Current"}
// Number VMB7IN_0A_Counter_2 "Gas Usage" <gas> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter"}
// Number VMB7IN_0A_Counter_2_Current "Gas Usage Current" <gas> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter2Current"}
// Number VMB7IN_0A_Counter_3 "All Water usage" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter3"}
// Number VMB7IN_0A_Counter_3_Current "All Water usage Current" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter3Current"}
// Number VMB7IN_0A_Counter_4 "Hot Water usage" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter4"}
// Number VMB7IN_0A_Counter_4_Current "Hot Water usage Current" <flow> {channel="velbus:vmb7in:VelbusNetworkBridge:0A:counter#counter4Current"}
// Edit the following to suit the relay channels in use
// Switch Loft1RY_CH1 "Loft 12V PSU" <switch> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH1" , ga="Outlet" , alexa="Switch" [name="Socket", description="Switched socket"]}
// Switch Loft1RY_CH2 "Loft 1RY Unused" {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH2" , ga="Outlet" , alexa="Coffeemaker" [name="Coffee", description="Coffee Machine"]}
// Switch Loft1RY_CH3 "Loft 1RY Lounge Fan" {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH3" , ga="Fan" , alexa="Fan"}
// Switch Loft1RY_CH4 "Lounge as Bedroom" <bedroom_blue> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH4" , ga="Outlet" [ tfaAck=true ] , alexa="Switch" [name="Desk Fan", description="My desk fan"]}
// Switch DoorRelease "Door Release" {channel="velbus:vmb1ryno:VelbusNetworkBridge:67:CH1" , expire="5s,command=OFF", ga="SecuritySystem" [ tfaPin="1234" ,roomHint="Hallway"], alexa="LockState" [inverted="true"]}
// Switch Loft1RY_CH5 "House Awake" <alarm> {channel="velbus:vmb1ryno:VelbusNetworkBridge:71:CH5"}
// Meteo channels
// Number:Temperature Meteo_Temperature "Weather Station Temperature" <temperature> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH10"}
// Number:Length Meteo_Rainfall "Weather Station Rainfall" <rain> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH11"}
// Number:Illuminance Meteo_LightLevel "Weather Station Light Level" <sun> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH12"}
// Number:Speed Meteo_Windspeed "Weather Station Wind Speed" <wind> {channel="velbus:vmbmeteo:VelbusNetworkBridge:FE:weatherStation#CH13"}
// Motor controllers - blinds, curtains, windows, projection screens etc
// or Alexa command PercentageController.percentage
// Rollershutter Door "Door" {channel="velbus:vmb2ble:VelbusNetworkBridge:61:CH1" , alexa="Blind,PositionState" [name="Large Window Blind", description="Largest Window blind"] , homekit="WindowCovering, WindowCovering.CurrentPosition, WindowCovering.TargetPosition, WindowCovering.PositionState"}
// Rollershutter Roof "Roof" {channel="velbus:vmb2ble:VelbusNetworkBridge:61:CH2" , alexa="Blind,PositionState" [name="Small Window Blind", description="Smallest Window blind", capabilityNames="@Setting.Position", supportedCommands="UP=@Value.Up:@Value.Open,DOWN=@Value.Down:@Value.Close,STOP=@Value.Stop", supportedRange="0:100:1", unitOfMeasure="Percent", actionMappings="Close=DOWN,Open=UP,Lower=DOWN,Raise=UP,Stop=STOP", stateMappings="Closed=100,Open=0:99"] , homekit="WindowCovering, WindowCovering.CurrentPosition, WindowCovering.TargetPosition, WindowCovering.PositionState"}
// Ensure these groups are active in at least 1 Items file and add the Minute and Hour limiting rule
// Group g_Minute "Limit Alarm Minute"
// Group g_Hour "Limit Alarm Hour"
// Add ONLY if you want to use the Global alarm option in the Bridge
// Switch CabinGPO_ClockAlarm_ClockAlarm1Enabled "Cabin Alarm 1 Enabled" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1Enabled"} // Add ONLY if you want to use the Global alarm option in the Bridge
// String CabinGPO_ClockAlarm_ClockAlarm1Type "Cabin Alarm 1 Type" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1Type"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1WakeupHour "Cabin Alarm 1 Wake Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1WakeupHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1WakeupMinute "Cabin Alarm 1 Wake Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1WakeupMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1BedtimeHour "Cabin Alarm 1 Bed Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1BedtimeHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm1BedtimeMinute "Cabin Alarm 1 Bed Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm1BedtimeMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Switch CabinGPO_ClockAlarm_ClockAlarm2Enabled "Cabin Alarm 2 Enabled" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2Enabled"} // Add ONLY if you want to use the Global alarm option in the Bridge
// String CabinGPO_ClockAlarm_ClockAlarm2Type "Cabin Alarm 2 Type" // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2Type"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2WakeupHour "Cabin Alarm 2 Wake Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2WakeupHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2WakeupMinute "Cabin Alarm 2 Wake Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2WakeupMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2BedtimeHour "Cabin Alarm 2 Bed Hour" ( g_Hour ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2BedtimeHour"} // Add ONLY if you want to use the Global alarm option in the Bridge
// Number CabinGPO_ClockAlarm_ClockAlarm2BedtimeMinute "Cabin Alarm 2 Bed Minute" ( g_Minute ) // {channel="velbus:vmbgpod:VelbusNetworkBridge:05:clockAlarm#clockAlarm2BedtimeMinute"} // Add ONLY if you want to use the Global alarm option in the Bridge
Group G_Global_Alarm1 "Group for Global alarm 1"
Group G_Global_Alarm2 "Group for Global alarm 2"
Switch Global_ClockAlarm_ClockAlarm1Enabled "Global Alarm 1 Enabled" (G_Global_Alarm1) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1Enabled"}
String Global_ClockAlarm_ClockAlarm1Type "Global Alarm 1 Type" {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1Type"}
Number Global_ClockAlarm_ClockAlarm1WakeupHour "Global Alarm 1 Wake Hour" (G_Global_Alarm1 ) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1WakeupHour"}
Number Global_ClockAlarm_ClockAlarm1WakeupMinute "Global Alarm 1 Wake Minute" (G_Global_Alarm1) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1WakeupMinute"}
Number Global_ClockAlarm_ClockAlarm1BedtimeHour "Global Alarm 1 Bed Hour" (G_Global_Alarm1) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1BedtimeHour"}
Number Global_ClockAlarm_ClockAlarm1BedtimeMinute "Global Alarm 1 Bed Minute" (G_Global_Alarm1) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm1BedtimeMinute"}
Switch Global_ClockAlarm_ClockAlarm2Enabled "Global Alarm 2 Enabled" (G_Global_Alarm2) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2Enabled"}
String Global_ClockAlarm_ClockAlarm2Type "Global Alarm 2 Type" {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2Type"}
Number Global_ClockAlarm_ClockAlarm2WakeupHour "Global Alarm 2 Wake Hour" (G_Global_Alarm2) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2WakeupHour"}
Number Global_ClockAlarm_ClockAlarm2WakeupMinute "Global Alarm 2 Wake Minute" (G_Global_Alarm2) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2WakeupMinute"}
Number Global_ClockAlarm_ClockAlarm2BedtimeHour "Global Alarm 2 Bed Hour" (G_Global_Alarm2) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2BedtimeHour"}
Number Global_ClockAlarm_ClockAlarm2BedtimeMinute "Global Alarm 2 Bed Minute" (G_Global_Alarm2) {channel="velbus:networkbridge:VelbusNetworkBridge:bridgeClockAlarm#clockAlarm2BedtimeMinute"}
// OLED Extras
// String CabinGPO_Memo "Cabin Memotext" <text> {channel="velbus:vmbgpod:CabinOD:05:oledDisplay#MEMO", ga="text"}
// Switch CabinGPO_Screensaver "Cabin Screen saver" <screen> {channel="velbus:vmbgpod:CabinOD:05:oledDisplay#SCREENSAVER"}
// Button mimicking - Send "PRESSED" or "LONG_PRESSED" to this string
// String CabinGPO_Button01 "CabinGPO Button 1" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH1", expire="1s,state=RELEASED"} //reverts to Released after 1 second
// String CabinGPO_Button02 "CabinGPO Button 2" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH2", expire="1s,state=RELEASED"}
// String CabinGPO_Button03 "CabinGPO Button 3" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH3", expire="1s,state=RELEASED"}
// String CabinGPO_Button04 "CabinGPO Button 4" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH4", expire="1s,state=RELEASED"}
// String CabinGPO_Button05 "CabinGPO Button 5" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH5", expire="1s,state=RELEASED"}
// String CabinGPO_Button06 "CabinGPO Button 6" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH6", expire="1s,state=RELEASED"}
// String CabinGPO_Button07 "CabinGPO Button 7" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH7", expire="1s,state=RELEASED"}
// String CabinGPO_Button01 "CabinGPO Button 8" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:button#CH8", expire="1s,state=RELEASED"}
// Button triggers, example given for a VMBGP4PIR, where channels 5 to 8 are
// String CabinGP4PIR_Dark "Cabin Dark" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH5"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_Motion "Cabin Motion" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH6"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_MotionLD "Cabin Motion LD" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH7"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// String CabinGP4PIR_Absence "Cabin Absence" {channel="velbus:vmbgp4pir:VelbusNetworkBridge:05:input#CH8"[profile="system:rawbutton-on-off-switch"], alexa="MotionSensor"} // Profile converts "PRESSED" & "RELEASED" in ON and OFF
// LED Feedback
// String CabinGPO_LED_Feedback_BT1 "Cabin LED Feedback Button 1" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH1"}
// String CabinGPO_LED_Feedback_BT2 "Cabin LED Feedback Button 2" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH2"}
// String CabinGPO_LED_Feedback_BT3 "Cabin LED Feedback Button 3" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH3"}
// String CabinGPO_LED_Feedback_BT4 "Cabin LED Feedback Button 4" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH4"}
// String CabinGPO_LED_Feedback_BT5 "Cabin LED Feedback Button 5" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH5"}
// String CabinGPO_LED_Feedback_BT6 "Cabin LED Feedback Button 6" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH6"}
// String CabinGPO_LED_Feedback_BT7 "Cabin LED Feedback Button 7" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH7"}
// String CabinGPO_LED_Feedback_BT8 "Cabin LED Feedback Button 8" {channel="velbus:vmbgpod:VelbusNetworkBridge:05:feedback#CH8"}
// Useful information
// https://www.openhab.org/docs/ecosystem/alexa/
// https://www.openhab.org/docs/ecosystem/google-assistant/
// Stuart Hanlon - MDAR Ltd - Velbus.eu
// Rule for converting Colourpicker HSL to RGBW
rule "colourPicker"
when
Member of ColourPickers received command
then
// Create a loop to restart the rule with correct values for ON and OFF
// logInfo("Colour","Colour = "+triggeringItem.name.toString+" Changed to "+triggeringItem.state)
if (triggeringItem.state.toString == "ON") {sendCommand(triggeringItem.name.toString,"0,0,100")}
if (triggeringItem.state.toString == "OFF") {sendCommand(triggeringItem.name.toString,"0,0,0")}
else
{
// Split RGBW values from HSL and send to components
// OH5 solution, special thanks to @Hans_Lree and @rikoshak
// var HSBType hsbValue = triggeringItem.state as HSBType
// var rgbw = hsbToRgbw(hsbValue)
var rgbw = hsbToRgbw(triggeringItem.state as HSBType)
var Number redValue = rgbw.get(0)
var Number greenValue = rgbw.get(1)
var Number blueValue = rgbw.get(2)
var Number whiteValue = rgbw.get(3)
// logInfo("Colour",triggeringItem.name.toString+"\n RGBW HEX Values ;\n RED = "+redValue+"\n GREEN = "+greenValue+"\n BLUE = "+blueValue+"\n WHITE = "+whiteValue)
// Convert HEX value to %, only required if destination item doesn't support 0 to 255
if (redValue >0) {redValue = (redValue/255) *100}
if (greenValue >0) {greenValue = (greenValue/255) *100}
if (blueValue >0) {blueValue = (blueValue/255) *100}
if (whiteValue>0) {whiteValue = (whiteValue/255) *100}
var RED = triggeringItem.name+"_RED"
var GREEN = triggeringItem.name+"_GREEN"
var BLUE = triggeringItem.name+"_BLUE"
var WHITE = triggeringItem.name+"_WHITE"
logInfo("Colour",triggeringItem.name.toString+"\n RGBW Values ;\n "+RED+" = "+redValue+"% \n "+GREEN+" = "+greenValue+"%\n "+BLUE+" = "+blueValue+"%\n "+WHITE+" = "+whiteValue+"%")
sendCommand(RED,redValue.toString)
sendCommand(GREEN,greenValue.toString)
sendCommand(BLUE,blueValue.toString)
sendCommand(WHITE,whiteValue.toString)
}
end
// Please note that I have not tested the USB port access bridges in this file.
//
// The Bridge (internal) name is also the same for each, so that they can be interachanged without having to edit other files (*.items and *.rules for example)
// Network bridge, for use with TCP servers like Velserv, Velbus_PB_Server or the upcoming Velbus TCP gateway. Running on the same machine
Bridge velbus:networkbridge:VelbusNetworkBridge "Velbus Network Bridge - Loopback" @ "Loft" [ address="127.0.0.1", port=6000, timeUpdateInterval="360", reconnectionInterval="15"]
// Network bridge, for use with TCP servers like Velserv, Velbus_PB_Server or the upcoming Velbus TCP gateway, running on a different machine on your LAN
// Bridge velbus:networkbridge:VelbusNetworkBridge "Velbus Network Bridge - at 192.168.0.100" @ "Control" [ address="192.168.0.100", port=6000 ]
// USB bridge for use on Linux with symlink ttyACM0
// Bridge velbus:bridge:VelbusBridge "Velbus USB / RS232 Bridge - ttyACM0" @ "Control" [ port="/dev/ttyACM0" ]
// USB bridge for use with Windows, using Com5
// Bridge velbus:bridge:VelbusBridge "Velbus USB / RS232 Bridge - Com5" @ "Control" [ port="com5" ]
Group WholeHouse_Thermostat "Whole House Thermostat" {ga="Thermostat" [roomHint="House", thermostatModes="off=SAFE,heat=DAY,eco=NIGHT,on=DAY"] , alexa="Endpoint.Thermostat" [name="WholeHouse Thermostat", description="Group of all Velbus Thermostats"] , homekit = "Thermostat" }
Group:Number:AVG WholeHouse_CurrentTemperature "Whole House Current Temperature" (WholeHouse_Thermostat) {ga="thermostatTemperatureAmbient" , alexa="TemperatureSensor.temperature" , homekit = "CurrentTemperature" }
Group:Number:AVG WholeHouse_CurrentTargetTemperature "Whole House Current Target Temperature" (WholeHouse_Thermostat) {ga="thermostatTemperatureSetpoint" , alexa="ThermostatController.targetSetpoint" , homekit = "TargetTemperature" }
Group:String WholeHouse_ThermostatMode "Whole House Thermostat mode" (WholeHouse_Thermostat) {ga="thermostatMode" , alexa="ModeController.mode" [friendlyNames="@Setting.Preset", supportedModes="SAFE=Safe,NIGHT=Night,DAY=Day,COMFORT=Comfort"] , homekit = "TargetHeatingCoolingMode" [HEAT="COMFORT", AUTO="DAY", COOL="NIGHT", OFF="SAFE"] }
Group:String WholeHouse_ThermostatOperatingMode "Whole House Thermostat operating mode" (WholeHouse_Thermostat) { alexa="ThermostatController.thermostatMode" [COOL="COOLING",HEAT="HEATING"] , homekit = "CurrentHeatingCoolingMode" [HEAT="HEATING", COOL="COOLING"] }
// Group:Switch WholeHouse_HeatingRelay "WholeHouse Heating" <radiator>
// Group:Switch WholeHouse_CoolingRelay "WholeHouse Cooling" <climate>
// Adding Preset Dissemiation
Group:Number:AVG WholeHouse_HeatingComfortTarget "WholeHouse Heating Comfort Target Temperature" <temperature>
Group:Number:AVG WholeHouse_HeatingDayTarget "WholeHouse Heating Day Target Temperature" <temperature>
Group:Number:AVG WholeHouse_HeatingNightTarget "WholeHouse Heating Night Target Temperature" <temperature>
Group:Number:AVG WholeHouse_HeatingAntifrostTarget "WholeHouse Heating Antifrost Target Temperature" <temperature>
Group:Number:AVG WholeHouse_CoolingComfortTarget "WholeHouse Cooling Comfort Target Temperature" <temperature>
Group:Number:AVG WholeHouse_CoolingDayTarget "WholeHouse Cooling Day Target Temperature" <temperature>
Group:Number:AVG WholeHouse_CoolingNightTarget "WholeHouse Cooling Night Target Temperature" <temperature>
Group:Number:AVG WholeHouse_CoolingSafeTarget "WholeHouse Cooling Safe Target Temperature" <temperature>
Group:Switch:OR(ON,OFF) WholeHouse_HeatingRelay "Whole House Heating Relay" <radiator>
Group:Switch:OR(ON,OFF) WholeHouse_CoolingRelay "Whole House Cooling Relay" <climate>
Group:Number:COUNT(ON) WholeHouse_HeatingRelay_Count "WholeHouse Heating Number of [%s]" <radiator>
Number WholeHouse_HeatingRelay_CountLogging "WholeHouse Heating Logged Number of [%s]" <radiator>
Group:Number:COUNT(ON) WholeHouse_CoolingRelay_Count "WholeHouse Cooling Number of [%s]" <climate>
Number WholeHouse_CoolingRelay_CountLogging "WholeHouse Cooling logged Number of [%s]" <climate>
// Switch WholeHouse_ForceSafeMode "Whole House - Forced into SAFE mode" {channel="velbus:vmb4ryld:d498f1f3:03:CH2"}
// Group WholeHouse_Thermostat "Whole House Thermostat" {ga="Thermostat" [roomHint="House", thermostatmodes="off=SAFE,heat=DAY,eco=NIGHT,on=DAY"] , alexa="Endpoint.Thermostat" [name="WholeHouse Thermostat", description="Group of all Velbus Thermostats"] , homekit = "Thermostat" }
// Group:Number:AVG WholeHouse_CurrentTemperature "Whole House Current Temperature" (WholeHouse_Thermostat) {ga="thermostatTemperatureAmbient" , alexa="TemperatureSensor.temperature" , homekit = "CurrentTemperature" }
// Group:Number:AVG WholeHouse_CurrentTargetTemperature "Whole House Current Target Temperature" (WholeHouse_Thermostat) {ga="thermostatTemperatureSetpoint" , alexa="ThermostatController.targetSetpoint" , homekit = "TargetTemperature" }
// Group:String WholeHouse_ThermostatMode "Whole House Thermostat mode" (WholeHouse_Thermostat) {ga="thermostatMode" , alexa="ModeController.mode" [friendlyNames="@Setting.Preset", supportedModes="SAFE=Safe,NIGHT=Night,DAY=Day,COMFORT=Comfort"] , homekit = "TargetHeatingCoolingMode" [HEAT="COMFORT", AUTO="DAY", COOL="NIGHT", OFF="SAFE"] }
// Group:String WholeHouse_ThermostatOperatingMode "Whole House Thermostat operating mode" (WholeHouse_Thermostat) { alexa="ThermostatController.thermostatMode" [COOL="COOLING",HEAT="HEATING"] , homekit = "CurrentHeatingCoolingMode" [HEAT="HEATING", COOL="COOLING"] }
// Group:Switch WholeHouse_HeatingRelay "WholeHouse Heating" <radiator>
// Group:Switch WholeHouse_CoolingRelay "WholeHouse Cooling" <climate>
// Group:Switch:OR(ON,OFF) WholeHouse_HeatingRelay "Whole House Heating Relay" <radiator>
// Group:Switch:OR(ON,OFF) WholeHouse_CoolingRelay "Whole House Cooling Relay" <climate>
// Group:Number:COUNT(ON) WholeHouse_HeatingRelay_Count "WholeHouse Heating Number of [%s]" <radiator>
// Number WholeHouse_HeatingRelay_CountLogging "WholeHouse Heating Logged Number of [%s]" <radiator>
// Group:Number:COUNT(ON) WholeHouse_CoolingRelay_Count "WholeHouse Cooling Number of [%s]" <climate>
// Number WholeHouse_CoolingRelay_CountLogging "WholeHouse Cooling logged Number of [%s]" <climate>
// Switch WholeHouse_ForceSafeMode "Whole House - Forced into SAFE mode" {channel="velbus:vmb4ryld:d498f1f3:03:CH2"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment