[eBUS 2.0] New binding - Release Candidate 7b

Hi Guys,

I will currently take a break from this project. But the binding is already very stable and must now be transferred to the official release. I hope I find time to do this after Christmas.

But I’m still watching this thread and try to help, still no further development for the next time.

Hi, can I change flow temp or hot water temp (without having controller) with this binding ?

Hi csowade,

it’s very sad that you stop developing this binding, but you did a great job so far. Thank you for that. One favor i want you to ask for is if you can please update the changelog for alpha 15 to make a clear cut, that would be nice! Thank you!

Yes, I will add the change log. And it’s only a break for a while. And I thing that all required features are available. We simply need more Jason configurations. So I need time for the documentation, maybe someone will help.

Could you give us details on your installation? Model?

I have a Vaillant 226/5-3 with simple on/off controller. I’m connecting with ebus module from german forum and ftdi usb. Currently to change flow temperature or storage temperature I have to do this on the boiler. Is this something that can be controlled from OH2 ?

Hallo Peter. Ich bin auch im FHEM Forum und habe dort den 1.6 Adapter einwandfrei am laufen. Mit Openhab bekomme ich den Adpater zwar Online (üver localhost:8888) aber es kommen keine Daten an (schon in der Bridge nicht). Wie hast du das hinbekommen?
Grüße

Thanks again for your awesome work ! Really appreciate your effort here !

Regarding the additionnal telegram in json, I need to fix my coupler issue first, and esera support is not helping much, so I will try the FHEM coupler to determine if the issue is on the coupler or on the boiler, that will take some weeks before being in position to go back to the pleasure of telegram decoding.

Here the missing change log.


Alpha 0.0.15 (2017-12-04)

Features:

  • add support for global templates in json configuration files
  • clean-up source code
  • enhance documentation

Bugfixes:

  • smaller bug fixes

Configurations:

  • add device Vaillant VC206
  • change Vaillant VRC430/470 label Outside temperature
    to to Controller Datetime
  • add Vaillant BAI datetime, setopdataand getopdata

Hi, where can i find the json config files?

You can find the buildin configurations here:

and the community repository for new and chaged configuration here:

@csowada, did you have a chance to check #252 ?

Hi Christian,

i´m willing to help you and build a custom config file for Vaillant geoTherm VWL 61/3.
But first, i don´t get it how to get the config files in OpenHab.

What link should I use for config file?

The way I did it was to make a copy of one of a file (vaillant-bai00-configuration.json) with a different name, edit the id and the label to make a new items:

"id": "custombai",
"label": "Vaillant Custom BAI00",

Then in the binding configuration, I added a local link with:
file:///etc/openhab2/custom-vaillant-bai00-configuration.json

Hello,

I’ve also implemented the ebus 2.0 (Alpha 15) binding with success. We use a Vaillant Ecotec plus heater a VR61 module, a VRC470 (HC2) and a VR80 (HC1) thermostate. I saw 5 ebus things appearing in the list : ebus bridge, ebus standard, ebus standard(8), ebus standard(15) and ebus standard(50).

Does it mean that address 50 is used for the VR61 module?

In the control tab of the paperUI i see a set of parameters, but not all the data is coming thru (NaN). I suppose the mapping is not correct? Do i need to adapt some settings in the config.json file?

Thanks in advance,

Tom

Hello!

@csowada thank you for developing this binding and for kindly support!

I am new to OpenHAB, bindings, configurations etc, but somehow got my setup to work. (OpenHAB2 on OrangePI, eBUS 2.0 Alpha 15, Vaillant 306-5/5, eRelax controller, homemade eBUS adapter https://www.mikrocontroller.net/topic/346833)
My problem is many failed telegrams and I couldn’t find any solution in other topics.

First problem is master CRC when polling my boiler. How there could be master CRC error if in this case master is eBUS binding itself??? Why is sixth byte from error log (09) different than sent one(0D)?

12:56:34.380 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Poll command "ebus:bai:bdeee849:08:bai_boiler_temp-outlet#status" with "FF 08 B5 09 03 0D 16 00 C9" ...
12:56:34.461 [DEBUG] [de.csdev.ebus.core.EBusController   ] - Send: FF 08 B5 09 03 0D 16 00 C9 @ 0. attempt
12:56:34.463 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send FF
12:56:34.472 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 08
12:56:34.474 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send B5
12:56:34.477 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 09
12:56:34.479 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 03
12:56:34.481 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 0D
12:56:34.484 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 16
12:56:34.486 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 00
12:56:34.488 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send C9
12:56:34.513 [DEBUG] [nding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; Master CRC invalid! IS:91 SHOULD:C9 [ERROR: MASTER_CRC_INVALID, DATA: FF 08 B5 09 03 09 16 00 C9]
12:56:34.538 [DEBUG] [nding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; Master Data Length too large! [ERROR: INVALID_MASTER_LEN, DATA: 00 03 41 07]
12:56:35.047 [DEBUG] [de.csdev.ebus.core.EBusController   ] - Send: FF 08 B5 09 03 0D 16 00 C9 @ 1. attempt
12:56:35.049 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send FF
12:56:35.058 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 08
12:56:35.060 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send B5
12:56:35.063 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 09
12:56:35.065 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 03
12:56:35.067 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 0D
12:56:35.069 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 16
12:56:35.071 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 00
12:56:35.074 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send C9
12:56:35.095 [TRACE] [de.csdev.ebus.core.EBusController   ] - Waiting for slave answer ...
12:56:35.125 [TRACE] [de.csdev.ebus.core.EBusController   ] - Slave answer received ...
12:56:35.127 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send Master ACK to Slave ...
12:56:35.135 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send SYN to bus ...
12:56:35.152 [DEBUG] [de.csdev.ebus.core.EBusController   ] - Succesful send: FF 08 B5 09 03 0D 16 00 C9 00 03 41 07 55 8C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
12:56:35.165 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address FF to 08 with command boiler.temp_outlet
12:56:35.169 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Handle received command by thing Vaillant BAI00 (08) with id ebus:bai:bdeee849:08 ...
12:56:35.171 [DEBUG] [hab.binding.ebus.handler.EBusHandler] - Key temp_outlet with value null

Second problem is this error showing from time to time.

13:24:41.399 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Poll command "ebus:bai:bdeee849:08:bai_boiler_temp-d-dhw#temp-d-dhw" with "FF 08 B5 09 03 0D EA 03 87" ...
13:24:41.448 [DEBUG] [de.csdev.ebus.core.EBusController   ] - Send: FF 08 B5 09 03 0D EA 03 87 @ 0. attempt
13:24:41.450 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send FF
13:24:41.459 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 08
13:24:41.461 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send B5
13:24:41.462 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 09
13:24:41.464 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 03
13:24:41.466 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 0D
13:24:41.467 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send EA
13:24:41.469 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 03
13:24:41.471 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send 87
13:24:41.497 [TRACE] [de.csdev.ebus.core.EBusController   ] - Waiting for slave answer ...
13:24:41.517 [TRACE] [de.csdev.ebus.core.EBusController   ] - Slave answer received ...
13:24:41.518 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send Master ACK to Slave ...
13:24:41.521 [TRACE] [de.csdev.ebus.core.EBusController   ] - Send SYN to bus ...
13:24:41.528 [DEBUG] [de.csdev.ebus.core.EBusController   ] - Succesful send: FF 08 B5 09 03 0D EA 03 87 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
13:24:41.535 [ERROR] [e.csdev.ebus.core.EBusControllerBase] - Error while firing onTelegramReceived events!
java.lang.ArrayIndexOutOfBoundsException
        at java.lang.System.arraycopy(Native Method)[:1.8.0_121]
        at de.csdev.ebus.command.EBusCommandUtils.decodeValueList(EBusCommandUtils.java:369)[219:org.openhab.binding.ebus:2.2.0.201711201929]
        at de.csdev.ebus.command.EBusCommandUtils.decodeTelegram(EBusCommandUtils.java:422)[219:org.openhab.binding.ebus:2.2.0.201711201929]
        at de.csdev.ebus.service.parser.EBusParserService.onTelegramReceived(EBusParserService.java:94)[219:org.openhab.binding.ebus:2.2.0.201711201929]
        at de.csdev.ebus.core.EBusControllerBase$2.run(EBusControllerBase.java:101)[219:org.openhab.binding.ebus:2.2.0.201711201929]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121]
        at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
13:24:42.365 [INFO ] [hab.binding.ebus.handler.EBusHandler] - Poll command "ebus:bai:bdeee849:08:bai_boiler_state-pump-ext#state-pump-ext" with "FF 08 B5 09 03 0D 3F 00 2F" ...

Please help, I don’t know where to start. Thank you!

The bus is a shared medium, so if another device sends a byte while the binding is sending it causes wrong bytes. But this is not unusual, this is the reason why this is only available on log level debug.

Yes, definitely a bug. I will fix this with the next release.

Thank you for quick response. I will reply with 3 more questions :slight_smile:
Currently there is 20-30 parameters for polling in 20 sec time slots. Beside boiler and room controller there is no other devices. Is it too frequent?

My boiler is occasionally sending command B5 12 to address 64

14:35:26.817 [DEBUG] [nding.ebus.handler.EBusBridgeHandler] - eBUS telegram error; No response from slave! AA [ERROR: NO_SLAVE_RESPONSE, DATA: 03 64 B5 12 02 02 FE 98]

It is sending internal pump status to external pump and that command doesn’t need slave response, ACK only.
I tried to make custom configuration to solve those telegrams, but binding is seeking for slave response (data?). Is it possible to configure binding to send slave ACK only?
This is my custom .json:

{
    "id": "custom-pump",
    "vendor": "Vaillant",
    "label": "Vaillant internal pump",
    "description": "Burber unit to pump (status)",

    "authors":      ["Author"],    

    "commands":
    [
        {
            "label": "Burner to Pump",
            "id": "internal.pump",
            "command": "B5 12",

            "get": {
                    "master": [
                        {"name": "pump_enabled", "type": "uchar", "label": "Pump enabled", 
                        "mapping": {"2":"enabled", "3":"disabled"}},
						{"name": "pump_mode", "type": "uchar", "label": "Pump mode", 
                        "mapping": {"0":"off", "100":"DHW", "254":"CH"}}
                    ]                   
            }
        }		
    ]
}

I can add a thing, but there is no telegram handling. There is “there is no slave response” error.

ebus-wiki.org is down last several days. Is there another source of information about aplication layer of protocol? I would like to contribute and make a configuration file for Vaillant E-Relax controller.

Hi mikulaos

Using archive.org service you can get the last visible version,
for exemple:
ebus:serviceb510 [eBus WIKI]
ebus:serviceb509 [eBus WIKI]

Hello.

Sorry, but I’m new in OH2 and Bindings.
I have OH2, with ebus2.0 Binding on a Vaillant VR630 Heating-System.
When I added the ebus-Things in simple Mode there are no values in the items.
The Log shows me a lot of unhandled telegrams.
What can I do, that I get the values in OH?

2018-01-04 18:19:41.546 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 26 with command boiler.control.datetime

2018-01-04 18:19:41.547 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - No handler has accepted the command boiler.control.datetime from 10 to 26 …

2018-01-04 18:19:41.912 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 26 with command boiler.temp_d_cylinder

2018-01-04 18:19:41.914 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - No handler has accepted the command boiler.temp_d_cylinder from 10 to 26 …

2018-01-04 18:19:43.529 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.getopdata

2018-01-04 18:19:43.532 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - No handler has accepted the command boiler.control.getopdata from 10 to 08 …

2018-01-04 18:19:52.026 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 26 with command boiler.temp_d_cylinder

2018-01-04 18:19:52.028 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - No handler has accepted the command boiler.temp_d_cylinder from 10 to 26 …

2018-01-04 18:19:53.579 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - Received telegram from address 10 to 08 with command boiler.control.getopdata

2018-01-04 18:19:53.583 [INFO ] [nding.ebus.handler.EBusBridgeHandler] - No handler has accepted the command boiler.control.getopdata from 10 to 08 …