ramses_rf icon indicating copy to clipboard operation
ramses_rf copied to clipboard

Add 22F1 and 22F3 to HVAC FAN device class

Open tomkooij opened this issue 2 years ago • 3 comments

An Orcon RF15 display can send 22F1 and 22F3 commands to HRC Fan unit, which can relay these commands to a SmartComfort valve. Hence FAN devices can send 22F1 and 22F3.

tomkooij avatar Jul 28 '22 14:07 tomkooij

@zxdavb I'm not sure this needs tests. If so, please point me in the right direction and I'll add it.

tomkooij avatar Jul 28 '22 14:07 tomkooij

I am not sure I want to do it this way. I think I'd rather create a new entity that is a FAN/REM hybrid.

So, in device\hvac.py:

classHvacVentilatorDual(HvacVentilatorBase, HvacRemoteBase):  # DUA

Although, the above is a very simplistic hint of what I would do... Some tidy-up would be required, e.g. you wouldn't want faking.

classHvacRemote(Fakeable, HvacRemoteBase):  # REM
classHvacVentilator(HvacVentilatorBase):  # FAN

What we're saying, above is that there's a device that is a FAN, and a REM.

known_devices:
  35:12345: {class: DUA}

In the upper layer, you can then do things like:

if isintance (device, HvacRemoteBase)

This is OK, because I already have plans for extending FAN into HRU, CVE & PIV.

All the above is an architectural issue - so, we don't want to get it wrong.

zxdavb avatar Jul 29 '22 11:07 zxdavb

@zxdavb It is certainly much more robust that way. It will probably be easier to identify FAN devices if we assume they never send fan speed commands.

I'll try to implement when time permits.

tomkooij avatar Jul 29 '22 15:07 tomkooij