# knx.js

> KNXnetIP (KNX over IP) deriver for nodejs.

Latest version **0.7.5** (published 2022-02-02) · Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license · 0 weekly downloads

## Install

```sh
npm install knx.js
pnpm add knx.js
yarn add knx.js
bun add knx.js
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.7.5 |
| Published | 2022-02-02 |
| First published | 2015-08-27 |
| Weekly downloads | 0 |
| License | Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 69.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 22 |
| Author | Alexander Borovsky |
| Maintainers | aborovsky, ykornilov |
| Keywords | knx, eib, eibd, house automation |

## Links

- npm: https://www.npmjs.com/package/knx.js
- Repository: https://github.com/estbeetoo/knx.js
- Homepage: https://github.com/estbeetoo/knx.js#readme
- Issues: https://github.com/estbeetoo/knx.js/issues
- npm.io page: https://npm.io/package/knx.js

## Dependencies (1)

- [promise](https://npm.io/package/promise.md) ^7.0.4

## Recent versions

- 0.7.5 (latest) — 2022-02-02
- 0.7.4 — 2019-02-17
- 0.7.2 — 2017-11-28
- 0.7.1 — 2017-10-02
- 0.7.0 — 2017-01-23
- 0.6.12 — 2017-01-23
- 0.6.11 — 2016-06-24
- 0.6.10 — 2016-06-21
- 0.6.8 — 2016-05-18
- 0.6.7 — 2016-03-24
- 0.6.4 — 2016-02-11
- 0.6.3 — 2016-02-11
- 0.6.2 — 2016-02-11
- 0.6.1 — 2016-02-11
- 0.6.0 — 2015-09-30
- … 15 more at https://npm.io/package/knx.js/versions

## README

KNXnetIP (KNX over IP) deriver for nodejs.
 
Based on https://github.com/lifeemotions/knx.net

Right now it not tested in all directions, but KnxConnectionTunneling is working.
One can find Usage example, it tested with KNXnet/IP router: ABB IPR/S 2.1.

# Install

* go to npm's package dir
* `npm i knx.js --save`
* or `yarn add knx.js --save`
 
# Usage

```
const KnxConnectionTunneling = require('knx.js').KnxConnectionTunneling;
let connection = new KnxConnectionTunneling('192.168.2.222', 3671, '192.168.2.107', 13671);

connection.on('event', event => console.log('Event received', event));
connection.on('status', status => console.log('Status received', status));

let lightValue = false;
const toggleLight = () => {
  lightValue = !lightValue;
  connection.Action('1/0/0', lightValue);
};

connection.Connect(function () {
  setTimeout(toggleLight, 2000);
  setTimeout(toggleLight, 5000);
  setTimeout(() => connection.Disconnect(), 7000);
});
```
 
# License

![Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png "CC BY-NC-SA 4.0")

---
_Source: https://npm.io/package/knx.js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
