diff --git a/README.md b/README.md index 243dd6f..7f9504d 100644 --- a/README.md +++ b/README.md @@ -6,173 +6,267 @@ [![NPM](https://nodei.co/npm/iobroker.knx.png?downloads=true)](https://nodei.co/npm/iobroker.knx/) -## Description +#### Table of content + +* [Description](#description) +* [Features](#features) +* [Adapter configuration](#adapter-configuration) + * [Install the License](#install-the-license) + * [Configuration Interface](#configuration-interface) + * [Objects](#objects) + * [Usage](#usage) + * [Data point Types (DPT)](#data-point-types-dpt) + * [How the import works](#how-the-import-works) + * [Avoidance of problems](#avoidance-of-problems) +* [GA-Tool](#ga-tool) +* [Planned features](#planned-features) +* [Changelog](#changelog) + +##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: [Установка и базовая настройка адаптера](doc/ru/readme.md) + It connects to standard KNX/LAN Gateways. +**Attention: with changing to KNX-Adapter Version 2.x the licensing has been changed. You have to get a new license from [https://iobroker.net](https://iobroker.net/)** + Before beginning: Every DPT of com.Objects should be set in your ETS project. Every device should be sorted into your facility structure. -## Features: +##Features: + * importing `knxproj` file * generating ETS-like object structure * finding and combining act-channel and state-channel (heuristic) * updating all states on start * emitting a READ to the KNX-Bus, while writing on state-object -* sorting channels to rooms +* edit and modify GA objects with GA-Tools +* edit and modify state-act relations with GA-Tools -## Adapter configuration -After installing this adapter, open the adapter configuration. Fill in: +##Adapter configuration +After installing this adapter, open the adapter configuration. -### KNX Gateway IP - with IPv4 format +###Install the License +The first step is to apply the license. -### Port -This is normally port 3671. +* (1) shows your System ID, you need this to get a license +* (2) click here to apply your license -### phys. EIB Address -Fill in free phys. address corresponding to your KNX-architecture, **BUT NOT the address of your KNX Gateway!** May not end in 0 !!! +![knxV2-first-start-mod](docs/pictures/knxV2-first-start-mod.jpg) -### debug-Level -Extends the output level of the adapter for debugging purposes. +If you already have created a new license under [https://iobroker.net](https://iobroker.net/), then you can paste it in (2), OR you can +aquire it directly online by clicking on (1) -### Upload knxproj -here you can upload your ETS Export in `knxproj` format. +![knxV2-2-1-Install-License-mod](docs/pictures/knxV2-2-1-Install-License-mod.jpg) -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. 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. +If you have clicked on (1) enter your iobroker.net account login. -### Objects -Here is under knx.0 the group address tree like in your ETS project. +![knxV2-2-2-Install-License-online-mod](docs/pictures/knxV2-2-2-Install-License-online-mod.jpg) -### Enumerations -If you have a building structure in your ETS with the corresponding devices, it will be shown here. Under "members" are the names of group addresses listed from the devices with send-Flag in this Group. +If your data have been correct, you will see all your licenses you got. Choose the one you want to use. -### Usage -If the adapter starts successfully, your data points will be available for everything you like to do. +![knxV2-2-3-Install-License-online-mod](docs/pictures/knxV2-2-3-Install-License-online-mod.jpg) -### Data point Types -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) +If this was succesfull, save it. -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. - - -## Wie werden die Datenpunkte generiert (Deutsch) -### 1) Auslesen aller Kommunikationsobjektreferenzen (im folgenden KOR) -Dabei werden den Gruppenaddressreferenz (im folgenden GAR) IDs der jeweilige DPT der KOR zugeordnet, wenn er vorhanden ist. Ausserdem bekommt der erste Eintrag die Attribute write=yes und read=no. Alle darauf folgenden GAR ID's bekommen nur den DPT zugeordnet - -### 2) Erzeugen der Gruppenadressstruktur (im folgenden GAS) -Hier wird die GAS anhand der GAR IDs erzeugt und ebenfalls die DPTs zugeordnet, falls dies unter 1) noch nicht geschehen ist. - -### 3) Herausfinden der Schalt- und Statusaddressen -In dem ETS-Export sind die Schalt- und Statusadressen nicht hinterlegt. Somit führe ich eine Ähnlichkeitsprüfung aller Gruppenadressnamen durch mit der Auswertung auf status und state. - Wird ein Pärchen gefunden, dessen Ähnlichkeit mehr als 90% beträgt, dann wird angenommen, dass die GA1 die Schaltadresse und GA2 die Statusadresse ist. Dabei erhält GA1 das write=true und read=false und GA2 das write=false und read=true. - Außerdem werden die DPT abgeglichen aus der jeweilig korrespondierenden GA. Aus diesem Grund ist es schwierig, Pärchen zu finden, wenn die Gruppenadressbeschriftungen nicht konsistent sind. +![knxV2-2-4-Install-License-online-mod](docs/pictures/knxV2-2-4-Install-License-online-mod.jpg) -Weiterhin werden die Flags in den Gerätekonfigurationen betrachtet. Dabei werden die Flags wie folgt umgesetzt: +Thats all. Click on the button to save on the bottom of this page. -| KNX | | | iobroker | | | -|-------|-----------|------------|----------|----------|-------------------------------------------------| -| Lesen | Schreiben | Übertragen | Lesen | Schreiben| Erklärung | -| - | - | - | - | - | der wert wird über GroupValueResponse aktualiesiert | -| x | - | - | x | x | ein Trigger darauf löst GroupValueRead aus| -| - | x | - | - | x | Schreibt den angegeben Wert mit GroupValueWrite auf den KNX-Bus| -| - | - | x | x | - | der Wert wird über GroupValueResponse aktualisiert | -| x | - | x | x | x | ein Trigger darauf löst GroupValueRead aus| +### Configuration Interface +![knxV2-2-5-Install-License-online-applied-mod](docs/pictures/knxV2-2-5-Install-License-online-applied-mod.jpg) -### 4)Erzeugen der Datenpunktpaare (im folgenden DPP) -Ein DPP wird erzeugt, wenn die GA, GAR und der DPT valid sind. Mit diesen DPP arbeitet der Adapter. Fehlen also der DPT in einer GA, weil er auf keiner der o. A. Wege gefunden werden konnte, so wird für diese GA kein DPP erzeugt und sie ist im Weiteren nicht nutzbar. +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 -Im Idealfall werden somit für einen Schaltkanal 2 DPP erzeugt. Das erste ist das Schalten. In diesem ist die GAR ID des Status DPP hinterlegt. Das zweite ist dann das Status DPP ohne weitere Referenz. - - -## Beim Start des Adapters -Alle mit dem Lesen-Flag markierten DPP werden beim Start abgefragt. Dies verursacht u.U. eine höhere Buslast und dauert einen Moment. Im Anschluss sind aber alle aktuellen Werte verfügbar. - -## (hidden) Features: -Durch senden eines Wertes auf eine Statusadresse werden die Kommunikationsobjekte innerhalb dieser Gruppenadresse per GroupValueRead abgefragt. +### Objects +Here is under knx.0 the group address tree like in your ETS project. For modifying the properties, use GA-Tool. -### Vermeidung von Problemen -1) saubere ETS Programmierung und saubere ETS Programmierung und saubere ETS Programmierung +### Usage +If the adapter starts successfully, your data points will be available for everything you like to do. -* zuweisen der DPTs!! -* einheitliche Beschriftung der GA-Namen (z.B "EG Wohnen Decke Licht schalten" und "EG Wohnen Decke Licht schalten status" ) -* Vermeidung von Sonderzeichen ",./;\&%$§[]" (kann zu Problemen bei der Erzeugung der GAS führen) +### 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) -2) Prüfen ob das KNX/LAN GW erreichbar ist. Wenn es das nicht ist, versucht der Adapter sich kontinuierlich zu verbinden. +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. -3) Physikalische Adresse richtig wählen ( wichtig beim Einsatz von Linienkopplern ). !!! ACHTUNG: die hier eingetragene physikalische Adresse ist NICHT die Adresse des LAN Gateways und darf nicht auf 0 enden !!! +### 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| + +6. 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. +7. 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 +* clean ETS programming and more important clean ETS programming and most important clean ETS programming +* Assign the DPTs!! +* uniform labeling of the GA names (e.B "EG Wohnen Decke Licht schalten" and "EG Wohnen Decke Licht schalten status" ) +* Avoidance of special characters ",./;&%$§[]" (may cause problems with the generation of gas) +* Check if the KNX/LAN GW is reachable. If it is not, the adapter tries to connect continuously. +* Correctly select physical address ( important when using line couplers ). !!! ATTENTION: the physical address entered here is NOT the address of the LAN Gateway and must not end in 0 !!! +* The port of the LAN interface is usually 3671 +* Due to the possibility of status query, one thing must be noted: It must be ensured that no more than 40 requests per second are generated by the ioBroker, because these can then be physically generated + can no longer be passed on to the gateway by the adapter. + +## GA-Tool +The GA-Tool makes it easy to change properties of GA's. + +![knxV2-3-6-GATools-mod](/docs/pictures/knxV2-3-6-GATools-mod.jpg) + +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](/docs/pictures/knxV2-3-2-GATools-mod.jpg) + +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](/docs/pictures/knxV2-3-5-GATools-mod.jpg) + +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](/docs/pictures/knxV2-3-4-GATools-mod.jpg) + +1. selected GA's +2. properties to change +3. there is no change possible + +## Planned features + +* esf-import +* GA-Mon bus monitoring tool + + -4) Der Port der LAN Schnittstelle ist i.d.R. 3671 +## Changelog +### 2.0.0 (2021-11-15) **Major release** -5) Durch die Möglichkeit der Statusabfrage ist eines zu beachten: Es ist sicherzustellen, dass nicht mehr als 40 Anfragen pro Sekunde vom ioBroker generiert werden, denn diese können dann physikalisch - bedingt nicht mehr durch den Adapter an das Gateway weitergereicht werden. +* Breaking change! => new license is neccessary V1 Licenses will not work => V1 business Licenses can changed to V2 +* complete refactoring of knx-admin +* added Tool for handling GA in knx-admin +* fixed many bugs (in knx-stack, on importing ETS Projects, reconnect and timeouts) +* added new datapoint types +* added import till ETS V6 +* changed license management -## planned features -* adding addresses to object-description (id) -* selective import of knx-project -* require node Version >8.9.4! +### 1.0.46 (2021-03-23) +* New admin GUI -## Changelog ### 1.0.45 (2021_03_22) + * import of ETS v5.7.5 projects ### 1.0.44 (2021_01_22) + * fixed act and state handling * added some new datapoint types * fix facility and room recognition and device allocation ### 1.0.42 (2020_09_03) + * Fixed problem with missing index_m.html ### 1.0.41 + * fixed bug on GroupValue_Response event * corrected connection to Gira GW ### 1.0.40 + * fixed some import errors for ETS 5.7.x * fixed bug on GroupValue_Response event ### 1.0.39 + * fixed import error ### 1.0.38 + * fixed some bugs on import * show warning if import-file ist password protected ### 1.0.37 (2010-01-31) + * update for ETS 5.7.3 import ### 1.0.36 (2019-10-16) -* some bugs fixed + +* some bugs fixed ### 1.0.35 (2019-09-15) + * fixed permanent reconnects, if no traffic on knx-bus ### 1.0.34 (2019-09-15) + * changes on importer for detecting project-id ### 1.0.33 (2019-09-12) + * fixed bug while writing to bus * added units to states * fixed "read/write of undefined" error ### 1.0.32 (2019-09-03) + * updated importer for ETS V5.7.2, some changes in KNX-stack state-machine ### 1.0.31 + * some fixes on ETS5.7.2 importer * small changes in knx-stack statemachine * added (again) phys address to admin config dialog - -### 1.0.31 * fixed bug in deviceTree generation ### 1.0.30 + * new Importer for ETS5.7.2 knxproj files * extended accepted Data point types * new adapter configuration menu @@ -183,80 +277,98 @@ Durch senden eines Wertes auf eine Statusadresse werden die Kommunikationsobjekt * fixed some small other bugs ### 1.0.20 + * fixed bug in handling KNX-data packages, which occurs periodical reconnects * fixed bug in KNX-project file upload procedure ### 1.0.19 + * reverted to true/false handling for DPT1.x ### 1.0.18 + * fixed upload issue with ETS5.6.x project files * switched values for "boolean" from 1 and 0 to true false * fixed recognition of role set for DPT1.x to switch * fixed DPT16.xxx writing to KNX-Bus with values < 14Byte ### 1.0.17 (2018-08-16) + * Better state processing * Add configurable package rate * corrected Bug in "import only new objects" ### 1.0.15 (2018-07-18) + * change ChID on reconnect * on Startup read wait for response of State channel or timeout ### 1.0.13 (2018-07-04) + * elimination of special signs while importing * small bug-fixes ### 1.0.12 (2018-06-19) + * reduced and sorted log output * small bug-fixes * NEW Feature: request State/Val of stateObject from KNX-Bus ### 1.0.11 (2018-05-27) + * fixed DPT1 correcting value problem * fixed reconnect problem * other small optimizations and fixes ### 1.0.10 (2018-05-04) + * closing local port in case of undefined connection state * added advanced debug-level via adapter-config * many fixes ### 1.0.9 (2018-04-29) + * changed to state-wise processing * fixed "disconnect-request" * changed connection handling with knxd * many small fixes ### 1.0.8 (2018-04-04) + * modified package queue * fixed ACK if sending to KNX-Bus * many small fixes ### 1.0.7 (2018-03-16) + * fixed Adapter-lock while uploading projects ### 1.0.6 (2018-03-11) + * fixed connection problem * corrected package counter ### 1.0.5 (2018-03-01) -* fixed empty objects, related to DPT1 (error message [object Object] unknown Input value) + +* fixed empty objects, related to DPT1 (error message \[object Object\] unknown Input value) * fixed path variable * fixed bug with GA's containing a "/" in the name (on proj-import) * start implementing crosswise property update on corresponding DPT (on proj-import) ### 1.0.4 (2018-02-27) + * schema update for room enumeration coming up with ETS 5.6 ### 1.0.2 (2018-02-27) + * kleine Fehler beseitigt ### 1.0.1 (2018-02-26) + * fixed certificate error ### 1.0.0 (2018-02-25) + * substitution of used KNX-stack with own from scratch build stack * implemented full scale of DPT according to "System Specifications, Interworking, Datapointtypes" from KNX Association * hardening connection handling for tunneling connections @@ -267,50 +379,63 @@ Durch senden eines Wertes auf eine Statusadresse werden die Kommunikationsobjekt * implemented "add" mode for knxproject upload (existing Objects stay as they are, only new Objects where added) ### 0.8.6 (2017-06-17) + * some small bug-fixes * insert slider to set a sendDelay for slow KNX/LAN Gateways to prevent connection loss ### 0.8.5 (2017-06-05) + * project loader rebuild, dpt13-fix ### 0.8.3 (2017-04-24) + * added act channel update of corresponding state * fix bug in state-vis update * optimized knxproj upload ### 0.8.2 (2017-02-26) + * implemented device-config parsing from knxproj * better choice of state/val of DP objects ### 0.8.1 (2017-02-06) + * fixed DPT1 switch problem ### 0.8.0 (2017-02-xx) comming soon ### 0.7.3 (2016-12-22) + * (chefkoch009) more DPT's are supported * faster Startup * implemented generation of room list with device dependencies ### 0.7.2 (2016-11-20) + * (chefkoch009) added necessary dependencies ### 0.7.1 (2016-11-19) + * (chefkoch009) Support standard KNX/LAN Gateways. ### 0.7.0 (2016-10-13) + * (chefkoch009) Support of project export ### 0.6.0 (2016-07-20) + * (chefkoch009) redesign ### 0.5.0 - (vegetto) include vis widget + +* (vegetto) include vis widget #### 0.4.0 + * (bluefox) fix errors with grunt #### 0.2.0 + * (bluefox) initial release ## License diff --git a/docs/pictures/knxV2-2-1-Install-License-mod.jpg b/docs/pictures/knxV2-2-1-Install-License-mod.jpg new file mode 100644 index 0000000..1ab343a Binary files /dev/null and b/docs/pictures/knxV2-2-1-Install-License-mod.jpg differ diff --git a/docs/pictures/knxV2-2-2-Install-License-online-mod.jpg b/docs/pictures/knxV2-2-2-Install-License-online-mod.jpg new file mode 100644 index 0000000..dd882da Binary files /dev/null and b/docs/pictures/knxV2-2-2-Install-License-online-mod.jpg differ diff --git a/docs/pictures/knxV2-2-3-Install-License-online-mod.jpg b/docs/pictures/knxV2-2-3-Install-License-online-mod.jpg new file mode 100644 index 0000000..8a525f0 Binary files /dev/null and b/docs/pictures/knxV2-2-3-Install-License-online-mod.jpg differ diff --git a/docs/pictures/knxV2-2-4-Install-License-online-mod.jpg b/docs/pictures/knxV2-2-4-Install-License-online-mod.jpg new file mode 100644 index 0000000..27665db Binary files /dev/null and b/docs/pictures/knxV2-2-4-Install-License-online-mod.jpg differ diff --git a/docs/pictures/knxV2-2-5-Install-License-online-applied-mod.jpg b/docs/pictures/knxV2-2-5-Install-License-online-applied-mod.jpg new file mode 100644 index 0000000..823ee4f Binary files /dev/null and b/docs/pictures/knxV2-2-5-Install-License-online-applied-mod.jpg differ diff --git a/docs/pictures/knxV2-3-1-GATools-mod.jpg b/docs/pictures/knxV2-3-1-GATools-mod.jpg new file mode 100644 index 0000000..34ca772 Binary files /dev/null and b/docs/pictures/knxV2-3-1-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-3-2-GATools-mod.jpg b/docs/pictures/knxV2-3-2-GATools-mod.jpg new file mode 100644 index 0000000..48527ed Binary files /dev/null and b/docs/pictures/knxV2-3-2-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-3-3-GATools-mod.jpg b/docs/pictures/knxV2-3-3-GATools-mod.jpg new file mode 100644 index 0000000..edb20de Binary files /dev/null and b/docs/pictures/knxV2-3-3-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-3-4-GATools-mod.jpg b/docs/pictures/knxV2-3-4-GATools-mod.jpg new file mode 100644 index 0000000..db8e9b2 Binary files /dev/null and b/docs/pictures/knxV2-3-4-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-3-5-GATools-mod.jpg b/docs/pictures/knxV2-3-5-GATools-mod.jpg new file mode 100644 index 0000000..0f10f06 Binary files /dev/null and b/docs/pictures/knxV2-3-5-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-3-6-GATools-mod.jpg b/docs/pictures/knxV2-3-6-GATools-mod.jpg new file mode 100644 index 0000000..d80de3b Binary files /dev/null and b/docs/pictures/knxV2-3-6-GATools-mod.jpg differ diff --git a/docs/pictures/knxV2-first-start-mod.jpg b/docs/pictures/knxV2-first-start-mod.jpg new file mode 100644 index 0000000..cb18fc8 Binary files /dev/null and b/docs/pictures/knxV2-first-start-mod.jpg differ diff --git a/docs/ru/README.md b/docs/ru/README.md new file mode 100644 index 0000000..76ee47d --- /dev/null +++ b/docs/ru/README.md @@ -0,0 +1,33 @@ +Адаптер KNX позволяет IoBroker взаимодействовать с шиной KNX. Для работы адаптера необходимо наличие IP шлюза KNX в системе. Обмен данными происходит по протоколу TCP. Таким образом, платформа где установлен IoBroker должна находится в одной сети с IP шлюзом KNX. + +## Установка адаптера. +1. Открыть вкладку "драйвера" +2. в поиске набрать "knx" +3. нажать на ... +4. нажать на **+** +5. нажать "Добавить" +6. Принять лицензионное соглашение + В картинках: + ![image](https://user-images.githubusercontent.com/37106885/120390390-52383e00-c336-11eb-8b6f-9aa5f4faf711.png) + ![image](https://user-images.githubusercontent.com/37106885/120390415-59f7e280-c336-11eb-8cbd-7818edcc1dc4.png) + ![image](https://user-images.githubusercontent.com/37106885/120390434-5fedc380-c336-11eb-92cb-448f347b3731.png) + + +## Настройка адаптера. +После установки адаптера, вы попадете в его настройки. Так же в настройки адаптера можно попасть через вкладку "Настройки", отфильтровав адаптеры по слову "knx" и нажав на гаечный ключ. +В картинках: +![image](https://user-images.githubusercontent.com/37106885/120390479-6aa85880-c336-11eb-997b-759526d23426.png) + +В настройках адаптера необходимо: +1. Указать **Gateway IP** - ip адрес шлюза KNX +2. **Интерфейс локальной сети** - тот интерфейс, который выходит в локальную сеть +3. **Физический EIB адрес** - любой __свободный__ EIB адрес, не заканчивающийся на "0". **1.1.241** - вполне подойдет. +4. нажать кнопку `KNXPROJ - ФАЙЛ` +5. Выбрать файл knxproj (проект __НЕ ДОЛЖЕН__ быть запаролен), дождаться добавления объектов из knx проекта +6. Нажать OK + В картинках: + ![image](https://user-images.githubusercontent.com/37106885/120390523-798f0b00-c336-11eb-91cd-f55111591a25.png) + ![image](https://user-images.githubusercontent.com/37106885/120390533-7dbb2880-c336-11eb-85dd-52fc9209eb56.png) + +## Лицензия. +Для работы адаптера требуется приобретение лицензии для адаптера на странице [iobroker.net](https://iobroker.net/accountLicenses) \ No newline at end of file diff --git a/io-package.json b/io-package.json index 072f994..0795ca5 100644 --- a/io-package.json +++ b/io-package.json @@ -1,8 +1,20 @@ { "common": { "name": "knx", - "version": "1.0.45", + "version": "2.0.0", "news": { + "2.0.0": { + "en": "New admin GUI", + "de": "Neue Admin-GUI", + "ru": "Новый графический интерфейс администратора", + "pt": "Nova GUI de administrador", + "nl": "Nieuwe admin GUI", + "fr": "Nouvelle interface graphique d'administration", + "it": "Nuova GUI di amministrazione", + "es": "Nueva interfaz gráfica de usuario de administración", + "pl": "Nowy graficzny interfejs administratora", + "zh-cn": "新的管理员GUI" + }, "1.0.45": { "en": "import of ETS V5.7.5 available", "de": "Import von ETS V5.7.5 verfügbar", @@ -112,7 +124,9 @@ "zh-cn": "一些错误修复" } }, - "title": "KNX", + "titleLang": { + "en": "KNX" + }, "desc": { "en": "This adapter allows to import KNX projects from ETS and communicate with devices via KNX IP Gateway", "de": "Dieser Adapter ermöglicht den Import von KNX-Projekten aus der ETS und die Kommunikation mit Geräten über das KNX IP Gateway", @@ -147,9 +161,6 @@ ], "loglevel": "info", "type": "iot-systems", - "restartAdapters": [ - "knx" - ], "adminColumns": [ { "name": { @@ -164,23 +175,83 @@ "pl": "Adr KNX", "zh-cn": "KNX地址" }, + "align": "left", "path": "native.address", "width": 100 }, { "name": "DPT", "path": "native.dpt", - "width": 100 + "width": 100, + "align": "left" + } + ], + "messages": [ + { + "condition": { + "operand": "and", + "rules": [ + "oldVersion<2.0.0", + "newVersion>=2.0.0" + ] + }, + "title": { + "en": "Important notice!", + "de": "Wichtiger Hinweis!", + "ru": "Важное замечание!", + "pt": "Notícia importante!", + "nl": "Belangrijke mededeling!", + "fr": "Avis important!", + "it": "Avviso IMPORTANTE!", + "es": "Noticia importante!", + "pl": "Ważna uwaga!", + "zh-cn": "重要通知!" + }, + "text": { + "en": "From the ioBroker.knx@2.0.0 version only 500 data points can be used fro free. If you have more than 500 KNX data points, you must order the paid license", + "de": "Ab der Version ioBroker.knx@2.0.0 können nur noch 500 Datenpunkte frei verwendet werden. Wenn Sie mehr als 500 KNX-Datenpunkte haben, müssen Sie die kostenpflichtige Lizenz bestellen", + "ru": "Из версии ioBroker.knx@2.0.0 только 500 точек данных можно использовать бесплатно. Если у вас более 500 точек данных KNX, необходимо заказать платную лицензию.", + "pt": "Na versão ioBroker.knx@2.0.0, apenas 500 pontos de dados podem ser usados gratuitamente. Se você tiver mais de 500 pontos de dados KNX, você deve solicitar a licença paga", + "nl": "Van de ioBroker.knx@2.0.0 versie kunnen slechts 500 datapunten gratis worden gebruikt. Als u meer dan 500 KNX-datapunten heeft, moet u de betaalde licentie bestellen", + "fr": "À partir de la version ioBroker.knx@2.0.0, seuls 500 points de données peuvent être utilisés gratuitement. Si vous avez plus de 500 points de données KNX, vous devez commander la licence payante", + "it": "Dalla versione ioBroker.knx@2.0.0 è possibile utilizzare gratuitamente solo 500 punti dati. Se hai più di 500 punti dati KNX, devi ordinare la licenza a pagamento", + "es": "Desde la versión ioBroker.knx@2.0.0, solo se pueden usar 500 puntos de datos de forma gratuita. Si tiene más de 500 puntos de datos KNX, debe solicitar la licencia paga", + "pl": "Od wersji ioBroker.knx@2.0.0 można bezpłatnie korzystać tylko z 500 punktów danych. Jeśli masz więcej niż 500 punktów danych KNX, musisz zamówić płatną licencję", + "zh-cn": "从 ioBroker.knx@2.0.0 版本开始,只能免费使用 500 个数据点。如果您有超过 500 个 KNX 数据点,则必须订购付费许可证" + }, + "link": "https://iobroker.net/www/pricing", + "level": "warn", + "linkText": { + "en": "Prices", + "de": "Preise", + "ru": "Цены", + "pt": "Preços", + "nl": "Prijzen", + "fr": "Des prix", + "it": "Prezzi", + "es": "Precios", + "pl": "Ceny", + "zh-cn": "价格" + }, + "buttons": [ + "agree", + "cancel" + ] + } + ], + "globalDependencies": [ + { + "admin": ">=5.1.28" } ] }, "native": { "useBooleans": true, "gwip": "127.0.0.1", - "gwipport": 3671, + "gwipport": 3674, "eibadr": "1.1.0", "onlyAddNewObjects": false, - "license": "", + "license": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiaW9icm9rZXIua254IiwiY29tbWVudCI6IiIsImRldmljZVV1aWQiOiJJRzE0NDZlYi0wMWI1LWZmODktMGIzYy02Y2E5ODIwODZjYTYwNSIsInZlbmRvciI6ImlvYm94X2dtYmgiLCJlbWFpbCI6ImsucmluZ21hbm5AcHVua3RuZXR6d2Vyay5uZXQiLCJpbnZvaWNlIjoiMTAyNyIsImludm9pY2VVdWlkIjoiMiIsInR5cGUiOiJjb21tZXJjaWFsIiwibHR5cGUiOiJzdyIsImV4cGlyZXMiOjI0ODc5MzAyOTgsInZlcnNpb24iOiI8MiIsImlkIjoiYjliOGM0MjAtZGU5NC0xMWU4LThiMGEtMTE4ODU1MGNiYmFiIiwiaWF0IjoxNTQxMTU5MDk4fQ.eiMmB-FRHTpcULj5Ya-7y_BMtrjLa5RiZAI_aOXinSEKpQ7GGbTa7x0td7CHEOZ-YD8bqOU9Na55M_SmndW5906M_vul-ERy5UEqXkHo14pvUl7Yn86nVuqZk058Ps151lWw3Ux6ESaWrEaBOQlkVId2hifAJHe3zKY6XA-UdddxfnBtbUg8ibOb6oO0vND4cKGT_PvaxIyE9VJVsEiIjVEUY2MZYaHWVhNIdFEbrP1qVAb4vMOoJZVsN63Cr7Tp1IDXPrdRoWQ0ApimcrxhTS1pO7JAUdrnQ_tW913XQk_f3GHeefDFGBDDbEmRK4P9-IRpgQJgQI03zLVTe2cKwA", "frameInterval": 30, "bind": "0.0.0.0" }, @@ -208,4 +279,4 @@ "native": {} } ] -} +} \ No newline at end of file diff --git a/package.json b/package.json index 33e1991..8cc9db3 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "iobroker.knx", - "version": "1.0.45", + "version": "2.0.0", "description": "ioBroker knx Adapter ", "author": { "name": "K.Ringmann", "email": "info@punktnetzwerk.net" }, "engines": { - "node": ">=8.9.4" + "node": ">=14.15.4" }, "contributors": [ { @@ -30,42 +30,62 @@ "home automation" ], "main": "knx.js", + "files": [ + "admin/", + "lib/easy-knx/LICENSE.txt", + "lib/cloudCert.crt", + "lib/utils.js", + "io-package.json", + "LICENSE", + "knx.js" + ], "repository": { "type": "git", "url": "https://github.com/ioBroker/ioBroker.knx" }, "dependencies": { + "@iobroker/adapter-core": "^2.5.1", "adm-zip": "^0.4.16", "binary-parser": "^1.6.2", "binary-protocol": "^0.0.0", - "ieee754": "^1.1.13", + "core-js": "^3.19.1", + "ieee754": "^1.2.1", "jsonwebtoken": "^8.5.1", "similarity": "^1.2.1", - "string-similarity": "^4.0.2", - "underscore": "^1.11.0", + "string-similarity": "^4.0.4", + "underscore": "^1.13.1", "xmldom": "^0.1.27", - "xpath": "^0.0.29", + "xpath": "^0.0.32", "zip": "^1.2.0" }, "devDependencies": { - "gulp-javascript-obfuscator": "^1.1.6", + "@alcalzone/release-script": "^3.4.1", + "@alcalzone/release-script-plugin-iobroker": "^3.4.1", + "@alcalzone/release-script-plugin-license": "^3.4.1", + "@babel/preset-env": "^7.16.0", "babel-core": "^6.26.3", "babel-minify": "^0.5.1", - "@babel/preset-env": "^7.11.5", "babelify": "^10.0.0", - "browserify": "^16.5.2", - "chai": "^4.2.0", + "browserify": "^17.0.0", + "chai": "^4.3.4", "gulp": "^4.0.2", + "gulp-javascript-obfuscator": "^1.1.6", "gulp-rename": "^2.0.0", - "mocha": "^8.1.3", + "gulp-replace": "^1.1.3", + "gulp-sourcemaps": "^3.0.0", + "mocha": "^9.1.3", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", - "vinyl-sourcemaps-apply": "^0.2.1", - "gulp-sourcemaps": "^2.6.5" + "vinyl-sourcemaps-apply": "^0.2.1" }, "scripts": { "test": "node node_modules/mocha/bin/mocha", - "prepublishOnly": "gulp" + "prepublishOnly": "gulp", + "release": "release-script", + "release-patch": "release-script patch --yes", + "release-minor": "release-script minor --yes", + "release-major": "release-script major --yes", + "build": "gulp" }, "bugs": { "url": "https://github.com/ioBroker/ioBroker.knx/issues"