Velbus binding for OpenHAB

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>

Hi MDAR,
Working fine ! Thanks a lot again.

image

Still happy with my items file to manage the +500 variables (a bit challenging with the PAPER UI)
as example …

Number Bureau_CurrentTemperature {channel=“velbus:vmb1ts:003e088b:99:input#CH1”}
Number Bureau_CurrentTargetTemperature {channel=“velbus:vmb1ts:003e088b:99:thermostat#CURRENTTEMPERATURESETPOINT”}

Number Bureau_HeatingComfortTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#HEATINGMODECOMFORTTEMPERATURESETPOINT”}

Number Bureau_HeatingDayTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#HEATINGMODEDAYTEMPERATURESETPOINT”}

Number Bureau_HeatingNightTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#HEATINGMODENIGHTTEMPERATURESETPOINT”}

Number Bureau_HeatingAntifrostTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#HEATINGMODEANTIFROSTTEMPERATURESETPOINT”}

Number Bureau_CoolingComfortTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#COOLINGMODECOMFORTTEMPERATURESETPOINT”}

Number Bureau_CoolingDayTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#COOLINGMODEDAYTEMPERATURESETPOINT”}

Number Bureau_CoolingNightTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#COOLINGMODENIGHTTEMPERATURESETPOINT”}

Number Bureau_CoolingSafeTarget {channel=“velbus:vmb1ts:003e088b:99:thermostat#COOLINGMODESAFETEMPERATURESETPOINT”}

String Bureau_ThermostatOperatingMode {channel=“velbus:vmb1ts:003e088b:99:thermostat#OPERATINGMODE”}

String Bureau_ThermostatMode {channel=“velbus:vmb1ts:003e088b:99:thermostat#MODE”}

Switch Bureau_HeatingRelay {channel=“velbus:vmb4ry:F0_BU_VB_VSB_SerialBridge:11:CH3”}

Switch Bureau_CoolingRelay {channel=“opendaikin:ac_unit:192_168_0_212:power”}

1 Like

Hi Mdar, can you tell me what I have to fill in the settings of the widget ?



or can you make a small manual ?
Thanks, Johan

Hi

Have you read the text file in that Zip ?? :wink:

It all revolves around a naming convention with the required Items.

Just for information, I have edited the Widget, so please download it again and use the new version (without the Typos)

If you look closely at Marteen’s post above, you’ll see the pattern in the Items he is using.

Cheers,

Stuart

Hi All

Again special thx to MDAR & Cedric and all team for the great developments. Happy to share the current (end) result and topic of VB1TS :wink:
For the interested people, best to search for following keywords on OpenHAB
(dynamic icons in standard dummy widget, influx db and grafana)

Enjoy the fun
Maarten

1 Like

— NEW REQUEST —

If you are up for additional challenges, I still have something on my wishlist that we can maybe extend for all future/add hoc requests. Not sure if even possible or potentially it’s already available in some kind of debug/logging mode, but i’m looking for:
"I/O module - full passthrough of all packets send/received through the Velbus Serial Bridge"

I’m not so familiar with serial communication protocols and running multiple applications on a same serial port is challenging as well, so would like to keep Cedric Velbus Serial Bridge on the Serial Port /dev/ttyACM0 (/dev/ttyACM0) dedicated.

Goal/purpose is something like the Logging (Pakketmonitor) from VelbusLink, not for troubleshooting purpose, but to capture or send very specific events from my Velbus setup.
A basic interpreter like address, protocol splitter might be helpful, but optional :wink:
I was thinking about a basic string variable that you guys overwrite on every incoming event (+post in openHAB 2 Log Viewer and same to “send” a custom build string from a customer “rule”.
(of course with a note: be careful what you send as we are now working directly on the bus communication)
Of course if this will bring down stability of any component (too much events), happy to skip this request as I’m also interested in the low priority packets.

Use cases what I have in mind:

  • Basic support for VMB4PD to capture CH1 -> CH8 PRESSED/LONG_PRESSED/RELEASED events
    something similar as the inputchannel events:
    2020-01-26 20:04:58.958 [vent.ChannelTriggeredEvent] - velbus:vmb8pbu:F0_BU_VB_VSB_SerialBridge:2B:input#CH1 triggered PRESSED
    2020-01-26 20:04:59.784 [vent.ChannelTriggeredEvent] - velbus:vmb8pbu:F0_BU_VB_VSB_SerialBridge:2B:input#CH1 triggered LONG_PRESSED
    2020-01-26 20:05:00.010 [vent.ChannelTriggeredEvent] - velbus:vmb8pbu:F0_BU_VB_VSB_SerialBridge:2B:input#CH1 triggered RELEASED

  • VMB1TC module is currently controlling the VMB1TS modules.
    Next to the button events (ref above), it would be interesting if I can set some kind of holiday schedule through velbus. Like “overwrite” or “block/stop” the program during a period when the normal schedule is not valid (holidays). Note, I never got this to work properly with the module itself.
    Alternatively I can also work with rules reacting on events to “force to NIGHT” during holiday, but this is a bit suboptimal.
    2020-01-26 20:08:17.721 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_ThermostatMode changed from COMFORT to SAFE
    2020-01-26 20:08:17.731 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_CurrentTargetTemperature changed from 24.0 to 5.0
    2020-01-26 20:08:18.291 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_ThermostatMode changed from SAFE to NIGHT
    2020-01-26 20:08:18.294 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_CurrentTargetTemperature changed from 5.0 to 15.0
    2020-01-26 20:08:18.804 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_ThermostatMode changed from NIGHT to DAY
    2020-01-26 20:08:18.830 [vent.ItemStateChangedEvent] - F0_SA_VB_1TS94_CurrentTargetTemperature changed from 15.0 to 19.5

Any thoughts about this?
Thanks a lot,
Maarten