Danfoss Air Unit - Ethernet-Connection

I am attacking this Danfoss HRV on multiple levels, and I will probably continue this part in another thread as it relates to the Z-Wave part, however with a little help I have discovered that Danfoss communication over Z-Wave is actually another protocol.

They use the z-wave proprietary command class to send a lot of other data. This protocol is actually something called DEVILINK CC a simple byte data protocol. And if I am not mistaken it is probably the same protocol they are using for the TCP link. They seem like they are trying to reuse as much as possible. Which means what you have discovered here can probably be used for the z-wave integration also. As I said before I will continue the Z-wave specific conversation in another thread, but tomorrow.

Edit: what a crappy spelling

Hi @petero

I think there is a copy paste error in the GUID for the installer, in the post it is the same as for the end user.

Regards,
Ralf

Hi all,

as I didn’t found the issue in the binding I started first, I started just another test binding and there state update was working. Thus I created another Danfoss binding called DanfossHRV and now implementing step by step very carefully channel by channel and so far it works with 5 channels updated every 10 seconds:

  • mode get and set (Dropdown)
  • level in manual mode get and set (Dimmer)
  • Humidity
  • Battery Level of the Air Dial
  • Current DateTime as set in the HRV

Other channels only seem to be a diligent but routine piece of work.

Missing in the new binding is so far the discovery, but I think I add this soon. This also requires to use configuration properties. When this works we are near to a working binding.

Regards,
Ralf

1 Like

Hi @leaxi,

this sounds like good news. We hadn’t so much time than we needed and were actually stuck at the command line app. :frowning: Simple Things like rush airing, bypass and so on are working and results are returned as json string. But discovery is missing, too.

If you need someone for testing purposes, I’ll help as much as I can.

Greetings,
Carsten

Hi @BlackAlpha

I had another free evening :slight_smile:

So I added the config option host, and afterwards added the discovery again. Both works as expected.
Then I started grouping channels again and as soon as I did that, all channel updates were lost again. I simply call updateState() with the channel name and the state. However this doesn’t work anymore when you use channel groups. In this case you have to pass a channelUID as I learned, then it works like a charm, also in the Binding I started first, so I have two half way working bindings now :stuck_out_tongue:

I think I can push to github soon so that you can test. But not this evening anymore …

Regards,
Ralf

I have done some more research (so far unable to get the logger to function as I want so that is delayed), but I did find this document from Danfoss (http://heating.danfoss.com/PCMPDF/Devicom_Gateway_08095355.pdf) describing the Devilink protocol. Does that conform to what you @leaxi is using to communicate with the CCM over LAN?

I have attached the manual here also so it wont disappear.

Devicom_Gateway_08095355.pdf (284.7 KB)

Am I the only one that can not find the link to the GitHUB repo?

Hi @JonasPed

They are here: https://github.com/leaxidd/openhab2-addons/tree/DanfossHRV/addons/binding/org.openhab.binding.danfossairunit

@JonasPed
Yes I didn’t posted the link to the GitHub repo so far, only send it to Peter. You will not yet find the new version of the binding there. Just give me a few more days to include all interesting channels. Before testing is not really worth. But you can setup Eclipse already :wink:

@petero
I checked the devilink document. I reviewed all the 33 pages but have to state this is completely different to what is send over network.

Too bad, that is the only Danfoss Protocol reference I can find anywhere :frowning:

Hi all,

I pushed the binding to GitHub. So whoever want to test …

I changed the communication procedure of the binding slightly. As it polls all data in a given interval, between these two points there is no connection to the CCM required. So I disconnect at this time and connect before the next access again. However I have a few issues now, that from time to time I lose the connection until the next polling (binding goes OFFLINE).

I also created a JAR, but I can’t upload this here directly. Where are such “binaries” usually stored?

Regards,
Ralf

Hi @leaxi,

some developers created a binary branch and upload them directly to GitHub. :wink:

Greetz,
Carsten

Hi @BlackAlpha,

right, I thought about this as well, but wasn’t sure if this is a good idea. Meanwhile I found the right way:

I will do this …

Hi @leaxi,

the Eclipse IoT Marketplace works, but has one little problem: If you want to load a binding from there, you have to use PaperUI. You can’t load it with addons.cfg!

Greetz,
Carsten

Awesome work guys… looking forward to test it :slight_smile:

Hi @leaxi

Been running this for a couple of days. Seems to work fine. Finally are able to store the ventilation values over time, and create some nice graphs.

Found a couple of more addresses that might could be interesting to have in the binding:

OperationTime:
0x000403e0
Returns minutes of operation time.(converted from hex) Shown as hours on the airdial/PC tool.

Read the current Supply/Exhaust fan speed (mine are always the same value so not 100 % on the order)
0x01041428/0x01041429
Convert from hex to get percentage.

Read the current Supply/Exhaust RPM
0x04041450/0x04041451
Convert from hex to get the RPM speed.

/Kristoffer

Hi @all,

I don’t have a running build environment. Is there somewhere a binary available? :grimacing:

Greetings,
Carsten

to build biniaries you can try to “pull request” the source. I tried it allready ( [https://github.com/openhab/openhab2-addons/pull/3683] ), but i failed because the source missing “Sign your work”. Look at the part “Sign your work” under [https://github.com/openhab/openhab2-addons/blob/master/CONTRIBUTING.md]

@leaxi please Sign your work, then we will see your binding at openhab.jfrog

Hi guys

Do you have any idea if this binding will still work when the air unit is connected to a Danfoss link cc instead of the Air Dial?
The PC tool gets very limited functionality when this is the case.

I would very much like to try out this binding but cannot get the build environment to work.
Can somebody send me the jar file? email: asbjoern_at_mejnertsen.dk

Thanks a lot

Asbjørn

Hi @all,

could someone please upload a compiled binary somewhere? :grimacing:

Greetings,
Carsten