watchforstock / evohome-client

Python client to access the Evohome web service
Apache License 2.0
88 stars 52 forks source link

Current thermostat status? #112

Closed martin3000 closed 3 years ago

martin3000 commented 3 years ago

Is it possible to see the status fo the thermostat, if is currently on or off? client.locations[0].status() only shows {'locationId': '2161422', 'gateways': [{'gatewayId': '959681', 'temperatureControlSystems': [{'systemId': '168563', 'zones': [{'zoneId': '168564', 'temperatureStatus': {'temperature': 23.0, 'isAvailable': True}, 'activeFaults': [], 'setpointStatus': {'targetHeatTemperature': 23.0, 'setpointMode': 'TemporaryOverride', 'until': '2020-09-25T17:00:00Z'}, 'name': 'THERMOSTAT'}], 'activeFaults': [], 'systemModeStatus': {'mode': 'Heat', 'isPermanent': True}}], 'activeFaults': []}]}

watchforstock commented 3 years ago

Not that I'm aware of. The best you can do it get the current temperature and the target temperature and assume that if the current < target then it's attempting to heat.

zxdavb commented 3 years ago

@martin3000 I am not sure exactly what you mean. The thermostat has no 'on' or 'off' - either the temperature it is measuring is above it's setpoint or not - maybe you meant the controller?

However, actuators (e.g. a TRV) do call for heat - so they can be 'on' - they will also have a demand from 0-100%.

The relay controlling the heat source (e.g. a gas boiler, or a communal heat source) will also be 'on' or 'off', at a relative ratio determined by heat demand, cycle rate, dead bands, optimizations etc.

None of this information (call for heat, heat demand) is exposed by the vendor's RESTful API (either version) and it is impossible to reliably 'emulate' this data using the data that is available via the API - I have tried.

However, you can do it by eavesdropping the RF protocol that these devices use to speak with each other, see: https://github.com/zxdavb/evohome_rf

This package is for Python, and a Home Assistant integration is in play, and something similar exists for Domoticz.

martin3000 commented 3 years ago

Thank you both!