Velbus binding for OpenHAB

I would suggest looking at using HabPanel instead, as I find it much easier to create a UI in.

Alternatively, may I suggest posting your question in the openHAB2 community forum, where you’ll get many more openHAB2 users giving advice.

Hi

I’ve been working on some widgets for use primarily with the Velbus hardware, but there’s no reason why they couldn’t be used with other hardware.
Many thanks to @tomvancutsem for his amazing efforts, all I’ve done is tweak this to make it easier to deploy.


(http://www.mdar.co.uk/dl/forum_assets//Widget_Ani.gif)

Select_Cool_Night

Heat_Day

I’ve created two versions of the Widget, one that uses the default names that are created in PaperUI when Items are added to Things, and one that requires Items to be names according to the Widget requirements.

My thoughts are that either will work, but just depend on how people want to work.

They are both in this zip file - http://www.mdar.co.uk/dl/forum_assets//VelbusThermostatStreamlined.widget.zip

These are the notes that are in the zip file, to help with naming conventions

All elements are taken from the Room name with following suffixes

Where Items are Numbers only, not Number:Temperature (or strings and switches)

IE, Room name = Lounge

Current Temperature = Lounge_CurrentTemperature
Current Target Temperature = Lounge_CurrentTargetTemperature
Operating Mode = Lounge_ThermostatOperatingMode
Current Mode = Lounge_ThermostatMode
Heating Relay = Lounge_HeatingRelay
Cooling Relay = Lounge_CoolingRelay
Heating Mode Antifrost target = Lounge_HeatingAntifrostTarget
Heating Mode Night target = Lounge_HeatingNightTarget
Heating Mode Day target = Lounge_HeatingDayTarget
Heating Mode Comfort target = Lounge_HeatingComfortTarget
Cooling Mode Antifreeze target = Lounge_CoolingSafeTarget
Cooling Mode Night target = Lounge_CoolingNightTarget
Cooling Mode Day target = Lounge_CoolingDayTarget
Cooling Mode Comfort target = Lounge_CoolingComfortTarget

Notes for Streamlined Thermostat with Velbus Default Names, where Items are Numbers only, not Number:Temperature (or strings and switches)

Heating Relay = Lounge_HeatingRelay
Cooling Relay = Lounge_CoolingRelay

Current Temperature = Lounge_CurrentTemperature Watch out for this one, as default would be Lounge_Input_Lounge

Current Target Temperature = Lounge_Thermostat_CurrentTemperatureSetpoint
Operating Mode = Lounge_Thermostat_OperatingMode
Current Mode = Lounge_Thermostat_Mode
Heating Mode Antifrost target = Lounge_Thermostat_HeatingModeAntifrostTemperatureSetpoint
Heating Mode Night target = Lounge_Thermostat_HeatingModeNightTemperatureSetpoint
Heating Mode Day target = Lounge_Thermostat_HeatingModeDayTemperatureSetpoint
Heating Mode Comfort target = Lounge_Thermostat_HeatingModeComfortTemperatureSetpoint
Cooling Mode Antifreeze target = Lounge_Thermostat_CoolingModeSafeTemperatureSetpoint
Cooling Mode Night target = Lounge_Thermostat_CoolingModeNightTemperatureSetpoint
Cooling Mode Day target = Lounge_Thermostat_CoolingModeDayTemperatureSetpoint
Cooling Mode Comfort target = Lounge_Thermostat_CoolingModeComfortTemperatureSetpoint

I’ve also been working on tweaking an alarm clock widget, so that it works well with the Velbus alarms, please take a look at this forum post on the openHAB community site

Hi MDAR,
checking in to investigate progress on VBM1TS integration. Possibly more a github question, but I spotted some updates in the source files
“Added support for the VMB1TS (#4)”
It is possible to generate a new JAR file for testing purpose? Can you explain me how to locally compile?
In the ideal world alternatively using your script to facilitate updating the velbus binding, but I believe this refers to the official release from 2019 Feb 3rd.
(if not stable or released, happy to take the risk for testing purpose)

General question: Also OpenHab is going for 2.5 release, I assume/hope the velbus binding is still compatible in 2.x releases?

Hi

My apologies, I thought we posted about the VMB1TS being up and running in a development version that Cédric is working on.

You can access it by downloading and running this script.

sudo wget http://www.mdar.co.uk/dl/openhab2/update-velbus-jar-dev.sh

sudo sh update-velbus-jar-dev.sh

Just make sure you only have 1 binding running in openHAB2

By accessing the Karaf console and checking the bundle list

openhab-cli console
bundle:list | grep Velbus

I’ve got this binding running on a 2.4 version and a 2.5 :slight_smile:

Does that help you?

Hi MDAR,

Thanks a lot for the clear instructions. I think the script/update was successful as I’m able to manually add the VMB1TS, unfortunately something is wrong at my setup, since after the works the blinds and meteo are not responding anymore / though relais/input modules are still reacting. I initially assumed a bus error but the windows velbuslink is still able to discover them all. The output of Karaf console can be found below (it looks indeed i’m running 2x the velbus binding). What the best troubleshooting action now? (remove the velbus binding from PaperUI and start again?)

A view on the current status of the Openhab Things:

HI

I suspected that might happen, which is why I said you check that you only have 1 bundle loaded.

The 2.4 version should vanish if you reboot, or you can remove it from the database (because the JAR file was deleted by the script) by simply starting the Karaf console and entering (in your specific case, other people will have a different number)

bundle:uninstall 219

“2.5.0.201908142035” is the development version, there are a few bugs in it, which I’m sure Cédric will address when he has time.

You may need to disable and re-enable the Velbus Network Bridge (or serial) bridge to force and update of all of your Velbus modules within openHAB2.

I find it easiest to do this in PaperUI, by clicking on the clock symbol (again after a pause of a few seconds)

Hi,
Almost there … all modules working again after removing v2.4 and VMB1TS is now auto discovering/recognized in “inbox”, but for some reason not “online” yet (despite reboots, disabling serial bridge, reinstalling serial bridge)… sorry but still some hints required? Any minimum prerequirements with respect to firmware level ?
Thanks a lot

Now there’s a good question.

I’m sure it has been working, but now even mine is showing similar

With a very different build / firmware version and serial number than is shown in VelbusLink

image

I think this is something that @cedricb needs to work his magic on, we may have to wait patiently, as he is extremely busy.

@bouwkarolinemaarten

Hi

Cédric has worked his magic again and the VMB1TS appears to be working correctly now :smile:

Please stop openHAB2

Run the update-velbus-jar-dev.sh script

start openHAB2

double check in Karaf that there is only the latest version running

openhab-cli console

bundle:list | grep elbus

If you have any other bundle versions loaded, just remove them

 bundle:uninstall {NUMBER} 

Please let us know how you get on :smile:

1 Like

Dear MDAR & Cedric,
Thank you very much for the successful development of the integration of the 1TS module
Initial tests are looking great, working like a charm.

Note to all: I purchased the velbus system back in 2009 (yes 11 years ago). Interesting to see all modules are still backwards compatible and even new developments are made for this older module.
That’s what I call a perfect service and I never regret my good decision to select Velbus.
I hope this convinces new buyers as well !

Kind Regards,
Maarten

2 Likes

Hi,
My vmb1ts thermostats are working in openhab, but since the update it looks I a have problems with the connection with velbuslink and openahab at the same time, I’m loosing modules or it takes very long time to detect them in velbuslink and in openhab. Is somebody have the same?

Hi,

I don’t think this is related with the upgrade. If you are using Velserv to be able to use both VelbusLink and OpenHab, I think this is the issue (also others have similar issues). I’m using the direct (serial/COM) connection as I also experience desync status updates. (of course with limitation that I only use OpenHab)

@MDAR, I was trying to get your temperature widgets working, the original one VelbusThermostat.widget.json works partly (actual temperature doesn’t show), the updated version I can’t get to work out of the box (VelbusThermostatStreamlined.widget.json)
Do you have it working with you with the 1TS module?

Thx,
Maarten

The problem appeared since the vmb1ts are recognized.
Before it was working perfect with velserv, openhab and nodered on the same pi.
I tried a fresh setup this evening and everything worked till…I updated the binding…

Hi @Join

As you’re using the development version of Cédric’s binding, would you be kind enough to give your feedback on his GitHub site ?

https://github.com/cedricboon/openhab2-addons/issues

Hello Maarten,

You should be able to get the widget working, it’s normally not much more than an Item name issue.
Can you double check with the text file in the zip ?

I suspect your Current Temperature Item has either the wrong name, or it’s a Number:Temperature, rather than a basic Number.

(FYI, don’t forget that you can link multiple Items to a Thing channel, if you want to try different spellings etc)

Good luck,

Stuart

@bouwkarolinemaarten
Is the normal knob working with the the vmb1ts ?
My settings:

Another thought

Have you checked that only 1 binding version is registered in Karaf?
(Sometimes, just deleting the jar file leaves an artifact in Karaf)

Try this command in the Karaf console

bundle:list | grep elbus

Then delete / uninstall older versions of the binding

(As per instructions earlier in this thread, comment No 189)

Hi,
Sorry for the screenshots, but I don’t see the “knopinstellingen”
Also not 100% sure i’m using the latest VelbusThermostatStreamlined.widget.json (note, I also didn’t “load” the Widget_Ani.gif). I’m pretty sure i’m doing something wrong but I don’t see immediately what is incorrect. Currently I only see the background / ref right block in first screenshot
the original module is functioning fine except current temperature is not showing based on default item names.
Any ideas based on below screenshots? (note testing both versions)
image

image

image

image

image

Thanks a lot,
Maarten

Hi

This is a good example of why I don’t use text files.

What’s wrong with adding Items from PaperUI?

Can you paste your VMB1TS Thermostat items (in text) on here?

I’ll have a good look and see if I can work out what’s happening…

My humblest apologies, there was a big (repeated) typo in the Widget that meant the Mode temperatures weren’t shown.

I’ve also changed the Default version so that _Input_Temperature is used, rather than _CurrentTemperature

I’ve updated the Widgets and uploaded a replacement ZIP to my site.

http://www.mdar.co.uk/dl/forum_assets//VelbusThermostatStreamlined.widget.zip

There is also a folder of Screen grabs to show the construction of the Items in PaperUI.

Widget_Ani.gif is / was just an animation of the older screen grabs and is nothing to do with the Widget.

It might be quicker to directly edit the widget directly within HabPanel (“Manage widgets”), rather than try to remove them and import these new versions.

The advantage of editing the widget is two fold…

  1. You’ll see how they are constructed
  2. Your edits will be reflected directly into any used copies of the widget and work straight away.

For reference, here are snippets of code from each widget so you can see how the Item names are used and see the changes I’ve made.

StreamLined Item Names

  <div ng-init="
    OperatingMode= config.ThermostatThingName + '_ThermostatOperatingMode';
    ThermostatMode= config.ThermostatThingName + '_ThermostatMode';
    heat_relay= config.ThermostatThingName + '_HeatingRelay';
    cool_relay= config.ThermostatThingName + '_CoolingRelay';
    CurrentTemperature= config.ThermostatThingName + '_CurrentTemperature';
    CurrentTTemperature= config.ThermostatThingName + '_CurrentTargetTemperature';
    HATTemperature= config.ThermostatThingName + '_HeatingAntifrostTarget';
    HNTTemperature= config.ThermostatThingName + '_HeatingNightTarget';
    HDTTemperature= config.ThermostatThingName + '_HeatingDayTarget';
    HCTTemperature= config.ThermostatThingName + '_HeatingComfortTarget';
    CSTTemperature= config.ThermostatThingName + '_CoolingSafeTarget';
    CNTTemperature= config.ThermostatThingName + '_CoolingNightTarget';
    CDTTemperature= config.ThermostatThingName + '_CoolingDayTarget';
    CCTTemperature= config.ThermostatThingName + '_CoolingComfortTarget'
            "</div>

Default Names

 <div ng-init="
    OperatingMode= config.ThermostatThingName + '_Thermostat_OperatingMode';
    ThermostatMode= config.ThermostatThingName + '_Thermostat_Mode';
    heat_relay= config.ThermostatThingName + '_HeatingRelay';
    cool_relay= config.ThermostatThingName + '_CoolingRelay';
    CurrentTemperature= config.ThermostatThingName + '_Input_Temperature'; <!...........For clarify this has been changed from _CurrentTemperature to _Input_Temperature .......... >
    CurrentTTemperature= config.ThermostatThingName + '_Thermostat_CurrentTemperatureSetpoint';
    HATTemperature= config.ThermostatThingName + '_Thermostat_HeatingModeAntifrostTemperatureSetpoint';
    HNTTemperature= config.ThermostatThingName + '_Thermostat_HeatingModeNightTemperatureSetpoint';
    HDTTemperature= config.ThermostatThingName + '_Thermostat_HeatingModeDayTemperatureSetpoint';
    HCTTemperature= config.ThermostatThingName + '_Thermostat_HeatingModeComfortTemperatureSetpoint';
    CSTTemperature= config.ThermostatThingName + '_Thermostat_CoolingModeSafeTemperatureSetpoint';
    CNTTemperature= config.ThermostatThingName + '_Thermostat_CoolingModeNightTemperatureSetpoint';
    CDTTemperature= config.ThermostatThingName + '_Thermostat_CoolingModeDayTemperatureSetpoint';
    CCTTemperature= config.ThermostatThingName + '_Thermostat_CoolingModeComfortTemperatureSetpoint'
            "</div>