Im having a go at creating a custom integration for my heat recovery ventilation system. I’ve ended up with a bunch of sensors, switches and and services since there is (IMHO) no proper entity to represent an HRV/ERV system.
HRV/ERV systems (called FTX here in Sweden) enable recovering energy from exhaust air and are quite the norm here in northern Europe in newly built houses. Their primary function is to regulate air exchange (while recovering energy from exhaust air) as opposed to HVAC systems that regulate temperature. If the incoming air is too cold, an auxiliary heater turns on to compensate.
An HRV/ERV system typically feature the following
Control
Temperature preset, sets the temperature of supply air
Typically: ECO,Normal,Comfort
Ventilation preset, sets the level of air exchange
Typically: Away, Normal, Boost
Utility mode, special functionality
Typically: Fireplace mode, Cooking mode, might be others as well depending on manufacturer
Auxiliary heating
Turns auxiliary heater on or off
Cooling
Turns cooling recovery on or off
State/Attributes
Exhaust air temperature
Intake air temperature (outside temperature)
Supply air temperature
Supply air target temperature
Auxiliary heater temperature
Auxiliary Heater power (Watts or percentage)
Supply fan speed (RPM or percentage)
Exhaust fan speed (RPM or percentage)
Supply air humidity
Exhaust air humidity
Heat exchanger efficiency
The closest thing in Home assistant seems to be the Climate entity.
Not quite sure i follow, grouping behaviour and state into entities makes sense to me in many cases, given that they represent systems common enough and not niche products. There is already an entity for botvacs for example.
Climate entity is nice but the code looks like it’s aimed towards heating/cooling more than Ventilation.
Fan looks a little basic.
My current approach is a bunch if interconnected switches and and something a bit more coherent would be nice.