iobroker.knx 2.0.13 → 2.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -244,6 +244,10 @@ relation.
244
244
  -->
245
245
 
246
246
  ## Changelog
247
+ ### 2.0.14 (08.04.2022)
248
+ * added ETSv6.0.4 (override 6.0.3)
249
+ * small bugfixes
250
+
247
251
  ### 2.0.13 (12.03.2022)
248
252
  * added ETSv5.7.7 import
249
253
  * fixed "unknown value" bug
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "./static/css/main.e2d673ee.chunk.css",
4
- "main.js": "./static/js/main.7aeb48c4.chunk.js",
5
- "main.js.map": "./static/js/main.7aeb48c4.chunk.js.map",
4
+ "main.js": "./static/js/main.333ecd3e.chunk.js",
5
+ "main.js.map": "./static/js/main.333ecd3e.chunk.js.map",
6
6
  "runtime-main.js": "./static/js/runtime-main.ec74a465.js",
7
7
  "runtime-main.js.map": "./static/js/runtime-main.ec74a465.js.map",
8
8
  "static/css/2.67ef5efb.chunk.css": "./static/css/2.67ef5efb.chunk.css",
@@ -18,6 +18,6 @@
18
18
  "static/css/2.67ef5efb.chunk.css",
19
19
  "static/js/2.00871907.chunk.js",
20
20
  "static/css/main.e2d673ee.chunk.css",
21
- "static/js/main.7aeb48c4.chunk.js"
21
+ "static/js/main.333ecd3e.chunk.js"
22
22
  ]
23
23
  }
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="./knx.png"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="./manifest.json"/><script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="../../lib/js/socket.io.js"></script><script type="text/javascript" src="./zip/zip-fs.js"></script><title>KNX settings</title><link href="./static/css/2.67ef5efb.chunk.css" rel="stylesheet"><link href="./static/css/main.e2d673ee.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)i=l[c],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="./";var l=this["webpackJsonpknx-admin"]=this["webpackJsonpknx-admin"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var p=a;t()}([])</script><script src="./static/js/2.00871907.chunk.js"></script><script src="./static/js/main.7aeb48c4.chunk.js"></script></body></html>
1
+ <!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="./knx.png"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="./manifest.json"/><script type="text/javascript" onerror="setTimeout(function(){window.location.reload()}, 5000)" src="../../lib/js/socket.io.js"></script><script type="text/javascript" src="./zip/zip-fs.js"></script><title>KNX settings</title><link href="./static/css/2.67ef5efb.chunk.css" rel="stylesheet"><link href="./static/css/main.e2d673ee.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function r(r){for(var n,i,l=r[0],a=r[1],f=r[2],c=0,s=[];c<l.length;c++)i=l[c],Object.prototype.hasOwnProperty.call(o,i)&&o[i]&&s.push(o[i][0]),o[i]=0;for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,l=1;l<t.length;l++){var a=t[l];0!==o[a]&&(n=!1)}n&&(u.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},o={1:0},u=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="./";var l=this["webpackJsonpknx-admin"]=this["webpackJsonpknx-admin"]||[],a=l.push.bind(l);l.push=r,l=l.slice();for(var f=0;f<l.length;f++)r(l[f]);var p=a;t()}([])</script><script src="./static/js/2.00871907.chunk.js"></script><script src="./static/js/main.333ecd3e.chunk.js"></script></body></html>
@@ -0,0 +1,2 @@
1
+ (this["webpackJsonpknx-admin"]=this["webpackJsonpknx-admin"]||[]).push([[0],{227:function(e){e.exports=JSON.parse('{"a":"2.0.14"}')},299:function(e,t,a){"use strict";(function(e){var n=a(70),i=a.n(n),r=a(226),o=a(147),s=a(10),c=a.n(s),l=a(300),d=a.n(l);function u(e){var t=e.match(/(\w+="[^"]*)"/g);if(!t)return{};for(var a={},n=0;n<t.length;n++){var i=t[n].split("=");a[i[0]]=i[1]?i[1].substring(1,i[1].length-1):""}return a}function p(e){var t=e.match(/<ApplicationProgram\s.*Name="([^"]*)"/);t=t?t[1]:null;var a=e.match(/<ApplicationProgram\s.*Id="([^"]*)"/);a=a?a[1]:null;var n=e.match(/<ComObject\s[^>]+\/>/g),i={};if(n)for(var r=0;r<n.length;r++){var o=u(n[r]);i[o.Id]={Text:o.Text,Name:o.Name,Number:o.Number,FunctionText:o.FunctionText,ObjectSize:o.ObjectSize,read:o.ReadFlag,write:o.WriteFlag,transmit:o.TransmitFlag,communicate:o.CommunicationFlag,update:o.UpdateFlag,readOnInit:o.ReadOnInitFlag,dpt:o.DatapointType}}var s=e.match(/<ComObjectRef\s[^>]+\/>/g),c={};if(s)for(var l=0;l<s.length;l++){var d=u(s[l]);c[d.Id]={Text:d.Text||"",Name:d.Name||"",FunctionText:d.FunctionText||"",RefId:d.RefId,ObjectSize:d.ObjectSize||null,read:d.ReadFlag||null,write:d.WriteFlag||null,transmit:d.TransmitFlag||null,Dpt:d.DatapointType||null}}return{Name:t,DeviceId:a,ComObjectTable:i,ComObjectRefs:c}}function h(e){var t={};for(var a in e)if(e.hasOwnProperty(a))if("string"===typeof e[a])t[a]=e[a];else{var n=e[a];if(Object.keys(n).length<1e4)t[a]=n;else{var i={},r=0,o=0;for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s],o<1e4?o++:(t[a+"."+r]=i,o=0,r++,i={}));o&&(t[a+"."+r]=i)}}return t}function b(e,t,a,n,i){var r=Object.keys(a),o=r.indexOf("DeviceId");-1!==o&&0!==o&&(r.splice(o,1),r.unshift("DeviceId")),i=i||a.DeviceId;for(var s=function(o){if(null!==a[r[o]])return{v:e.sendTo("knx."+t,"projectDeviceFile",{file:a[r[o]],prop:r[o]}).then((function(s){!s||s.error||(s.DeviceId!==i&&console.error("Warning object was saved under invalid deviceid "+s.DeviceId+" !== "+i),a[r[o]]=null,setTimeout((function(){return b(e,t,a,n,i)}),0))}))}},c=0;c<r.length;c++){var l=s(c);if("object"===typeof l)return l.v}n()}function m(e,t,a,n){if(!n)return new Promise((function(n){return m(e,t,a,n)}));for(var i in a)if(a.hasOwnProperty(i)&&a[i]){console.log("Device: "+i);var r=h(a[i]);return a[i]=null,b(e,t,r,(function(){return setTimeout((function(){return m(e,t,a,n)}),0)}))}n()}function f(){return(f=Object(o.a)(i.a.mark((function t(a,n){var s,l,u,p,h,b,m;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return s={xml0E:"",knx_masterE:"",projectE:"",devicesFilesE:[],error:""},l=new window.zip.ZipReader(new window.zip.BlobReader(a)),t.next=4,l.getEntries();case 4:u=t.sent,p=!1,h=Object(r.a)(u),t.prev=7,m=i.a.mark((function t(){var a;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("knx_master.xml"!==(a=b.value).filename){t.next=5;break}return t.next=4,a.getData(new window.zip.TextWriter).then((function(e){return"http://knx.org/xml/project/21"===(new DOMParser).parseFromString(e,"text/xml").getElementsByTagName("KNX")[0].getAttribute("xmlns")&&(p=!0),e}));case 4:s.knx_masterE=t.sent;case 5:if("project.xml"!==a.filename){t.next=9;break}return t.next=8,a.getData(new window.zip.TextWriter).then((function(e){return e}));case 8:s.projectE=t.sent;case 9:if(!a.filename.match(/\/0\.xml$/)){t.next=13;break}return t.next=12,a.getData(new window.zip.TextWriter).then((function(e){return e}));case 12:s.xml0E=t.sent;case 13:if(!a.filename.match(/\/M.*\.xml$/)){t.next=19;break}return t.t0=s.devicesFilesE,t.next=17,a.getData(new window.zip.TextWriter).then((function(e){return{filename:a.filename,data:e}}));case 17:t.t1=t.sent,t.t0.push.call(t.t0,t.t1);case 19:if(a.filename.match(".validation")&&(p=!0),!a.filename.endsWith(".zip")||!a.filename.startsWith("P-")||a.filename.startsWith("/")){t.next=23;break}return t.next=23,n().then(function(){var t=Object(o.a)(i.a.mark((function t(n){var o,l,u,h,b,m;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.getData(new window.zip.BlobWriter);case 2:return o=t.sent,t.t0=window.zip.ZipReader,t.t1=window.zip.BlobReader,t.next=7,o;case 7:return t.t2=t.sent,t.next=10,new t.t1(t.t2);case 10:return t.t3=t.sent,t.next=13,new t.t0(t.t3);case 13:return l=t.sent,t.next=16,l.getEntries();case 16:u=t.sent,!0===p&&(n=d.a.pbkdf2Sync(e.from(n,"utf16le"),e.from("21.project.ets.knx.org","ascii"),65536,32,"sha256").toString("base64")),h=Object(r.a)(u),t.prev=19,h.s();case 21:if((b=h.n()).done){t.next=43;break}if(!(m=b.value).filename.match(/0\.xml$/)){t.next=27;break}return t.next=26,m.getData(new window.zip.TextWriter,{password:n}).then((function(e){return e})).catch((function(e){s.error=c.a.t("wrong Password")}));case 26:s.xml0E=t.sent;case 27:if(!m.filename.match(/\/M.*\.xml$/)){t.next=33;break}return t.t4=s.devicesFilesE,t.next=31,m.getData(new window.zip.TextWriter,{password:n}).then((function(e){s.error=c.a.t("wrong Password")})).catch((function(e){return{title:"importerror",text:c.a.t("Invalid Password"),visible:!0}}));case 31:t.t5=t.sent,t.t4.push.call(t.t4,t.t5);case 33:if("project.xml"!==m.filename){t.next=37;break}return t.next=36,m.getData(new window.zip.TextWriter,{password:n}).then((function(e){return e})).catch((function(e){s.error="wrong Password"}));case 36:s.projectE=t.sent;case 37:if("knx_master.xml"!==m.filename){t.next=41;break}return t.next=40,m.getData(new window.zip.TextWriter,{password:n}).then((function(e){return e})).catch((function(e){s.error="wrong Password"}));case 40:s.knx_masterE=t.sent;case 41:t.next=21;break;case 43:t.next=48;break;case 45:t.prev=45,t.t6=t.catch(19),h.e(t.t6);case 48:return t.prev=48,h.f(),t.finish(48);case 51:return t.next=53,l.close();case 53:case"end":return t.stop()}}),t,null,[[19,45,48,51]])})));return function(e){return t.apply(this,arguments)}}());case 23:case"end":return t.stop()}}),t)})),h.s();case 10:if((b=h.n()).done){t.next=14;break}return t.delegateYield(m(),"t0",12);case 12:t.next=10;break;case 14:t.next=19;break;case 16:t.prev=16,t.t1=t.catch(7),h.e(t.t1);case 19:return t.prev=19,h.f(),t.finish(19);case 22:return t.next=24,l.close();case 24:return t.abrupt("return",s);case 25:case"end":return t.stop()}}),t,null,[[7,16,19,22]])})))).apply(this,arguments)}t.a=function(e,t,a,n,i,r){var o=t.socket,s=t.instance,c=void 0!==e&&e[0]?e[0]:null;return c&&null!==c?c.size>1e8?(console.log("File is too big!"),!1):(console.log("fileupload start"),window.zip.useWebWorkers=!1,void function(e,t){return f.apply(this,arguments)}(c,r).then((function(e){if(e.error.length>0)i({title:"importerror",error:e.error,visible:!0});else{var t,r=e.xml0E||"",c=e.knx_masterE||"",l=e.devicesFilesE||[],d=(e.projectE,{});r.length>0&&(!function(e){var t={},a=e.match(/<ComObjectInstanceRef\s[^>]+\/>/g);if(a)for(var n=0;n<a.length;n++){var i=u(a[n]);t[i.RefId]=i.RefId.replace(/_O-.*/,"")}}(r)),c.length>0&&(t=c),function(){for(var e=0;e<l.length;e++){var c=l[e].filename,u=(new DOMParser).parseFromString(l[e].data,"text/xml"),h=u.getElementsByTagName("ApplicationProgram")[0].getAttribute("Id"),b=u.getElementsByTagName("KNX")[0].getAttribute("xmlns");if(c.match(/\/M/))d[h]=p(l[e].data);else{var f={},j={},g=u.getElementsByTagName("ComObjectTable")[0],v=u.getElementsByTagName("ComObjectRefs")[0];f=g&&"object"===typeof g?g.outerHTML:'<ComObjectTable xmlns="'+b+'">\n </ComObjectTable>',j=v&&"object"===typeof v?v.outerHTML:'<ComObjectRefs xmlns="'+b+'">\n </ComObjectRefs>',d[h]={Name:u.getElementsByTagName("ApplicationProgram")[0].getAttribute("Name"),DeviceId:h,ComObjectTable:f,ComObjectRefs:j}}}console.log("Please wait while generating Objects.....it could take a while."),console.warn("socket conntected : "+o.connected),o.sendTo("knx."+s,"options",{onlyAddNewObjects:a.onlyAddNewObjects}).then((function(e){console.log(e)})),n(15),o.sendTo("knx."+s,"projectStart",{name:"test"}).then((function(e){if(e.error)return console.error("Projektstart: "+(e?e.error:"Unknown")),Promise.reject(e.error);n(33);var t=r;return o.sendTo("knx."+s,"projectXml0",{xml0:t})})).then((function(e){return!e||e.error?(console.error(e.error),Promise.reject(e.error)):(n(65),o.sendTo("knx."+s,"projectKnxMaster",{knx_master:t}))})).then((function(e){return!e||e.error?(console.error("projectKnxMaster: ".concat(e?e.error:"Unknown")),Promise.reject(e.error)):(n(90),m(o,s,d))})).then((function(){return o.sendTo("knx."+s,"projectFinished",null)})).then((function(e){if(console.log("projectFinished: ".concat(e?e.error:"Unknown")),e&&!e.error)return console.error("Finished ... Extracted: ".concat(e.count)),n(100),i({title:"importresult",numberOfGA:e.count,visible:!0}),o.sendTo("knx."+s,"reload");i({title:"importerror",error:e.error,numberOfGA:e.count,visible:!0})})).catch((function(e){console.error("Cannot parse: "+e),i({title:"importerror",text:"error "+e,visible:!0})}))}()}}),(function(e){return i({title:"importerror",error:e,visible:!0}),!1}))):(console.warn("invalid file object"),!1)}}).call(this,a(35).Buffer)},340:function(e,t,a){},390:function(e,t){},392:function(e,t){},403:function(e,t){},405:function(e,t){},432:function(e,t){},434:function(e,t){},435:function(e,t){},440:function(e,t){},442:function(e,t){},461:function(e,t){},473:function(e,t){},476:function(e,t){},489:function(e){e.exports=JSON.parse('{"Cancel":"Cancel","Save":"Save","Close":"Close","invalid KNX address":"Invalid KNX Address!","invalid ip address":"Invalid IP Address!","invalid frame interval":"Invalid frame rate, 10 < rate < 300","invalid password":"Invalid password","read":"read","write":"write","update":"update","Multiselection":"multi selection","none selected":"none selected","Choose corresponding GA":"Choose corresponding GA","GA State - Act relation":"GA State - Act relation","modify":"modify","add new relation":"add new relation","Error":"error","This Error occured : ":"This Error occured : ","Available Licenses":"Available Licenses","valid until":"valid until","Datapoints":"Datapoints","Version":"Version","Host ID":"Host ID","Host ID : ":"Host ID : ","Host ID (Serial-Number(UUID)) : ":"Host ID (Serial-Number(UUID)) : ","Apply":"Apply","Please enter ioBroker.net login and password":"Please enter ioBroker.net login and password","e-mail":"E-Mail","password":"password","add / modify license":"add / modify license","license":"license","Synchronize with iobroker.net":"Synchronize with iobroker.net","GA-structure":"GA-structure","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"The target has already a relation. Delete the target relation first before create a new one. It is connected to ","It is not possible to combine State GA and Act GA with different datapointtypes.":"It is not possible to combine State GA and Act GA with different datapointtypes.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"It is not possible to combine state-state nor act-act GAs. Check the GA Properties.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA","Information":"Information","Changing this GA is not possible, because they have existing Act-State relations.":"Changing this GA is not possible, because they have existing Act-State relations.","GA State - Actuator relation":"GA State - Actuator relation","delete":"delete","Successful imported GAs : ":"Successful imported GAs : ","Import partially or completely failed with error : ":"Import partially or completely failed with error : ","number of max datapoints : ":"number of max datapoints : ","valid until : ":"valid until : ","expired":"expired","version : ":"version : ","KNX Gateway Settings":"KNX Gateway Settings","local iobroker IP":"local iobroker IP","loglevel":"loglevel","Info":"Info","more":"more","all":"all","upload KNX project file":"upload KNX project file","only import new datapoints":"only import new datapoints","license not valid":"license not valid","adapter not running":"adapter not running","License valid.":"License valid.","KNX adapter licensing":"KNX adapter licensing","Failed to fetch":"Failed to fetch","License error : ":"License error : ",". Click here to install a license.":". Click here to install a license.","License server not available.":"License server not available.","KNX packages per second":"KNX packages per second","physical KNX address":"physical KNX address","KNX Gateway Port":"KNX Gateway Port","KNX Gateway IP":"KNX Gateway IP","Drag \'n\' drop knxproj file here, or click to select file":"Drag \'n\' drop knxproj file here, or click to select file","This is not allowed if this GA already has a State-Act relation.":"This is not allowed if this GA already has a State-Act relation.","The source GA has to have only write attribute.":"The source GA has to have only write attribute.","The value types does not match. Please select a proper Datapointtype for GA.":"The value types does not match. Please select a proper Datapointtype for GA.","no non-knx ioBroker state linked":"no non-knx ioBroker state linked","Direct Link states":"Direct Link states","wrong Password":"Wrong password","Invalid Password":"Invalid password"}')},490:function(e){e.exports=JSON.parse('{"Cancel":"Abbrechen","invalid KNX address":"Ung\xfcltige KNX-Adresse!","invalid frame interval":"Ung\xfcltige Bildrate, 10 < Rate < 300","invalid ip address":"Ung\xfcltige IP-Adresse!","invalid password":"Ung\xfcltiges Passwort","Apply":"Anwenden","Available Licenses":"Verf\xfcgbare Lizenzen","Choose corresponding GA":"W\xe4hlen Sie entsprechende GA","Close":"Schliessen","Datapoints":"Datenpunkte","Error":"Fehler","GA State - Act relation":"GA State - Act-Beziehung","GA-structure":"GA-Struktur","Host ID":"Host-ID","Multiselection":"Mehrfachauswahl","Please enter ioBroker.net login and password":"Bitte geben Sie ioBroker.net Login und Passwort ein","Save":"Speichern","Synchronize with iobroker.net":"Mit iobroker.net synchronisieren","This Error occured : ":"Dieser Fehler ist aufgetreten:","Version":"Ausf\xfchrung","add / modify license":"Lizenz hinzuf\xfcgen / \xe4ndern","add new relation":"neue Beziehung hinzuf\xfcgen","e-mail":"Email","license":"Lizenz","modify":"\xe4ndern","none selected":"nichts ausgew\xe4hlt","password":"Passwort","read":"lesen","update":"aktualisieren","valid until":"g\xfcltig bis","write":"schreiben",". Click here to install a license.":". Klicken Sie hier, um eine Lizenz zu installieren.","Changing this GA is not possible, because they have existing Act-State relations.":"Eine \xc4nderung dieser GA ist nicht m\xf6glich, da sie bestehende Act-State-Beziehungen haben.","Failed to fetch":"Fehler beim Abrufen","GA State - Actuator relation":"GA-Zustand - Aktuator-Beziehung","Host ID : ":"Host-ID:","Import partially or completely failed with error : ":"Import teilweise oder vollst\xe4ndig mit Fehler fehlgeschlagen:","Info":"Die Info","Information":"Information","It is not possible to combine State GA and Act GA with different datapointtypes.":"Es ist nicht m\xf6glich, State GA und Act GA mit unterschiedlichen Datenpunkttypen zu kombinieren.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"Eine Kombination von State-State- oder Act-Act-GAs ist nicht m\xf6glich. \xdcberpr\xfcfen Sie die GA-Eigenschaften.","KNX Gateway Settings":"KNX-Gateway-Einstellungen","KNX adapter licensing":"KNX-Adapter-Lizenzierung","License error : ":"Lizenzfehler:","License server not available.":"Lizenzserver nicht verf\xfcgbar.","License valid.":"Lizenz g\xfcltig.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Einer von State oder Act (oder beides) ist nicht als lese- oder schreibbar definiert. Diese Eigenschaft f\xfcr Act and State GA festlegen","Successful imported GAs : ":"Erfolgreich importierte GAs:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"Das Ziel hat bereits eine Beziehung. L\xf6schen Sie zuerst die Zielbeziehung, bevor Sie eine neue erstellen. Es ist verbunden mit","adapter not running":"Adapter l\xe4uft nicht","all":"alle","delete":"l\xf6schen","expired":"abgelaufen","license not valid":"Lizenz nicht g\xfcltig","local iobroker IP":"lokale iobroker-IP","loglevel":"Loglevel","more":"mehr","number of max datapoints : ":"Anzahl der maximalen Datenpunkte:","only import new datapoints":"nur neue Datenpunkte importieren","upload KNX project file":"KNX Projektdatei hochladen","valid until : ":"g\xfcltig bis :","version : ":"Version :","Drag \'n\' drop knxproj file here, or click to select file":"Ziehen Sie die knxproj-Datei hierher oder legen Sie sie hier ab, oder klicken Sie, um die Datei auszuw\xe4hlen","KNX Gateway IP":"KNX-Gateway-IP","KNX Gateway Port":"KNX-Gateway-Port","KNX packages per second":"KNX-Pakete pro Sekunde","physical KNX address":"physikalische KNX-Adresse","Direct Link states":"Direktlink-Zust\xe4nde","The source GA has to have only write attribute.":"Der Quell-GA darf nur das Schreibattribut haben.","The value types does not match. Please select a proper Datapointtype for GA.":"Die Werttypen stimmen nicht \xfcberein. Bitte w\xe4hlen Sie einen geeigneten Datenpunkttyp f\xfcr GA.","This is not allowed if this GA already has a State-Act relation.":"Dies ist nicht zul\xe4ssig, wenn dieser GA bereits eine Status-Act-Beziehung hat.","no non-knx ioBroker state linked":"kein non-KNX ioBroker State verkn\xfcpft","Host ID (Serial-Number(UUID)) : ":"Host-ID (Seriennummer (UUID)) :","Invalid Password":"Ung\xfcltiges Passwort","wrong Password":"Falsches Passwort"}')},491:function(e){e.exports=JSON.parse('{"Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","invalid KNX address":"\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 KNX!","invalid frame interval":"\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u0430\u0434\u0440\u043e\u0432, 10 <\u0447\u0430\u0441\u0442\u043e\u0442\u0430 <300","invalid ip address":"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441!","invalid password":"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c","Apply":"\u041f\u043e\u0434\u0430\u0442\u044c \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u0438\u0435","Available Licenses":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438","Choose corresponding GA":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e GA","Close":"\u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c","Datapoints":"\u0422\u043e\u0447\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445","Error":"\u043e\u0448\u0438\u0431\u043a\u0430","GA State - Act relation":"\u041e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 GA State - Act","GA-structure":"GA-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430","Host ID":"ID \u0445\u043e\u0441\u0442\u0430","Multiselection":"\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0431\u043e\u0440","Please enter ioBroker.net login and password":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d \u0438 \u043f\u0430\u0440\u043e\u043b\u044c ioBroker.net","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Synchronize with iobroker.net":"\u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441 iobroker.net","This Error occured : ":"\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u044d\u0442\u0430 \u043e\u0448\u0438\u0431\u043a\u0430:","Version":"\u0412\u0435\u0440\u0441\u0438\u044f","add / modify license":"\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c / \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e","add new relation":"\u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435","e-mail":"\u042d\u043b. \u043f\u043e\u0447\u0442\u0430","license":"\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f","modify":"\u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c","none selected":"\u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e","password":"\u043f\u0430\u0440\u043e\u043b\u044c","read":"\u0447\u0438\u0442\u0430\u0442\u044c","update":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","valid until":"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043e","write":"\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c",". Click here to install a license.":". \u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044e.","Changing this GA is not possible, because they have existing Act-State relations.":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 GA \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \xab\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435-\u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u043e\xbb.","Failed to fetch":"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c","GA State - Actuator relation":"\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 GA - \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430","Host ID : ":"ID \u0445\u043e\u0441\u0442\u0430:","Import partially or completely failed with error : ":"\u0418\u043c\u043f\u043e\u0440\u0442 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u043e\u0439:","Info":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f","Information":"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f","It is not possible to combine State GA and Act GA with different datapointtypes.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c State GA \u0438 Act GA \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0442\u0438\u043f\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043e\u0431\u0449\u0435\u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0413\u0410. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 GA.","KNX Gateway Settings":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0448\u043b\u044e\u0437\u0430 KNX","KNX adapter licensing":"\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u0430 KNX","License error : ":"\u041e\u0448\u0438\u0431\u043a\u0430 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438:","License server not available.":"\u0421\u0435\u0440\u0432\u0435\u0440 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.","License valid.":"\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"\u041e\u0434\u043d\u043e \u0438\u0437 State \u0438\u043b\u0438 Act (\u0438\u043b\u0438 \u043e\u0431\u043e\u0438\u0445) \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043a\u0430\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u044d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f Act \u0438 State GA","Successful imported GAs : ":"\u0423\u0441\u043f\u0435\u0448\u043d\u044b\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0413\u0410:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"\u0423 \u0446\u0435\u043b\u0438 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u0432\u044f\u0437\u044c. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u043e\u0435, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0446\u0435\u043b\u0435\u0432\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441","adapter not running":"\u0430\u0434\u0430\u043f\u0442\u0435\u0440 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442","all":"\u0432\u0441\u0435","delete":"\u0443\u0434\u0430\u043b\u044f\u0442\u044c","expired":"\u0438\u0441\u0442\u0435\u043a\u0448\u0438\u0439","license not valid":"\u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430","local iobroker IP":"\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441 iobroker","loglevel":"\u043b\u043e\u0433-\u0443\u0440\u043e\u0432\u0435\u043d\u044c","more":"\u0431\u043e\u043b\u0435\u0435","number of max datapoints : ":"\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0434\u0430\u043d\u043d\u044b\u0445:","only import new datapoints":"\u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u043e\u0447\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445","upload KNX project file":"\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u0430 KNX","valid until : ":"\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430 \u0434\u043e :","version : ":"\u0432\u0435\u0440\u0441\u0438\u044f:","Drag \'n\' drop knxproj file here, or click to select file":"\u041f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b knxproj \u0438\u043b\u0438 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b","KNX Gateway IP":"IP-\u0430\u0434\u0440\u0435\u0441 \u0448\u043b\u044e\u0437\u0430 KNX","KNX Gateway Port":"\u041f\u043e\u0440\u0442 \u0448\u043b\u044e\u0437\u0430 KNX","KNX packages per second":"\u041f\u0430\u043a\u0435\u0442\u043e\u0432 KNX \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443","physical KNX address":"\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u0434\u0440\u0435\u0441 KNX","Direct Link states":"\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0438","The source GA has to have only write attribute.":"\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 GA \u0434\u043e\u043b\u0436\u0435\u043d \u0438\u043c\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u0438.","The value types does not match. Please select a proper Datapointtype for GA.":"\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u0442\u0438\u043f \u0442\u043e\u0447\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f GA.","This is not allowed if this GA already has a State-Act relation.":"\u042d\u0442\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e, \u0435\u0441\u043b\u0438 \u0443 \u044d\u0442\u043e\u0433\u043e GA \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 State-Act.","no non-knx ioBroker state linked":"\u043d\u0435\u0442 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f ioBroker, \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0442 knx","Host ID (Serial-Number(UUID)) : ":"\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0445\u043e\u0441\u0442\u0430 (\u0441\u0435\u0440\u0438\u0439\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 (UUID)) :","Invalid Password":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c","wrong Password":"\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u0440\u043e\u043b\u044c"}')},492:function(e){e.exports=JSON.parse('{"Cancel":"Cancelar","invalid KNX address":"Endere\xe7o KNX inv\xe1lido!","invalid frame interval":"Taxa de quadros inv\xe1lida, 10 <taxa <300","invalid ip address":"Endere\xe7o IP inv\xe1lido!","invalid password":"Senha inv\xe1lida","Apply":"Aplicar","Available Licenses":"Licen\xe7as Dispon\xedveis","Choose corresponding GA":"Escolha o GA correspondente","Close":"Fechar","Datapoints":"Os pontos de dados","Error":"erro","GA State - Act relation":"Estado GA - rela\xe7\xe3o de ato","GA-structure":"Estrutura GA","Host ID":"ID do host","Multiselection":"sele\xe7\xe3o m\xfaltipla","Please enter ioBroker.net login and password":"Digite o login e a senha do ioBroker.net","Save":"Salve \ue051","Synchronize with iobroker.net":"Sincronizar com iobroker.net","This Error occured : ":"Este erro ocorreu:","Version":"Vers\xe3o","add / modify license":"adicionar / modificar licen\xe7a","add new relation":"adicionar nova rela\xe7\xe3o","e-mail":"O email","license":"licen\xe7a","modify":"modificar","none selected":"nenhum selecionado","password":"senha","read":"leitura","update":"atualizar","valid until":"v\xe1lido at\xe9","write":"escrever",". Click here to install a license.":". Clique aqui para instalar uma licen\xe7a.","Changing this GA is not possible, because they have existing Act-State relations.":"Mudar este GA n\xe3o \xe9 poss\xedvel, porque eles t\xeam rela\xe7\xf5es Act-State existentes.","Failed to fetch":"Falha ao buscar","GA State - Actuator relation":"Estado GA - Rela\xe7\xe3o do atuador","Host ID : ":"ID do host:","Import partially or completely failed with error : ":"A importa\xe7\xe3o falhou parcial ou completamente com erro:","Info":"Informa\xe7\xf5es","Information":"Em forma\xe7\xe3o","It is not possible to combine State GA and Act GA with different datapointtypes.":"N\xe3o \xe9 poss\xedvel combinar State GA e Act GA com diferentes tipos de dados.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"N\xe3o \xe9 poss\xedvel combinar AGs estado-estado nem ato-ato. Verifique as propriedades do GA.","KNX Gateway Settings":"Configura\xe7\xf5es de gateway KNX","KNX adapter licensing":"Licenciamento do adaptador KNX","License error : ":"Erro de licen\xe7a:","License server not available.":"Servidor de licen\xe7a n\xe3o dispon\xedvel.","License valid.":"Licen\xe7a v\xe1lida.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Um dos Estados ou Ato (ou ambos) n\xe3o foi definido como lido ou grav\xe1vel. Defina esta propriedade para Act e State GA","Successful imported GAs : ":"GAs importados com sucesso:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"O alvo j\xe1 tem uma rela\xe7\xe3o. Exclua a rela\xe7\xe3o de destino antes de criar uma nova. Est\xe1 conectado a","adapter not running":"adaptador n\xe3o funcionando","all":"tudo","delete":"excluir","expired":"expirado","license not valid":"licen\xe7a inv\xe1lida","local iobroker IP":"IP iobroker local","loglevel":"n\xedvel de log","more":"mais","number of max datapoints : ":"n\xfamero m\xe1ximo de pontos de dados:","only import new datapoints":"apenas importe novos pontos de dados","upload KNX project file":"carregar arquivo de projeto KNX","valid until : ":"v\xe1lido at\xe9 :","version : ":"vers\xe3o:","Drag \'n\' drop knxproj file here, or click to select file":"Arraste e solte o arquivo knxproj aqui ou clique para selecionar o arquivo","KNX Gateway IP":"IP do gateway KNX","KNX Gateway Port":"Porta de gateway KNX","KNX packages per second":"Pacotes KNX por segundo","physical KNX address":"endere\xe7o KNX f\xedsico","Direct Link states":"Estados de link direto","The source GA has to have only write attribute.":"O GA de origem deve ter apenas o atributo de grava\xe7\xe3o.","The value types does not match. Please select a proper Datapointtype for GA.":"Os tipos de valor n\xe3o correspondem. Selecione um Datapointtype adequado para GA.","This is not allowed if this GA already has a State-Act relation.":"Isso n\xe3o \xe9 permitido se este GA j\xe1 tiver uma rela\xe7\xe3o Estado-ato.","no non-knx ioBroker state linked":"nenhum estado n\xe3o-knx ioBroker vinculado","Host ID (Serial-Number(UUID)) : ":"ID do host (N\xfamero de s\xe9rie (UUID)):","Invalid Password":"Senha inv\xe1lida","wrong Password":"Senha incorreta"}')},493:function(e){e.exports=JSON.parse('{"Cancel":"annuleren","invalid KNX address":"Ongeldig KNX-adres!","invalid frame interval":"Ongeldige framesnelheid, 10 < snelheid < 300","invalid ip address":"Ongeldig IP-adres!","invalid password":"Ongeldig wachtwoord","Apply":"Van toepassing zijn","Available Licenses":"Beschikbare licenties","Choose corresponding GA":"Kies overeenkomstige GA","Close":"Dichtbij","Datapoints":"Data punten","Error":"fout","GA State - Act relation":"GA Staat - Act relatie","GA-structure":"GA-structuur","Host ID":"Host-ID","Multiselection":"meervoudige selectie","Please enter ioBroker.net login and password":"Voer de login en het wachtwoord van ioBroker.net in","Save":"Opslaan","Synchronize with iobroker.net":"Synchroniseren met iobroker.net","This Error occured : ":"Deze fout is opgetreden:","Version":"Versie","add / modify license":"licentie toevoegen / wijzigen","add new relation":"nieuwe relatie toevoegen","e-mail":"E-mail","license":"vergunning","modify":"aanpassen","none selected":"geen geselecteerd","password":"wachtwoord","read":"lezen","update":"update","valid until":"geldig tot","write":"schrijven",". Click here to install a license.":". Klik hier om een licentie te installeren.","Changing this GA is not possible, because they have existing Act-State relations.":"Het wijzigen van deze AV is niet mogelijk, omdat zij bestaande Act-State relaties hebben.","Failed to fetch":"Gefaald om op te halen","GA State - Actuator relation":"GA Status - Actuator relatie","Host ID : ":"Host-ID:","Import partially or completely failed with error : ":"Importeren is gedeeltelijk of volledig mislukt met fout:","Info":"Info","Information":"Informatie","It is not possible to combine State GA and Act GA with different datapointtypes.":"Het is niet mogelijk om Staat GA en Wet GA te combineren met verschillende datapunttypes.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"Het is niet mogelijk om staat-staat of act-act GA\'s te combineren. Controleer de GA-eigenschappen.","KNX Gateway Settings":"KNX Gateway-instellingen","KNX adapter licensing":"KNX-adapterlicenties","License error : ":"Licentie fout:","License server not available.":"Licentieserver niet beschikbaar.","License valid.":"Licentie geldig.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Een van State of Act (of beide) is niet gedefinieerd als leesbaar of beschrijfbaar. Stel deze eigenschap in op Act en State GA","Successful imported GAs : ":"Succesvolle ge\xefmporteerde GA\'s:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"Het doelwit heeft al een relatie. Verwijder eerst de doelrelatie voordat u een nieuwe maakt. Het is verbonden met","adapter not running":"adapter werkt niet","all":"alle","delete":"verwijderen","expired":"verlopen","license not valid":"licentie niet geldig","local iobroker IP":"lokale iobroker IP","loglevel":"Log niveau","more":"meer","number of max datapoints : ":"aantal max datapunten :","only import new datapoints":"importeer alleen nieuwe datapunten","upload KNX project file":"upload KNX-projectbestand","valid until : ":"geldig tot :","version : ":"versie:","Drag \'n\' drop knxproj file here, or click to select file":"Sleep het knxproj-bestand hierheen, of klik om het bestand te selecteren","KNX Gateway IP":"KNX Gateway IP","KNX Gateway Port":"KNX Gateway-poort","KNX packages per second":"KNX-pakketten per seconde","physical KNX address":"fysiek KNX-adres","Direct Link states":"Directe link-statussen","The source GA has to have only write attribute.":"De bron-GA hoeft alleen een schrijfkenmerk te hebben.","The value types does not match. Please select a proper Datapointtype for GA.":"De waardetypes komen niet overeen. Selecteer een geschikt datapunttype voor GA.","This is not allowed if this GA already has a State-Act relation.":"Dit mag niet als deze Aw al een Staat-Wet relatie heeft.","no non-knx ioBroker state linked":"geen niet-knx ioBroker-status gekoppeld","Host ID (Serial-Number(UUID)) : ":"Host-ID (serienummer (UUID)):","Invalid Password":"Ongeldig wachtwoord","wrong Password":"Verkeerd wachtwoord"}')},494:function(e){e.exports=JSON.parse('{"Cancel":"Annuler","invalid KNX address":"Adresse KNX invalide !","invalid frame interval":"Fr\xe9quence d\'images non valide, 10 < fr\xe9quence < 300","invalid ip address":"Adresse IP invalide\xa0!","invalid password":"Mot de passe incorrect","Apply":"Appliquer","Available Licenses":"Licences disponibles","Choose corresponding GA":"Choisissez l\'AG correspondante","Close":"proche","Datapoints":"Points de donn\xe9es","Error":"Erreur","GA State - Act relation":"GA \xc9tat - Relation d\'acte","GA-structure":"Structure GA","Host ID":"Identifiant d\'h\xf4te","Multiselection":"s\xe9lection multiple","Please enter ioBroker.net login and password":"Veuillez saisir le login et le mot de passe ioBroker.net","Save":"sauvegarder","Synchronize with iobroker.net":"Synchroniser avec iobroker.net","This Error occured : ":"Cette erreur s\'est produite\xa0:","Version":"Version","add / modify license":"ajouter/modifier la licence","add new relation":"ajouter une nouvelle relation","e-mail":"E-mail","license":"Licence","modify":"modifier","none selected":"aucune s\xe9lection","password":"le mot de passe","read":"lire","update":"mettre \xe0 jour","valid until":"valable jusque","write":"\xe9crivez",". Click here to install a license.":". Cliquez ici pour installer une licence.","Changing this GA is not possible, because they have existing Act-State relations.":"Changer cette AG n\'est pas possible, car ils ont des relations Acte-\xc9tat existantes.","Failed to fetch":"\xc9chec de la r\xe9cup\xe9ration","GA State - Actuator relation":"Etat GA - Relation actionneur","Host ID : ":"Identifiant d\'h\xf4te\xa0:","Import partially or completely failed with error : ":"\xc9chec partiel ou total de l\'importation avec erreur\xa0:","Info":"Info","Information":"Informations","It is not possible to combine State GA and Act GA with different datapointtypes.":"Il n\'est pas possible de combiner State GA et Act GA avec diff\xe9rents types de points de donn\xe9es.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"Il n\'est pas possible de combiner des AG \xe9tat-\xe9tat ou acte-acte. V\xe9rifiez les propri\xe9t\xe9s GA.","KNX Gateway Settings":"Param\xe8tres de la passerelle KNX","KNX adapter licensing":"Licence d\'adaptateur KNX","License error : ":"Erreur de licence :","License server not available.":"Serveur de licence non disponible.","License valid.":"Licence valide.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Un \xe9tat ou une loi (ou les deux) n\'a pas \xe9t\xe9 d\xe9fini comme lisible ou inscriptible. D\xe9finir cette propri\xe9t\xe9 pour Act et State GA","Successful imported GAs : ":"GAs import\xe9es r\xe9ussies :","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"La cible a d\xe9j\xe0 une relation. Supprimez d\'abord la relation cible avant d\'en cr\xe9er une nouvelle. Il est connect\xe9 \xe0","adapter not running":"adaptateur ne fonctionne pas","all":"tous","delete":"effacer","expired":"expir\xe9","license not valid":"licence non valide","local iobroker IP":"IP iobroker local","loglevel":"niveau de journalisation","more":"Suite","number of max datapoints : ":"nombre de points de donn\xe9es max :","only import new datapoints":"importer uniquement les nouveaux points de donn\xe9es","upload KNX project file":"t\xe9l\xe9charger le fichier de projet KNX","valid until : ":"valable jusque :","version : ":"version :","Drag \'n\' drop knxproj file here, or click to select file":"Faites glisser le fichier knxproj ici, ou cliquez pour s\xe9lectionner le fichier","KNX Gateway IP":"IP de la passerelle KNX","KNX Gateway Port":"Port de passerelle KNX","KNX packages per second":"Paquets KNX par seconde","physical KNX address":"adresse physique KNX","Direct Link states":"\xc9tats du lien direct","The source GA has to have only write attribute.":"Le GA source ne doit avoir qu\'un attribut d\'\xe9criture.","The value types does not match. Please select a proper Datapointtype for GA.":"Les types de valeur ne correspondent pas. Veuillez s\xe9lectionner un type de point de donn\xe9es appropri\xe9 pour GA.","This is not allowed if this GA already has a State-Act relation.":"Ceci n\'est pas autoris\xe9 si cette AG a d\xe9j\xe0 une relation \xc9tat-Acte.","no non-knx ioBroker state linked":"aucun \xe9tat ioBroker non-knx li\xe9","Host ID (Serial-Number(UUID)) : ":"ID d\'h\xf4te (num\xe9ro de s\xe9rie (UUID))\xa0:","Invalid Password":"Mot de passe incorrect","wrong Password":"Mauvais mot de passe"}')},495:function(e){e.exports=JSON.parse('{"Cancel":"Annulla","invalid KNX address":"Indirizzo KNX non valido!","invalid frame interval":"Frequenza fotogrammi non valida, 10 < frequenza < 300","invalid ip address":"Indirizzo IP non valido!","invalid password":"Password non valida","Apply":"Applicare","Available Licenses":"Licenze disponibili","Choose corresponding GA":"Scegli GA . corrispondente","Close":"Chiudere","Datapoints":"Punti dati","Error":"errore","GA State - Act relation":"GA Stato - Atto rapporto","GA-structure":"GA-struttura","Host ID":"ID host","Multiselection":"selezione multipla","Please enter ioBroker.net login and password":"Per favore inserisci login e password di ioBroker.net","Save":"Salva","Synchronize with iobroker.net":"Sincronizza con iobroker.net","This Error occured : ":"Si \xe8 verificato questo errore:","Version":"Versione","add / modify license":"aggiungi/modifica licenza","add new relation":"aggiungi nuova relazione","e-mail":"E-mail","license":"licenza","modify":"modificare","none selected":"Nessuno selezionato","password":"parola d\'ordine","read":"leggere","update":"aggiornare","valid until":"valido fino a","write":"Scrivi",". Click here to install a license.":". Fare clic qui per installare una licenza.","Changing this GA is not possible, because they have existing Act-State relations.":"Non \xe8 possibile modificare questo GA, perch\xe9 hanno relazioni Act-Stato esistenti.","Failed to fetch":"Impossibile recuperare","GA State - Actuator relation":"Stato GA - Relazione attuatore","Host ID : ":"ID ospite:","Import partially or completely failed with error : ":"Importazione parzialmente o completamente fallita con errore:","Info":"Informazioni","Information":"Informazione","It is not possible to combine State GA and Act GA with different datapointtypes.":"Non \xe8 possibile combinare State GA e Act GA con diversi tipi di datapoint.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"Non \xe8 possibile combinare GA stato-stato o atto-atto. Controlla le propriet\xe0 GA.","KNX Gateway Settings":"Impostazioni gateway KNX","KNX adapter licensing":"Licenza dell\'adattatore KNX","License error : ":"Errore di licenza:","License server not available.":"Server licenze non disponibile.","License valid.":"Licenza valida.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Uno di State o Act (o entrambi) non \xe8 stato definito come leggibile o scrivibile. Imposta questa propriet\xe0 per Act e State GA","Successful imported GAs : ":"GA importati con successo:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"Il target ha gi\xe0 una relazione. Eliminare la relazione di destinazione prima di crearne una nuova. \xc8 collegato a","adapter not running":"adattatore non funzionante","all":"Tutti","delete":"Elimina","expired":"scaduto","license not valid":"patente non valida","local iobroker IP":"IP iobroker locale","loglevel":"loglevel","more":"Di pi\xf9","number of max datapoints : ":"numero massimo di punti dati:","only import new datapoints":"importa solo nuovi punti dati","upload KNX project file":"caricare il file di progetto KNX","valid until : ":"valido fino a :","version : ":"versione:","Drag \'n\' drop knxproj file here, or click to select file":"Trascina e rilascia il file knxproj qui o fai clic per selezionare il file","KNX Gateway IP":"KNX Gateway IP","KNX Gateway Port":"Porta gateway KNX","KNX packages per second":"Pacchetti KNX al secondo","physical KNX address":"indirizzo fisico KNX","Direct Link states":"Stati di collegamento diretto","The source GA has to have only write attribute.":"Il GA di origine deve avere solo l\'attributo di scrittura.","The value types does not match. Please select a proper Datapointtype for GA.":"I tipi di valore non corrispondono. Seleziona un tipo di datapoint appropriato per GA.","This is not allowed if this GA already has a State-Act relation.":"Ci\xf2 non \xe8 consentito se questa AG ha gi\xe0 una relazione Stato-Atto.","no non-knx ioBroker state linked":"nessuno stato ioBroker non knx collegato","Host ID (Serial-Number(UUID)) : ":"ID host (numero di serie (UUID)):","Invalid Password":"Password non valida","wrong Password":"Password errata"}')},496:function(e){e.exports=JSON.parse('{"Cancel":"Cancelar","invalid KNX address":"\xa1Direcci\xf3n KNX no v\xe1lida!","invalid frame interval":"Velocidad de fotogramas no v\xe1lida, 10 <velocidad <300","invalid ip address":"\xa1Direcci\xf3n IP inv\xe1lida!","invalid password":"Contrase\xf1a invalida","Apply":"Solicitar","Available Licenses":"Licencias Disponibles","Choose corresponding GA":"Elija GA correspondiente","Close":"Cerrar","Datapoints":"Puntos de datos","Error":"error","GA State - Act relation":"Relaci\xf3n GA Estado - Act","GA-structure":"Estructura GA","Host ID":"ID de host","Multiselection":"selecci\xf3n m\xfaltiple","Please enter ioBroker.net login and password":"Ingrese el nombre de usuario y la contrase\xf1a de ioBroker.net","Save":"Ahorrar","Synchronize with iobroker.net":"Sincronizar con iobroker.net","This Error occured : ":"Este error ocurri\xf3:","Version":"Versi\xf3n","add / modify license":"agregar / modificar licencia","add new relation":"agregar nueva relaci\xf3n","e-mail":"Email","license":"licencia","modify":"modificar","none selected":"ninguna seleccionada","password":"contrase\xf1a","read":"leer","update":"actualizar","valid until":"v\xe1lido hasta","write":"escribir",". Click here to install a license.":". Haga clic aqu\xed para instalar una licencia.","Changing this GA is not possible, because they have existing Act-State relations.":"Cambiar esta AG no es posible, porque tienen relaciones Act-State existentes.","Failed to fetch":"Fallo en recuperar","GA State - Actuator relation":"Estado GA - Relaci\xf3n actuador","Host ID : ":"ID de host:","Import partially or completely failed with error : ":"Importaci\xf3n parcial o totalmente fallida con error:","Info":"Informaci\xf3n","Information":"Informaci\xf3n","It is not possible to combine State GA and Act GA with different datapointtypes.":"No es posible combinar State GA y Act GA con diferentes tipos de puntos de datos.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"No es posible combinar GAs estado-estado ni acto-acto. Compruebe las propiedades de GA.","KNX Gateway Settings":"Configuraci\xf3n de la puerta de enlace KNX","KNX adapter licensing":"Licencia de adaptador KNX","License error : ":"Error de licencia:","License server not available.":"El servidor de licencias no est\xe1 disponible.","License valid.":"Licencia v\xe1lida.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Uno de State o Act (o ambos) no se ha definido como le\xeddo o escribible. Establecer esta propiedad para Act y State GA","Successful imported GAs : ":"GA importadas exitosas:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"El objetivo ya tiene una relaci\xf3n. Elimine la relaci\xf3n de destino primero antes de crear una nueva. Est\xe1 conectado a","adapter not running":"adaptador no funciona","all":"todos","delete":"Eliminar","expired":"Caducado","license not valid":"licencia no v\xe1lida","local iobroker IP":"IP local de iobroker","loglevel":"nivel de registro","more":"m\xe1s","number of max datapoints : ":"n\xfamero m\xe1ximo de puntos de datos:","only import new datapoints":"solo importar nuevos puntos de datos","upload KNX project file":"cargar archivo de proyecto KNX","valid until : ":"v\xe1lido hasta :","version : ":"versi\xf3n :","Drag \'n\' drop knxproj file here, or click to select file":"Arrastre y suelte el archivo knxproj aqu\xed, o haga clic para seleccionar el archivo","KNX Gateway IP":"Puerta de enlace KNX IP","KNX Gateway Port":"Puerto de puerta de enlace KNX","KNX packages per second":"Paquetes KNX por segundo","physical KNX address":"direcci\xf3n KNX f\xedsica","Direct Link states":"Estados de enlace directo","The source GA has to have only write attribute.":"La fuente GA solo debe tener un atributo de escritura.","The value types does not match. Please select a proper Datapointtype for GA.":"Los tipos de valor no coinciden. Seleccione un tipo de punto de datos adecuado para GA.","This is not allowed if this GA already has a State-Act relation.":"Esto no est\xe1 permitido si esta AG ya tiene una relaci\xf3n Estado-Ley.","no non-knx ioBroker state linked":"ning\xfan estado ioBroker no vinculado a knx","Host ID (Serial-Number(UUID)) : ":"ID de host (n\xfamero de serie (UUID)):","Invalid Password":"Contrase\xf1a invalida","wrong Password":"Contrase\xf1a incorrecta"}')},497:function(e){e.exports=JSON.parse('{"Cancel":"Anuluj","invalid KNX address":"Nieprawid\u0142owy adres KNX!","invalid frame interval":"Nieprawid\u0142owa liczba klatek na sekund\u0119, 10 < stawka < 300","invalid ip address":"Nieprawid\u0142owy adres IP!","invalid password":"Nieprawid\u0142owe has\u0142o","Apply":"Zastosowa\u0107","Available Licenses":"Dost\u0119pne licencje","Choose corresponding GA":"Wybierz odpowiedni GA","Close":"Blisko","Datapoints":"Punkty danych","Error":"b\u0142\u0105d","GA State - Act relation":"Stan GA \u2013 relacja aktu","GA-structure":"GA-struktura","Host ID":"Identyfikator hosta","Multiselection":"wielokrotny wyb\xf3r","Please enter ioBroker.net login and password":"Wprowad\u017a login i has\u0142o ioBroker.net","Save":"Zapisa\u0107","Synchronize with iobroker.net":"Synchronizuj z iobroker.net","This Error occured : ":"Ten b\u0142\u0105d wyst\u0105pi\u0142:","Version":"Wersja","add / modify license":"dodaj/zmodyfikuj licencj\u0119","add new relation":"dodaj now\u0105 relacj\u0119","e-mail":"E-mail","license":"licencja","modify":"modyfikowa\u0107","none selected":"nie wybrano","password":"has\u0142o","read":"czyta\u0107","update":"aktualizacja","valid until":"wa\u017cne do","write":"pisa\u0107",". Click here to install a license.":". Kliknij tutaj, aby zainstalowa\u0107 licencj\u0119.","Changing this GA is not possible, because they have existing Act-State relations.":"Zmiana tego GA nie jest mo\u017cliwa, poniewa\u017c maj\u0105 istniej\u0105ce relacje Akt-Pa\u0144stwo.","Failed to fetch":"Nie uda\u0142o si\u0119 pobra\u0107","GA State - Actuator relation":"Stan GA - Relacja si\u0142ownika","Host ID : ":"Identyfikator hosta :","Import partially or completely failed with error : ":"Import cz\u0119\u015bciowo lub ca\u0142kowicie nie powi\xf3d\u0142 si\u0119 z powodu b\u0142\u0119du :","Info":"Informacje","Information":"Informacja","It is not possible to combine State GA and Act GA with different datapointtypes.":"Nie jest mo\u017cliwe \u0142\u0105czenie State GA i Act GA z r\xf3\u017cnymi typami punkt\xf3w danych.","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"Nie jest mo\u017cliwe \u0142\u0105czenie GA pa\u0144stw-stan\xf3w ani akt\xf3w-dzia\u0142a\u0144. Sprawd\u017a w\u0142a\u015bciwo\u015bci GA.","KNX Gateway Settings":"Ustawienia bramy KNX","KNX adapter licensing":"Licencjonowanie adaptera KNX","License error : ":"B\u0142\u0105d licencji :","License server not available.":"Serwer licencji jest niedost\u0119pny.","License valid.":"Licencja wa\u017cna.","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"Jedno ze stan\xf3w lub akt\xf3w (lub obu) nie zosta\u0142o zdefiniowane jako do odczytu lub do zapisu. Ustaw t\u0119 w\u0142a\u015bciwo\u015b\u0107 dla Act i State GA","Successful imported GAs : ":"Pomy\u015blnie zaimportowane gazy GA:","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"Cel ma ju\u017c relacj\u0119. Usu\u0144 relacj\u0119 docelow\u0105 przed utworzeniem nowej. Jest pod\u0142\u0105czony do","adapter not running":"adapter nie dzia\u0142a","all":"wszystko","delete":"kasowa\u0107","expired":"wygas\u0142y","license not valid":"licencja niewa\u017cna","local iobroker IP":"lokalny adres IP iobrokera","loglevel":"poziom logu","more":"jeszcze","number of max datapoints : ":"liczba max punkt\xf3w danych :","only import new datapoints":"importuj tylko nowe punkty danych","upload KNX project file":"prze\u015blij plik projektu KNX","valid until : ":"wa\u017cne do :","version : ":"wersja :","Drag \'n\' drop knxproj file here, or click to select file":"Przeci\u0105gnij i upu\u015b\u0107 plik knxproj tutaj lub kliknij, aby wybra\u0107 plik","KNX Gateway IP":"IP bramy KNX","KNX Gateway Port":"Port bramy KNX","KNX packages per second":"Pakiety KNX na sekund\u0119","physical KNX address":"fizyczny adres KNX","Direct Link states":"Stany \u0142\u0105cza bezpo\u015bredniego","The source GA has to have only write attribute.":"\u0179r\xf3d\u0142owe GA musi mie\u0107 tylko atrybut zapisu.","The value types does not match. Please select a proper Datapointtype for GA.":"Typy warto\u015bci nie pasuj\u0105. Wybierz odpowiedni typ punktu danych dla GA.","This is not allowed if this GA already has a State-Act relation.":"Nie jest to dozwolone, je\u015bli to GA ma ju\u017c relacj\u0119 State-Act.","no non-knx ioBroker state linked":"brak po\u0142\u0105czonego stanu ioBroker innego ni\u017c Knx","Host ID (Serial-Number(UUID)) : ":"Identyfikator hosta (numer seryjny (UUID)) :","Invalid Password":"Nieprawid\u0142owe has\u0142o","wrong Password":"Z\u0142e has\u0142o"}')},498:function(e){e.exports=JSON.parse('{"Cancel":"\u53d6\u6d88","invalid KNX address":"KNX \u5730\u5740\u65e0\u6548\uff01","invalid frame interval":"\u65e0\u6548\u7684\u5e27\u7387\uff0c10 < rate < 300","invalid ip address":"IP \u5730\u5740\u65e0\u6548\uff01","invalid password":"\u65e0\u6548\u7684\u5bc6\u7801","Apply":"\u7533\u8bf7","Available Licenses":"\u53ef\u7528\u8bb8\u53ef\u8bc1","Choose corresponding GA":"\u9009\u62e9\u5bf9\u5e94\u7684\u9057\u4f20\u7b97\u6cd5","Close":"\u5173\u95ed","Datapoints":"\u6570\u636e\u70b9","Error":"\u9519\u8bef","GA State - Act relation":"GA \u5dde - \u6cd5\u6848\u5173\u7cfb","GA-structure":"GA\u7ed3\u6784","Host ID":"\u4e3b\u673a\u7f16\u53f7","Multiselection":"\u591a\u9009","Please enter ioBroker.net login and password":"\u8bf7\u8f93\u5165ioBroker.net\u767b\u5f55\u540d\u548c\u5bc6\u7801","Save":"\u8282\u7701","Synchronize with iobroker.net":"\u4e0e iobroker.net \u540c\u6b65","This Error occured : ":"\u53d1\u751f\u6b64\u9519\u8bef\uff1a","Version":"\u7248\u672c","add / modify license":"\u6dfb\u52a0/\u4fee\u6539\u8bb8\u53ef\u8bc1","add new relation":"\u6dfb\u52a0\u65b0\u5173\u7cfb","e-mail":"\u7535\u5b50\u90ae\u4ef6","license":"\u6267\u7167","modify":"\u8c03\u6574","none selected":"\u672a\u9009\u62e9","password":"\u5bc6\u7801","read":"\u8bfb","update":"\u66f4\u65b0","valid until":"\u6709\u6548\u671f\u81f3","write":"\u5199",". Click here to install a license.":".\u5355\u51fb\u6b64\u5904\u5b89\u88c5\u8bb8\u53ef\u8bc1\u3002","Changing this GA is not possible, because they have existing Act-State relations.":"\u66f4\u6539\u6b64 GA \u662f\u4e0d\u53ef\u80fd\u7684\uff0c\u56e0\u4e3a\u5b83\u4eec\u5177\u6709\u73b0\u6709\u7684 Act-State \u5173\u7cfb\u3002","Failed to fetch":"\u65e0\u6cd5\u83b7\u53d6","GA State - Actuator relation":"GA \u72b6\u6001 - \u6267\u884c\u5668\u5173\u7cfb","Host ID : ":"\u4e3b\u673a ID :","Import partially or completely failed with error : ":"\u5bfc\u5165\u90e8\u5206\u6216\u5b8c\u5168\u5931\u8d25\u5e76\u51fa\u73b0\u9519\u8bef\uff1a","Info":"\u4fe1\u606f","Information":"\u4fe1\u606f","It is not possible to combine State GA and Act GA with different datapointtypes.":"\u4e0d\u53ef\u80fd\u5c06 State GA \u548c Act GA \u4e0e\u4e0d\u540c\u7684\u6570\u636e\u70b9\u7c7b\u578b\u7ed3\u5408\u8d77\u6765\u3002","It is not possible to combine state-state nor act-act GAs. Check the GA Properties.":"\u4e0d\u53ef\u80fd\u7ed3\u5408 state-state \u6216 act-act GA\u3002\u68c0\u67e5 GA \u5c5e\u6027\u3002","KNX Gateway Settings":"KNX \u7f51\u5173\u8bbe\u7f6e","KNX adapter licensing":"KNX \u9002\u914d\u5668\u8bb8\u53ef","License error : ":"\u8bb8\u53ef\u8bc1\u9519\u8bef\uff1a","License server not available.":"\u8bb8\u53ef\u8bc1\u670d\u52a1\u5668\u4e0d\u53ef\u7528\u3002","License valid.":"\u8bb8\u53ef\u8bc1\u6709\u6548\u3002","One of State or Act (or both) doesn\'t have defined as read or writeable. Set this property for Act and State GA":"\u72b6\u6001\u6216\u6cd5\u6848\u4e4b\u4e00\uff08\u6216\u4e24\u8005\uff09\u6ca1\u6709\u5b9a\u4e49\u4e3a\u53ef\u8bfb\u6216\u53ef\u5199\u3002\u4e3a Act \u548c State GA \u8bbe\u7f6e\u6b64\u5c5e\u6027","Successful imported GAs : ":"\u6210\u529f\u5bfc\u5165 GAs :","The target has already a relation. Delete the target relation first before create a new one. It is connected to ":"\u76ee\u6807\u5df2\u7ecf\u6709\u4e00\u4e2a\u5173\u7cfb\u3002\u5728\u521b\u5efa\u65b0\u5173\u7cfb\u4e4b\u524d\u5148\u5220\u9664\u76ee\u6807\u5173\u7cfb\u3002\u5b83\u8fde\u63a5\u5230","adapter not running":"\u9002\u914d\u5668\u672a\u8fd0\u884c","all":"\u5168\u90e8","delete":"\u5220\u9664","expired":"\u5df2\u5230\u671f","license not valid":"\u8bb8\u53ef\u8bc1\u65e0\u6548","local iobroker IP":"\u672c\u5730iobroker IP","loglevel":"\u65e5\u5fd7\u7ea7\u522b","more":"\u66f4\u591a\u7684","number of max datapoints : ":"\u6700\u5927\u6570\u636e\u70b9\u6570\uff1a","only import new datapoints":"\u53ea\u5bfc\u5165\u65b0\u7684\u6570\u636e\u70b9","upload KNX project file":"\u4e0a\u4f20 KNX \u9879\u76ee\u6587\u4ef6","valid until : ":"\u6709\u6548\u671f\u81f3\uff1a","version : ":"\u7248\u672c \uff1a","Drag \'n\' drop knxproj file here, or click to select file":"\u5c06 knxproj \u6587\u4ef6\u62d6\u653e\u5230\u6b64\u5904\uff0c\u6216\u5355\u51fb\u4ee5\u9009\u62e9\u6587\u4ef6","KNX Gateway IP":"KNX\u7f51\u5173IP","KNX Gateway Port":"KNX \u7f51\u5173\u7aef\u53e3","KNX packages per second":"\u6bcf\u79d2 KNX \u5305","physical KNX address":"\u7269\u7406 KNX \u5730\u5740","Direct Link states":"\u76f4\u63a5\u94fe\u63a5\u72b6\u6001","The source GA has to have only write attribute.":"\u6e90 GA \u5fc5\u987b\u53ea\u6709\u5199\u5c5e\u6027\u3002","The value types does not match. Please select a proper Datapointtype for GA.":"\u503c\u7c7b\u578b\u4e0d\u5339\u914d\u3002\u8bf7\u4e3a GA \u9009\u62e9\u5408\u9002\u7684\u6570\u636e\u70b9\u7c7b\u578b\u3002","This is not allowed if this GA already has a State-Act relation.":"\u5982\u679c\u6b64 GA \u5df2\u7ecf\u5177\u6709\u72b6\u6001-\u6cd5\u6848\u5173\u7cfb\uff0c\u5219\u4e0d\u5141\u8bb8\u8fd9\u6837\u505a\u3002","no non-knx ioBroker state linked":"\u6ca1\u6709\u975e knx ioBroker \u72b6\u6001\u94fe\u63a5","Host ID (Serial-Number(UUID)) : ":"\u4e3b\u673a ID\uff08\u5e8f\u5217\u53f7\uff08UUID\uff09\uff09\uff1a","Invalid Password":"\u65e0\u6548\u7684\u5bc6\u7801","wrong Password":"\u5bc6\u7801\u9519\u8bef"}')},501:function(e,t,a){"use strict";a.r(t);var n=a(0),i=a.n(n),r=a(17),o=a.n(r),s=a(601),c=a(600),l=a(587),d=(a(340),a(49)),u=a(294),p=a(295),h=a(168),b=a(312),m=a(99),f=a(313),j=a(311),g=a(9),v=a(597),w=a(604),O=a(598),A=a(296),x=a.n(A),y=a(221),k=a.n(y),I=a(10),G=a.n(I),S=a(13),N=a(567),P=a(299),C=a(301),D=a.n(C),K=a(70),T=a.n(K),X=a(147),z=a(609),E=a(570),R=a(571),L=a(572),_=a(574),B=a(317),U=a(575),W=a(576),F=a(577),H=a(578),V=a(579),M=a(611),q=a(584),$=a(585),J=a(306),Z=a.n(J),Y=a(307),Q=a.n(Y),ee=a(101),te=a.n(ee),ae=a(56),ne=a.n(ae),ie=a(573),re=a(1),oe=Object(N.a)((function(e){return{root:{margin:0,padding:e.spacing(2)},closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},dialogWindow:{fullWidth:!0,maxWidth:"md"},table:{minWidth:"100%"},title:{fontSize:14}}}));function se(e){var t=oe(),a=e.licensing,r=e.socket,o=e.instance,s=Object(n.useState)(!0),c=Object(S.a)(s,2),l=c[0],d=c[1],u=Object(n.useState)(!1),p=Object(S.a)(u,2),h=p[0],b=p[1],m=Object(n.useState)(""),f=Object(S.a)(m,2),j=f[0],g=f[1],v=Object(n.useState)(""),w=Object(S.a)(v,2),O=w[0],A=w[1],x=Object(n.useState)([]),y=Object(S.a)(x,2),k=y[0],I=y[1],N=Object(n.useState)(!1),P=Object(S.a)(N,2),C=P[0],D=P[1],K=Object(n.useState)(!1),J=Object(S.a)(K,2),Y=J[0],ee=J[1],ae=Object(n.useState)(""),se=Object(S.a)(ae,2),ce=se[0],le=se[1],de=i.a.useRef(),ue=function(){e.onChange()};Object(n.useEffect)((function(){ce&&ce.length>0?ee(!0):ee(!1)}),[ce]);var pe=function(e){d(!1),D(!1),Array.isArray(a.licenses)&&(a.licenses[0]=e.json?e.json:e.value)},he=function(){I([]),fetch("https://iobroker.net/api/v1/licenses?type=sw",{headers:{Authorization:"Basic ".concat(btoa(j+":"+O))}}).then(function(){var e=Object(X.a)(T.a.mark((function e(t){return T.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.json();case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).then((function(e){for(var t=k,a=[],n=function(n){a.push(r.sendTo("knx."+o,"verifyLicense",{license:e[n].json}).then((function(a){a.json=e[n].json,t.push(a)})))},i=0;i<e.length;i++)n(i);Promise.all(a).then((function(){I(t),D(!0)})),b(!1)})).catch((function(e){console.log(e.message),le(e.message)}))},be=Y?Object(re.jsxs)(z.a,{open:!0,fullWidth:!0,maxWidth:"md",children:[Object(re.jsx)(E.a,{children:G.a.t("Error")}),Object(re.jsxs)(R.a,{children:[G.a.t("This Error occured : "),ce]}),Object(re.jsx)(L.a,{children:Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return le("")},iconStart:Object(re.jsx)(ne.a,{}),children:G.a.t("Cancel")})})]}):null,me=C?Object(re.jsxs)(z.a,{open:!0,fullWidth:!0,maxWidth:"md",children:[Object(re.jsx)(E.a,{children:G.a.t("Available Licenses")}),Object(re.jsx)(R.a,{children:Object(re.jsx)(_.a,{component:B.a,children:Object(re.jsxs)(U.a,{className:t.table,size:"medium","aria-label":"license table",children:[Object(re.jsx)(W.a,{children:Object(re.jsxs)(F.a,{children:[Object(re.jsx)(H.a,{style:{minWidth:100},children:G.a.t("valid until")}),Object(re.jsx)(H.a,{align:"right",children:G.a.t("Datapoints")}),Object(re.jsx)(H.a,{align:"right",children:G.a.t("Version")}),Object(re.jsx)(H.a,{style:{minWidth:200},align:"right",children:G.a.t("Host ID")})]})}),Object(re.jsx)(V.a,{children:Array.isArray(k)&&k.length>0?k.map((function(e){return Object(re.jsxs)(F.a,{hover:!0,onClick:function(){return pe(e)},children:[Object(re.jsx)(H.a,{children:new Date(1e3*e.expiration).getDate()+"."+new Date(1e3*e.expiration).getMonth()+"."+new Date(1e3*e.expiration).getFullYear()+" "+new Date(1e3*e.expiration).getHours()+":"+new Date(1e3*e.expiration).getMinutes()+":"+new Date(1e3*e.expiration).getSeconds()}),Object(re.jsx)(H.a,{align:"right",children:e.datapoints}),Object(re.jsx)(H.a,{align:"right",children:e.majorVersion}),Object(re.jsx)(H.a,{align:"right",children:e.sysUUID})]},e.expiration)})):null})]})})}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{variant:"contained",color:"primary",onClick:function(){return he()},iconStart:Object(re.jsx)(te.a,{}),children:G.a.t("Apply")}),Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return D(!1)},iconStart:Object(re.jsx)(ne.a,{}),children:G.a.t("Cancel")})]})]}):null,fe=h?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{children:G.a.t("Please enter ioBroker.net login and password")}),Object(re.jsxs)(R.a,{children:[Object(re.jsx)(M.a,{autoFocus:!0,fullWidth:!0,value:j,onChange:function(e){return g(e.target.value)},label:G.a.t("e-mail"),onKeyUp:function(e){return 13===e.keyCode&&j&&de&&de.current&&de.current.focus()}}),Object(re.jsx)("br",{}),Object(re.jsx)(M.a,{fullWidth:!0,inputRef:de,value:O,onChange:function(e){return A(e.target.value)},type:"password",label:G.a.t("password"),onKeyUp:function(e){return 13===e.keyCode&&j&&O&&he()}})]}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{variant:"contained",color:"primary",onClick:function(){return he()},iconStart:Object(re.jsx)(te.a,{}),children:"Ok"}),Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return b(!1)},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})]}),be]}):null;return Object(re.jsxs)("div",{children:[Object(re.jsxs)(z.a,{onClose:ue,fullWidth:!0,maxWidth:"md","aria-labelledby":"customized-dialog-title",open:e.visible,children:[Object(re.jsxs)(E.a,{disableTypography:!0,className:t.root,children:[G.a.t("add / modify license"),Object(re.jsx)(q.a,{"aria-label":"close",className:t.closeButton,onClick:ue,children:Object(re.jsx)(Z.a,{})})]}),Object(re.jsxs)(R.a,{dividers:!0,children:[Object(re.jsx)($.a,{container:!0,spacing:1}),Object(re.jsx)(M.a,{id:"standard-multiline-static",fullWidth:!0,label:G.a.t("license"),multiline:!0,rows:10,defaultValue:a&&a.licenses&&Array.isArray(a.licenses)?a.licenses[0]:null,variant:"standard",onChange:function(e){pe(e.target)}})]}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{style:{flex:1},variant:"contained",onClick:function(){return b(!0)},startIcon:Object(re.jsx)(Q.a,{}),children:G.a.t("Synchronize with iobroker.net")}),Object(re.jsx)(ie.a,{variant:"contained",color:"primary",onClick:function(t){e.onChange(a)},disabled:l,children:G.a.t("Save")}),Object(re.jsx)(ie.a,{variant:"contained",autoFocus:!0,onClick:ue,children:G.a.t("Close")})]})]}),fe,me]})}var ce=a(310),le=Object(N.a)((function(e){return{baseStyle:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",padding:"20px",borderWidth:2,borderRadius:2,borderColor:"#eeeeee",borderStyle:"dashed",backgroundColor:"#fafafa",color:"#bdbdbd",outline:"none",transition:"border .24s ease-in-out",width:"100%"}}}));function de(e){var t=le();return Object(re.jsx)(ce.a,{onDrop:function(t){e.onDrop(t)},accept:".knxproj",multiple:!1,children:function(e){var a=e.getRootProps,n=e.getInputProps;return Object(re.jsx)("section",{className:"container",children:Object(re.jsxs)("div",Object(d.a)(Object(d.a)({},a({className:"container"})),{},{children:[Object(re.jsx)("input",Object(d.a)({},n())),Object(re.jsx)(ie.a,{className:t.baseStyle,children:G.a.t("Drag 'n' drop knxproj file here, or click to select file")})]}))})}})}var ue=a(586),pe=a(607),he=a(588),be=a(589),me=a(582),fe=a(613),je=a(603),ge=a(590),ve=a(602),we=a(591),Oe=a(124),Ae=a(606),xe=Object(N.a)((function(e){return{textField:{"& > *":{margin:e.spacing(1),width:"27ch"},margin:e.spacing(1)},input:{"& > *":{margin:e.spacing(1),width:"25ch"}},alertBar:{"& > *":{margin:e.spacing(1),width:"100%"}},progress:{height:20},root:{height:10,borderRadius:0},fullWidth:{width:"98%"},tab:{marginRight:"2rem",marginLeft:"0.5rem"},card:{backgroundColor:"dark"===e.palette.type?"#111":"#EEE"},controlElement:{}}}));var ye=function(e){var t=this,a=xe(),i=e.instanceAlive,r=Object(n.useState)(!0),o=Object(S.a)(r,2),s=o[0],c=o[1],u=Object(n.useState)(!1),p=Object(S.a)(u,2),h=p[0],b=p[1],m=Object(n.useState)(""),f=Object(S.a)(m,2),j=f[0],g=f[1],v=Object(n.useState)(0),w=Object(S.a)(v,2),O=w[0],A=w[1],x=Object(n.useState)(0),y=Object(S.a)(x,2),k=y[0],I=y[1],N=Object(n.useState)([]),C=Object(S.a)(N,2),K=C[0],T=C[1],X=Object(n.useState)({onlyAddNewObjects:!0}),_=Object(S.a)(X,2),B=_[0],U=_[1],W=Object(n.useState)({name:"",expiration:0,offlineLicense:!1,numberOfInstances:"",majorVersion:"",registeredTo:"",message:"",datapoints:0,sysUUID:"",json:""}),F=Object(S.a)(W,2),H=F[0],V=F[1],q=Object(n.useState)(!1),J=Object(S.a)(q,2),Z=J[0],Y=J[1],Q=Object(n.useState)({addLicensePopupVisible:!1,disableSaveButton:!0}),ee=Object(S.a)(Q,2),te=ee[0],ae=ee[1],ne=Object(n.useState)({licenses:[e.native.license||""],valid:!1,permissions:"",error:""}),oe=Object(S.a)(ne,2),ce=oe[0],le=oe[1],ye=Object(n.useState)({visible:!1,finished:!1,title:"title",text:"test",numberOfDevices:0,numberOfGA:0,devices:[],licenses:[e.native.license||""],attr:""}),ke=Object(S.a)(ye,2),Ie=ke[0],Ge=ke[1];Object(n.useEffect)((function(){e.socket.getUuid().then((function(t){return g(t),e.socket.getForeignObjects(e.adapterName+"."+e.instance+".*").then((function(t){t.hasOwnProperty("knx.0.info.connection")&&delete t["knx.0.info.connection"];var a=Object.entries(t);return A(a.length),e.socket.getHostByIp(e.common.host).then((function(e){e=e.filter((function(e){return"ipv4"===e.family&&"0.0.0.0"!==e.address})),T(e)}))}))}))}),[]),Object(n.useEffect)((function(){Ne(e.native.license)}),[j,O,e.instanceAlive]),Object(n.useEffect)((function(){void 0!==i&&(i&&i.hasOwnProperty("val")?b(i.val):!i&&i||b(i||!1))}),[e.instanceAlive]),Object(n.useEffect)((function(){e.onChange("validLicense",ce.valid)}),[ce.valid]);var Se=function(e){return(void 0===e||!e.match(/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))&&G.a.t("invalid ip address")},Ne=function(t){t=void 0===t?"":t,e.socket.sendTo("knx."+e.instance,"verifyLicense",{license:t}).then((function(e){""===t?le({valid:!0,error:"",licenses:[t]}):"<2"===e.majorVersion?le({valid:!1,error:"This license is for adapter versions <2",licenses:[t]}):1e3*e.expires>(new Date).getTime()?le({valid:!1,error:"Cannot check license: Expired on "+new Date(1e3*e.expires).toString(),licenses:[t]}):e.sysUUID!==j?le({valid:!1,error:"This license is not valid for this iobroker host",licenses:[t]}):le({valid:!0,error:"",licenses:[t]}),V(e)}))},Pe=function(t,n,i){var r,o,s;switch(n){case"pass":r=(void 0===(s=e.native[n])||s.length<8||!s.match(/[a-z]/)||!s.match(/[A-Z]/)||!s.match(/\d/))&&G.a.t("invalid password");break;case"gwip":r=Se(e.native[n]);break;case"eibadr":r=(void 0===(o=e.native[n])||!o.match(/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/))&&G.a.t("invalid KNX address");break;case"gwipport":r=function(e){var t=parseInt(e,10);return!!(void 0===t||isNaN(e)||!Number.isInteger(t)||t<1025||t>65536)&&G.a.t("invalid_Port_warning")}(e.native[n]);break;case"frameInterval":r=function(e){var t=parseInt(e,10);return!!(void 0===t||isNaN(e)||!Number.isInteger(t)||t<10||t>300)&&G.a.t("invalid frame interval")}(e.native[n]);break;case"bind":r=Se(e.native[n]);break;default:r=!1}return Object(re.jsx)(M.a,{label:G.a.t(t),error:!!r,className:e.classes&&e.classes.input?e.classes.input:a.input,value:e.native[n],type:i||"text",helperText:r||"",onChange:function(t){return e.onChange(n,t.target.value)}})};function Ce(){return new Promise((function(e,t){Y(!0),document.getElementById("dialog-pw-ok-btn").addEventListener("click",(function(t){var a=document.getElementById("standard-password-input");a&&a.value&&(Y(!1),e(a.value))}))}))}var De,Ke,Te,Xe=Z?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{children:G.a.t("Password for knx project file")}),Object(re.jsx)(R.a,{children:Object(re.jsx)(M.a,{id:"standard-password-input",label:"Password",type:"password",autoComplete:"current-password",variant:"standard",onChange:function(e){c(!(e.target.value.length>0))}})}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{variant:"contained",id:"dialog-pw-ok-btn",disabled:s,autoFocus:!0,children:G.a.t("OK")}),Object(re.jsx)(ie.a,{variant:"contained",autoFocus:!0,onClick:function(){Y(!1),c(!1)},children:G.a.t("Close")})]})]}):null,ze=Ie.visible?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{children:G.a.t("Importstate")}),Object(re.jsx)(R.a,{children:"importresult"===Ie.title?G.a.t("Successful imported GAs : ")+Ie.numberOfGA:"importerror"===Ie.title?G.a.t("Import partially or completely failed with error : ")+G.a.t(Ie.error):""}),Object(re.jsx)(L.a,{children:Object(re.jsx)(ie.a,{variant:"contained",autoFocus:!0,onClick:function(){return Ge({visible:!1}),void A(Ie.numberOfGA)},children:G.a.t("Close")})})]}):null,Ee=function(t){var a;ae({addLicensePopupVisible:!1}),t&&t.licenses&&Array.isArray(t.licenses)&&(le(t.licenses[0]),Ne(t.licenses[0]),a=t.licenses[0],e.socket.sendTo("knx."+e.instance,"verifyLicense",{license:a}).then((function(e){return V(e)})),e.onChange("license",t.licenses[0]||""))};return Object(re.jsx)(l.a,{theme:e.theme,children:Object(re.jsxs)("form",{className:a.tab,children:[Object(re.jsx)("div",{children:Object(re.jsx)(D.a,{instance:e.instance,common:e.common,native:e.native,onError:function(e){return t.setState({errorText:e})},onLoad:e.onLoad,classes:{},className:""})}),Object(re.jsxs)($.a,{container:!0,spacing:1,justifyContent:"center",children:[Object(re.jsx)($.a,{item:!0,xs:7,children:Object(re.jsx)(he.a,{classes:{root:e.classes&&e.classes.card?e.classes.card:a.card},children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{gutterBottom:!0,variant:"h5",component:"h2",children:G.a.t("KNX Gateway Settings")}),Object(re.jsx)("span",{style:{marginright:"0rem"},children:Pe("KNX Gateway IP ","gwip","ipAddress")}),Object(re.jsx)("span",{style:{marginright:"1.5rem",marginLeft:"0rem"},children:Pe("KNX Gateway Port ","gwipport","port")}),Object(re.jsx)("span",{style:{marginright:"1.5rem",marginLeft:"0rem"},children:Pe("physical KNX address","eibadr","eibAddress")}),Object(re.jsx)("span",{style:{marginLeft:"0rem"},children:Pe("KNX packages per second","frameInterval","frameInterval")})]})})}),Object(re.jsx)($.a,{item:!0,xs:3,children:Object(re.jsx)(he.a,{className:e.classes&&e.classes.card?e.classes.card:a.card,children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{gutterBottom:!0,variant:"h5",component:"h2",children:G.a.t("local iobroker IP")}),Object(re.jsxs)(me.a,{className:e.classes&&e.classes.input?e.classes.input:a.input,children:[Object(re.jsx)(fe.a,{children:G.a.t("local iobroker IP")}),Object(re.jsx)(je.a,{value:e.native.bind,style:{width:"100%"},onChange:function(t){return e.onChange("bind",t.target.value)},children:K.map((function(e){return Object(re.jsx)(ge.a,{value:e.address,children:e.name},e.address)}))})]})]})})}),Object(re.jsx)($.a,{item:!0,xs:2,children:Object(re.jsx)(he.a,{className:e.classes&&e.classes.card?e.classes.card:a.card,children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{gutterBottom:!0,variant:"h5",component:"h2",children:G.a.t("loglevel")}),Object(re.jsxs)(me.a,{className:e.classes&&e.classes.input?e.classes.input:a.input,children:[Object(re.jsx)(fe.a,{children:G.a.t("loglevel")}),Object(re.jsxs)(je.a,{value:e.native.debugLevel,onChange:function(t){return e.onChange("debugLevel",t.target.value)},children:[Object(re.jsx)(ge.a,{value:0,children:G.a.t("Info")}),Object(re.jsx)(ge.a,{value:2,children:G.a.t("more")}),Object(re.jsx)(ge.a,{value:3,children:G.a.t("all")})]})]})]})})}),Object(re.jsx)($.a,{item:!0,xs:12,children:Object(re.jsx)(he.a,{className:e.classes&&e.classes.card?e.classes.card:a.card,children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{gutterBottom:!0,variant:"h5",component:"h2",children:G.a.t("upload KNX project file")}),h&&ce.valid?Object(re.jsxs)("div",{children:[Object(re.jsx)("div",{children:(Ke="only import new datapoints",Te="onlyAddNewObjects",Object(re.jsx)(ue.a,{className:e.classes&&e.classes.controlElement?e.classes.controlElement:a.controlElement,control:Object(re.jsx)(pe.a,{checked:B[Te],onChange:function(e){return U((function(t){return Object(d.a)(Object(d.a)({},t),{},{[Te]:e.target.checked})}))},color:"primary"}),label:G.a.t(Ke)},Te))}),Object(re.jsx)("div",{style:{marginTop:"2rem"},children:Object(re.jsx)(de,{onDrop:function(t){Object(P.a)(t,e,B,I,Ge,Ce)}})}),Object(re.jsx)(ve.a,{sx:{width:"100%"},id:"status",style:{marginTop:"2rem"},children:Object(re.jsx)(we.a,{variant:"determinate",value:k,className:a.progress})})]}):Object(re.jsx)(Ae.a,{severity:"error",children:h?G.a.t("license not valid"):G.a.t("adapter not running")})]})})}),Object(re.jsx)($.a,{item:!0,xs:12,children:Object(re.jsx)(he.a,{className:e.classes&&e.classes.card?e.classes.card:a.card,children:Object(re.jsx)(be.a,{children:h?Object(re.jsxs)("div",{children:[Object(re.jsx)(Oe.a,{gutterBottom:!0,variant:"h5",component:"h2",children:G.a.t("KNX adapter licensing")}),G.a.t("Host ID (Serial-Number(UUID)) : ")," ",e.hostUUID,Object(re.jsx)("p",{}),Object(re.jsxs)(Ae.a,{onClick:function(){return ae({addLicensePopupVisible:!0})},severity:ce.valid?"success":"error",children:[ce.valid?G.a.t("License valid."):ce.error&&"Failed to fetch"===ce.error.message?G.a.t("License server not available."):G.a.t("License error : ")+ce.error+G.a.t(". Click here to install a license."),ce.valid?(De=H,Object(re.jsxs)("div",{children:[Object(re.jsxs)(Ae.a,{severity:De.datapoints>=O?"success":"error",children:[G.a.t("number of max datapoints : "),O||0," / ",De.datapoints||0]}),Object(re.jsxs)(Ae.a,{severity:1e3*De.expiration>(new Date).getTime()?"success":"error",children:[G.a.t("valid until : ")," ",1e3*De.expiration<(new Date).getTime()?new Date(1e3*De.expiration).toString()||G.a.t("expired"):new Date(1e3*De.expiration).toString()]}),Object(re.jsxs)(Ae.a,{severity:"success",children:[G.a.t("version : ")," ",De.majorVersion]})]})):null]})]}):Object(re.jsx)(Ae.a,{severity:"error",children:G.a.t("adapter not running")})})})})]}),ze,Xe,te.addLicensePopupVisible&&Object(re.jsx)(se,{instance:e.instance,socket:e.socket,props:e,licensing:ce,onChange:function(e){return Ee(e)},visible:te.addLicensePopupVisible})]})})},ke=a(8),Ie=a.n(ke),Ge=a(583),Se=a(516),Ne=a(592),Pe=a(593);var Ce=function(e){var t=e.gaObjArr,a=e.dptObjs,i={write:!1,read:!1,update:!1},r=Object(n.useState)({}),o=Object(S.a)(r,2),s=o[0],c=o[1],l=Object(n.useState)(i),d=Object(S.a)(l,2),u=d[0],p=d[1],h=Object(n.useState)(""),b=Object(S.a)(h,2),m=b[0],f=b[1],j=Object(n.useState)(t),g=Object(S.a)(j,2),v=g[0],w=g[1],O=Object(n.useState)({}),A=Object(S.a)(O,2),x=A[0],y=A[1];Object(n.useEffect)((function(){switch(t.length){case 0:y({_id:!1}),p({write:!1,read:!1,update:!1});break;case 1:y(t[0]),t[0]&&t[0].native&&t[0].native.hasOwnProperty("dpt")&&f(t[0].native.dpt.replace("DPT","")),k({read:!!(t[0]&&t[0].common&&t[0].common.read)&&t[0].common.read,write:!!(t[0]&&t[0].common&&t[0].common.write)&&t[0].common.write});break;default:k({read:!1,write:!1}),f(""),w(t)}}),[t]),Object(n.useEffect)((function(){c(a)}),[a]);var k=function(e){if(e&&e.hasOwnProperty("write")&&e.hasOwnProperty("read")){var t=i;e.write&&e.read&&(t.write=!1,t.read=!0,t.update=!0),e.write&&!e.read&&(t.write=!0,t.read=!1,t.update=!1),!e.write&&e.read&&(t.write=!1,t.read=!0,t.update=!1),e.write||e.read||(t.write=!1,t.read=!1,t.update=!1),p(t)}},I=function(t){if(0===v.length||!1!==x._id){if(x&&x._id&&!1!==x._id){var a={write:x.common.write||!1,read:x.common.read||!0};switch(t.target.id){case"write":a.write=!x.common.write||!1,a.read=!a.write;break;case"read":a.read=!x.common.read||!0,a.write=!a.read;break;case"update":x.common.write&&x.common.read?a.write=!1:!x.common.write&&x.common.read?a.write=!0:x.common.write||x.common.read||(a.write=!0),a.read=!0;break;default:a.write=!1,a.read=!1}x.common.read=a.read,x.common.write=a.write,k(a),e.onClick({id:"gaProps",gaObj:x})}}else{var n={write:!1,read:!0},i=!1,r=!1,o=!1;switch(t.target.id){case"write":n.write=!u.write,n.read=!1,r=!1,o=!u.write,i=!1;break;case"read":n.write=!1,n.read=!u.read,r=!u.read,o=!1,i=u.update;break;case"update":u.write&&u.read?n.write=!1:!u.write&&u.read?n.write=!0:u.write||u.read||(n.write=!0),o=!1,r=u.read,i=!u.update,n.read=!0;break;default:n.write=!1,n.read=!1}p({read:r,write:o,update:i});for(var s=v,c=0;c<v.length;c++)s[c].common.write=n.write,s[c].common.read=n.read;w(s),e.onClick({id:"gaProps",gaObjArr:v})}};return Object(re.jsx)(he.a,{sx:{minHeight:"100%"},children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{sx:{fontSize:14},color:"text.secondary",gutterBottom:!0,children:G.a.t("GA properties")}),Object(re.jsx)(Oe.a,{variant:"h5",component:"div",children:t.length>1?G.a.t("muliselection"):x&&x._id&&!1!==x._id?x.common.name:G.a.t("none selected")}),Object(re.jsxs)(Ge.a,{children:[Object(re.jsxs)(Se.a,{children:[Object(re.jsx)(Ne.a,{children:Object(re.jsx)(pe.a,{id:"write",edge:"start",checked:(v&&v.length>0||!(!x||!x._id||!1===x._id))&&u.write,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":"write"},onClick:function(e){return I(e)},disabled:!(v&&v.length>0)&&!(x&&x._id&&!1!==x._id)})}),Object(re.jsx)(Pe.a,{id:"write",secondary:G.a.t("write")})]},"writeBox"),Object(re.jsxs)(Se.a,{children:[Object(re.jsx)(Ne.a,{children:Object(re.jsx)(pe.a,{id:"read",edge:"start",checked:(v&&v.length>0||!(!x||!x._id||!1===x._id))&&u.read,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":"read"},onClick:function(e){return I(e)},disabled:!(v&&v.length>0)&&!(x&&x._id&&!1!==x._id)})}),Object(re.jsx)(Pe.a,{id:"read",secondary:G.a.t("read")})]},"readBox"),Object(re.jsxs)(Se.a,{children:[Object(re.jsx)(Ne.a,{children:Object(re.jsx)(pe.a,{id:"update",edge:"start",checked:(v&&v.length>0||!(!x||!x._id||!1===x._id))&&u.update,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":"update"},onClick:function(e){return I(e)},disabled:!(v&&v.length>0)&&!(x&&x._id&&!1!==x._id)})}),Object(re.jsx)(Pe.a,{id:"update",secondary:G.a.t("update")})]},"updateBox"),Object(re.jsx)(Se.a,{children:Object(re.jsxs)(me.a,{fullWidth:!0,variant:"standard",disabled:!(v&&v.length>0)&&!(x&&x._id&&!1!==x._id),children:[Object(re.jsx)(fe.a,{id:"dptlabel",variant:"standard",htmlFor:"uncontrolled-native",children:"DPT"}),Object(re.jsx)(je.a,{value:v&&v.length>0||x&&x._id&&!1!==x._id?m:"",onChange:function(t){return function(t){var a=function(e,t){if(void 0!==e&&e.length){var a=e.replace("DPT","");return t[a]?[t[a]]:[{id:e}]}return[{id:""}]}("DPT"+t.target.value,s);if(0===v.length||!1!==x._id)x&&x._id&&!1!==x._id&&(x.native.dpt="DPT"+t.target.value,x.common.unit=a[0].unit,x.common.type=a[0].type,f(t.target.value),e.onClick({id:"gaProps",gaObj:x}));else if(v.length>0){for(var n=0;n<v.length;n++)v[n].native.dpt="DPT"+t.target.value,v[n].common.unit=a[0].unit,v[n].common.type=a[0].type;f(t.target.value),e.onClick({id:"gaProps",gaObjArr:v})}}(t)},children:s&&Object.keys(s).map((function(e){return Object(re.jsxs)(ge.a,{id:e,value:e,children:[e,s[e].DPT_Name?" - "+s[e].DPT_Name.replace("DPT_","").replace(/_/g," "):"",s[e].unit&&"null"!==s[e].unit?" - "+s[e].unit:""]},e)}))})]})},"formControl")]})]})})},De=a(595),Ke=a(596),Te=a(122),Xe=a.n(Te),ze=a(189),Ee=a(185),Re=a.n(Ee),Le=a(186),_e=a.n(Le),Be=a(50),Ue=a.n(Be),We=a(614),Fe=a(594);We.a.propTypes={bgColor:Ie.a.string,color:Ie.a.string,labelIcon:Ie.a.elementType,labelIconColor:Ie.a.string,labelInfo:Ie.a.string,labelText:Ie.a.string};var He=Object(N.a)((function(e){return{root:{color:e.palette.text.secondary,"&:hover > $content":{backgroundColor:e.palette.action.hover},"&:focus > $content, &$selected > $content":{backgroundColor:"var(--tree-view-bg-color, ".concat(e.palette.grey[400],")"),color:"var(--tree-view-color)"},"&:focus > $content $label, &:hover > $content $label, &$selected > $content $label":{backgroundColor:"transparent"}},content:{color:e.palette.text.secondary,borderTopRightRadius:e.spacing(2),borderBottomRightRadius:e.spacing(2),paddingRight:e.spacing(1),fontWeight:e.typography.fontWeightMedium,"$expanded > &":{fontWeight:e.typography.fontWeightRegular}},group:{marginLeft:0,"& $content":{paddingLeft:e.spacing(2)}},expanded:{},selected:{},label:{fontWeight:"inherit",color:"inherit"},labelRoot:{display:"flex",alignItems:"center",padding:e.spacing(.5,0)},labelIcon:{marginRight:e.spacing(1)},labelIconColor:{color:e.labelIconColor},labelText:{fontWeight:"inherit",flexGrow:1}}}));function Ve(e){var t=He(),a=e.labelText,n=(e.labelIcon,e.labelIconColor),i=e.labelInfo,r=e.color,o=e.bgColor,s=Object(ze.a)(e,["labelText","labelIcon","labelIconColor","labelInfo","color","bgColor"]);return Object(re.jsx)(We.a,Object(d.a)({label:Object(re.jsxs)("div",{className:t.labelRoot,children:[Object(re.jsx)(Ue.a,{style:{color:n}}),Object(re.jsx)(Oe.a,{variant:"body2",className:t.labelText,children:a}),Object(re.jsx)(Oe.a,{variant:"caption",color:"inherit",children:i})]}),style:{"--tree-view-color":r,"--tree-view-bg-color":o},classes:{root:t.root,content:t.content,expanded:t.expanded,selected:t.selected,group:t.group,label:t.label}},s))}var Me=function(e){var t=e.gaObjects,a=e.multiselect,i=Object(n.useState)([]),r=Object(S.a)(i,2),o=r[0],s=r[1];return Object(n.useEffect)((function(){s(t)}),[t]),Object(re.jsx)(Fe.a,{id:"galist","aria-label":"knx",defaultExpanded:["3"],defaultCollapseIcon:Object(re.jsx)(Re.a,{}),defaultExpandIcon:Object(re.jsx)(_e.a,{}),defaultEndIcon:Object(re.jsx)("div",{style:{width:24}}),sx:{height:"100%",flexGrow:1,maxWidth:"100%"},multiSelect:a||!1,onNodeSelect:function(t,a){return function(t,a){e.onClick({id:"gaList",value:a})}(0,a)},children:o&&o.map((function(e){return Object(re.jsx)(Ve,{nodeId:"galist-123hg"+e.hgId+e.hgName,labelIcon:Ue.a,labelIconColor:"blue",labelText:e.hgId+" "+e.hgName,children:e.mg.map((function(e){return Object(re.jsx)(Ve,{nodeId:"galist-123mg"+e.mgId+e.mgName,labelIcon:Ue.a,labelIconColor:"green",labelText:e.mgId+" "+e.mgName,children:e.ga.map((function(e){return Object(re.jsx)(Ve,{style:{marginLeft:20},nodeId:e.props.g._id,labelIcon:Ue.a,labelIconColor:"red",labelText:e.gaId+" "+e.gaName},e.props.g._id)}))},"mg"+e.mgId+e.mgName)}))},"hg"+e.hgId+e.hgName)}))},"galisttree")},qe=Object(N.a)((function(e){return{root:{margin:0,padding:e.spacing(2)}}}));Ce.propTypes={props:Ie.a.object.isRequired,gaObjArray:Ie.a.array,actObject:Ie.a.object,gaObjects:Ie.a.array.isRequired,stateObject:Ie.a.object,onClick:Ie.a.func};var $e=function(e){var t=e.gaObjArr,a=e.gaRefIdMap,i=e.gaObjects,r=e.actObject,o=e.stateObject,s=e.socket,c=qe(),l=Object(n.useState)({}),d=Object(S.a)(l,2),u=d[0],p=d[1],h=Object(n.useState)({}),b=Object(S.a)(h,2),m=b[0],f=b[1],j=Object(n.useState)({}),g=Object(S.a)(j,2),v=g[0],w=g[1],O=Object(n.useState)(!1),A=Object(S.a)(O,2),x=A[0],y=A[1],k=Object(n.useState)(!0),I=Object(S.a)(k,2),N=I[0],P=I[1],C=Object(n.useState)(""),D=Object(S.a)(C,2),K=D[0],T=D[1],X=Object(n.useState)(""),_=Object(S.a)(X,2),B=_[0],U=_[1];Object(n.useEffect)((function(){if(t&&1===t.length){var e=t[0];if(e&&e.common&&e.native){var n=e.common,i=e.native;n.read=!!n.hasOwnProperty("read")&&n.read,n.write=!!n.hasOwnProperty("write")&&n.write,(n.read&&n.write||n.read&&!n.write)&&(p({}),f(e)),!n.read&&n.write&&(p(e),f({})),i.actGARefId&&i.actGARefId.length>0&&(p(s.getObject(a[i.actGARefId]).then((function(e){return e}))),f(e)),i.statusGARefId&&i.statusGARefId.length>0&&(p(e),f(s.getObject(a[i.statusGARefId]).then((function(e){return e})))),n.read||n.write||(p({}),f({})),w(e)}}}),[t]),Object(n.useEffect)((function(){p(r)}),[r]),Object(n.useEffect)((function(){f(o)}),[o]),Object(n.useEffect)((function(){K&&K.value&&K.value.indexOf("knx.")>-1&&v._id!==K.value?P(!1):P(!0)}),[K]);var W=B.length>0?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{className:c.root,children:G.a.t("Information")}),Object(re.jsx)(R.a,{children:B}),Object(re.jsx)(L.a,{children:Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return U("")},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})})]}):null,F=function(e){if(e.length>0&&e.match(/\d*\/\d*\/\d*/g)){var t=e.split("/")[0],a=e.split("/")[1];return e+" : "+i[t].hgName+" > "+i[t].mg[a].mgName}return""},H=x?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{className:c.root,children:G.a.t("Choose corresponding GA")}),Object(re.jsx)(R.a,{children:Object(re.jsx)(Me,{gaObjects:i,multiselect:!1,onClick:function(e){return T(e)}})}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{variant:"contained",color:"primary",disabled:N,onClick:function(){v.common.write&&!v.common.read?(e.onClick({id:"gaStateAct",stateId:K.value}),y(!1)):(e.onClick({id:"gaStateAct",actId:K.value}),y(!1))},iconStart:Object(re.jsx)(te.a,{}),children:"Ok"}),Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return y(!1)},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})]})]}):null;return Object(re.jsxs)(he.a,{sx:{minHeight:"100%"},children:[Object(re.jsx)(be.a,{children:Object(re.jsxs)($.a,{container:!0,direction:"column",spacing:2,children:[Object(re.jsx)($.a,{item:!0,children:Object(re.jsx)(Oe.a,{sx:{fontSize:14},color:"text.secondary",gutterBottom:!0,children:G.a.t("GA State - Actuator relation")})}),Object(re.jsx)($.a,{item:!0,children:Object(re.jsx)(M.a,{id:"standard-read-only-input1",fullWidth:!0,label:"Actuator GA",helperText:F(1===t.length&&u&&u.native&&u.native.hasOwnProperty("address")?u.native.address:""),value:1===t.length&&u&&u.common&&u.common.hasOwnProperty("name")?u.common.name:"",InputProps:{readOnly:!0},variant:"standard"})}),Object(re.jsx)($.a,{item:!0,children:Object(re.jsx)(M.a,{id:"standard-read-only-input2",fullWidth:!0,label:"State GA",helperText:F(1===t.length&&m&&m.native&&m.native.hasOwnProperty("address")?m.native.address:""),value:1===t.length&&m&&m.common&&m.common.hasOwnProperty("name")?m.common.name:"",InputProps:{readOnly:!0},variant:"standard"})})]})}),Object(re.jsx)(De.a,{children:Object(re.jsxs)(Ke.a,{children:[1===t.length&&u.hasOwnProperty("_id")&&m.hasOwnProperty("_id")&&Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){u&&u.native&&m&&m.native&&(u.native.actGARefId="",u.native.statusGARefId="",m.native.actGARefId="",m.native.statusGARefId="",f(m),p(u),e.onClick({id:"gaStateAct",delete:[u,m]}))},iconStart:Object(re.jsx)(Xe.a,{}),children:G.a.t("delete")}),1===t.length&&(!u.hasOwnProperty("_id")&&m.hasOwnProperty("_id")||u.hasOwnProperty("_id")&&!m.hasOwnProperty("_id"))&&Object(re.jsx)(ie.a,{variant:"contained",onClick:function(e){v&&v.native&&(!v.native.hasOwnProperty("linkedState")||v.native.hasOwnProperty("linkedState")&&0===v.native.linkedState.length)?(P(!0),y(!0)):U(G.a.t("This is not possible, if this GA is already linked with a non-knx state."))},iconStart:Object(re.jsx)(Xe.a,{}),children:G.a.t("add new relation")},"newRelation")]})}),H,W]})},Je=Object(N.a)((function(e){return{root:{margin:0,padding:e.spacing(2)}}}));We.a.propTypes={bgColor:Ie.a.string,color:Ie.a.string,labelIcon:Ie.a.elementType,labelIconColor:Ie.a.string,labelInfo:Ie.a.string,labelText:Ie.a.string};var Ze=Object(N.a)((function(e){return{root:{color:e.palette.text.secondary,"&:hover > $content":{backgroundColor:e.palette.action.hover},"&:focus > $content, &$selected > $content":{backgroundColor:"var(--tree-view-bg-color, ".concat(e.palette.grey[400],")"),color:"var(--tree-view-color)"},"&:focus > $content $label, &:hover > $content $label, &$selected > $content $label":{backgroundColor:"transparent"}},content:{color:e.palette.text.secondary,borderTopRightRadius:e.spacing(2),borderBottomRightRadius:e.spacing(2),paddingRight:e.spacing(1),fontWeight:e.typography.fontWeightMedium,"$expanded > &":{fontWeight:e.typography.fontWeightRegular}},group:{marginLeft:0,"& $content":{paddingLeft:e.spacing(2)}},expanded:{},selected:{},label:{fontWeight:"inherit",color:"inherit"},labelRoot:{display:"flex",alignItems:"center",padding:e.spacing(.5,0)},labelIcon:{marginRight:e.spacing(1)},labelIconColor:{color:e.labelIconColor},labelText:{fontWeight:"inherit",flexGrow:1}}}));function Ye(e){var t=Ze(),a=e.labelText,n=(e.labelIcon,e.labelIconColor),i=e.labelInfo,r=e.color,o=e.bgColor,s=Object(ze.a)(e,["labelText","labelIcon","labelIconColor","labelInfo","color","bgColor"]);return Object(re.jsx)(We.a,Object(d.a)({label:Object(re.jsxs)("div",{className:t.labelRoot,children:[Object(re.jsx)(Ue.a,{style:{color:n}}),Object(re.jsx)(Oe.a,{variant:"body2",className:t.labelText,children:a}),Object(re.jsx)(Oe.a,{variant:"caption",color:"inherit",children:i})]}),style:{"--tree-view-color":r,"--tree-view-bg-color":o},classes:{root:t.root,content:t.content,expanded:t.expanded,selected:t.selected,group:t.group,label:t.label}},s))}var Qe=function(e){var t=e.socket,a=e.gaObjArr,i=Je(),r=Object(n.useState)({}),o=Object(S.a)(r,2),s=o[0],c=o[1],l=Object(n.useState)(!1),d=Object(S.a)(l,2),u=d[0],p=d[1],h=Object(n.useState)(!0),b=Object(S.a)(h,2),m=b[0],f=b[1],j=Object(n.useState)({}),g=Object(S.a)(j,2),v=g[0],w=g[1],O=Object(n.useState)(""),A=Object(S.a)(O,2),x=A[0],y=A[1],k=Object(n.useState)({}),I=Object(S.a)(k,2),N=I[0],P=I[1];Object(n.useEffect)((function(){D()}),[]),Object(n.useEffect)((function(){Array.isArray(a)&&1===a.length?P(a[0]):P({})}),[a]);var C=x.length>0?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{className:i.root,children:G.a.t("Information")}),Object(re.jsx)(R.a,{children:x}),Object(re.jsx)(L.a,{children:Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return y("")},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})})]}):null,D=function(){return t.getForeignObjects("*").then((function(e){var t={};for(var a in e)if(!(a.match(/^.*knx\./g)||a.match(/^system\./g)||a.match(/^admin\./g)||a.match(/^vis.*\./g)||a.match(/^web\./g))){var n=a.split(".");n.length>0&&(t[n[0]]=t[n[0]]?t[n[0]]:1===n.length?e[a]:{},n.length>1&&(t[n[0]][n[1]]=t[n[0]][n[1]]?t[n[0]][n[1]]:2===n.length?e[a]:{},n.length>2&&(t[n[0]][n[1]][n[2]]=t[n[0]][n[1]][n[2]]?t[n[0]][n[1]][n[2]]:3===n.length?e[a]:{},n.length>3&&(t[n[0]][n[1]][n[2]][n[3]]=t[n[0]][n[1]][n[2]][n[3]]?t[n[0]][n[1]][n[2]][n[3]]:4===n.length?e[a]:{},n.length>4&&(t[n[0]][n[1]][n[2]][n[3]][n[4]]=t[n[0]][n[1]][n[2]][n[3]][n[4]]?t[n[0]][n[1]][n[2]][n[3]][n[4]]:5===n.length?e[a]:{},n.length>5&&(t[n[0]][n[1]][n[2]][n[3]][n[4]][n[5]]=t[n[0]][n[1]][n[2]][n[3]][n[4]][n[5]]?t[n[0]][n[1]][n[2]][n[3]][n[4]][n[5]]:6===n.length?e[a]:{}))))))}c(t)}))},K=u?Object(re.jsxs)(z.a,{open:!0,fullWidth:!0,maxWidth:"md",children:[Object(re.jsx)(E.a,{className:i.root,children:G.a.t("Choose")}),Object(re.jsx)(R.a,{children:Object(re.jsx)(Fe.a,{id:"objecttree","aria-label":"ioBroker",defaultExpanded:["3"],defaultCollapseIcon:Object(re.jsx)(Re.a,{}),defaultExpandIcon:Object(re.jsx)(_e.a,{}),defaultEndIcon:Object(re.jsx)("div",{style:{width:24}}),sx:{height:"100%",flexGrow:1,maxWidth:"100%"},onNodeSelect:function(e,t){return function(e,t){t._id?(f(!1),w(t)):(f(!0),w({}))}(0,t)},children:s&&!s.hasOwnProperty("_id")&&Object.keys(s).map((function(e){return Object(re.jsx)(Ye,{nodeId:e,labelIcon:Ue.a,labelIconColor:s[e].hasOwnProperty("_id")?"green":"red",labelText:e,children:s&&s[e]&&!s[e].hasOwnProperty("_id")&&Object.keys(s[e]).map((function(t){return Object(re.jsx)(Ye,{style:{marginLeft:20},nodeId:s[e][t].hasOwnProperty("_id")?s[e][t]:e+"."+t,labelIcon:Ue.a,labelIconColor:s[e][t].hasOwnProperty("_id")?"green":"red",labelText:t,children:s&&s[e][t]&&!s[e][t].hasOwnProperty("_id")&&Object.keys(s[e][t]).map((function(a){return Object(re.jsx)(Ye,{style:{marginLeft:20},nodeId:s[e][t][a].hasOwnProperty("_id")?s[e][t][a]:e+"."+t+"."+a,labelIcon:Ue.a,labelIconColor:s[e][t][a].hasOwnProperty("_id")?"green":"red",labelText:a,children:s&&s[e][t][a]&&!s[e][t][a].hasOwnProperty("_id")&&Object.keys(s[e][t][a]).map((function(n){return Object(re.jsx)(Ye,{style:{marginLeft:20},nodeId:s[e][t][a][n].hasOwnProperty("_id")?s[e][t][a][n]:e+"."+t+"."+a+"."+n,labelIcon:Ue.a,labelIconColor:s[e][t][a][n].hasOwnProperty("_id")?"green":"red",labelText:n,children:s&&s[e][t][a][n]&&!s[e][t][a][n].hasOwnProperty("_id")&&Object.keys(s[e][t][a][n]).map((function(i){return Object(re.jsx)(Ye,{style:{marginLeft:20},nodeId:s[e][t][a][n][i].hasOwnProperty("_id")?s[e][t][a][n][i]:e+"."+t+"."+a+"."+n+"."+i,labelIcon:Ue.a,labelIconColor:s[e][t][a][n][i].hasOwnProperty("_id")?"green":"red",labelText:i,children:s&&s[e][t][a][n][i]&&!s[e][t][a][n][i].hasOwnProperty("_id")&&Object.keys(s[e][t][a][n][i]).map((function(r){return Object(re.jsx)(Ye,{style:{marginLeft:20},nodeId:s[e][t][a][n][i][r].hasOwnProperty("_id")?s[e][t][a][n][i][r]:e+"."+t+"."+a+"."+n+"."+i+"."+r,labelIcon:Ue.a,labelIconColor:s[e][t][a][n][i][r].hasOwnProperty("_id")?"green":"red",labelText:r},"l6"+e+t+a+n+i+r)}))},"l5"+e+t+a+n+i)}))},"l4"+e+t+a+n)}))},"l3"+e+t+a)}))},"l2"+e+t)}))},"l1"+e)}))},"iobobjecttree")}),Object(re.jsxs)(L.a,{children:[Object(re.jsx)(ie.a,{variant:"contained",color:"primary",disabled:m,onClick:function(){v._id&&N&&N.native&&(v.common&&v.common.hasOwnProperty("type")&&N.common&&N.common.hasOwnProperty("type")&&N.common.type===v.common.type?(N.common.read=!1,N.common.write=!0,N.native.actGARefId="",N.native.statusGARefId="",N.native.linkedState=v._id,e.onClick({id:"linkedState",linkedState:N}),p(!1),f(!0)):(y(G.a.t("The value types does not match. Please select a proper Datapointtype for GA.")),p(!1),f(!0)))},iconStart:Object(re.jsx)(te.a,{}),children:"Ok"}),Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return p(!1)},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})]})]}):null;return Object(re.jsxs)(he.a,{sx:{minHeight:"100%"},children:[Object(re.jsxs)(be.a,{children:[Object(re.jsx)($.a,{container:!0,direction:"column",spacing:2,children:Object(re.jsx)($.a,{item:!0,children:Object(re.jsx)(Oe.a,{sx:{fontSize:14},color:"text.secondary",gutterBottom:!0,children:G.a.t("Direct Link states")})})}),Object(re.jsx)($.a,{item:!0,children:Object(re.jsx)(M.a,{id:"standard-read-only-input3",fullWidth:!0,label:N&&N.native&&N.native.hasOwnProperty("linkedState")&&N.native.linkedState.length>0?G.a.t("linked with :"):G.a.t("no non-knx ioBroker state linked"),value:N&&N.native&&N.native.hasOwnProperty("linkedState")&&N.native.linkedState.length>0?N.native.linkedState:"",InputProps:{readOnly:!0},variant:"standard"})})]}),Object(re.jsx)(De.a,{children:Object(re.jsxs)(Ke.a,{children:[N&&N.native&&(N.native.hasOwnProperty("linkedState")&&0===N.native.linkedState.length||!N.native.hasOwnProperty("linkedState"))&&Object(re.jsx)(ie.a,{variant:"contained",disabled:!N.hasOwnProperty("_id"),onClick:function(){N&&N.common&&!N.common.read&&N.common.write?0===N.native.statusGARefId.length&&0===N.native.actGARefId.length?p(!0):y(G.a.t("This is not allowed if this GA already has a State-Act relation.")):y(G.a.t("The source GA has to have only write attribute."))},iconStart:Object(re.jsx)(Xe.a,{}),children:G.a.t("add")}),N&&N.native&&N.native.hasOwnProperty("linkedState")&&N.native.linkedState.length>0&&Object(re.jsx)(ie.a,{variant:"contained",disabled:!N.hasOwnProperty("_id"),onClick:function(){N&&N.native&&N.native.linkedState&&(delete N.native.linkedState,e.onClick({id:"linkedState",linkedState:N}))},iconStart:Object(re.jsx)(Xe.a,{}),children:G.a.t("delete")})]})}),K,C]})},et=Object(N.a)((function(e){return{root:{margin:0,padding:e.spacing(2)}}}));var tt=function(e,t,a){return e.getForeignObjects(t+"."+a+".*").then((function(e){return function(e){var t=Object.entries(e),a=[],n=[],i=[],r=[],o=[],s=[];return t.forEach((function(e){if(e[1]){var t=e[1];if(t&&t.native&&t.native.address){var c=t.native.address.split("/"),l=e[0].split(".");a[c[0]]||(a[c[0]]={hgName:l[2],hgId:c[0],mg:[]}),a[c[0]]&&(a[c[0]].mg[c[1]]||(a[c[0]].mg[c[1]]={mgName:l[3],mgId:c[1],ga:[]})),a[c[0]]&&a[c[0]].mg[c[1]]&&(a[c[0]].mg[c[1]].ga[c[2]]={gaId:c[2],gaName:t.common.name,props:{g:t}},n[t.native.addressRefId]=t._id,i[t._id]=t.native.addressRefId,t.native.actGARefId&&t.native.actGARefId.length>0&&(o[t._id]=t.native.actGARefId),t.native.statusGARefId&&t.native.statusGARefId.length>0&&(r[t._id]=t.native.statusGARefId),t.native.dpt&&0===t.native.dpt.length&&(s[t._id]=t.native.addressRefId),t.common.write&&t.common.read||(s[t._id]=t.native.addressRefId),t.common.read&&0===t.common.read.length&&t.common.write&&0===t.common.write.length&&(s[t._id]=t.native.addressRefId))}}})),{struct:a,gaRefIdMap:n,gaGaIdMap:i,gaActStateMap:r,gaStateActMap:o,gaUndefMap:s}}(e)}))};var at=function(e){var t=et(),a=e.socket,i=e.adapterName,r=e.instance,o=e.instanceAlive,s=Object(n.useState)([]),c=Object(S.a)(s,2),l=c[0],d=c[1],u=Object(n.useState)({}),p=Object(S.a)(u,2),h=p[0],b=p[1],m=Object(n.useState)({}),f=Object(S.a)(m,2),j=f[0],g=f[1],v=Object(n.useState)({}),w=Object(S.a)(v,2),O=w[0],A=w[1],x=Object(n.useState)({id:""}),y=Object(S.a)(x,2),k=y[0],I=y[1],N=Object(n.useState)([]),P=Object(S.a)(N,2),C=P[0],D=P[1],K=Object(n.useState)([]),T=Object(S.a)(K,2),X=T[0],_=T[1],U=Object(n.useState)(""),W=Object(S.a)(U,2),F=W[0],H=W[1];Object(n.useEffect)((function(){tt(a,i,r).then((function(e){d(e.struct),D(e.gaRefIdMap)})),M()}),[a]),Object(n.useEffect)((function(){1===X.length&&Y(X[0])}),[X]),Object(n.useEffect)((function(){}),[h]);var V=function(e){switch(e.id){case"gaList":if(Array.isArray(e.value)){var t=0;_([]);var n=[];e.value.map((function(i){return a.getObject(i).then((function(a){null!==a&&n.push(a),t===e.value.length-1&&_(n),t++})),null}))}break;case"gaProps":if(e.gaObj&&Y(e.gaObj),e.actObj,e.stateObj,e.gaObjArr)for(var i=[],r=0;r<e.gaObjArr.length;r++){var o=e.gaObjArr[r];e.gaObjArr.length>1&&o.native&&o.native.hasOwnProperty("actGARefId")&&o.native.actGARefId.length>0&&i.push(o.common.name),e.gaObjArr.length>1&&o.native&&o.native.hasOwnProperty("statusGARefId")&&o.native.statusGARefId.length>0&&i.push(o.common.name),o.native&&o.native.hasOwnProperty("actGARefId")&&0===o.native.actGARefId.length&&o.native.hasOwnProperty("statusGARefId")&&0===o.native.statusGARefId.length&&Y(o),i.length>0&&H(G.a.t("Changing this GA is not possible, because they have existing Act-State relations. ")+i.map((function(e,t){return e})))}break;case"gaStateAct":e.actId&&a.getObject(e.actId).then((function(e){$(e)})),e.stateId&&a.getObject(e.stateId).then((function(e){$(e)})),e.delete&&J(e.delete);break;case"linkedState":e.linkedState&&q(e.linkedState);break;default:return null}},M=function(){(function(e,t,a){return e.sendTo(t+"."+a,"getDPT",null)})(a,i,r).then((function(e){return I(e)}))},q=function(e){a.setObject(e._id,e),_([e])},$=function(e){X&&X[0]&&X[0].native&&X[0].common&&e&&e.common&&e.native&&(X[0].common.hasOwnProperty("read")&&X[0].common.hasOwnProperty("write")&&e.common.hasOwnProperty("read")&&e.common.hasOwnProperty("write")?!X[0].common.write&&X[0].common.read&&e.common.write&&e.common.read||X[0].common.write&&X[0].common.read&&!e.common.write&&e.common.read||X[0].common.read!==e.common.read&&X[0].common.write!==e.common.write||X[0].common.write&&!X[0].common.read&&e.common.write&&e.common.read||X[0].common.write&&X[0].common.read&&e.common.write&&!e.common.read?X[0].native.hasOwnProperty("dpt")&&e.native.hasOwnProperty("dpt")&&X[0].native.dpt===e.native.dpt?0===X[0].native.statusGARefId.length&&0===X[0].native.actGARefId.length&&0===e.native.actGARefId.length&&0===e.native.statusGARefId.length?(0===X[0].native.statusGARefId.length&&e.common.write&&!e.common.read?(X[0].native.actGARefId=e.native.addressRefId,e.native.statusGARefId=X[0].native.addressRefId):0===X[0].native.actGARefId.length&&(X[0].native.statusGARefId=e.native.addressRefId,e.native.actGARefId=X[0].native.addressRefId),a.setObject(X[0]._id,X[0]),a.setObject(e._id,e),Y(X[0])):H(G.a.t("The target has already a relation. Delete the target relation first before create a new one. It is connected to "+X[0].common.name)):H(G.a.t("It is not possible to combine State GA and Act GA with different datapointtypes.")):H(G.a.t("It is not possible to combine state-state nor act-act GAs. Check the GA Properties.")):H(G.a.t("One of State or Act (or both) doesn't have defined as read or writeable. Set this property for Act and State GA")))},J=function(e){a.setObject(e[0]._id,e[0]),a.setObject(e[1]._id,e[1]),e[0]._id===X[0]._id?Y(e[0]):Y(e[1])},Z=function(e,t){var n=t.replace("DPT","");a.getObject(e).then((function(i){i.hasOwnProperty("native")&&i.native.hasOwnProperty("dpt")&&i.native.dpt!==t&&(i.common.type=k[n].type,i.common.unit=k[n].unit,i.common.max=k[n].range.max,i.common.min=k[n].range.min,i.native.dpt=t,a.setObject(e,i))}))},Y=function(e){e&&e._id&&e.native&&e.native.hasOwnProperty("actGARefId")&&e.native.hasOwnProperty("statusGARefId")&&e.common.hasOwnProperty("read")&&e.common.hasOwnProperty("write")?(!e.common.read&&e.common.write?(e.native.statusGARefId.length>0||e.native.actGARefId.length>0?(e.native.actGARefId.length>0&&(e.native.statusGARefId=e.native.actGARefId,e.native.actGARefId="",a.setObject(e._id,e)),a.getObject(C[e.native.statusGARefId]).then((function(t){var n=!1;t.common&&t.native&&(!0!==t.common.read&&(t.common.read=!0,n=!0),t.native.actGARefId!==e.native.addressRefId&&(t.native.actGARefId=e.native.addressRefId,n=!0),""!==t.native.statusGARefId&&(t.native.statusGARefId="",n=!0),n&&a.setObject(t._id,t)),g(e),A(t),t.native&&t.native.hasOwnProperty("dpt")&&Z(t._id,e.native.dpt)}))):(a.setObject(e._id,e),A({})),e.native&&e.native.hasOwnProperty("dpt")&&Z(e._id,e.native.dpt),b(e),g(e)):(e.common.read&&!e.common.write||e.common.read&&e.common.write)&&(e.native.statusGARefId.length>0||e.native.actGARefId.length>0?(e.native.statusGARefId.length>0&&(e.native.actGARefId=e.native.statusGARefId,e.native.statusGARefId="",a.setObject(e._id,e)),a.getObject(C[e.native.actGARefId]).then((function(t){if(t.common&&t.native){var n=!1;!1!==t.common.read&&(t.common.read=!1,n=!0),!0!==t.common.write&&(t.common.write=!0,n=!0),t.native.statusGARefId!==e.native.addressRefId&&(t.native.statusGARefId=e.native.addressRefId,n=!0),""!==t.native.actGARefId&&(t.native.actGARefId="",n=!0),n&&(a.setObject(t._id,t),t.native&&t.native.hasOwnProperty("dpt")&&Z(t._id,e.native.dpt))}A(e),g(t)}))):(a.setObject(e._id,e),g({})),b(e),A(e)),e.native&&e.native.hasOwnProperty("dpt")&&Z(e._id,e.native.dpt)):(g({}),A({}))},Q=F.length>0?Object(re.jsxs)(z.a,{open:!0,children:[Object(re.jsx)(E.a,{className:t.root,children:G.a.t("Information")}),Object(re.jsx)(R.a,{children:G.a.t(F)}),Object(re.jsx)(L.a,{children:Object(re.jsx)(ie.a,{variant:"contained",onClick:function(){return H("")},iconStart:Object(re.jsx)(ne.a,{}),children:"Cancel"})})]}):null;return Object(re.jsxs)(ve.a,{sx:{p:2,bgcolor:"background.default",display:"grid",gridTemplateColumns:{md:"1.5fr 2fr 1fr"},gap:2,height:"95%"},children:[Object(re.jsx)(B.a,{style:{maxHeight:"100%",overflow:"auto"},children:Object(re.jsx)(he.a,{sx:{minHeight:"100%"},children:Object(re.jsxs)(be.a,{children:[Object(re.jsx)(Oe.a,{sx:{fontSize:14},color:"text.secondary",gutterBottom:!0,children:G.a.t("GA-structure")}),Object(re.jsx)(Me,{multiselect:!0,gaObjects:l,onClick:function(e){return V(e)}},"galist")]})})}),Object(re.jsx)(B.a,{}),Object(re.jsxs)(B.a,{children:[o&&Object(re.jsx)(Ce,{gaObjArr:X,dptObjs:k,onClick:function(e){return V(e)},onChange:function(t){return function(t){t.attr&&t.value&&e.onChange(t.attr,t.value)}(t)},props:e}),o&&Object(re.jsx)($e,{gaObjArr:X,actObject:j,gaObjects:l,stateObject:O,gaRefIdMap:C,socket:a,onClick:function(e){return V(e)}}),o&&Object(re.jsx)(Qe,{socket:a,gaObjArr:X,onClick:function(e){return V(e)}})]}),Q]})},nt=function(e){Object(f.a)(n,e);var t=Object(j.a)(n);function n(e){var i;Object(u.a)(this,n);var r=Object(d.a)({},e);return r.encryptedFields=["pass"],r.translations={en:a(489),de:a(490),ru:a(491),pt:a(492),nl:a(493),fr:a(494),it:a(495),es:a(496),pl:a(497),"zh-cn":a(498)},(i=t.call(this,e,r)).updateAliveState=i.updateAliveState.bind(Object(h.a)(i)),i}return Object(p.a)(n,[{key:"componentDidMount",value:function(){this.setState({licenseValid:!1,selectedTab:"configuration",socketConnected:!1})}},{key:"componentWillUnmount",value:function(){this.socket.unsubscribeState("system.adapter.".concat(this.adapterName,".").concat(this.instance,".alive"),this.updateAliveState)}},{key:"updateAliveState",value:function(e,t){t&&t.hasOwnProperty("val")&&e.includes("alive")&&this.setState({instanceAlive:t.val,selectedTab:t.val?this.state.selectedTab:"configuration"})}},{key:"onConnectionReady",value:function(){var e=this;this.setState({socketConnected:!0}),this.socket.getObject("system.meta.uuid").then((function(t){e.setState({hostUUID:t&&t.native&&t.native.uuid&&t.native.uuid.length>0?t.native.uuid:""})})).catch((function(t){e.setState({hostUUID:""})})),this.socket.getState("system.adapter.".concat(this.adapterName,".").concat(this.instance,".alive")).then((function(t){return e.state.instanceAlive=t,t})).catch((function(e){return!1})),this.socket.subscribeState("system.adapter.".concat(this.adapterName,".").concat(this.instance,".alive"),!0,this.updateAliveState)}},{key:"updateNativeValue",value:function(e,t,a){"validLicense"===e?this.setState({licenseValid:t}):Object(b.a)(Object(m.a)(n.prototype),"updateNativeValue",this).call(this,e,t,a)}},{key:"getSelectedTab",value:function(){var e=this.state.selectedTab;return e&&"configuration"!==e?"gatools"===e?1:void 0:0}},{key:"render",value:function(){var e=this;return this.state.loaded&&this.state.socketConnected?Object(re.jsx)(l.a,{theme:this.state.theme,children:Object(re.jsxs)("div",{className:"App",style:{background:this.state.theme.palette.background.default,color:this.state.theme.palette.text.primary},children:[Object(re.jsx)(v.a,{position:"static",children:Object(re.jsxs)(w.a,{value:this.getSelectedTab(),onChange:function(t,a){return e.selectTab(t.target.parentNode.dataset.name,a)},scrollButtons:"auto",children:[Object(re.jsx)(O.a,{label:G.a.t("Configuration"),"data-name":"configuration"}),this.state.licenseValid&&this.state.instanceAlive&&Object(re.jsx)(O.a,{label:G.a.t("GA-Tools"),"data-name":"gatools"})]})}),Object(re.jsxs)("div",{className:this.isIFrame?this.props.classes.tabContentIFrame:this.props.classes.tabContent,style:{width:"100%"},children:[("configuration"===this.state.selectedTab||!this.state.selectedTab)&&Object(re.jsx)(ye,{common:this.common,socket:this.socket,native:this.state.native,onError:function(t){return e.setState({errorText:!t&&0!==t||"string"===typeof t?t:t.toString()})},onLoad:function(t){return e.onLoadConfig(t)},instance:this.instance,adapterName:this.adapterName,instanceAlive:this.state.instanceAlive,changed:this.state.changed,theme:this.state.theme,hostUUID:this.state.hostUUID,onChange:function(t,a,n){return e.updateNativeValue(t,a,n)}},"configuration"),"gatools"===this.state.selectedTab&&this.state.licenseValid&&this.state.instanceAlive&&Object(re.jsx)(at,{common:this.common,socket:this.socket,native:this.state.native,onError:function(t){return e.setState({errorText:!t&&0!==t||"string"===typeof t?t:t.toString()})},instance:this.instance,instanceAlive:this.state.instanceAlive,adapterName:this.adapterName,onShowError:function(t){return e.showError(t)}},"gatools")]}),this.renderError(),this.renderSaveCloseButtons()]})}):Object(re.jsx)(l.a,{theme:this.state.theme,children:Object(re.jsx)(k.a,{theme:this.state.themeType})})}}]),n}(x.a),it=Object(g.a)((function(e){return{root:{},tabContent:{padding:10,height:"calc(100% - 64px - 48px - 20px)",overflow:"auto"},tabContentIFrame:{padding:10,height:"calc(100% - 64px - 48px - 20px - 38px)",overflow:"auto"}}}))(nt);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));var rt=a(227),ot=a(220),st=a.n(ot),ct=a(222),lt=a.n(ct);window.adapterName="knx";var dt=lt.a.getThemeName();console.log("iobroker."+window.adapterName+"@"+rt.a+' using theme "'+dt+'"'),"localhost:3000"!==window.location.host&&s.a({dsn:"https://beb3d0c9d1e741e39a103ef992066c0b@sentry.iobroker.net/163",release:"iobroker."+window.adapterName+"@"+rt.a,integrations:[new c.a]}),function e(){return o.a.render(Object(re.jsx)(l.a,{theme:st()(dt),children:Object(re.jsx)(it,{onThemeChange:function(t){dt=t,e()}})}),document.getElementById("root"))}(),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}},[[501,1,2]]]);
2
+ //# sourceMappingURL=main.333ecd3e.chunk.js.map