Open-firenet: Local USB-CDC gateway for RIKA pellet stoves

Hi everyone,

Like many of you, I'm not a big fan of cloud-dependent appliances, especially when it comes to home heating. My RIKA pellet stove required their proprietary "Firenet 2.0" USB dongle to connect to their servers, with no official local API available.

To get around this, I spent some time reverse-engineering the official firmware and the USB communication. I've developed an open-source alternative called open-firenet.

Itโ€™s a custom firmware designed for an ESP32-S3 board. You just plug the ESP32 directly into the stove's USB port using a standard USB-A cable. The board emulates the original CDC device, tricks the stove into thinking it's the official dongle, and takes over the communication.

What it does:

  • 100% Local: No cloud account, no internet connection required. It works entirely on your LAN.
  • REST API: Exposes endpoints to get sensors (room temperature, etc.) and send controls (turn on/off, change operating modes, adjust target temperature or heating power).
  • Web Interface: Includes a lightweight web UI for manual testing and OTA firmware updates.
  • Native Provisioning: You can still use the stove's built-in screen to set up your WiFi credentials; the ESP32 catches them over the USB link.

How to integrate with Home Assistant:
For now, it works out of the box using standard rest sensors and rest_command in your configuration. Here is a quick example:


sensor:
  - platform: rest
    resource: http://open-firenet.local/api/sensors
    name: Stove room temperature
    value_template: "{{ (value_json.f0 | int / 10) | round(1) }}"
    unit_of_measurement: "ยฐC"

rest_command:
  rika_start:
    url: "http://open-firenet.local/api/controls?cmd=onOff%3D1%3B+operatingMode%3D1%3B+heatingPower%3D50%3B+tempRoomTarget%3D210%3B"

Hardware requirements:
You need a specific ESP32-S3 development board that exposes the native USB OTG pins on a USB-A socket (non-S3 variants won't work as they lack native USB device mode support).

The project is fully open-source, licensed under AGPL-3.0, and I've also documented the wire protocol in a PROTOCOL.md file inside the repository for those interested in the technical details.

You can find the code, hardware details, and flashing instructions here: Open Firenet

Feedback, pull requests, or questions from other RIKA owners are welcome!

1 Like

Update: Native Home Assistant Integration available via HACS!

Following the initial release of open-firenet, I've published a dedicated Home Assistant custom component that goes beyond the REST sensor/command approach.

What it provides:

  • A proper climate entity โ€” on/off, target temperature, preset modes (manual / auto / comfort), heating power
  • Current room temperature displayed directly on the thermostat card (read from the stove's sensor f0)
  • Dynamic sensors for all values reported by the stove
  • A connectivity binary sensor (bridge โ†” stove link)
  • Config flow UI โ€” no YAML needed, just enter the IP of your open-firenet bridge
  • Optimistic UI updates โ€” the interface reflects changes immediately

Installation via HACS:

  1. HACS โ†’ โ‹ฎ โ†’ Custom repositories
  2. Add GitHub - openfirenet/open-firenet-ha: Open Firenet โ€” Home Assistant integration for Rika pellet stoves via the open-firenet WiFi bridge ยท GitHub โ€” category: Integration
  3. Search Open Firenet โ†’ Download โ†’ Restart HA
  4. Settings โ†’ Devices & Services โ†’ Add Integration โ†’ Open Firenet

Repository: GitHub - openfirenet/open-firenet-ha: Open Firenet โ€” Home Assistant integration for Rika pellet stoves via the open-firenet WiFi bridge ยท GitHub

Feedback and PRs welcome!