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.salus

v0.1.5

Published

ioBroker adapter for Salus Smart Home & iT600 heating systems (UGE600 gateway)

Readme

Logo

ioBroker.salus

NPM version Downloads Test and Release License

ioBroker adapter for Salus Smart Home & iT600 underfloor heating (FBH) with Universal Gateway (UGE600 / UG600 / UG800).

Communicates 100% locally with the Salus Gateway via encrypted local HTTP API (AES-256-CBC) without relying on cloud services.


Features

  • Local Communication: No cloud connection required. Direct communication with the Salus Gateway on the local network.
  • Thermostat Support (SQ610, SQ610RF, TS600, HTRP-RF, etc.):
    • Live Current Temperature (value.temperature)
    • Set Target Temperature (level.temperature) with 0.5 °C accuracy
    • Relative Humidity reading (value.humidity)
    • Heating Active indicator (indicator.working)
    • Operating Mode / Hold Type (level.mode.thermostat: Auto/Schedule, Permanent Hold, Standby/Off)
    • Keypad Lock status and control (switch.lock)
    • Battery level (for wireless battery thermostats)
    • Online/Reachable status (indicator.reachable)
  • Underfloor Heating Wiring Centers (it600WC / KL08RF / KL04RF):
    • Online status and RF connection metrics (RSSI / LQI)
    • Fault & error code reporting (ErrorCodeWC_d)
  • Gateway Metrics:
    • Gateway LAN MAC, model, firmware version, and connectivity state.
  • Modern UI: Built-in responsive jsonConfig.json settings panel for ioBroker Admin.

Prerequisites & Gateway Setup

  1. Local Wi-Fi Mode: Make sure Local Wi-Fi Mode is active on the Gateway:
    • Open the Salus Smart Home app.
    • Tap your Gateway -> Settings (gear icon).
    • Verify that "Disable Local WiFi Mode" is set to No.
  2. Fixed IP Address: Assign a fixed IP address or DHCP reservation to your Salus Gateway in your router.

Configuration

In the ioBroker Admin panel for the salus instance:

| Field | Description | Default | |---|---|---| | Gateway IP Address | The local IP address of your UGE600 (e.g. 192.168.0.28) | Required | | Gateway EUID | The EUID of your gateway. In local Wi-Fi mode, this is usually 0000000000000000. If that fails, enter the 16-character hex code found on the sticker under the gateway. | 0000000000000000 | | Polling Interval | Time in seconds between status polls (min: 10, recommended: 30) | 30 |


State Objects

Thermostats (salus.0.thermostats.<uniId>.*)

| State | Type | Role | R/W | Unit | Description | |---|---|---|---|---|---| | currentTemperature | number | value.temperature | R | °C | Current room temperature | | targetTemperature | number | level.temperature | R/W | °C | Target heating temperature (5.0 – 35.0 °C) | | humidity | number | value.humidity | R | % | Relative room humidity | | heating | boolean | indicator.working | R | - | true when the heating circuit is active | | holdType | number | level.mode.thermostat | R/W | - | 0 = Schedule, 2 = Permanent Hold, 7 = Off | | locked | boolean | switch.lock | R/W | - | Keypad lock active / toggle | | online | boolean | indicator.reachable | R | - | Zigbee online status of the thermostat | | battery | number | value.battery | R | % | Battery level (battery-operated models) | | model | string | info.model | R | - | Model identifier (e.g. SQ610) | | firmware | string | info.firmware | R | - | Installed firmware version |

Wiring Centers (salus.0.wiringCenters.<uniId>.*)

| State | Type | Role | R/W | Description | |---|---|---|---|---| | online | boolean | indicator.reachable | R | Reachable status | | errorCode | string | info.status | R | Hardware error code (0000 = normal) | | hasError | boolean | indicator.alarm | R | true if any hardware error is detected | | rssi | number | value.signal | R | Last message signal strength (dBm) |


Smart Home Integration (HomeKit, Lovelace, Alexa)

Because this adapter follows official ioBroker roles:

  • Apple HomeKit (Yahka): Map currentTemperature to CurrentTemperature, targetTemperature to TargetTemperature, and heating to CurrentHeatingCoolingState.
  • ioBroker.lovelace: Auto-detects thermostats as Climate entities.
  • ioBroker.iot (Alexa / Google Assistant): Assign targetTemperature and currentTemperature directly.

Changelog

0.1.5 (2026-11-01)

  • (2K-Darkness) Prevent objects.jsonl bloat by creating objects once via setObjectNotExistsAsync with in-memory caching

0.1.4 (2026-10-29)

  • (2K-Darkness) Add folder objects for device categories and align RSSI state role to value.rssi for repochecker compliance

0.1.3 (2026-10-26)

  • (2K-Darkness) Automated release with package provenance via GitHub Actions

0.1.2 (2026-10-26)

  • (2K-Darkness) CI/CD testing pipeline update and package validation

0.1.1 (2026-10-26)

  • (2K-Darkness) Repository compliance update (Node.js 22, admin translations, js-controller and admin dependencies)

0.1.0 (2026-10-26)

  • (2K-Darkness) Initial release
  • Direct local AES-256 encrypted communication with Salus UGE600 gateway
  • Auto-detection and full read/write support for SQ610 thermostats
  • Auto-detection of it600WC underfloor heating wiring centers
  • JSON configuration panel for ioBroker Admin

License

MIT License

Copyright (c) 2026 2K-Darkness [email protected]

See LICENSE for full license text.