This is way above what I can comprehend. But it appears that your unit doesn’t recognize the zigbee attributes of the script. And if you have the same firmware (1.08) and values as mine above, I am out of ideas.
All except finding the right place at Github to log the issue.
Ha ha that’s fair enough. I can see that useing remote sensors for temperature is featured in a couple of forums, so fingers crossed it will be trivial soon. I will try to fool around with it for a bit, and see if I can get your script at automation working.
So, I have spent some time checking all options. YAML is pretty annoying for a newbie like me, with the indentation. Anyways I now have most of the setup working. That is automation runs script correctly, and the script updates the “external_measured_room_sensor” on the Danfoss. Yet still no luck getting the Danfoss to do anything with this external temperature. Sigh…
However, it did get me thinking, what is the response time? I have fairly quickly warmed/cooled my external sensor to test it, but should I expect e.g. 15 min before the Danfoss react?
Just as a sidenote, there seems to be a ton of options for the Danfoss you can (perhaps) use. In this attempt with the external temperature, it is
To check if it’s actually working, you can read the value off of the TRV in the cluster. My server is crashed right now and I’m not at home, so I can’t explain the exact steps, but you need to find the TRV under entities and fiddle around there.
It does take a while for the motor to react, so you can’t test it quickly. You need to trust that if the value is set (you can read it in the cluster), it’s working.
Thanks, I did indeed fiddle around reading the cluster values, and yes it does read the external sensor temperature. I will then assume it works, but still see if I can come up with a more efficient test setup that last longer - just to be sure.
I created a small cold box and put the external sensor in there. I was pretty disappointed when nothing happened for 2 hours. But then I got a suspicion, and sure enough the Danfoss uses a mean of its own temperature and the external. Duuuh! Actually double duh, as you nslrThor Jacobsen specifically mention it here.
So, as you can see in the attached images it works as intended. And nice feature that it is not on/off but actually gradually opening/closing.
Anyway, it works now, and it is usually within few minutes, so acceptable. That it actually uses an average is fine I guess – I might strive to position external sensors in the opposite site of the room. Otherwise, I might be able to figure something out in an equation to make the avarage temperature equal to the external sensor.
Just adding to previous sidenote, I added to open/close window for fun, at it works perfectly, i.e., closes off the Danfoss. All credits go to wormie_dkDavid Alberg Peters who mentioned it here
ally1_open:
alias: 'Danfoss Ally 1: open window'
sequence:
- service: zha.set_zigbee_cluster_attribute
data:
ieee: [IEEE of your Danfoss Ally TRV]
endpoint_id: 1
cluster_id: 513
attribute: 16387
cluster_type: in
value: 1
manufacturer: '4678'
mode: single
ally1_close:
alias: 'Danfoss Ally 1: close window'
sequence:
- service: zha.set_zigbee_cluster_attribute
data:
ieee: [IEEE of your Danfoss Ally TRV]
endpoint_id: 1
cluster_id: 513
attribute: 16387
cluster_type: in
value: 0
manufacturer: '4678'
mode: single
The description states the following:
Recommended to be received from Gateway at least
every 3 hours but not more often than every 30 minutes @
every 0,1K change
After 3 hours the function is disabled and goes back to
standard mode
So that range is meant to be in degress Kelvin rather than Celsius? Your template seems to not do this conversion.
Can you confirm the behaviour at your end?
I wonder if this is referring to 100 value e.g. 0.1K, and nothing to do with temperature
No, I did not add any conversions of any kind. I’ve never noticed the docs referring to temp changes in degress Kelvin - but AFAIR a change of 1 degree Kelvin is equal to 1 degree Celcius. They just have different definitions of zero.
Also, I haven’t updated my hardware to the latest firmware, so not sure if that’ll break something for me.
Thanks for your reply. Yes you are correct, 1 degree will always be 1 degree. The value though will mean something else. The spec is obviously not clear enough whether it means 0.1k degrees or 0.1k as in 0.1 x 1000 = 100 points of value.
Can you please confirm, the value you are sending? For example 22.5C you would send 2250?
I am hopeful that the value means 1000s and no conversion is needed, otherwise the internal mechanism will definitely not behave as expected. But given that every other attribute of the device is specified in C, i doubt they would have done something silly for this one.
Same here. I sent them a support request. I’ll write back if I get it, but I hope they just update the available download and make it available for everyone.
Hej @bjorn.sivertsen, I’m a newbie with Home Assistant. Your thermostat card looks great and better suited than the default one for what we’re doing here. I guess you wrote it yourself? Would you mind sharing the code? Thanks!
Thanks!
Now I am testing the scripts with my Danfoss TRV (firmware 1.12) but it does not seem to be working. I put my external temp sensor outdoors to simulate low temp so that it would trigger TRV to start heating, but nothing happens and the radiator remains cold. Could you please have a look at the details below, perhaps you could spot any mistakes I made?
I set my TRV to maintain 20 degrees. I know that this setting works, as it immediately starts heating if TRV internal sensors measures temperature below 20 degrees. During testing below TRV internal temp sensor was measuing ~21 degrees.
I put external temp sensor outdoors to simulate low temperature and at the time it was measuring 18.30 degrees.
Automation triggered script ran, but heating did not start. According to trace information it seems that 18.3 temperature was sent to the TRV: