Electrolux/AEG Hob²Hood to Faber bridge

Version 1.2.4 can translate the infrared commands emitted by a compatible Electrolux or AEG Hob²Hood hob into commands understood by the tested Faber hood. Translation runs entirely on AR01V3. Home Assistant is optional and is not part of the local command path.

Main-page controls

The Hob²Hood / Faber section contains three persistent switches:

The switches are independent. Translation can run without Home Assistant, the Home Assistant device can be used for manual control without translation, and the daylight policy can be enabled only where it is wanted. All three default to off and their values are stored in NVS. An upgrade preserves the first two existing values; the newly added Light by HA switch starts off.

Command mapping

Hob²Hood command Faber command
Fan 1 short Power press
Fan 2 Minus / speed 2
Fan 3 Plus / speed 3
Fan 4 4(i) / intensive
Fan off long Power press
Every Faber fan command a burst of three identical frames with 50 ms of silence between frames
Light on one Light frame, 340 ms pause, then a second Light frame (about 358 ms between frame starts)
Light off the same two frames, then a third Light frame after a further 1500 ms pause

Recognized fan repeats are forwarded rather than deduplicated. Identical light set commands repeated by the hob are coalesced for 30 seconds so one target request cannot start the whole toggle sequence repeatedly; the opposite light command is accepted immediately. The fixed Faber waveforms are stored in program flash and do not use any of the ten persistent IR slots. Transmission uses a 38 kHz carrier.

The light sequence reflects the verified behavior of the target hood. Each logical Light press transmits exactly one complete frame. Two frames started about 358 ms apart leave the lamp on, while a third frame sent after a further 1500 ms pause leaves it off. While any sequence is active, new fan and light commands are rejected instead of being queued, so commands cannot overlap or run immediately after an earlier macro.

For the first 15 seconds after every gateway restart, all Faber transmission is blocked. This prevents startup state restoration or Home Assistant synchronisation from accidentally operating the hood, especially toggling its light. The ESP32 RMT driver also initializes the IR output in its inactive state.

The AR01V3 IR receiver is muted before every locally transmitted Faber frame. This prevents the gateway from decoding its own light toggle and incorrectly inverting the estimated state sent to Home Assistant.

Home Assistant state

The optional Faber device contains:

Fan and light states are estimates, not feedback from the hood. AR01V3 updates them after commands received from Hob²Hood, sent by Home Assistant, or recognized from the Faber remote. A missed infrared frame, a physical hood button, or a remote used outside the AR01V3 receiver’s range can make the reported state differ from reality. The next recognized command reconciles the estimate as far as that command allows.

Home Assistant presentation

The visible status entity lets an automatically generated Home Assistant area show a separate Faber device section. Without additional frontend setup, Home Assistant uses its normal fan and light entities.

The repository also includes the optional home-assistant/faber_hood_more_info.js frontend helper. It replaces the separate Faber fan, light and status cards in the automatically generated area with one Hood tile. Opening the tile shows one native-style control with fan power, speeds 1–4 and light together. It does not create a dashboard or panel. Installation is described in home-assistant/README.md.

Diagnostics remain on the normal Faber device page. The helper discovers the Faber device through Home Assistant’s registry and therefore does not require hard-coded room-specific entity IDs.

Optional daylight policy from Home Assistant

Local translation remains autonomous, but Home Assistant can optionally block only an automatic Hob²Hood Light on request while it is bright. The policy never blocks fan commands, Hob²Hood Light off, manual control from the Faber Home Assistant device, or the physical Faber remote.

Because the Faber light command is a toggle, an automatic Hob²Hood Light off is not transmitted when AR01V3 already estimates the lamp as off. In particular, when daylight policy blocks light-on at hob startup, the delayed light-off sent after hob shutdown is consumed without running the Faber macro, so the lamp does not flash. Manual Home Assistant and Faber-remote commands are not subject to this safeguard.

A blocked automatic Light on remains pending while the hob is active. If the selected sensor falls to the allow threshold (or sun.sun changes below the horizon) before the hob sends Light off, AR01V3 runs the normal light-on sequence. The later Light off clears any pending request and turns the lamp off only when AR01V3 estimates that it was switched on. Manual light control, disabling translation or disabling Light by HA also cancels the pending request. A brightness increase never turns an already-on lamp off.

The repository contains:

Every compatible AR01V3 automatically subscribes to the same policy. There is no gateway selector in the automation. Only gateways with local Hob²Hood-to-Faber translation and Light by HA enabled use the value.

With an illuminance sensor, the user configures one threshold, defaulting to 200 lx. Automatic light-on is allowed at or below that value. The blocking threshold is the configured value plus one third, with a minimum 10 lx gap. Between the two limits the previous decision is kept, so the default gives a 200/about 267 lx hysteresis without exposing another setting. If the selected sensor is unavailable, the previous decision is retained for 30 minutes and then sun.sun is used. Selecting sun.sun directly allows the light below the horizon and blocks it above the horizon.

The policy sensor changes every minute so AR01V3 can detect a stale Home Assistant connection. If no valid refresh is received for five minutes, if the package or automation is absent, or if the policy is unavailable, firmware fails open and allows automatic light-on. A Home Assistant failure therefore cannot disable the original local bridge indefinitely.

Installation and GUI configuration are described in home-assistant/README.md.

Compatibility

The Hob²Hood timings follow the known Electrolux/AEG command set. The output waveforms come from the supplied Faber remote captures and are confirmed for the tested installation. Other Faber models or remote revisions may use different waveforms and must be verified before relying on this bridge.