Danfoss Air Unit - Ethernet-Connection

Hello, I’m new to this and sorry for my english.
Is it possible with this binding to integrate the airunit to a KNX installation?

If so, is here someone who can explain how to do it or tell me where to look it up?

As far as I can tell, very very very good work.
I’m glad I found this thread.

Greetings
Carsten

Hi Carsten.

I have a KNX installation and a danfoss air. The simple answer is yes. That is exactly what openHAB will do for you.

Using the KNX binding, this Danfoss Air binding and some rules you should be able to do whatever you want.

What specifically do you want to accomplish?

Hey Peter, thank you for your quick reply.

If I could openhab get to write the state of the air unit into the group adresses would be nice, if openhab is able to write and read group adresses so i can handle the airunit via visualisation (not openhab) would be even nicer.

Is it possible that you give me your rules file, so that i can suit the group adresses for my system?

Greetings
Carsten

Do you have the KNX binding working?

Yes, i have knxd running with the binding.

Do you really mean knxd? @petero was referring to the KNX binding.
EDIT: I just found out that the binding also supports another PC running knxd. So never mind.

See the documentation and forum for examples how the use it, there are plenty of examples.
I’d recommend to create an item for the group address you want to read / write and add this item to a sitemap so that you can see or update it from the GUI (whatever it is you want to do).
Same for the Danfoss binding. Once you are able to do that, write a rule which triggers for changes in the Danfoss item and updates the KNX item (or vice versa). Be careful not to create a cyclic update.

This might look like this (in my case, if the KNX wall switch is pressed, the air unit is put into “OFF” mode for one hour and then put back into “DEMAND” mode using a timer)

knx.things (excerpt with only one thing, adapt for your setup accordingly, see documentation)

Bridge knx:ip:bridge [ 
    ipAddress="192.168.0.133", 
    port=3671, 
    localIp="192.168.0.62", 
    type="TUNNEL", 
    readingPause=50, 
    responseTimeout=30, 
    readRetriesLimit=3, 
    autoReconnectPeriod=1,
    localSourceAddr="0.0.0"
] {
    Thing device generic [
  
    ] {
           Type switch-control : Taster_Lueftung_Modus_AUS_aktiv "Lüftung AUS aktivieren" [ ga="9/0/15"]
      } 
}

Note that I used the control channel variant of the item type switch here… you can read about it here in the KNX binding documentation

knx.items (excerpt)
EDIT: posted the wrong item here first, fixed now.

Switch Taster_Lueftung_Modus_AUS_aktiv "Lüftung AUS Modus aktivieren" { channel = "knx:device:bridge:generic:Taster_Lueftung_Modus_AUS_aktiv" }

danfoss.rules (excerpt)

var Timer tLueftungDeactivation

rule "Lüftung_Taster Küche"
when
    Item Taster_Lueftung_Modus_AUS_aktiv changed
then
    if(tLueftungDeactivation !== null) {
        logInfo("Lüftung", "Lüftung Timer cancelled"	)
        tLueftungDeactivation.cancel()
    }
    sendCommand(Lueftung_Mode, "OFF")
    logInfo("Lüftung", "Creating Lüftung Timer")
    tLueftungDeactivation = createTimer(now.plusHours(1))[|
        logInfo("Lüftung", "Lüftung Timer fired")
        sendCommand(Lueftung_Mode, "DEMAND")
    ]
end

I’ve got an KNX as well, but actually I use a combination of HabPanel and Grafana for the visualisation of the air unit graphs. Much more pleasing to the eye and a lot cheaper than the visualisations for KNX from the classic vendors.

1 Like

What @pravussum said. I have not been in front of a computer these last days.

Happy new year and thanks for the help, looks like I have some reading to do.
As you might have noticed, I’m fairly new to this.
My goal is to see from my visual device (wiser for KNX) what the airunit is doing and control it remotly over my smartphone, so when the neaby dumbster burns again I can turn it off without going home and do so. It also could interact with other sensors.
Has anyone of you a VOC sensor manipulating the airunit?

cheers,
Carsten

OK, the PR is finally created:


Let’s see when this can be reviewed and how much needs to be updated :crazy_face:

Hi @pravussum,

Using the HRV PC-Tool it’s possible to see fan speed (i.e. level/step from 1-10) when mode is “Demand”.
image
Would it be possible to add to the binding also? Same as “Manual Fan Speed”, but for reading-only when mode is not “Manual”.

Having this information would make it possible to analyze how the unit operates, i.e. how it reacts to humidity changes.

Best regards,
Jacob Laursen

Hej,
do you really want to have the 10-step fan speed? I found supply_fan_speed / extract_fan_speed to be much better for analyzing how the unit operates (since it delivers more fine grained values).
If you still want to have it that wouldn’t be a big change.

Hi,

You are probably right, but I think it’s two different things, or can supply_fan/speed/extract_fan_speed be directly translated into 10-step fan speed? The rpm from the fans is pretty accurate information, but in the end my manual control would need to result in a 10-step fan speed. I currently don’t have useful humidity sensors for this, only Netatmo stations, so I’m not ready to take over control yet, for now just monitoring - and using manual control when not home and CO2 levels are low, otherwise “Demand”.

In other words: Yes, it would be nice to also have 10-step fan speed. :slight_smile:

Oh, any why would I want to take over control: Because I’m pretty sure my humidity sensor is measuring significantly too high - like 10 percent point - compared to all my other sensors.

Best regards,
Jacob Laursen

OK. Looking at the possible registers to read (referring to https://docs.google.com/spreadsheets/d/1FnWGzeicXrBhMg_jaHFM7jzVb_5aiflNTMsUz-j_rRo) the most promising candidate is Step Supply Fan / Step Extract Fan (a couple of times in the document, always with register number 5160/5160.
However, implementing it, I don’t get 10-step values, but also values like 35 (the documentation states such example values as well).
My assumption is, that it’s a percentage value under the hood which is just simplified for the presentation in the air dial / HRV PC-Tool.
I’ll keep it that way (delivering percentage values). Should you need it as 10-step value I suggest you round it (maybe using formatting?) in your item. So anyone interested in the real “exact” value can use it, while you are still able to achieve what you try to do.

Made a new release.

  • incorporated changes from code review in the context of the PR, most notable I overhauled the connection/request handling to avoid some concurrency issues
  • added supply / extract fan step values

You might have to remove and re-add the thing, I had some problems that the new fan step channels didn’t show up when I just replaced the JAR (even when I restarted OpenHAB).

1 Like

Hi @pravussum,

Wow, that was fast - thanks! I had the same issue replacing the .jar file, so re-added the thing. When relinking items and some of my existing items didn’t show up, I remembered that I changed the dimension on some of them, for example “Temperature” for temperatures. I don’t know if it would make sense to set this as default dimension. It seems that openHAB matches dimensions and only let you select items configured with same dimension as default? I simply updated my items, linked and then set my preferred dimensions again. Still having some issues with humidity as Number.Dimensionless formatted as percentage, but not sure what’s going on yet - upgraded from 2.5.0-SNAPSHOT.

I’ll monitor these two new steps and see if they match the 1-10 step from the HRV PC-Tool. Looks like it could be ExtractFanStep, but I’ll need to confirm.

Best regards,
Jacob Laursen

Hi @pravussum,

I’ve been monitoring “Extract Fan Step” a few times since yesterday, so here’s the results I have at this time. First, when setting the step manually using “Manual Fan Speed” as a test to see if the values will match (which they should):

Manual Fan Speed -> Extract Fan Step

  • 10% -> 11%
  • 20% -> 23%
  • 30% -> 34%
  • 40% -> 45%
  • 50% -> 56%
  • 60% -> 68%
  • 70% -> 79%
  • 80% -> 90%
  • 90% -> 100%
  • 100% -> 100%

A little bit strange, but especially step 9 and 10. I can clearly deduct step from current power consumption in Watt. Step 8 will use ~71 W, step 9 ~91 W and step 10 also ~91 W. When changing between step 9 and 10 from openHAB in manual mode, I can see the steps change accordingly on my Link CC display, but power consumption doesn’t change. And also, “Extract Fan Step” doesn’t change - but is 100% for both steps. So somehow it doesn’t seem to represent the steps exactly, but perhaps something related, although slightly different?

Just note: I have been using Link CC to see actual step as I have been having issues connecting from PC-Tool and openHAB binding at the same time. It seems to get updated quite quickly when changing manual steps from an openHAB sitemap, so I believe results are pretty accurate/consistent.

When mode is “demand”, more “Extract Fan Steps” come into play. For example, I’ve observed:

Extract Fan Step -> Step

  • 70 -> 6
  • 71 -> 6
  • 72 -> 7
  • 73 -> 7
  • 75 -> 7
  • 77 -> 7
  • 79 -> 7
  • 88 -> 8

A bit strange how extract fan steps relate to actual steps between 6 and 7.

From the linked document, is “FanStep” and “Resultant FanStep” currently being mapped to any channels? Could also be candidates for this value I’m seeking? Don’t know if “FanStep SP” (as being writable) is mapped to the manual fan speed - in this case one of these two seems likely.

Best regards,
Jacob Laursen

Woohoo, the PR is finally merged, over 3 years after the first piece of code!


So the next OpenHAB release will see an official danfossairunit binding :clap:

1 Like

And there it is: https://github.com/openhab/openhab-distro/releases/tag/2.5.5 … Thank you guys for the great teamwork, otherwise that would not have been possible! :beers:

1 Like

Hi, good to see many guys have this airunit and try many things to get the neccesary information to use it in house automatisation.
I try to convert it for FHEM and now i need you help to interprete WORD or STRINGS…
I want to convert the Modelname or generally Names
0x04040025 the Model String I.e. Danfoss Air 4611

=> OK, i found it, its the Serialnumber of the AirUnit, name ist in 010415e5 and for me w2/a2

Somebody know how the Danfoss Link get the new information? Some Settings the Danfoss CC Link reads directly… i can see for example the change of the Boost option, when set it on or of… but for exemple mode or boost automatic, bypass automatic , fan step settings the changes are not visible in the Controller…

Attation for boost automatic and bypass automatic , this values are inverse… the option in the PC Tool ist:
Disable boost automatic and disable bypass automatic.

cheers
René

Hey @fireball,
I’m not sure if I fully got what you are trying to achieve.
What we read in the binding is the unit name (w2/a2 in my case) and the serial number, a four-digit number. We do not read the model name and I would not know how.
This document is the source of information about the registers to read:

See above in the thread where it came from, it was retrieved by putting the Windows software into some kind of maintainers mode.
I don’t see anything in there which would directly stand out as model name - maybe by mapping the product ID?

That being said, nothing can be as enlightening as some source code :wink:
Most of the magic of our binding happens here and here.