That makes a lot of sense. I think exposing those buttons should be fairly easy. I don’t know what the command is for Advance Period…
I’ve re-read the documentation. It shouldn’t be very hard to
- Expose all components and actions as buttons and switches
- Expose the temperature sensor as a sensor
- Expose the Zones and their function (in case of multi-set where each zone can have different temps) as extra controls/entities, e.g. temp sensors and buttons/switches incl. buttons to increase/decrease their set points.
With the lovelace you seem to use, one could then build a control fully suited to their respective setup.
Just tested the approach and added an overall On/Off switch that way in a branch. https://github.com/funtastix/rinnaitouch/tree/expose_entities
Rinnai also market this system under the Brivis brand. So when you do publish this wider it might be handy to include that to get some more exposure.
It’s not actually hard to expose all those entities. I’ve given it a start on the expose_entities branch. I don’t have zones, so I cannot test it. There’s a bit more to do, but it’s really straight forward, as the functionality is mostly there in the library or easily added:
Need to still add
- Manual/Auto Switch
- Advance Period button
- inc/dec temp buttons (could do this for zones as well)
- inc/dec comfort buttons (for evap)
- inc/dec fan buttons
- water pump switch
- fan switch
- temp sensor
- set temp sensor
- zone temp sensors
- zone set temp sensor
If all those are exposed, building the UI in any way you like seems fairly easy.
It’s a good point about the brand. I’ve actually got a Brivis branded system myself…
the zone buttons are actually exposed as climate devices. My zones are simply on/off. They do not support their own temps…
As far as my brivis system goes, it is fairly simple. It is heater only with 2 x zones. No evap or cooling. It does have fan mode… so I can run that independently… though in practice not really used.
I upgraded to the NC7 last week. I believe integration to the wifi touch to be more consistent. My NC6 was having a problem, so I replaced it.
Well done on extending to full functionality… I’ll keep an eye on this to see how you are getting along. I suspect it is a lot of work to make it complete.
I was thinking to expose the zones as climate entities. Shouldn’t be hard. I think I’ll have that done in the next day or two.
Nice progress.
My system is a gas heating and evap. + 3 zones
If you need some tests to run through the different modes, happy to assist.
I’ve pushed a fairly large update to the develop branch (https://github.com/funtastix/rinnaitouch/tree/develop), much of which I cannot test in my system. It contains a lot of entities for zones:
- ClimateEntities for each zone (all zones are added, but only the installed ones are enabled)
- Temperature sensors for the system and for each zone
- Switches for each zone
- Switches for each mode
- Advance button for the system and the zones
- On/Off switches for the zones
- A binary sensor for prewetting for evap mode
I’ve also organised myself with what’s in progress and what I’m still planning to do: https://github.com/funtastix/rinnaitouch/projects/1
I will appreciate any testing contributions. I am happy to push this to master as is and pre-release it, but a bit of testing will be good.
With all the entities added, there is still a bit of work to co-ordinate between them. They are all accessing the same underlying system object, but they update at their own will, so I am still looking into how to address that.
Would you be able to test if the NC7 temperature comes through now and if possibly the zones report their temperatures? You’d need to check out the develop branch, as that contains the updates for zones and temperature sensors.
I think I’m not far off. Missing the circulation fan switch, still. Getting my head around how it works. I have to say, I’m learning a lot of the capabilities of the system that I never really knew about. It’s pretty great.
Apart from that, @Chase07450 you should be able to copy your homebridge setup completely, and possibly more.
I have done as much testing as I can, but I expect bugs. Still released it as 0.4.0 so it’s more widely accessible without git.
A number of additions for that release:
- added sensors for temperature, target temperature, pre-wetting
- added all zones as separate climate entries
- added a select entity to switch presets (heat, cooling, evap)
- added switches for system on/off, manual/auto, preset modes, water pump
- added advance button
- added a small event system to make updates get to the UI faster and more consistently
keep up the good work. I am a little distracted with the impact from recent hailstorms… dealing with the damage. Will get back to this when things settle down.
No worries. Hope things are not too bad. Here’s a summary of what the integration can do so far:
PS: I don’t have cooling nor zones, so I’m mocking zone A and B with the main climate entity, but there’s an entity for each zone.
Hi…
I installed the integration… but a few bugs popped up and did not get very far. Perhaps best to take this conversation to discord, to help debug.
When adding the integration, it assumes the device is called Zone D.
With regards to entities, It seems to recognise zone c and d, however all I have is zone a and b.
Got a type error when I tried to power up the thermostat.
Logger: homeassistant.helpers.entity
Source: custom_components/rinnaitouch/climate.py:645
Integration: Rinnai Touch (documentation, issues)
First occurred: 7:44:34 AM (12 occurrences)
Last logged: 7:53:08 AM
Update for climate.rinnai_touch_2 fails
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 521, in async_update_ha_state
await self.async_device_update()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 725, in async_device_update
raise exc
File “/config/custom_components/rinnaitouch/climate.py”, line 408, in async_update
await self._system.GetStatus()
File “/config/custom_components/rinnaitouch/pyrinnaitouch/system.py”, line 550, in GetStatus
self.OnUpdated()
File “/config/custom_components/rinnaitouch/pyrinnaitouch/system.py”, line 31, in call
eventhandler(*args, **keywargs)
File “/config/custom_components/rinnaitouch/climate.py”, line 449, in system_updated
self.async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 539, in async_write_ha_state
self._async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 574, in _async_write_ha_state
attr.update(self.state_attributes or {})
File “/usr/src/homeassistant/homeassistant/components/climate/init.py”, line 261, in state_attributes
self.current_temperature,
File “/config/custom_components/rinnaitouch/climate.py”, line 645, in current_temperature
if temp < 999:
TypeError: ‘<’ not supported between instances of ‘str’ and ‘int’
I’m back from various travels and home repairs, and availalbe to help testing…
I’ve been spending a little less time due to some other commitments, but back on it now:
Released https://github.com/funtastix/rinnaitouch/releases/tag/0.6.1 to fix the issues and add configuration for zones. Found it hard to detect zones, as they are only visible when in the mode that has actual zones, so made it a user choice during setup.
I’m not on discord, but will react quickly to issues raised in Github: https://github.com/funtastix/rinnaitouch/issues
finally got around to solve connectivity problems and add circ fan controls (not on multi-set zones, yet).
this makes things pretty usable and complete
Note, I’ve currently have the circ fan running at 8 ( I don’t know how to remove the unit unfortunately )
What card configs are people using for this integration?