ioBroker / ioBroker.knx

connect KNX via eibd
http://www.iobroker.org
Other
50 stars 32 forks source link
home-automation iobroker knx smarthome

Logo

ioBroker.knx

NPM version Downloads

NPM

Table of content

Description

en: This adapter allows importing of knxproj Files from ETS. It generates the translation between KNX- group addresses and ioBroker and puts the devices into rooms (esp. for MobileUI).

ru: Установка и базовая настройка адаптера

It connects to standard KNX/LAN Gateways.

Attention: with changing to KNX-Adapter Version 2.x the licensing has been changed. You can get a new license from https://iobroker.net

You also should update iobroker js-controller AND admin to the latest version.

Before beginning: Every DPT of com.Objects should be set in your ETS project. Every device should be sorted into your facility structure.

Requirements

Without this requirements, the adapter is not installable or will work not properly.

License requirements

For <500 datapoints there is no need of registration or adding a license key. If you have more then 500 datapoints you need a license. You can choose
between yearly and permanent licence.

To use this adapter in ioBroker you need to accept the source code license of the adapter. The source code of this adapter is available under the CC-NC-BY license.

Additionally you need a license to use the adapter. The license editions are available on https://iobroker.net/www/pricing

Features

Installation

This adapter is only installable with npm. Installation via github does not work.

Adapter configuration

After installing this adapter, open the adapter configuration.

Install the License

The first step is to apply the license. If you have not installed a license, then 500 Datapoints are applied.

knxV2-first-start-mod

If you already have created a new license under https://iobroker.net, then you can paste it in (2), OR you can aquire it directly online by clicking on (1)

knxV2-2-1-Install-License-mod

If you have clicked on (1) enter your iobroker.net account login.

knxV2-2-2-Install-License-online-mod

If your data have been correct, you will see all your licenses you got. Choose the one you want to use.

knxV2-2-3-Install-License-online-mod

If this was succesfull, save it.

knxV2-2-4-Install-License-online-mod

Thats all. Click on the button to save on the bottom of this page.

Configuration Interface

knxV2-2-5-Install-License-online-applied-mod

  1. KNX-Gateway IP: IPv4 of KNX-LAN Gateway.
  2. KNX-Gateway port: Default is Port 3671.
  3. physical address: Physical address of iobroker knx instance ! important: this is not the phys. address of the LAN Gateway ! and May not end in 0
  4. KNX packages per second: this limits the package rate. If KNX Lan Gateway reconnects to much or is temporarly not accessable, then reduce this rate.
  5. local iobroker IP: select the IP / Interface on which the adapter will be bound
  6. loglevel: normaly is level "Info", for debugging increase the level.
  7. only import new Datapoints: this is enabled by default. In case of disabling new GA's will be generatet AND existing GA's will be recreated.
  8. button upload file: drag'n drop is available here or on click the filechooser dialog. Here you can upload your ETS Export in knxproj format. After successful import a dialog shows the number of imported objects. Now press "save & close" and the adapter should start. While starting the adapter reads all group addresses with read-Flag and write-Flag. This might take a while and can produce a high load on your KNX-bus. But the values in your vis are updated after start. Uploading a password secured file is not yet available.
  9. Host-ID: this is a special ID of iobroker host. This ID is neccessary for generating and validating the license
  10. GA-Tools: toolbox for fast changing GA's

Objects

Here is under knx.0 the group address tree like in your ETS project. For modifying the properties, use GA-Tool.

Usage

If the adapter starts successfully, your data points will be available for everything you like to do.

Data point Types (DPT)

All DPTs according to "System Specifications, Interworking, Datapointtypes" from KNX Association are available. That means there are 2 types of information you can get: 1) a Value or a String 2) comma-separated values or an array of values (for the moment I don't know what's the better way to handle)

For example a DPT5.001 is encoded as unsigned Integer with 8-Bit. This gives a single Value. The DPT3.007 (Control Dimming) is encoded as 1Bit(Boolean)+3Bit(unsigned Int). This results e.g. in a value like "0,5", where "0" means "decrease" and "5" means number of intervals.

How the import works

  1. reading of all communicationobjectreferences (COR): combining of groupadressreference ID'd with DPT of corresponding COR (if exists).

  2. generation of groupaddress structure(GAS): generating the GAS based on GAR IDs and setting DPT (if not done yet)

  3. finding state an act addresses: in ets-exports are no informations about state and act addresses.The adapter parses all GA's of "status" or "state". If there are 2 GA's with a similarity more than 90%, then one address will be act and the other one the state. There is also a check if the DPT's are similar. Thats why its not easy to find a peer, if GA naming is not consistent.

  4. Flag check in deviceconfiguration: the flags are handled as follows:

    KNX iobroker
    Read Write Transmit Read Write Explanation
    - - - - - the value will be updated by GroupValueRead
    x - - x x sending any value on this state trigger a GroupValueRead
    - x - - x write the value to KNX with GroupValueWrite
    - - x x - the state value will be updated by GroupValueResponse
    x - x x x sending any value on this state trigger a GroupValueRead
  5. Creation of datapoint peers (DPP): A DPP will be created if GA, GAR and DPT are valid. This are the DPP the adapter is working with. If DPT is missing in a GA, because it couldn't be found, then the DPP will not be created. It can be done with GA-Tool.

  6. at adapter start: all GA's marked with "Read" Flag are checked at start. This can affect a higher bus traffic. In the end are all states up to date.

Avoidance of problems

GA-Tool

The GA-Tool makes it easy to change properties of GA's.

knxV2-3-6-GATools-mod

  1. shows the GA tree and selected GA
  2. in the property section the name of selected GA
  3. set iobroker flags
  4. set GA DPT
  5. recognized act GA
  6. recognized state GA

knxV2-3-2-GATools-mod

  1. show the state-act relation
  2. if relation exists then it can removed

If no relation exist, then can be created a new one by clicking (2) for selected GA (1). In the dialog (3) can the peer selected

knxV2-3-5-GATools-mod

If there are more GA's to change properties, use multiselect. This feature works only for GA's with no relation.

knxV2-3-4-GATools-mod

  1. selected GA's
  2. properties to change
  3. there is no change possible

Direct Link non-KNX state to KNX vice-verse

Since Adapter Version 2.0.6 it is possible to link a non KNX ioBroker state directly to a GA. This can be used to apply time, date, any states or infos to KNX. (a small hint: you can link any of your IOT components directly to a GA in KNX (f.e. link a homematic button to a KNX GA or link a KNX buttonsensor to
your sonosplayer)). The states can be read with a GroupValueRead and if the states changes it will be automaticly updated on KNX. Also if you change on KNX it will update the linked non KNX iot device.

knxV2-3-7-GATools-Directlink-mod

  1. select the GA to connect to
  2. show the selected GA
  3. this GA must have write attribute
  4. choose a valid datapointtype (if they don't match, it will not work)
  5. it is not allowed to have a act-state relation
  6. button to select a non KNX object to link with

knxV2-3-8-GATools-Directlink-mod

  1. select the non-KNX object you want to link
  2. hit ok, if you're done

knxV2-3-9-GATools-Directlink-mod

Now is KNX-GA (1) directly linked with non-KNX iobroker (2). With (3) you can delete this relation.

Planned features

Changelog

2.0.27 (02.05.2024)

2.0.26 (28.03.2024)

2.0.25 (03.03.2024)

2.0.24 (24.11.2023)

2.0.23 (11.10.2023)

2.0.22 (04.07.2023)

2.0.21 (17.06.2023)

2.0.20 (16.06.2023)

2.0.19 (29.05.2023)

2.0.18 (08.04.2023)

2.0.17 (14.10.2022)

2.0.16 (04.09.2022)

2.0.15 (02.06.2022)

2.0.14 (08.04.2022)

2.0.13 (12.03.2022)

2.0.12 (25.02.2022)

2.0.11

2.0.10

2.0.9

2.0.8

2.0.7

2.0.6

2.0.5

2.0.4

2.0.3 (2021-12-04)

2.0.1

2.0.0 (2021-11-15) Major release

1.0.46 (2021-03-23)

1.0.45 (2021_03_22)

1.0.44 (2021_01_22)

1.0.42 (2020_09_03)

1.0.41

1.0.40

1.0.39

1.0.38

1.0.37 (2010-01-31)

1.0.36 (2019-10-16)

1.0.35 (2019-09-15)

1.0.34 (2019-09-15)

1.0.33 (2019-09-12)

1.0.32 (2019-09-03)

1.0.31

1.0.30

1.0.20

1.0.19

1.0.18

1.0.17 (2018-08-16)

1.0.15 (2018-07-18)

1.0.13 (2018-07-04)

1.0.12 (2018-06-19)

1.0.11 (2018-05-27)

1.0.10 (2018-05-04)

1.0.9 (2018-04-29)

1.0.8 (2018-04-04)

1.0.7 (2018-03-16)

1.0.6 (2018-03-11)

1.0.5 (2018-03-01)

1.0.4 (2018-02-27)

1.0.2 (2018-02-27)

1.0.1 (2018-02-26)

1.0.0 (2018-02-25)

0.8.6 (2017-06-17)

0.8.5 (2017-06-05)

0.8.3 (2017-04-24)

0.8.2 (2017-02-26)

0.8.1 (2017-02-06)

0.8.0 (2017-02-xx) comming soon

0.7.3 (2016-12-22)

0.7.2 (2016-11-20)

0.7.1 (2016-11-19)

0.7.0 (2016-10-13)

0.6.0 (2016-07-20)

0.5.0

0.4.0

0.2.0

Exceptions and errors

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.
For more details and for information how to disable the error reporting see Sentry-Plugin Documentation!
Sentry reporting is used starting with js-controller 3.0.

The developer is not able to get any further special informations about the system/config/user/enviroment. In case no license is found the adapter version and host id is also reported.

Many thanks for support and help

License

The CC-NC-BY License (CC-NC-BY)

Copyright (c) 2016-2023 K.Ringmann info@punktnetzwerk.net

THE WORK IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

Read full license text in LICENSE