Fermob Hoopik GL1200 — New BLE integration for Home Assistant (no hub, no cloud)

Hi everyone,

I've just released a custom integration to control Fermob Bluetooth lamps (Hoopik GL1200) directly from Home Assistant — no Fermob cloud account, no hub, no middleman.

How it works

The integration communicates directly over BLE using the Linkio protocol, reverse-engineered from the official Fermob app. Pairing happens once (~4 s), and subsequent reconnects are fast (~1 s).

Features

  • Local BLE control — fully offline
  • Auto-discovery via HA's native Bluetooth integration
  • Brightness control (full dimming support)
  • Physical button sync while the BLE connection is active
  • Clean unpair service (equivalent to "Forget" in the Fermob app)
  • Works with ESPHome Bluetooth proxies if your HA server has no built-in BLE

Installation via HACS

Add as a custom repository in HACS: https://github.com/edouardrosset/ha-fermob

Or manually copy the custom_components/fermob/ folder into your HA config.

Compatibility

Tested on the Hoopik GL1200. Other Fermob lamps using the Linkio BLE protocol (advertisement UUID 41C13060-6DEF-11E5-BCDE-0002A5D5C51B) may work — feedback welcome.

Feedback

This is a v0.1.0 — bug reports and PRs are very welcome on GitHub. If you have a different Fermob model and want to help expand support, open an issue with your debug log.

GitHub - edouardrosset/ha-fermob: Home Assistant integration for Fermob Bluetooth lamps (Hoopik GL1200) · GitHub

Cheers, Edouard

1 Like

I was able to use your integration to find a Fermob Lamp and it added the Lamp into HA right out of the gate, awesome! Turns out the MOOON! is tunable-white, while the integration only sends the Hoopik’s dimmable-white command; the two share the whole Linkio handshake and command header and differ only in the payload body (dimmable = one level byte, tunable = cold_white+warm_white). Wrote up the root cause and a tested fix — issue #1 and PR #2 (Add MOOON! tunable-white support (colour temperature) by fjcompiled · Pull Request #2 · edouardrosset/ha-fermob · GitHub). Colour temperature (3000–6000 K) + brightness both work now, and the Hoopik path is byte-for-byte unchanged. I’m having the Fermob Mooon Floor Lamp working in my HA thanks to your integration:


It would be interesting to know whether the Mooon Desk lamps would also work with that. However I’m not able to test/own these devices. One thing the App JS and android APK reverse engineer exercise showed, was potential support for other lamps as well:

Device-class table (from the app JS)

manufacturer_id = 7 (Fermob). led_mode = LEDS_MODE_COLOR = 1 for both families.

model_id product module_type LED family
3 Hoopik L1200 401 dimmable white
0,1,5,6,7,11 MOOON (H134/H63/Ø15/3ר15/Ø25/1ר15) 404 tunable white
2 Inoui 404 tunable white
8 Hoopik H24 404 tunable white
9,10 Aplo Premium / Moliare 404 tunable white

Would need confirmation/participation/testing from someone owning one of those lamps.
@ edouardrosset : Leaving you here with the review of my PR mentioned above, it should not temper with your Hoopik Lamp whatsoever and it’s working on my HA with this.
Cheers, FJ

@fjcompiled, thank you for this, genuinely great work.

Quick status update: I’ve reviewed PR #2 and requested one small change before merging. Testing your build on my own Hoopik surfaced an edge case, the name-based DW/TW fallback landed on the wrong side for my specific config entry name. Nothing wrong with your root-cause analysis, just a defaulting choice I’d rather flip to protect existing Hoopik installs. Left a suggested one-line fix on the PR, should be quick to apply.

If anyone here owns an Inoui, Hoopik H24, or Aplo Premium/Moliare (per FJ’s table above), testing reports would be very welcome before I mark those as supported. I’ll make my best to collect also these hardware on my side.

Thanks again !