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.procon-ip

v1.9.0

Published

Adapter for basic support of the ProCon.IP pool control. Intended for integration with your voice assistant (eg. via the `cloud` adapter for Alexa or `yahka` for Apple HomeKit with Siri).

Readme

Logo

ioBroker.procon-ip

Number of Installations Current stable version NPM version

Test and Release Known Vulnerabilities Downloads

ioBroker adapter for the Pool Digital ProCon.IP swimming pool controller. It is intended for integration with your ioBroker home automation, eg. to build logic that involves other devices or to be paired with your favorite voice assistant(s):

  • You can use the cloud or IoT adapter for Alexa (and also Google Home, I think) and
  • yahka adapter as bridge to the Apple HomeKit to be reached by Siri or
  • use the javascript adapter to build your own custom logic.

See the wiki for more information.

What is the ProCon.IP pool controller?

The ProCon.IP pool control is a low budget network attached control unit for home swimming pools. With its software switched relays, it can control multiple pumps (for the pool filter and different dosage aspects) either simply planned per time schedule or depending on a reading/value from one of its many input channels for measurements (eg. i/o flow sensors, Dallas 1-Wire thermometers, redox and pH electrodes). At least there is also the option to switch these relays on demand, which makes them also applicable for switching lights (or anything else you want) on/off. Not all of its functionality is reachable via API. In fact there is one documented API for reading (polling) values as CSV (/GetState.csv). In my memories there was another one for switching the relays on/off and on with timer. But I cannot find the second one anymore. So not even pretty, but functional: The ProCon.IP has two native web interfaces, which can be analyzed, to some kind of reverse engineer a given functionality (like switching the relays).

For more information see the following link (sorry it's only in german; haven't found an english documentation/information so far):

Just to be clear: I have nothing to do with the development, sellings, marketing or support of the pool control unit. I just developed a solution to integrate such with ioBroker to make my parent's home a bit smarter.

Details on the adapter

The adapter uses the /GetState.csv API of the ProCon.IP to poll its values and another - not documented - API, that operates with bitwise commands to switch the relays. The second one is also used by the original web interfaces of the ProCon.IP. So there might be future firmware upgrades, that brake compatibility with this adapter or at least it functionality of switching the relays.

Compatibility

For now the adapter has been tested and developed in combination with the ProCon.IP firmware revision 1.7.6.a. But it should work with any prior newer/upcoming firmware version.

Development and participation

Feel free to contact me, if you wish to participate in development, translation or documentation of this adapter.

Useful links for the approach will be

Local testing with dev-server

For hands-on testing against a real ProCon.IP controller, use @iobroker/dev-server. It spins up a throwaway local ioBroker instance (js-controller + admin UI) and runs this adapter from your local build:

npm i -g @iobroker/dev-server   # once, globally
npm run dev:setup               # creates the local .dev-server/ profile (git-ignored)
npm run dev                     # builds, runs, admin UI at http://localhost:8081

Configure the instance with your controller URL in the admin UI. npm run dev rebuilds and reloads the adapter on source changes.

Donation

If you want to support this adapter or say thank you, you can:

Changelog

1.9.0 (2026-08-23)

  • DMX512 lighting support (opt-in). Enable "DMX512 channels" in the adapter settings to expose the controller's 16 DMX channels as writable 0–255 dimmer states (dmx.CH01 … dmx.CH16).
  • Self-healing object definitions. Objects are now updated on upgrade (via extendObject, versioned), so improved roles/types reach existing installations — while your custom object names are preserved.
  • Fewer redundant events. State values are written only when they actually change, and relay/dosage/timer commands are acknowledged immediately once the controller confirms them.
  • Subscriptions are narrowed to the writable command states, and the boolean status flags now use the indicator role.
  • Large internal refactor for testability: the monolithic adapter was split into a thin shell plus focused, unit-tested modules with a CI coverage gate. No functional change from this part.

1.8.1 (2026-08-22)

  • Fixed relay and DMX switching, which had silently stopped working since 1.8.0's move to the ProCon.IP 2.x library: the controller accepted a write with 200 OK but ignored it. Updated the library to 2.1.1, which sends the exact HTTP request format the controller's firmware requires. Reads were never affected.
  • Resilient startup: the adapter now comes up and keeps polling until the controller becomes reachable, instead of staying inactive when the controller was offline at boot time.
  • Fixed a corner case in the forced-update handling that could keep a relay flagged for updates.
  • Aligned the admin configuration defaults with the adapter's effective runtime defaults and fixed a help-text typo.
  • Maintenance: fixed the unit-test runner so tests actually execute, trimmed the CI test matrix, bumped CI actions (checkout/codeql), and pinned @types/node to the supported Node baseline.

1.8.0 (2026-08-22)

  • Raised the minimum Node.js version to 22 (Node 20 is end-of-life).
  • Updated the ProCon.IP library to 2.x, replacing its axios HTTP client with a leaner implementation and typed error handling.
  • Updated all dependencies and shrank the security-advisory backlog.
  • Internal cleanup: migrated off the deprecated setStateAsync API to setState.
  • Maintenance: adopted npm Trusted Publishing (OIDC), modernized the CI workflow, grouped Dependabot updates, and applied the latest ioBroker repository-checker fixes.

1.7.0 (2025-09-20)

  • Satisfy latest requirements demanded by the ioBroker-Bot.
  • Raise minimum required js-controller version to 7.0.7.
  • Raise minimum required admin version to 7.6.17.
  • Remove calls to deprecated methods.
  • Minor code cleanup.
  • Dependency updates.

1.6.0 (2024-09-08)

  • Fix versioning according to prior changes in requirements (should have happened with v1.5.5).
    • Raise minimum required js-controller version to 5.0.19.
    • Raise minimum required node version to 20.
  • Dependency updates.

Older changelogs can be found there

License

The MIT License (MIT)

Copyright (c) 2019-2026 Yannic Labonte [email protected]