[SOLVED] How do I get Danfoss Ally thermostat exposed in HA from deCONZ?

No Im only interested in logs from home assistant, the deconz logs are too low level. When hass starts the deconz integration a lot of network responses will be printed which among other things give a high level view of all devices paired with deconz, that’s what Im after.

Do you want the full deconz dump, or is this enough:

             '30': {'config': {'battery': 59,
                               'displayflipped': None,
                               'heatsetpoint': 2100,
                               'locked': None,
                               'mountingmode': None,
                               'offset': 0,
                               'on': True,
                               'reachable': True},
                    'ep': 1,
                    'etag': '6130553ac247174809bae47144ee23f8',
                    'lastseen': '2020-11-29T19:31Z',
                    'manufacturername': 'Danfoss',
                    'modelid': 'eTRV0100',
                    'name': 'Thermostat_stue_sofa',
                    'state': {'errorcode': None,
                              'lastupdated': '2020-11-29T19:28:40.665',
                              'mountingmodeactive': False,
                              'on': True,
                              'temperature': 2102,
                              'valve': 24,
                              'windowopen': 'Closed'},
                    'swversion': '01.02.0008 01.02',
                    'type': 'ZHAThermostat',
                    'uniqueid': '14:b4:57:ff:fe:d5:4e:77-01-0201'},
             '31': {'config': {'battery': 59, 'on': True, 'reachable': True},
                    'ep': 1,
                    'etag': '05f880e68da6c1fcadbc471c632e85c8',
                    'lastseen': '2020-11-29T19:31Z',
                    'manufacturername': 'Danfoss',
                    'modelid': 'eTRV0100',
                    'name': 'Thermostat_stue_sofa',
                    'state': {'lastset': '2020-11-24T21:03:15Z',
                              'lastupdated': '2020-11-29T16:25:50.359',
                              'localtime': '2020-11-29T17:25:45',
                              'utc': '2020-11-29T16:25:45Z'},
                    'swversion': '01.02.0008 01.02',
                    'type': 'ZHATime',
                    'uniqueid': '14:b4:57:ff:fe:d5:4e:77-01-000a'},
1 Like

I have put the entire log at haas start here: Haas log output (deconz) at startup

Awesome! Thanks

Hi, I’m in the same case using a danfoss ally and having the same errors

found this in ./storage/core_entity_registry

{
    "version": 1,
    "key": "core.entity_registry",
    "data": {
        "entities": [
            {
                "entity_id": "climate.thermostat_16",
                "config_entry_id": "67a2a532f694267da68b3fa624ac12a3",
                "device_id": "c7f0e1d2677119077494941aa428ecc7",
                "area_id": null,
                "unique_id": "84:2e:14:ff:fe:29:3d:2c-01-0201",
                "platform": "deconz",
                "name": null,
                "icon": null,
                "disabled_by": null,
                "capabilities": {
                    "hvac_modes": [
                        "auto",
                        "heat",
                        "off"
                    ],
                    "min_temp": 7,
                    "max_temp": 35
                },
                "supported_features": 1,
                "device_class": null,
                "unit_of_measurement": null,
                "original_name": "Thermostat salon",
                "original_icon": null
            },
            {
                "entity_id": "sensor.time_17",
                "config_entry_id": "67a2a532f694267da68b3fa624ac12a3",
                "device_id": "c7f0e1d2677119077494941aa428ecc7",
                "area_id": null,
                "unique_id": "84:2e:14:ff:fe:29:3d:2c-01-000a",
                "platform": "deconz",
                "name": null,
                "icon": null,
                "disabled_by": null,
                "capabilities": null,
                "supported_features": 0,
                "device_class": null,
                "unit_of_measurement": null,
                "original_name": "Thermostat salon",
                "original_icon": null
            }
        ]
    }
}

I don’t get what sensor.time_17 is for and i don’t see battery (in deconz also)
I’m also wondering if it’s possible to use an external sensor in the thermostat ? as the current temperature

thanks in advance

I’ve created a PR that will allow you to only turn on and off the thermostat together with controlling the temperature

Many thanks @Robban - will that allow for temp changes set in scenes ?

/Per

Can you set temperatures normally? If so it should work I guess.

Yes, I can set them manually, have checked that the thermostat receives the new setting, and reacts to it.

Then I’m not sure what you’re asking :slight_smile:

I can make a change manually in the interface - that makes the thermostat change.

The settings in scenes does not seem to work.

Do you mean a hass scene or a deconz scene?

it is a haas scene

Can you enabled hass debugging again and share logs when you trigger the scene?

Observation:
No what what scene I open - when I edit the thermostat, it shows the thermostat’s current temp setting, not what I have previously tried to configure.

If I alter the temp setting, a “save” does not appear

If I hit the “back arrow” on the scene, the error message I have shown in the screenshot appears.

I need to play some more with this, and come up with a precise description of the behaviour. I guess some of the problems go away, once you code changes are applied to the system.

@Robban I have joined the beta channel and updated to the last version 1.0.0b1 where I see your fix

Only two icons now show in the card, the flame and the power one. No error on both but they do nothing
And the set_temperature is not working anymore

Logger: homeassistant.components.websocket_api.http.connection
Source: components/deconz/climate.py:245
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:32:00 (4 occurrences)
Last logged: 15:34:13

    [140716040989568] /sensors/16/ could not set thermostat attribute
    [140715929999056] /sensors/16/ could not set thermostat attribute

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 135, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1445, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 593, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 630, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 544, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/usr/src/homeassistant/homeassistant/components/deconz/climate.py", line 245, in async_set_temperature
    await self._device.async_set_config(data)
  File "/usr/local/lib/python3.8/site-packages/pydeconz/deconzdevice.py", line 33, in async_set_config
    await self.async_set(field, data)
  File "/usr/local/lib/python3.8/site-packages/pydeconz/api.py", line 118, in async_set
    await self._request("put", field, json=data)
  File "/usr/local/lib/python3.8/site-packages/pydeconz/gateway.py", line 109, in request
    _raise_on_error(response)
  File "/usr/local/lib/python3.8/site-packages/pydeconz/gateway.py", line 225, in _raise_on_error
    raise_error(data["error"])
  File "/usr/local/lib/python3.8/site-packages/pydeconz/errors.py", line 58, in raise_error
    raise cls("{} {}".format(error["address"], error["description"]))
pydeconz.errors.RequestError: /sensors/16/ could not set thermostat attribute

I’ve reverted back to 0.118.5 and I still have the issue with set_temperature
Unfortunately it doesn’t seem like i can easily revert to 0.118.4

There are no thermostat changes between.4 and.5

Right, seems like Deconz bugged big time, restarted it and now i can set temperature again
Will try again 1.0.0b1 tomorrow

1 Like

Did the upgrade to the beta channel again, and the set temperature is still working
For the turn_off, turn_on and set_hvac_mode while they no longer cause error they do nothing.

At the moment I’m not really happy with my danfoss ally, can only change temperature and the internal sensor is an utter crap, always 3° above my two others sensors (and that when there is no sun)

Is there somewhere i can find which zigbee thermostat valve is the best for HA ?