Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

freeathome-local-api-client

pgerke271MIT1.8.0TypeScript support: included

A client library for the BUSCH-JAEGER free@home local API implemented in TypeScript

free@home, freeathome, buschjaeger, busch-jaeger, abb, smarthome, api-client, typescript

readme

freeathome-local-api-client

A client library for the BUSCH-JAEGER free@home local API implemented in TypeScript.

CI codecov Quality Gate Status Dependencies npm License

If you are using Golang, feel free to check out the Go implementation of this library here!

Installation

You can install the package from npmjs.com:

npm install --save freeathome-local-api-client

Features

  • Connect to your B+J System Access Point 2.0 and control it using the local API.
  • The complete local API is supported!
  • Read the configuration, the device list and any datapoint offered by any device connected to the system
  • Control your devices by setting new values for data points
  • Hybrid library supporting ESM as well as CommonJS
  • 100% covered by automated unit tests

Usage Requirements

  • A free@home System Access Point 2.0 running firmware > v3.0
  • Local API has to be enabled for the user account to be used

Documentation

The client library is documented using JSDoc, the generated documentation is available at https://pgerke.github.io/freeathome-local-api-client/. There is also a sample project illustrating the use of the library can be found at https://github.com/pgerke/freeathome-local-api-sample. It illustrates usage for ESM as well as CommonJs.

I found a bug, what do I do?

I'm happy to hear any feedback regarding the library or it's implementation, be it critizism, praise or rants. Please create a GitHub issue or drop me an email if you would like to contact me.

I would especially appreciate, if you could report any issues you encounter while using the library. Issues I know about, I can probably fix.

If you want to submit a bug report, please check if the issue you have has already been reported. If you want to contribute additional information to the issue, please add it to the existing issue instead of creating another one. Duplicate issues will take time from bugfixing and thus delay a fix.

While creating a bug report, please make it easy for me to fix it by giving us all the details you have about the issue. Always include the version of the library and a short concise description of the issue. Besides that, there are a few other pieces of information that help tracking down bugs:

  • The system environment in which the issue occurred (e.g. node version)
  • Some steps to reproduce the issue, e.g. a code snippet
  • The expected behaviour and how the failed failed to meet that expectation
  • Anything else you think I might need

I have a feature request, what do I do?

Please create a GitHub issue or drop me an email!

Non-Affiliation Disclaimer

This library is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by Busch-Jaeger Elektro GmbH or ABB Asea Brown Boveri Ltd or . All product and company names are the registered trademarks of their original owners. The use of any trade name or trademark is for identification and reference purposes only and does not imply any association with the trademark holder of their product brand.

License

The project is subject to the MIT license unless otherwise noted. A copy can be found in the root directory of the project LICENSE.


Made with ❤️ by Philip Gerke

changelog

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.8.0 - 14.09.2025

Added

  • #128: Add dual module system testing support (ESM/CommonJS)
  • #128: Add separate test build configuration with tsup
  • #128: Add jasmine-spec-reporter for improved test output visibility

Changed

  • #128: Migrate ESLint to flat config format with latest TypeScript rules
  • #128: Update Jasmine testing framework to latest version
  • #128: Modernize TypeScript configuration with improved module resolution
  • #128: Add separate test scripts for ESM and CommonJS execution
  • #128: Update GitHub Actions workflow for dual module testing

1.7.0 - 23.07.2025

Changed

  • NO TICKET: Bump dependencies

1.6.1 - 17.05.2025

Fixed

  • #77: Fixed an issue that caused multiple websocket keep alive timer to be configured simultaneously

1.6.0 - 16.05.2025

Added

  • #75: Added a keepalive timer to the websocket connection that prevents the channel from being closed for being idle

1.5.0 - 11.05.2025

Added

  • #71: Add dependabot configuration
  • #73: Add GitLeaks scan job

Changed

  • NO-TICKET: Dependency bump

1.4.16 - 22.03.2025

Added

  • #65: Release workflow and development tooling enhancement

Changed

  • NO-TICKET: Bump dependencies

1.4.11 - 28.12.2024

Added

  • #61: Add a SonarQube scan

1.4.10 - 02.12.2024

Changed

  • #59: Migrate build system from webpack to tsup
  • #59: Bump dependencies and migrate to latest ESLint
  • #59: Upgrade GitHub Actions

1.4.9 - 24.08.2024

Changed

  • #57: Bump dependencies

1.4.8 - 16.07.2024

Changed

  • #54: Bump dependencies

1.4.6 and 1.4.7 - 01.06.2024

Changed

  • #52: Bump dependencies

1.4.4 - 27.01.2024

Changed

  • #48: Bump dependencies

1.4.3 - 18.12.2023

Changed

  • #46: Bump dependencies

1.4.0 - 19.09.2023

Added

  • #37: Updated the models to comform to the specification provided with firmware version v3.2.2.

1.3.10 - 06.05.2023

Changed

  • Bump dependencies

1.3.3 - 06.08.2022

Changed

1.3.1 - 21.07.2022

Changed

  • Bump dependencies

1.3.0 - 18.06.2022

Added

  • PG-189: The SystemAccessPoint is now an EventEmitter emitting, for example, websocket events.

Fixed

1.2.0 - 16.06.2022

Added

  • PG-183: Add interface checkers for device and channel
  • PG-172: Support injection of external logger instance
  • PG-175: Provide a hybrid ESM/CommonJS library

1.1.2 - 13.05.2022

Changed

  • Bump dependencies

1.1.1 - 31.05.2022

Added

  • PG-147: Added badges to README: CI Status, Coverage, Dependency Vulnerabilities, latest npm version and license

Changed

  • Bump dependencies

1.1.0 - 24.05.2022

Added

  • PG-143: Support Experimental API

1.0.1 - 13.05.2022

Changed

  • PG-147: Setup SonarQube Scanner and fix identified issues

1.0.0 - 09.05.2022

Added

0.2.0-pre - 04.05.2022

Added

  • Initial version
  • PG-137: Support web socket communication