eBUS Binding 3.x [3.4.0;3.9.9)

Ok, i am running with an ESP8266 over Wifi - Latency may well be the problem then.
Thanks…

Issue not to find get method should not be a reason for emergency break. See words from csowada.
But I have experience with boiler.control.setopdata . Those telegrams are transferred between bay and vrc700. You don’t need to set a poll.
But somewhat was wrong with the original json files. Have created own setting, and those is running here. After fix your emergency issue you can try if those is helpful ?
vaillant-bai-custom-configuration.json (5.5 KB)

Roland

I have connected my RasPi by ethernet cable now - that improved things marginally.
The main influence was turning the pollrates down - specifically those for “Vaillant VRC 700 zone 1 (15)”.

The fatal error has gone but I still have regular communication failures.

@Csowada: Is your binding doing a plausability check of the sent messages and this is throwing the error?
or is the actual source of the error within Johns EBUSD software. I am using this on the ESP:

@Roland: Do I understand you right: With your CSV file you are decoding the pump status etc. correctly?

@Dobie
It is not an excel file, it is a configuration file which has to be stored on your openhab device and activated via ebus binding via option Configuration URL (in my case file:///etc/openhab2/vaillant-bai-custom-configuration.json)

Parameter which I read out wit this in my configuration:

  • Lead water temperature
  • Lead water heating (Switch)
  • Service water heating (Switch)

In addition I have mapped a view still for me unknown telegrams. Those reduces the value of unresolved telegrams.

Sure (dont know why i wrote csv…) , i understood what i have to do with it. I was just wandering which extra functions it gives me.
The two switches is what i didn’t have yet - those are status displays right - or can i switch the heating on and off that way?

@Dobie those two switches present the status and cant be set manually.

Am not able to install the latest relaese. Have openHAB2.5.9_#220, Windows10, JAVA 1.8.0_261.
Copied the .kar-file into the addons folder and restarted openHAB. Karaf console shows nothing. Would be happy about any hint. Thanks in advance.

In my setup the Karaf console does not show anything either…
These are the first steps after putting the kar file in the addons folder:
In the paper UI under “Bindings” you should see the EBUS binding with subtitle C.Sowada without having installed it under addons…
You don’t need to configure anything there for now.
Under “Things” you will then find the “eBUS Bridge”. That needs to be configured according to your hardware. Once that connects to your hardware (shows a green “online” then) the other ebus components that were discovered can be configured.

Thanks for the hints. See the binding and the eBUS things now. But my eBUS bridge doesn’t go online. Have the esera Ethernet eBUS bridge. Set the port to 5000 using the esera config tool. Set the TCP values within the bridge thing using the Paper UI. The openhab.log shows that a connection is refused:

[WARN ] [us.core.connection.EBusTCPConnection] - Connection error: Connection refused 192.168.1.144:5000

Have openHAB2.5.10 snapshot #237 on a Windows10 PC and JAVA 1.8.0_261.

Are any special settings required for the port 5000? My feeling is that it is JAVA security issue. Appreciate any hint in order to resolve the issue.

After finally getting my eBus adapter to work, I tested this binding on a virtual machine first before deploying it to my raspberry with the “production server” for my openhab smarthome.

First my setup: Brink Renovent Excellent 400 and a Brink Air Control unit in my living room. This is basically the same as a Wolf CWL excellent (both slave address 7C) and Wolf BML controller. I am able to monitor messages going from the controller to the ventilation unit. Github also already has a csv file for this ventilation unit to be used with ebusd.

This openhab eBus 2.0 binding already has a config file for Wolf CWL, but it only contains two channels to read inside and outside temperature. I copied that file to my own custom JSON to have it recognise the Brink unit. That works flawlessly. Next step I added the read out of the fan mode (very low, low, medium, high), which also works with a mapping
{
“label”: “Huidige ventilatiestand”,
“id”: “ventilatie_stand”,
“command”: “40 22”,

"get": {
    "master": [
        {"type": "static", "default": "01"}
    ],
    "slave": [
        {"name": "ventilatie_stand", "type": "uint", "label":"Huidige ventilatiestand", "reverseByteOrder": true, "mapping": {"0":"Minimaal (1)", "1":"Stand 2", "2":"Stand 3", "3":"Maximaal (4)"}}
    ]
}
},

And despite me being happy already (I want to use the temperatures in several rules for my Velux and Somfy sunshades), I now want to take it one step further: controlling the ventilation mode. But here I get lost how to implement it in JSON.

The ebusd csv indicates to use command “40 A1”. Setting the ventilation mode to 1 sends 00 01 00 01 00 00 to the ventilation unit, setting it to maximum ventilation 00 03 00 03 00 00 is sent. This also follows from the commands I see being sent from my control unit and works when sending this as a raw command over the bus. However, I get no additional channel in paperUI when adding the following to JSON and reloading the ebus JSON configs and refreshing the eBus things:
{
“label”: “Ventilatie stand instelling”,
“id”: “vent_set”,
“command”: “40 A1”,

    "set": {
        "master": [
            {"name": "vent_set", "type": "static", "label":"Ventilatie stand instelling", "mapping": {"00 00 00 00 00 00":"Minimaal (1)", "00 01 00 01 00 00":"Stand 2", "00 02 00 02 00 00":"Stand 3", "00 03 00 03 00 00":"Maximaal (4)"}}
        ],
        "slave": [
            {"type": "static", "default": "22 00"}
        ]
    }
},

also not when changing “set” to “broadcast” (to be honest, I don’t understand the difference between the two).

Does anybody have a clue where I go wrong (probably using the mapping?).

Krgds
Cor

You should look at the new file from @LuiSauberhorn at GitHub.

https://github.com/csowada/ebus-configuration/issues/13

Thank you. I was thinking too difficult :frowning: Indeed his file is helpful. Next problem is that my BML module overrides the fan setting after some time (up to half a minute) and restores it to the value it has set itself. So I get a few seconds maximum ventilation and the room controller restores it to setting 1.

I probably need to figure out how to change the room controller remotely and dig in deeper into the commands going back and forth over the eBus.

Have carried out further tests and believe now that is is a binding issue with initializing the Ethernet coupler.

@csowada
It is unclear if the syntax of the configuration using the PaperUI (…Thing.json) is okay or not?

“configuration”: {
“properties”: {
“networkDriver”: “raw”,
“serialPortDriver”: “nrjavaserial”,
“masterAddress”: “FF”,
“port”: 5000,
“advancedLogging”: true,
“ipAddress”: “192.168.1.144”
}

I’m starting to use the configuration files from https://oss.sonatype.org/content/repositories/snapshots/de/cs-dev/ebus/ebus-configuration/1.0.7-SNAPSHOT/ .
I copied locally and unzipped them in a directory.
From the binding configuration page I added some json file file:///etc/xxx/commands/vaillant-templates.json , file:///etc/xxx/commands/vaillant-bai00-configuration.json and other two.

is correct what I did?
can I add directly the xxx/index-configuration.json to permit to load automatically the needed json?

https://raw.githubusercontent.com/csowada/ebus-configuration/master/src/main/resources/commands/vaillant-bai00-configuration.json is still updated?

The seerialPortDriver is not needed for an ethernet connection. But you should first try it with the UI. Maybe the Windows firewall is blocking something?

I would prefer to fork the ebus-configuration repository on github and use the …index.json file to (over)load the included configuration files.

1 Like

Use the PaperUI:
the serial driver can’t be unselected. It is set automatically. Can’t identify a firewall issue.

The log file tells me:
2020-10-29 06:43:54.240 [WARN ] [internal.things.EBusTypeProviderImpl] - eBUS command boiler.control.setopdata only contains a setter channel!
2020-10-29 06:43:54.286 [INFO ] [ing.ebus.internal.EBusHandlerFactory] - Use eBUS binding 2.5.1.202006152014 [eBUS core: 1.0.8.202006152013, eBUS configuration: 1.0.7.202005171351]
2020-10-29 06:43:54.286 [INFO ] [ing.ebus.internal.EBusHandlerFactory] - eBUS core -> timestamp 202006152013, commit: #d3e0f59, build-no: #null
2020-10-29 06:43:54.286 [INFO ] [ing.ebus.internal.EBusHandlerFactory] - eBUS configuration -> timestamp 202005171351, commit: #35cd31b, build-no: #null
2020-10-29 06:43:54.340 [WARN ] [s.internal.handler.EBusBridgeHandler] - Enable advanced logging for eBUS commands!

No entry regarding a connection fauilure. PaperUI status remains on “INITIALIZING”.

@csowada: would appreciate any hint which could help me. Thanks.

so, you ask me:

  1. clone from https://github.com/csowada/ebus-configuration/tree/master/src/main/resources
  2. in the configuration -> ebus binding -> edit , add only one row which have to point to file://xxx/index-configuration.json
    is correct?

is not possible to point directly to https://raw.githubusercontent.com/csowada/ebus-configuration/master/src/main/resources/index-configuration.json ?

or to https://raw.githubusercontent.com/csowada/ebus-ebusd-configuration/master/src/main/resources/index-configuration.json ? which seems to be little never?

Yes, but I that case you load the same configuration as already inside the binding. And you can’t change my repo :wink: . But with a fork it should work fine.