{"id":37227856,"url":"https://github.com/rsnodgrass/hass-lunos","last_synced_at":"2026-01-15T03:24:29.528Z","repository":{"id":38464253,"uuid":"228299254","full_name":"rsnodgrass/hass-lunos","owner":"rsnodgrass","description":"LUNOS HRV Ventilation Fan Control for Home Assistant","archived":false,"fork":false,"pushed_at":"2026-01-10T20:44:20.000Z","size":10367,"stargazers_count":29,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-11T05:47:23.156Z","etag":null,"topics":["homeassistant","hrv","hvac","lunos","smart-home-solutions","ventilation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rsnodgrass.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"rsnodgrass","patreon":"rsnodgrass","custom":["https://buymeacoffee.com/DYks67r","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=WREP29UDAMB6G"]}},"created_at":"2019-12-16T04:00:23.000Z","updated_at":"2026-01-10T20:44:24.000Z","dependencies_parsed_at":"2024-07-19T08:29:48.149Z","dependency_job_id":"56b40232-1d05-4d5c-9066-14e1946ef6d4","html_url":"https://github.com/rsnodgrass/hass-lunos","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/rsnodgrass/hass-lunos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsnodgrass%2Fhass-lunos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsnodgrass%2Fhass-lunos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsnodgrass%2Fhass-lunos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsnodgrass%2Fhass-lunos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rsnodgrass","download_url":"https://codeload.github.com/rsnodgrass/hass-lunos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rsnodgrass%2Fhass-lunos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homeassistant","hrv","hvac","lunos","smart-home-solutions","ventilation"],"created_at":"2026-01-15T03:24:26.811Z","updated_at":"2026-01-15T03:24:29.522Z","avatar_url":"https://github.com/rsnodgrass.png","language":"Python","funding_links":["https://github.com/sponsors/rsnodgrass","https://patreon.com/rsnodgrass","https://buymeacoffee.com/DYks67r","https://www.paypal.com/cgi-bin/webscr?cmd=_donations\u0026business=WREP29UDAMB6G"],"categories":[],"sub_categories":[],"readme":"# LUNOS Heat Recovery Ventilation for Home Assistant\n\n![release_badge](https://img.shields.io/github/v/release/rsnodgrass/hass-lunos.svg)\n![release_date](https://img.shields.io/github/release-date/rsnodgrass/hass-lunos.svg)\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-orange.svg)](https://github.com/hacs/integration)\n![beta_badge](https://img.shields.io/badge/maturity-Beta-yellow.png)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[🥈](https://www.home-assistant.io/docs/quality_scale/)\n[![Buy Me A Coffee](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://buymeacoffee.com/DYks67r)\n\n[Community Support](https://community.home-assistant.io/t/lunos-heat-recovery-ventilation-hrv-fan-control/157287)\n\n\n\nProvides control of decentralized [LUNOS Heat Recovery Ventilation fans](https://foursevenfive.com/blog/lunos-faq/) using any [Home Assistant](https://www.home-assistant.io/) compatible smart relays.\nThe design of the LUNOS low-voltage fan controller uses a pair of physical switches (W1/W2) to turn on/off\nventilation, set fan speeds, and to toggle various additional modes such as summertime ventilation, exhaust only modes, etc. See the LUNOS installation details for more information on [how the LUNOS wall switches are installed](https://youtu.be/wQxiYQebs10?t=418).\n\nWhile this LUNOS integration allows control of the fan modes through Home Assistant apps, web consoles, and connected voice assistants\nsuch as Alexa, the real power comes in supporting a wide variety of automation opportunities when paired with other third-party sensors:\n\n* set LUNOS speeds to maximum when high humidity, CO2, VOCs, or radon is detected\n\n* keeping LUNOS running at lower speeds, EXCEPT when air quality issues are detected, could provide a balance between LUNOS fan noise (which is already a very quiet fan) and maintaining optimal fresh indoor air quality\n\n* increase LUNOS fan speeds to high when kitchen smoke alarm detects smoke\n\n* if outside temperature is closer to target temperature on thermostats, engage exhaust only modes in LUNOS devices to expel indoor air (drawing in temperature that is closer to target from leaks in the building envelope or open windows/doors)\n\n* turn off LUNOS air circulation when house vacation mode is set, and re-activate LUNOS air circulation whenever motion is detected (or someone arrives at the house)\n\n* turn off LUNOS air circulation if outside air quality is detected as being very poor (e.g. nearby forest fires or pollution)\n\n* automatically turn on summer ventilation mode when house is set to sleep mode (and return to normal operating mode upon wakeup or specific time during the day)\n\n## Community Help\n\nThere is no official support for this add-on and is community supported within the **[Home Assistant LUNOS discussion thread](https://community.home-assistant.io/t/lunos-heat-recovery-ventilation-hrv-fan-control/157287)**.\nIf you have any proposed changes or bug fixes, please code them and create pull requests for your patches to the [hass-lunos GitHub repository](https://github.com/rsnodgrass/hass-lunos).\n\n## Installation\n\nVisit the Home Assistant community if you need [help with installation and configuration of LUNOS Fan Control]().\n\n### Step 1: Install Custom Components\n\nThe easiest way to install (and ensure you are always running the latest version), first setup\n[Home Assistant Community Store (HACS)](https://github.com/custom-components/hacs), and then add the \"Integration\" repository: rsnodgrass/hass-lunos\n\n### Step 2: Configure Home Assistant\n\nLUNOS Controllers require a pair of switches (W1 and W2) to control the speed of the fans (as well as other features).\nConfiguration is required to assign the Home Assistant accessible W1 and W2 switches for the fan controller to use in\noperating the LUNOS fan controller.\n\n#### Configuration Variables\n\n- **name** (*Optional*): Friendly name for this fan controller\n- **relay_w1** (*Required*): HASS entity id for the relay switch that is connected as W1 to the LUNOS controller\n- **relay_w2** (*Required*): HASS entity id for the relay switch that is connected as W2 to the LUNOS controller\n- **controller_coding** (*Optional*): Indicates the manual coding the LUNOS controller is set to (default=e2-usa; see [lunos-codings.yaml](custom_components/lunos/lunos-codings.yaml))\n- **fan_count** (*Optional*): Number of fans connected to this LUNOS controller\n- **default_speed** (*Optional*): Default speed when this LUNOS fan is turned on without any speed indicated\n\n#### Configuration Example\n\nThis example configuration assumes that the relay switches are already setup in Home Assistant, since that setup differs\nsubstantially depending on the type of relay hardware being used (e.g. Tasmota MQTT vs WeMo Maker).\n\n```yaml\nfan:\n  - platform: lunos\n    name: Basement Ventilation\n    relay_w1: switch.lunos_basement_1\n    relay_w2: switch.lunos_basement_2\n\n  - platform: lunos\n    name: Bathroom Fan\n    default_speed: high\n    controller_coding: ego\n    relay_w1: switch.lunos_bathroom_1\n    relay_w2: switch.lunos_bathroom_2\n```\n\n### Step 3: Add Lovelace Card\n\nThe following is a basic Lovelace card using the [fan-control-entity-row](https://community.home-assistant.io/t/lovelace-fan-control-entity-row/102952) customization:\n\n![LUNOS Simple Example](https://github.com/rsnodgrass/hass-lunos/blob/master/img/single-fan-control-example.png?raw=true)\n\n```yaml\n- entity: fan.lunos_bathroom\n  type: custom:fan-control-entity-row\n```\n\nAnd another example with multiple LUNOS ventilation fans and ability to turn on/off the entire house:\n\n![LUNOS Simple Example](https://github.com/rsnodgrass/hass-lunos/blob/master/img/lunos-fan-control-example.png?raw=true)\n\n```yaml\ntype: entities\ntitle: LUNOS Ventilation\nentities:\n  - entity: fan.lunos_basement\n    name: Basement\n    type: 'custom:fan-control-entity-row'\n  - entity: fan.lunos_bedrooms\n    name: Bedrooms\n    type: 'custom:fan-control-entity-row'\n  - entity: fan.lunos_bathroom\n    name: Master Bathroom\n    type: 'custom:fan-control-entity-row'\n```\n\n## Automation\n\n### Supported Services\n\n* **lunos_turn_summer_ventilation_on** (only for supported LUNOS e2 models)\n* **lunos_turn_summer_ventilation_off**\n* **lunos_clear_filter_change_reminder**\n\n### Examples\n\nWhile using NodeRED can be used to easily create sophisticated (and often easier to understand) ventilation\nautomation, the following examples showcase a few automations that adjust LUNOS fan speeds based on occupancy\nor air quality issues:\n\nTurn on fans when someone arrives:\n\n```yaml\nautomation:\n  - alias: \"Turn on LUNOS ventilation fans on when anyone arrives home\"\n    trigger:\n      - platform: state\n        entity_id: group.people\n        to: \"home\"\n    action:\n      - service: fan.turn_on\n        entity_id: \"fan.lunos\"\n        data:\n          speed: \"high\"\n```\n\nTurn LUNOS ventilation fan to highest speed when high humidity is detected:\n\n```yaml\nautomation:\n  - alias: \"Turn basement LUNOS ventilation on maximum speed if high humidity is detected\"\n    trigger:\n      - platform: foobot\n        entity_id: sensor.basement_humidity\n    condition:\n      condition: numeric_state\n      entity_id: sensor.basement_humidity\n      above: 55\n    action:\n      - service: fan.turn_on\n        entity_id: \"fan.basement_lunos\"\n        data:\n          speed: \"high\"\n\n# similar automation required to turn LUNOS to lower speed setting once humidity is within tolerance\n```\n\nThese same strategies can be used with any Home Assistant compatible devices that track humidity ([ecobee](https://smile.amazon.com/ecobee3-lite-Smart-Thermostat-Black/dp/B06W56TBLN?tag=rynoshark-20), [Nest thermostat](https://amazon.com/Nest-T3007ES-Thermostat-Temperature-Generation/dp/B0131RG6VK/?tag=rynoshark-20)) or,\neven better, using air quality measuring devices ([Airthings](https://amazon.com/Airthings-2930-Quality-Detection-Dashboard/dp/B07JB8QWH6/?tag=rynoshark-20), [AirVisual IQAir](https://amazon.com/IQAir-AirVisual-Temperature-Real-Time-Forecasting/dp/B0784TZFRW/?tag=rynoshark-20), [Foobot](https://amazon.com/Foobot-Quality-Monitor-Homeowners-Renters/dp/B06Y8VLCH8?tag=rynoshark-20)) that measure CO2, VOCs, etc.\n\n## Hardware Requirements\n\n* LUNOS e2 HRV fan pairs or [LUNOS eGO HRV fan](https://foursevenfive.com/blog/introducing-the-lunos-ego/)\n* LUNOS Universal Controller\n* Home Assistant compatible relay\n\nThe LUNOS Universal Controller (5/UNI-FT) is powered by a 12V transformer (e.g. the Mean Well #RS-15-12 12V/1.3A/15.6W).\nTo power more than one LUNOS Controllers and fan sets (plus powering a ESP8266 based WiFi relay) from a single transformer,\nit is recommended the LUNOS included 12V transformer be upgraded to a larger unit. For example, the\n[Mean Well #RS-50-12](https://amazon.com/MEAN-WELL-RS-50-12-Supply-Single/dp/B005T8WCHC?tag=rynoshark-20) transformer produces up to 50W at 12V.\n\n#### LUNOS Controller Models\n\n| Model    | Number | DIPS | Power          | Notes |\n|----------|:------:|:----:|----------------|-------|\n| [5/UNI](https://www.youtube.com/watch?v=wQxiYQebs10) | 39975 | None | 60W max load, 12VDC, 5A | Thru April 2022 |\n| [5/UNI-FT](https://www.lueftung-shop.de/WebRoot/Store10/Shops/62067764/5665/7B9D/A50F/5108/9D00/C0A8/2ABA/F36B/UNI-FT.pdf) | 40089 |  4   | 60W max load, 12VDC, 5A | European?|\n| [5/UNI-FR](https://www.youtube.com/watch?v=JqGWZRYL3q0) | 40269 |  4   | 60W, 12VDC, 5A | April 2022 onwards; released to support e2-60 |\n\n#### WiFi Smart Relays\n\nIMPORTANT: The pair of smart switches CANNOT be 120V switches as they MUST NOT be connected to any power source. For non-smart\ninstallations, the LUNOS Universal Controller typically has non-electrified rocker switches connected as switche W1 and W2. These\nare relay switches only and not powered. Any smart switches connected the LUNOS Universal Controller must be relay switches only\nwith no chance that the LUNOS Controller would be electrified.\n\nWhile single-channel WiFi relays can be purchased, for centralized control of several LUNOS zones (using several LUNOS Controllers),\npurchasing multi-relay modules typically costs less than separate single-channel relays.\n\nExample relays compatible with Home Assistant:\n\n| Model | Relays | Communication | Manual Buttons | Power |\n|-------|:------:|:-----------------:|:--------------:|-------|\n| [WiFi Relay Switch Module](https://amazon.com/Channel-Momentary-Inching-Self-Locking-Control/dp/B08211H51X/?tag=rynoshark-20) | 4 | Tasmota | Y | 5V USB |\n| [Denkovi 8 Relay Ethernet Module](http://denkovi.com/snmp-eight-relay-board-for-temperature-measurement-lm35dz-v2) | 8 | SNMP | N | 12VDC |\n| [MHCOZY 4CH-CS01 4-channel WiFI wireless switch](https://amazon.com/Channel-Momentary-Inching-Self-lock-Controller/dp/B071KFX63R/?tag=rynoshark-20) | 4 | Tasmota | N | 5-32V |\n| [LC Technology 4X WiFi Relay (12V ESP8266)](https://www.banggood.com/DC12V-ESP8266-Four-Channel-Wifi-Relay-IOT-Smart-Home-Phone-APP-Remote-Control-Switch-p-1317255.html) | 4 | Tasmota | N | 12V |\n\n#### Tasmota Setup\n\nAfter flashing your multi-channel WiFi relay with Sonoff, you must connect to it via the Sonoff WiFi to access the Sonoff\nweb configuration interface.\n\n* configure the Sonoff relay device to connect to your WiFi network\n* enable auto-discovery (for automatic Home Assistant integration)\n* configure the MQTT broker host/user/password that your Home Assistant instance uses\n* configure the [Tasmota switches](https://github.com/arendst/Tasmota/wiki/Buttons-and-switches)\n\nIn the Sonoff web interface Console, turn on auto discovery (option 19) so Home Assistant can find your relays:\n\n```\nSetOption19 on\n```\n\nThen you must configure in Sonoff web interface the address and username/password for the\nMQTT broker that Home Assistant uses.\n\nFor more information on flashing ESP8266 based relays:\n\n* https://community.home-assistant.io/t/diy-cheap-3-esp8266-based-wifi-relay-switch-with-mqtt/40401\n* https://github.com/arendst/Tasmota/wiki/LC-Technology-WiFi-Relay\n\n#### Example Wiring with [MHCOZY 4CH WiFi RF Wireless Switch Relay](https://amazon.com/gp/product/B07TDJG2GJ?tag=rynoshark-20)\n\n![LUNOS 4-Chan WiFi Case Example](https://github.com/rsnodgrass/hass-lunos/blob/master/img/lunos-switch-case.png?raw=true)\n\nYou need to put the 4-Channel smart relay into latching mode. Depending on the size of your 12V transformer, the MHCOZY can also be powered off the same 12V transformer used by the LUNOS controllers.\n\nThe only downside of the relay switch is that the four pins (GND, VCC, TXD, RXD) are solder filled which makes it difficult to temporarily hook up wires to flash Tasmota.\n\n#### Example Wiring with ESP8266 WiFi Relay\n\nThe following is an example connecting a [LC Technology 12V ESP8266 Four-Channel WiFi Relay](https://www.banggood.com/DC12V-ESP8266-Four-Channel-Wifi-Relay-IOT-Smart-Home-Phone-APP-Remote-Control-Switch-p-1317255.html) to the LUNOS Controller.\nAdditional controllers that should work including the [Sonoff 4CH](https://amazon.com/Sonoff-4CH-Appliances-independently-Compatible/dp/B071JB5LXR?tag=rynoshark-20).\n\n![LUNOS ESP8266 Example](https://github.com/rsnodgrass/hass-lunos/blob/master/img/lunos-esp8266.png?raw=true)\n\n### Wireless and Alexa Integration\n\nOne idea for a clean physical LUNOS switch installation is assigning a [Lutron Caséta Pico Fan Speed Controller](http://www.lutron.com/TechnicalDocumentLibrary/Caseta_Fan_Control_Sell_Sheet.pdf) (PD-FSQN-WH-R) to a\nLUNOS fan within Home Assistant allows extremely slick and simple control of a LUNOS fan in a single gang outlet box in\nan occupied space. The larger W1 and W2 control switches can then be \"hidden\" in a utility room or closet.\n\nAdditionally, once added to Home Assistant, LUNOS fan speeds can be configured to be controlled by\nAlexa or other voice enabled smart speaker.\n\n## Currently Not Supported\n\n* attribute indicating current ventilation mode: [standard, summer, exhaust-only] (standard = hrv)\n* special handling of exhaust only ventilation mode (eGO models)\n* fan controller modes that support a fourth flow rate (either when it can never be shut off, *OR* the turbo mode when W1 is pressed twice)\n* LUNOS type RA 15-60 radial duct fan\n* [LUNOS Smart Comfort Control 5/SC-FT](https://www.lunos.de/files/Downloads/Einbauanleitungen/Funktionsbeschreibung_Folientastatur.pdf)\n\n#### LUNOS Control4 KMX Module Consistency\n\nIdeally, we would update this integration to follow naming/conventions similar to what LUNOS provides with the the Control4 [KMX](https://www.home-assistant.io/integrations/knx/) module (which, btw, may provide an alternative way of integrating LUNOS ventilation with Home Assistant).\n\n* Comfort mode (HVAC)\n* Standby operation (HVAC)\n* Night operation (HVAC)\n* Temperature protection mode (HVAC)\n* Shock ventilation (extended HVAC mode)\n* Sleep (Off) (extended HVAC mode)\n* Summer mode (switch object)\n* Night operation (switch object)\n\n## Known Issues\n\n* IMPROVEMENT: manual fan speed changes are not immediately detected (only on 30 second interval updates)\n\n## Future Ideas\n\n* allow setting direction of fans individually (async_set_direction), exhaust only, balanced intake air for fireplace, etc (flag SUPPORT_DIRECTION)\n* add more of the control features patterned off the [LUNOS 5/SC-FT](https://www.lunos.de/files/Downloads/Einbauanleitungen/Funktionsbeschreibung_Folientastatur.pdf)\n\n## See Also\n\n* [Home Assistant LUNOS support discussion](https://community.home-assistant.io/t/lunos-heat-recovery-ventilation-hrv-fan-control/157287)\n* [LUNOS Ventilation FAQ](https://foursevenfive.com/blog/lunos-faq/)\n* [Intro to LUNOS Heat Recovery Ventilation](https://foursevenfive.com/blog/introduction-to-lunos-e-heat-recovery-ventilation/)\n* [LUNOS Operating Manual](https://foursevenfive.com/content/product/ventilation/lunos_e2/operating_manual_lunos_e2.pdf)\n* [LUNOS](https://www.lunos.de/en/) (official site) and [475 High Performance Supply](https://foursevenfive.com/lunos-e/) (USA LUNOS distributor)\n* [LUNOS Control4 KMX module](https://www.lunos.de/en/product/control4-e/) (KNX-LUNOS-CONTROL4) appears to offer sensor data such as indoor/outdoor temp\n* [eWeLink Sonoff Device Control in Home Assistant](https://sonoff.tech/product-review/tutorial/how-to-add-your-sonoff-devices-on-home-assistant/)\n* [LUNOS Advanced Controller Settings - 40269](https://store-b79re8owlk.mybigcommerce.com/content/product/ventilation/lunos_e2/advanced_controller_settings_guide.pdf)\n\n## Support\n\nThis integration is maintained in my free time. Sponsorship directly funds new device support and faster updates.\n\n[![Buy Me a Coffee](https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg)](https://buymeacoffee.com/DYks67r)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsnodgrass%2Fhass-lunos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frsnodgrass%2Fhass-lunos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frsnodgrass%2Fhass-lunos/lists"}