npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

iobroker.harvia-fenix

v0.0.27

Published

ioBroker adapter for Harvia Fenix Sauna Control

Readme

ioBroker.harvia-fenix

Hier geht es zur deutschen Version der Dokumentation.

NPM version Downloads node License GitHub issues Test and Release Number of Installations Current version in latest repository Current version in stable repository

NPM

An ioBroker adapter to integrate and control your Harvia Fenix sauna control unit via the MyHarvia cloud infrastructure.

For more information about Harvia and their sauna control units, please visit the official Harvia website.


Prerequisites

To use this adapter, you need:

  1. A registered account within the official MyHarvia 2 smartphone application.
  2. Your valid login credentials:
    • Email Address
    • Password

Note: We recommend setting up a separate account for ioBroker in the Harvia 2 app and using those login credentials in the instance.


Device Configuration & Multi-Device Support

Automatic Discovery

If you leave the Device ID field in the adapter settings empty, the adapter will automatically search for devices linked to your account upon startup. It will use the first device it finds as the active unit. The detected ID will be printed to the ioBroker log.

Manual Device ID

For most users with a single sauna, automatic discovery is sufficient. However, it is recommended to copy the detected ID from the log and paste it into the configuration to ensure a stable connection to the specific hardware.

Note: Currently, the Device ID is not displayed anywhere within the MyHarvia 2 app interface.

Multiple Saunas

If your MyHarvia account manages multiple control units (e.g., one at home and one in a vacation cottage):

  1. Create a separate instance of the adapter for each sauna (e.g., harvia-fenix.0 and harvia-fenix.1).
  2. Manually enter the specific Device ID for each unit in its respective instance configuration. This allows you to monitor and control both saunas independently with their own set of datapoints.

Features & State Points

The adapter maps your sauna's cloud states into structured ioBroker datapoints under harvia-fenix.0.*.

Available Datapoints

| Datapoint | Type | Role | Access | Description | |---|---|---|---|---| | online | boolean | indicator.reachable | Read-only | Connection state of the control unit to the cloud. | | doorSafety | boolean | indicator.safety | Read-only | Safety loop status (e.g., true if the door is secure / safe to run). | | errorMsg | string | text | Read-only | Current error messages or status text from the heater. | | heatOn | boolean | switch.power | Read/Write | Main toggle to switch the sauna heater ON (true) or OFF (false). | | heaterPower | number | value.power | Read-only | Note: This object is provisioned by the MyHarvia API structure but is currently delivered as 0 kW (unpopulated). It appears to be reserved for future hardware or app updates. | | lightOn | boolean | switch.light | Read/Write | Toggle to switch the integrated sauna lighting ON or OFF. | | panelTemp | number | value.temperature | Read-only | The temperature reading measured at the physical control panel unit. | | targetTemp | number | level.temperature | Read/Write | Target temperature setpoint for the sauna cabin (e.g., 90 °C). | | temp | number | value.temperature | Read-only | The current ambient temperature inside the sauna cabin (e.g., 17 °C). | | readyNotified10Min | boolean | indicator | Read-only | Turns true when the sauna is approximately 10 minutes away from reaching the target temperature (13°C below target). | | targetReachedNotified | boolean | indicator | Read-only | Turns true when the sauna has successfully reached the configured target temperature. | | totalBathingHours | number | value.number | Read-only | Total historical cumulative hours the sauna has been actively used (h). | | totalOperatingHours| number | value.hours | Read-only | Total system operational running hours (h). | | totalSessions | number | value.count | Read-only | Counter for the total number of individual sauna heating sessions executed. |

Notifications & Automations

The adapter automatically calculates the heating progress and provides two indicator datapoints specifically designed for triggering push notifications (e.g., via Telegram, Pushover, or Alexa).

You can simply use a basic ioBroker script (JavaScript or Blockly) that listens to these states changing to true:

// Trigger for the 10-minute pre-warning
on({ id: 'harvia-fenix.0.readyNotified10Min', change: 'ne', val: true }, function () {
    const targetTemp = getState('harvia-fenix.0.targetTemp').val;
    sendTo('telegram.0', 'send', { text: `🧖 The sauna will reach its target temperature (${targetTemp}°C) in about 10 minutes.` });
});

// Trigger when the sauna is fully ready
on({ id: 'harvia-fenix.0.targetReachedNotified', change: 'ne', val: true }, function () {
    const targetTemp = getState('harvia-fenix.0.targetTemp').val;
    sendTo('telegram.0', 'send', { text: `♨️ The sauna has reached the target temperature of ${targetTemp}°C and is ready!` });
});

Note: These states will automatically reset to false when the heater is turned off or when a new heating session starts.


⚠️ CRITICAL SAFETY WARNING & DISCLAIMER

Remote operation of a sauna heater is subject to strict safety regulations! According to the European safety standard EN 60335-2-53 in conjunction with EN 60335-1, fire protection measures are mandatory for remote control setups. The sauna cabin must be equipped with an approved door sensor or a safety switch-off system. This ensures that the heater cannot be started remotely or via a timer if a flammable object (e.g., a towel) has been left on or near the heater.

  • No Liability: The developer of this adapter assumes absolutely no responsibility, warranty, or liability for any damages, fires, injuries, or legal issues resulting from the use or misconfiguration of this software. You operate this integration entirely at your own risk.

Compatibility Note

  • Supported: Harvia Fenix control units managed via the MyHarvia 2 mobile application.
  • NOT Supported: Harvia Xenio series (e.g., Xenio WiFi / CX001WIFI). The Xenio series relies on a legacy hardware ecosystem and uses the older "MyHarvia for Xenio" app, which is fundamentally incompatible with the API utilized by this adapter.

To-Do

  • [ ] Await official permission from Harvia to use their original logo
  • [ ] Add adapter to the official ioBroker latest repository
  • [ ] Add adapter to the official ioBroker stable repository

Changelog

WORK IN PROGRESS

  • (ioBroker-Bot) Adapter requires admin >= 7.8.23 now.

0.0.27 (2026-06-18)

  • (meistermopper) Corrected adapter category to 'climate-control' for repository compliance

0.0.26 (2026-06-17)

  • (meistermopper) Preparing 0.0.26 release

0.0.25 (2026-06-16)

  • (meistermopper) Removed remoteControl state (Fenix API limitation)
  • (meistermopper) Prevented ghost loops in polling process and improved adapter cleanup

Older changelog entries

Trademarks

Harvia and MyHarvia 2 are registered trademarks of Harvia Group. This adapter is an independent, community-driven open-source project and is neither officially endorsed, sponsored, nor supported by Harvia.

License

MIT License

Copyright (c) 2026 meistermopper [email protected]