Skip to content

Latest commit

 

History

213 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exvent for Homey

Homey app to control and monitor Exvent eWind and eAir ventilation systems, and units with EDA automation behind a Freeway WEB adapter, over Modbus TCP.

Features

  • Live readings every 60 seconds: fresh/supply/extract/exhaust air temperatures, extract air humidity, heat recovery efficiency (supply and extract), how hard heat recovery and after-heating work, fan speed level, temperature setpoint and season
  • Status and mode (Home / Away / Fireplace / Enhanced ventilation / Boost / Off), heating coil (running and enabled) and heat exchanger states, eco mode, A and B alarms with the active alarm as text, and days until filter change
  • Control from the device UI or Flows: set mode, target temperature, eco mode and heating coil; boost as the device's quick action; reset the filter reminder under Maintenance
  • Flow cards: actions (set mode, start boost or fireplace mode for a number of minutes, temperature, eco mode, heating coil, reset filter change reminder), conditions (mode, fan speed level, heating coil, heat exchanger, A and B alarm, the unit boosting on its own) and triggers (mode changed, heating coil changed, heat exchanger changed, A and B alarm, days until filter change below a limit). The changed triggers offer "any" and give the new value as a token
  • Device settings written to the unit and kept in step with its panel: fireplace mode duration, boost duration (eWind) and days between filter changes
  • The mode history in Insights, and a warning on the device when the unit has not answered for three polls
  • eAir: the effective supply and extract fan speeds in percent

EDA units

Units with EDA automation, connected through a Freeway WEB adapter, have their own driver and a few extras:

  • Overpressure instead of Fireplace in the mode list, and as the device's quick action, with its duration as a setting and a Flow card
  • Season control: allow or block heating and cooling, and the outdoor temperatures that block them
  • Fan level in percent, set with a slider or a Flow card (units with EC fans), next to the level in effect
  • Heat pump readings: cooling active and defrosting
  • Service reminder on or off, and its interval

EDA units have no eco mode, Enhanced ventilation mode, boost quick action, controller output, season or countdown to the next filter change.

Modes

  • Home and Away stay until the mode is changed.
  • Fireplace (overpressure) ends by itself after the fireplace duration in the device settings, and Boost after the boost duration. Both go back to Home.
  • Enhanced ventilation is Home at fan speed level 3. It also shows when the unit boosts on CO₂, humidity or temperature by itself; the condition The unit is boosting on its own tells the two apart.
  • Off stops the unit. A stop from the panel or by an A alarm shows as Off too.
  • Mode changed fires whether the mode was changed from Homey, a flow, the panel or the unit itself. A change on the panel shows at the next poll, within a minute.

Setup

  1. Activate Modbus TCP on the ventilation unit (in the eWind/eAir panel or app).
  2. Give the unit a static IP address (DHCP reservation) in your router.
  3. Add the device in Homey and enter the unit's IP address and port (default 502).

For EDA units, open the Freeway WEB adapter's web interface, go to Configuration → Access control configuration, enter your Homey's IP address as the Modbus/TCP client and save. The adapter accepts Modbus connections from that one address only, so give Homey a static IP address too, and add the device with the adapter's IP address.

Reliability

  • Registers are read in a handful of batched Modbus requests per poll to keep the load on the unit's Modbus module low, with automatic fallback to individual reads
  • Writes are serialized through a queue with spacing between commands, so simultaneous Flows and manual changes can't conflict. A write that times out is sent again; an action card fails when its writes do not get through, so a flow can react
  • Automatic reconnection with backoff when the unit drops off the network, with a 10-second limit on each attempt; a confirmation poll a few seconds after every command shows the unit's actual state
  • The pairing view tests the connection first and explains what is wrong, and lets you add the unit anyway

Development

TypeScript, Homey SDK v3. Pull requests are welcome.

npm ci
npm test                                # unit tests (node --test)
npm run lint                            # eslint with Athom's homey-app rules
npx homey app validate --level publish  # full validation
npx homey app run                       # run against your own Homey

Use npx homey app run --remote with an EDA unit. Without --remote the app runs in Docker on your computer, and the Freeway WEB adapter refuses the connection because it only accepts Homey's IP address.

CI validates every push and publishes tagged releases (v*) to the Homey App Store.

docs/README.md describes the EDA register map and what has been verified against a live unit.

Credits

The EDA driver was contributed by Magnus Fonn Tømte.

About

Control your Exvent ventilation system via Homey and Modbus TCP

Resources

Code of conduct

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages