Danfoss Ally thermostat: firmware archive [v1.28, v1.20, v1.18, v1.08] & specifications [zha] [deconz] [zigbee2mqtt]

So you’re basically suggesting that I shouldn’t believe in Eco 2 getting reading external temperature any time soon? :stuck_out_tongue:

I can buy Ally to replace the one that’s making me trouble but because it’s quite more expensive I’d like to make sure I understand this correctly. With the ZHA integration and @nslr’s handler I could use Ally with one of the supported Zigbee adapters to feed Ally with external temperature sensor, which will make Ally take it into account when checking if set temperature is already achieved, right?

I’m using a standard USB Zigbee stick (can’t remember the exact model, but one that can be flashed with custom Zigbee 3 firmware), and with the latest (no-yet released) version of ZHA/zigbee-device-handlers, this is what my Danfoss Ally + external temp device integration looks like:

office-heating

in the top graph, green is the temp reading fromt he Ally TRV, red is from the external temp sensor, blue is the set-point for the TRV. Works nicely, I reckon.

That is beautiful! Did the commit find it’s way into release yet? And how would you go about it to implement it?

I have a bathroom with both the Ally and an external sensor, ready to be combined! :slight_smile:

The change is released in the latest zigbee-device-handlers release, but it’s not made it to homeassistant just yet. I’ve modified the zigbee-device-handlers source locally on my homeassistant installation, but I don’t recommend doing that unless you really can’t wait :smiley:

Haha, I think I will wait. But I will bother you on how to set up the change by then! :slight_smile:

Latest Homeassistant release dropped today apparently, so no need to wait for too long!

1 Like

Next Deconz version will have it too

Great. Do you have a link? cant find.

2.10.0-beta https://github.com/dresden-elektronik/deconz-rest-plugin/pull/4408

Looks like great features.
I have tried to upload the firmware through file editor, and added the ZHA OTA code to my config file, but where do I go from here to make the update happen?

You are unable to set HVAC mode on these.
Check the Danfoss Ally Radiator Thermostat 1.12 Zigbee Cluster Specifications 09042021.pdf from the danfoss website.

0x04: Heating control active
Everything else rejected with INVALID_VALUE

For those updating from deCONZ

  1. Open OTAU plugin
  2. Select device
  3. Select OTAU file you got from Danfoss Ally™ support | Danfoss
  4. Click update
  5. Wait for some hours, mine took 2+h to update per device

Hi,
after reading this thread I exchanged all of my Homematic IP thermostats with the Danfoss Allys hoping for a smooth, zigbee-only smarthome experience.
Sadly, everything BUT the thermostats are working reliably.
Most of the time, settings I do from Home Assistant (with zha) don’t reflect on the devices. And I mean the most trivial things like just setting the temperature via build-in lovelace cards, scripts etc.

Since I am not sure which firmware version is running on the Allys, I would like to check that but don’t know how.
Can anyone give me a hint?
Right now, I don’t have deconz running, only HA with zha.

I am only guessing here, but I am running 1.08 and my device shows this information underneath Firmware:

So when 1.12 is released and I have updated them through OTA, I will assume it will show (…)112 in the end.

To your other points, it sounds weird to me, as I have 5 devices that work reliably.
For instance if I change the set target temperature through a lovelace card, it will update the displayed value on the screen around 10-15 seconds later.

Only point of critique, which I guess is general to all TRVs, is that temperature readings are showing too high a temperature as they measure right next to the radiator.

And this I have solved by making it adhere to external zigbee thermal readers.

Thank you!
Then I was looking at the correct spot.
In the firmware field i see 10c (which is odd since 10c in hexadecimal comes after 108, right?)

Regarding the update process, I followed the steps in the second post, placed the .ota in the correct directory and added that in the config but obviously the update process hasn’t started during the last two weeks.

Is there anything I can do manually to kickstart the update (using CC2652P+zha+HA) or should I just temporarily use my linux notebook with deconz and conbee II ?

It’s been a while since I updated it, but I actually have two files present in the OTA directory.
The files are identical, but naming is different. As far as I remember, it only would automatically update with one of them, but which one I don’t know.

So my suggestion is for you to duplicate the file and have the naming be as follows:
1246-0100-01080108.0002.ota
1246-0100-01080108.0002_(DF4ECCE1).ota

This allowed the devices to automatically update. Which they did within a few hours (perhaps you could restart the devices and your HA instance, to push things along).

I think there is a way to request them to update, but as I didn’t have any issues. I have not investigated this.

1 Like

It could also be some kind of compatibility issue between the TRVs, the CC2652P stick I am using and the zha-zigpy implementation.
If no one here has exactly this combination in place I would make a test run with the conbee instead of my current stick.

That is not unthinkable! I use the Conbee II myself.

Just to chime in, I just set up the Danfoss Ally TRVs with ZHA and a Conbee II last week. I was previously using Danfoss’s bridge and app, so I know I’ve got firmware 1.08. At first, I had a 5-15 minute delay between setting the temperature via the Lovelace card and the TRV actually adjusting. Perhaps a coincidence, but after applying the latest HA update (now at 10.3), it seems the TRVs now respond within a few seconds. So maybe the latest HA update solves some of your issues @massaquah?

My only mystery is that the TRVs often continue report they are still “heating” when I set the temperature much lower than the current measured temperature. Sometimes it switches to “Idle” after several hours, sometimes not. The radiators are indeed completely cold to the touch in this situation, and the display on the units themselves show the temperature I’ve set via Lovelace, so not sure the incorrect status has any consequence.

I followed your 4-step-guide with deconz but noticed something odd in the debug log:
OTAU_NO_IMAGE_AVAILABLE

Did you see that as well?