tonyroberts / hawundasmart Goto Github PK
View Code? Open in Web Editor NEWWundaSmart Integration for Home Assistant
License: MIT License
WundaSmart Integration for Home Assistant
License: MIT License
The Wunda app allows for Wunda room schedules to be overridden with a set temp for a set time.
This is great for boosting a room's temp for a few hours but not worrying about returning it to the schedule.
Would be great if a service allowed for this behaviour to be exposed to Hass.
The integration is not working for me. I managed to caught these logs.
Traceback (most recent call last):
File "/config/custom_components/wundasmart/pywundasmart.py", line 45, in get_devices
async with _get_semaphore(wunda_ip), \
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 1141, in __aenter__
self._resp = await self._coro
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 560, in _request
await resp.start(conn)
File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 894, in start
with self._timer:
File "/usr/local/lib/python3.11/site-packages/aiohttp/helpers.py", line 721, in __exit__
raise asyncio.TimeoutError from None
TimeoutError
Current Behaviour:
No room thermostat associated with a room results in the climate sensor showing 0 for temp and 0 for humidity.
Expected Behaviour:
Match the Wunda app. When no room thermostat is available, an average of the TRV temperatures are used and the humidity is null/hidden
Context:
TRVs from syncvalues.cgi
32;1699602272;s:1;t:TH3K;v:1.2;vpos:0;vtemp:17.90;bat:100;sig:100;room_id:2;vpos_min:10;vpos_range:40;downforce:0;alarm:0;trv_range:680;
33;1699602273;s:1;t:TH3K;v:1.2;vpos:0;vtemp:19.60;bat:100;sig:88;room_id:2;vpos_min:5;vpos_range:40;downforce:0;alarm:0;trv_range:580;
Room from syncvalues.cgi
123;1699602318;t_lo:17.00;t_norm:19.00;t_hi:25.00;heat:4;temp_pre:4;prg:0;lock:0;temp:0.00;ntemp:-1.00;ntime:0;es_avgtime:0;zone:2;relays:0;hb0:0;hb1:0;enable:123;tmax:27;tmaxh:5;settime:7200;pic:1;loc_in:1;loc_out:3;alarm:0;name:FF%20Hallway;tbl:000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
https://community.home-assistant.io/t/wunda-smart-heating/356842/52
@pink88 has already done some work on this in their fork here https://github.com/pink88/hawundasmart
Current Behaviour:
Given a room has been manually set to off (in the Wunda app),
the target temperature correctly pulls through to the climate sensor as 0,
however the climate mode is set to 'heat'
Expected Behaviour:
Given a room has been manually set to off (in the Wunda app),
the target temperature should pull through to the climate sensor as 0,
and the climate mode should be set to 'off'
(My deduction is as follow.. )
Expected Behaviour:
When hvac_mode changes, hvac_action value should be checked against the hub and updated accordingly. (As per Wunda app behaviour)
E.g.
When hvac_mode changes from Auto to Off where the hvac_mode was 'heat', then the hvac_mode when checked should now be reporting as 'off'.
When hvac_mode changes from Off to Heat, then hvac_action should also be reporting as 'heat'.
When hvac_mode changes from Off to Auto (where schedule requires heat), then hvac_action should be reporting 'heat'.
Current Behaviour:
When hvac_mode changes, hvac_action doesn't appear to be be checked/updated. hvac_action appears to update a number of minutes later.
This causes confusion as it's reporting incorrect status, whereas the Wunda app reports this instantly.
When setting a manual target temperature the error below appears and preset mode is set to 'null'.
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:230
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:45:46 pm (3 occurrences)
Last logged: 10:45:46 pm
[140337819701696] Unsupported Preset mode
[140337625076672] Unsupported Preset mode
[140337622834112] Unsupported Preset mode
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 230, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service
return await target(service_call)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
return await service.entity_service_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call
response_data = await _handle_entity_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/config/custom_components/wundasmart/climate.py", line 328, in async_set_preset_mode
raise NotImplementedError(f"Unsupported Preset mode {preset_mode}")
NotImplementedError: Unsupported Preset mode
I guess we need a preset mode called manual that is set when a temp is manually set?
If this is the case, the do we need to define the behaviour of what happens when that preset is user selected? If so, then I think the behaviour when switching from auto -> heat works quite nice - the target temp is set to 2 deg above current temp (rounded to the nearest whole number I think).
Updating every minute is overkill for most applications. It would be good if this could be set in the config.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.