From dc9bd8fb3385684d3650af51a68ba15bf582ca82 Mon Sep 17 00:00:00 2001 From: GermanBluefox Date: Tue, 6 Aug 2024 11:38:04 +0700 Subject: [PATCH] chore: release v1.24.1 * (bluefox) GUI was migrated for Admin 7 --- README.md | 2 +- admin/custom/i18n/de.json | 6 +++--- admin/custom/i18n/en.json | 6 +++--- .../js/{main.d53d1713.js => main.0594f339.js} | 4 ++-- ...{main.d53d1713.js.map => main.0594f339.js.map} | 2 +- .../static/js/src_bootstrap_jsx.74b7298f.chunk.js | 3 +++ ...ap => src_bootstrap_jsx.74b7298f.chunk.js.map} | 2 +- .../static/js/src_bootstrap_jsx.a41e0aa8.chunk.js | 3 --- io-package.json | 15 ++++++++++++++- package.json | 2 +- src-admin/package.json | 2 +- 11 files changed, 30 insertions(+), 17 deletions(-) rename admin/custom/static/js/{main.d53d1713.js => main.0594f339.js} (99%) rename admin/custom/static/js/{main.d53d1713.js.map => main.0594f339.js.map} (99%) create mode 100644 admin/custom/static/js/src_bootstrap_jsx.74b7298f.chunk.js rename admin/custom/static/js/{src_bootstrap_jsx.a41e0aa8.chunk.js.map => src_bootstrap_jsx.74b7298f.chunk.js.map} (99%) delete mode 100644 admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js diff --git a/README.md b/README.md index b359b9b4..5720e9e2 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ https://github.com/ioBroker/AdapterRequests/issues/62 ### **WORK IN PROGRESS** --> ## Changelog -### **WORK IN PROGRESS** +### 1.24.1 (2024-08-06) * (bluefox) GUI was migrated for Admin 7 ### 1.23.4 (2024-07-07) diff --git a/admin/custom/i18n/de.json b/admin/custom/i18n/de.json index f6823126..2018747e 100644 --- a/admin/custom/i18n/de.json +++ b/admin/custom/i18n/de.json @@ -1,10 +1,10 @@ { - "custom_hmip_not_alive": "HMIP-Instanz ist nicht am Leben", + "custom_hmip_not_alive": "HMIP-Instanz ist nicht gestartet", "custom_hmip_request_token": "Token erstellen", "custom_hmip_started token creation": "Token-Erstellung gestartet...", - "custom_hmip_press blue button on accesspoint": "Drücken Sie die blaue Taste am Accesspoint", + "custom_hmip_press blue button on accesspoint": "Drücken Sie die blaue Taste am Access point", "custom_hmip_confirming token": "Bestätigungstoken...", "custom_hmip_error occurred during token generation, look at the logs": "Während der Token-Generierung ist ein Fehler aufgetreten. Sehen Sie sich die Protokolle an", "custom_hmip_press \"request token\"": "Drücken Sie „Token erstellen“", "custom_hmip_token created, save settings to use your accesspoint": "Token erstellt, Einstellungen speichern, um Ihren Zugangspunkt zu verwenden" -} \ No newline at end of file +} diff --git a/admin/custom/i18n/en.json b/admin/custom/i18n/en.json index 830be6e8..93376bb3 100644 --- a/admin/custom/i18n/en.json +++ b/admin/custom/i18n/en.json @@ -2,9 +2,9 @@ "custom_hmip_not_alive": "HMIP instance is not alive", "custom_hmip_request_token": "Create token", "custom_hmip_started token creation": "Started token creation...", - "custom_hmip_press blue button on accesspoint": "Press blue button on accesspoint", + "custom_hmip_press blue button on accesspoint": "Press blue button on access point", "custom_hmip_confirming token": "confirming token...", "custom_hmip_error occurred during token generation, look at the logs": "error occurred during token generation, look at the logs", "custom_hmip_press \"request token\"": "press \"Create token\"", - "custom_hmip_token created, save settings to use your accesspoint": "token created, save settings to use your accesspoint" -} \ No newline at end of file + "custom_hmip_token created, save settings to use your accesspoint": "token created, save settings to use your access point" +} diff --git a/admin/custom/static/js/main.d53d1713.js b/admin/custom/static/js/main.0594f339.js similarity index 99% rename from admin/custom/static/js/main.d53d1713.js rename to admin/custom/static/js/main.0594f339.js index 24737948..93332362 100644 --- a/admin/custom/static/js/main.d53d1713.js +++ b/admin/custom/static/js/main.0594f339.js @@ -1,5 +1,5 @@ -(function(){var A={72976:function(_,s,a){Promise.all([a.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),a.e("webpack_sharing_consume_default_react_react"),a.e("webpack_sharing_consume_default_prop-types_prop-types"),a.e("webpack_sharing_consume_default_react-dom_react-dom"),a.e("webpack_sharing_consume_default_mui_material_mui_material"),a.e("webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5"),a.e("webpack_sharing_consume_default_iobroker_json-config_iobroker_json-config"),a.e("src_bootstrap_jsx")]).then(a.bind(a,29095))}},T={};function e(_){var s=T[_];if(s!==void 0)return s.exports;var a=T[_]={id:_,loaded:!1,exports:{}};return A[_].call(a.exports,a,a.exports,e),a.loaded=!0,a.exports}e.m=A,e.c=T,function(){e.amdD=function(){throw new Error("define cannot be used indirect")}}(),function(){e.n=function(_){var s=_&&_.__esModule?function(){return _.default}:function(){return _};return e.d(s,{a:s}),s}}(),function(){e.d=function(_,s){for(var a in s)e.o(s,a)&&!e.o(_,a)&&Object.defineProperty(_,a,{enumerable:!0,get:s[a]})}}(),function(){e.f={},e.e=function(_){return Promise.all(Object.keys(e.f).reduce(function(s,a){return e.f[a](_,s),s},[]))}}(),function(){e.u=function(_){return"static/js/"+_+"."+{"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9":"c7464c00",webpack_sharing_consume_default_react_react:"11e92aa7","webpack_sharing_consume_default_prop-types_prop-types":"03e16191","webpack_sharing_consume_default_react-dom_react-dom":"3023834a",webpack_sharing_consume_default_mui_material_mui_material:"791a2c70","webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5":"7de341c5","webpack_sharing_consume_default_iobroker_json-config_iobroker_json-config":"6ac8df90",src_bootstrap_jsx:"a41e0aa8","vendors-node_modules_mui_material_styles_styled_js":"2b36db23","vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs":"af5243e9","vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js":"3091396c","vendors-node_modules_iobroker_adapter-react-v5_index_js-node_modules_mui_material_styles_cssU-2e9b58":"c5bdd34e","webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de":"6db8335e","node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23730":"2c519a30","vendors-node_modules_mui_material_FilledInput_FilledInput_js":"69ee8cd2","vendors-node_modules_iobroker_json-config_build_index_js":"0a335bcb","webpack_sharing_consume_default_mui_x-date-pickers_mui_x-date-pickers-webpack_sharing_consume-9f1a2d":"a3ceee0c",_91570:"181e60e3","vendors-node_modules_mui_icons-material_esm_index_js":"5a143292","vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3":"9c2fc9c3","vendors-node_modules_mui_material_index_js":"d881645b","vendors-node_modules_mui_x-date-pickers_index_js":"f3a45047","node_modules_prop-types_index_js":"ccb88c95","vendors-node_modules_react-ace_lib_index_js":"7cfe5291","vendors-node_modules_react-dom_index_js":"82507fe1","vendors-node_modules_react-dropzone_dist_es_index_js":"e1042402",node_modules_react_index_js:"45f1c927","node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23731":"10e9617d",_91571:"40fe43ae"}[_]+".chunk.js"}}(),function(){e.miniCssF=function(_){}}(),function(){e.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(_){if(typeof window=="object")return window}}()}(),function(){e.o=function(_,s){return Object.prototype.hasOwnProperty.call(_,s)}}(),function(){var _={},s="iobroker-admin-component-hmip:";e.l=function(a,d,v,h){if(_[a]){_[a].push(d);return}var c,j;if(v!==void 0)for(var m=document.getElementsByTagName("script"),k=0;k=0)){if(d.push(v),_[a])return _[a];e.o(e.S,a)||(e.S[a]={});var h=e.S[a],c=function(b){typeof console!="undefined"&&console.warn&&console.warn(b)},j="iobroker-admin-component-hmip",m=function(b,g,C,w){var x=h[b]=h[b]||{},p=x[g];(!p||!p.loaded&&(!w!=!p.eager?w:j>p.from))&&(x[g]={get:C,from:j,eager:!!w})},k=function(b){var g=function(p){c("Initialization of sharing external failed: "+p)};try{var C=e(b);if(!C)return;var w=function(p){return p&&p.init&&p.init(e.S[a],d)};if(C.then)return f.push(C.then(w,g));var x=w(C);if(x&&x.then)return f.push(x.catch(g))}catch(p){g(p)}},f=[];switch(a){case"default":m("@iobroker/adapter-react-v5","6.1.8",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs"),e.e("vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js"),e.e("vendors-node_modules_iobroker_adapter-react-v5_index_js-node_modules_mui_material_styles_cssU-2e9b58"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de"),e.e("webpack_sharing_consume_default_mui_material_mui_material"),e.e("node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23730")]).then(function(){return function(){return e(37228)}})}),m("@iobroker/json-config","7.0.23",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs"),e.e("vendors-node_modules_iobroker_json-config_build_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom"),e.e("webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de"),e.e("webpack_sharing_consume_default_mui_material_mui_material"),e.e("webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5"),e.e("webpack_sharing_consume_default_mui_x-date-pickers_mui_x-date-pickers-webpack_sharing_consume-9f1a2d"),e.e("_91570")]).then(function(){return function(){return e(21565)}})}),m("@mui/icons-material","5.16.6",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_icons-material_esm_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(25892)}})}),m("@mui/material","5.16.6",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3"),e.e("vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js"),e.e("vendors-node_modules_mui_material_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom")]).then(function(){return function(){return e(61010)}})}),m("@mui/x-date-pickers","7.12.0",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3"),e.e("vendors-node_modules_mui_x-date-pickers_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom")]).then(function(){return function(){return e(58633)}})}),m("prop-types","15.8.1",function(){return e.e("node_modules_prop-types_index_js").then(function(){return function(){return e(2652)}})}),m("react-ace","12.0.0",function(){return Promise.all([e.e("vendors-node_modules_react-ace_lib_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(92262)}})}),m("react-dom","18.3.1",function(){return Promise.all([e.e("vendors-node_modules_react-dom_index_js"),e.e("webpack_sharing_consume_default_react_react")]).then(function(){return function(){return e(73961)}})}),m("react-dropzone","14.2.3",function(){return Promise.all([e.e("vendors-node_modules_react-dropzone_dist_es_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(89709)}})}),m("react","18.3.1",function(){return e.e("node_modules_react_index_js").then(function(){return function(){return e(89526)}})});break}return f.length?_[a]=Promise.all(f).then(function(){return _[a]=1}):_[a]=1}}}(),function(){var _;e.g.importScripts&&(_=e.g.location+"");var s=e.g.document;if(!_&&s&&(s.currentScript&&(_=s.currentScript.src),!_)){var a=s.getElementsByTagName("script");if(a.length)for(var d=a.length-1;d>-1&&!_;)_=a[d--].src}if(!_)throw new Error("Automatic publicPath is not supported in this browser");_=_.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=_+"../../"}(),function(){var _=function(r){var t=function(i){return i.split(".").map(function(u){return+u==u?+u:u})},n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(r),o=n[1]?t(n[1]):[];return n[2]&&(o.length++,o.push.apply(o,t(n[2]))),n[3]&&(o.push([]),o.push.apply(o,t(n[3]))),o},s=function(r,t){r=_(r),t=_(t);for(var n=0;;){if(n>=r.length)return n=t.length)return i=="u";var u=t[n],l=(typeof u)[0];if(i!=l)return i=="o"&&l=="n"||l=="s"||i=="u";if(i!="o"&&i!="u"&&o!=u)return o=":t==-1?"<":t==1?"^":t==2?"~":t>0?"=":"!=";for(var o=1,i=1;i0?".":"")+(o=2,l);return n}var u=[];for(i=1;i=t.length||(B=(typeof(y=t[i]))[0])=="o")return!l||(P=="u"?u>n&&!o:P==""!=o);if(B=="u"){if(!l||P!="u")return!1}else if(l)if(P==B)if(u<=n){if(y!=r[u])return!1}else{if(o?y>r[u]:y=0)){if(d.push(v),_[a])return _[a];e.o(e.S,a)||(e.S[a]={});var h=e.S[a],c=function(b){typeof console!="undefined"&&console.warn&&console.warn(b)},j="iobroker-admin-component-hmip",m=function(b,g,C,w){var x=h[b]=h[b]||{},p=x[g];(!p||!p.loaded&&(!w!=!p.eager?w:j>p.from))&&(x[g]={get:C,from:j,eager:!!w})},k=function(b){var g=function(p){c("Initialization of sharing external failed: "+p)};try{var C=e(b);if(!C)return;var w=function(p){return p&&p.init&&p.init(e.S[a],d)};if(C.then)return f.push(C.then(w,g));var x=w(C);if(x&&x.then)return f.push(x.catch(g))}catch(p){g(p)}},f=[];switch(a){case"default":m("@iobroker/adapter-react-v5","6.1.8",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs"),e.e("vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js"),e.e("vendors-node_modules_iobroker_adapter-react-v5_index_js-node_modules_mui_material_styles_cssU-2e9b58"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de"),e.e("webpack_sharing_consume_default_mui_material_mui_material"),e.e("node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23730")]).then(function(){return function(){return e(37228)}})}),m("@iobroker/json-config","7.0.23",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs"),e.e("vendors-node_modules_iobroker_json-config_build_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom"),e.e("webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de"),e.e("webpack_sharing_consume_default_mui_material_mui_material"),e.e("webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5"),e.e("webpack_sharing_consume_default_mui_x-date-pickers_mui_x-date-pickers-webpack_sharing_consume-9f1a2d"),e.e("_91570")]).then(function(){return function(){return e(21565)}})}),m("@mui/icons-material","5.16.6",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_icons-material_esm_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(25892)}})}),m("@mui/material","5.16.6",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3"),e.e("vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js"),e.e("vendors-node_modules_mui_material_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom")]).then(function(){return function(){return e(61010)}})}),m("@mui/x-date-pickers","7.12.0",function(){return Promise.all([e.e("vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9"),e.e("vendors-node_modules_mui_material_styles_styled_js"),e.e("vendors-node_modules_mui_material_FilledInput_FilledInput_js"),e.e("vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3"),e.e("vendors-node_modules_mui_x-date-pickers_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types"),e.e("webpack_sharing_consume_default_react-dom_react-dom")]).then(function(){return function(){return e(58633)}})}),m("prop-types","15.8.1",function(){return e.e("node_modules_prop-types_index_js").then(function(){return function(){return e(2652)}})}),m("react-ace","12.0.0",function(){return Promise.all([e.e("vendors-node_modules_react-ace_lib_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(92262)}})}),m("react-dom","18.3.1",function(){return Promise.all([e.e("vendors-node_modules_react-dom_index_js"),e.e("webpack_sharing_consume_default_react_react")]).then(function(){return function(){return e(73961)}})}),m("react-dropzone","14.2.3",function(){return Promise.all([e.e("vendors-node_modules_react-dropzone_dist_es_index_js"),e.e("webpack_sharing_consume_default_react_react"),e.e("webpack_sharing_consume_default_prop-types_prop-types")]).then(function(){return function(){return e(89709)}})}),m("react","18.3.1",function(){return e.e("node_modules_react_index_js").then(function(){return function(){return e(89526)}})});break}return f.length?_[a]=Promise.all(f).then(function(){return _[a]=1}):_[a]=1}}}(),function(){var _;e.g.importScripts&&(_=e.g.location+"");var s=e.g.document;if(!_&&s&&(s.currentScript&&(_=s.currentScript.src),!_)){var a=s.getElementsByTagName("script");if(a.length)for(var d=a.length-1;d>-1&&!_;)_=a[d--].src}if(!_)throw new Error("Automatic publicPath is not supported in this browser");_=_.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=_+"../../"}(),function(){var _=function(r){var t=function(i){return i.split(".").map(function(u){return+u==u?+u:u})},n=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(r),o=n[1]?t(n[1]):[];return n[2]&&(o.length++,o.push.apply(o,t(n[2]))),n[3]&&(o.push([]),o.push.apply(o,t(n[3]))),o},s=function(r,t){r=_(r),t=_(t);for(var n=0;;){if(n>=r.length)return n=t.length)return i=="u";var u=t[n],l=(typeof u)[0];if(i!=l)return i=="o"&&l=="n"||l=="s"||i=="u";if(i!="o"&&i!="u"&&o!=u)return o=":t==-1?"<":t==1?"^":t==2?"~":t>0?"=":"!=";for(var o=1,i=1;i0?".":"")+(o=2,l);return n}var u=[];for(i=1;i=t.length||(B=(typeof(y=t[i]))[0])=="o")return!l||(P=="u"?u>n&&!o:P==""!=o);if(B=="u"){if(!l||P!="u")return!1}else if(l)if(P==B)if(u<=n){if(y!=r[u])return!1}else{if(o?y>r[u]:y= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = function(msg) {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"iobroker-admin-component-hmip\";\n\tvar register = function(name, version, factory, eager) {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = function(id) {\n\t\tvar handleError = function(err) { warn(\"Initialization of sharing external failed: \" + err); };\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = function(module) { return module && module.init && module.init(__webpack_require__.S[name], initScope); }\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@iobroker/adapter-react-v5\", \"6.1.8\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs\"), __webpack_require__.e(\"vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js\"), __webpack_require__.e(\"vendors-node_modules_iobroker_adapter-react-v5_index_js-node_modules_mui_material_styles_cssU-2e9b58\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_material_mui_material\"), __webpack_require__.e(\"node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23730\")]).then(function() { return function() { return __webpack_require__(37228); }; }); });\n\t\t\tregister(\"@iobroker/json-config\", \"7.0.23\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs\"), __webpack_require__.e(\"vendors-node_modules_iobroker_json-config_build_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_material_mui_material\"), __webpack_require__.e(\"webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_x-date-pickers_mui_x-date-pickers-webpack_sharing_consume-9f1a2d\"), __webpack_require__.e(\"_91570\")]).then(function() { return function() { return __webpack_require__(21565); }; }); });\n\t\t\tregister(\"@mui/icons-material\", \"5.16.6\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_icons-material_esm_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(25892); }; }); });\n\t\t\tregister(\"@mui/material\", \"5.16.6\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3\"), __webpack_require__.e(\"vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\")]).then(function() { return function() { return __webpack_require__(61010); }; }); });\n\t\t\tregister(\"@mui/x-date-pickers\", \"7.12.0\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3\"), __webpack_require__.e(\"vendors-node_modules_mui_x-date-pickers_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\")]).then(function() { return function() { return __webpack_require__(58633); }; }); });\n\t\t\tregister(\"prop-types\", \"15.8.1\", function() { return __webpack_require__.e(\"node_modules_prop-types_index_js\").then(function() { return function() { return __webpack_require__(2652); }; }); });\n\t\t\tregister(\"react-ace\", \"12.0.0\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-ace_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(92262); }; }); });\n\t\t\tregister(\"react-dom\", \"18.3.1\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-dom_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\")]).then(function() { return function() { return __webpack_require__(73961); }; }); });\n\t\t\tregister(\"react-dropzone\", \"14.2.3\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-dropzone_dist_es_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(89709); }; }); });\n\t\t\tregister(\"react\", \"18.3.1\", function() { return __webpack_require__.e(\"node_modules_react_index_js\").then(function() { return function() { return __webpack_require__(89526); }; }); });\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(function() { return initPromises[name] = 1; });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","var parseVersion = function(str) {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=function(p){return p.split(\".\").map((function(p){return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = function(a, b) {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:f= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = function(msg) {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = \"iobroker-admin-component-hmip\";\n\tvar register = function(name, version, factory, eager) {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = function(id) {\n\t\tvar handleError = function(err) { warn(\"Initialization of sharing external failed: \" + err); };\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = function(module) { return module && module.init && module.init(__webpack_require__.S[name], initScope); }\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t\tcase \"default\": {\n\t\t\tregister(\"@iobroker/adapter-react-v5\", \"6.1.8\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs\"), __webpack_require__.e(\"vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js\"), __webpack_require__.e(\"vendors-node_modules_iobroker_adapter-react-v5_index_js-node_modules_mui_material_styles_cssU-2e9b58\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_material_mui_material\"), __webpack_require__.e(\"node_modules_iobroker_adapter-react-v5_assets_devices_sync_recursive_-node_modules_iobroker_a-de23730\")]).then(function() { return function() { return __webpack_require__(37228); }; }); });\n\t\t\tregister(\"@iobroker/json-config\", \"7.0.23\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_react-color_es_index_js-node_modules_react-icons_lib_index_mjs\"), __webpack_require__.e(\"vendors-node_modules_iobroker_json-config_build_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_icons-material_mui_icons-material-webpack_sharing_consume-80e7de\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_material_mui_material\"), __webpack_require__.e(\"webpack_sharing_consume_default_iobroker_adapter-react-v5_iobroker_adapter-react-v5\"), __webpack_require__.e(\"webpack_sharing_consume_default_mui_x-date-pickers_mui_x-date-pickers-webpack_sharing_consume-9f1a2d\"), __webpack_require__.e(\"_91570\")]).then(function() { return function() { return __webpack_require__(21565); }; }); });\n\t\t\tregister(\"@mui/icons-material\", \"5.16.6\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_icons-material_esm_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(25892); }; }); });\n\t\t\tregister(\"@mui/material\", \"5.16.6\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3\"), __webpack_require__.e(\"vendors-node_modules_mui_material_colors_index_js-node_modules_mui_material_styles_index_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\")]).then(function() { return function() { return __webpack_require__(61010); }; }); });\n\t\t\tregister(\"@mui/x-date-pickers\", \"7.12.0\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_mui_material_styles_identifier_js-node_modules_mui_styled-engine_StyledE-4f00e9\"), __webpack_require__.e(\"vendors-node_modules_mui_material_styles_styled_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_FilledInput_FilledInput_js\"), __webpack_require__.e(\"vendors-node_modules_mui_material_Button_Button_js-node_modules_mui_material_Chip_Chip_js-nod-0905a3\"), __webpack_require__.e(\"vendors-node_modules_mui_x-date-pickers_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\"), __webpack_require__.e(\"webpack_sharing_consume_default_react-dom_react-dom\")]).then(function() { return function() { return __webpack_require__(58633); }; }); });\n\t\t\tregister(\"prop-types\", \"15.8.1\", function() { return __webpack_require__.e(\"node_modules_prop-types_index_js\").then(function() { return function() { return __webpack_require__(2652); }; }); });\n\t\t\tregister(\"react-ace\", \"12.0.0\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-ace_lib_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(92262); }; }); });\n\t\t\tregister(\"react-dom\", \"18.3.1\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-dom_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\")]).then(function() { return function() { return __webpack_require__(73961); }; }); });\n\t\t\tregister(\"react-dropzone\", \"14.2.3\", function() { return Promise.all([__webpack_require__.e(\"vendors-node_modules_react-dropzone_dist_es_index_js\"), __webpack_require__.e(\"webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"webpack_sharing_consume_default_prop-types_prop-types\")]).then(function() { return function() { return __webpack_require__(89709); }; }); });\n\t\t\tregister(\"react\", \"18.3.1\", function() { return __webpack_require__.e(\"node_modules_react_index_js\").then(function() { return function() { return __webpack_require__(89526); }; }); });\n\t\t}\n\t\tbreak;\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(function() { return initPromises[name] = 1; });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && !scriptUrl) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../../\";","var parseVersion = function(str) {\n\t// see webpack/lib/util/semver.js for original code\n\tvar p=function(p){return p.split(\".\").map((function(p){return+p==p?+p:p}))},n=/^([^-+]+)?(?:-([^+]+))?(?:\\+(.+))?$/.exec(str),r=n[1]?p(n[1]):[];return n[2]&&(r.length++,r.push.apply(r,p(n[2]))),n[3]&&(r.push([]),r.push.apply(r,p(n[3]))),r;\n}\nvar versionLt = function(a, b) {\n\t// see webpack/lib/util/semver.js for original code\n\ta=parseVersion(a),b=parseVersion(b);for(var r=0;;){if(r>=a.length)return r=b.length)return\"u\"==n;var t=b[r],f=(typeof t)[0];if(n!=f)return\"o\"==n&&\"n\"==f||(\"s\"==f||\"u\"==n);if(\"o\"!=n&&\"u\"!=n&&e!=t)return e=\":-1==r?\"<\":1==r?\"^\":2==r?\"~\":r>0?\"=\":\"!=\";for(var e=1,a=1;a0?\".\":\"\")+(e=2,t)}return n}var g=[];for(a=1;a=version.length||\"o\"==(s=(typeof(f=version[n]))[0]))return!a||(\"u\"==g?i>e&&!r:\"\"==g!=r);if(\"u\"==s){if(!a||\"u\"!=g)return!1}else if(a)if(g==s)if(i<=e){if(f!=range[i])return!1}else{if(r?f>range[i]:ft in r?C(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s,y=(r,t,s)=>(v(r,typeof t!="symbol"?t+"":t,s),s),O=(r,t,s)=>new Promise((S,I)=>{var B=x=>{try{z(s.next(x))}catch(L){I(L)}},W=x=>{try{z(s.throw(x))}catch(L){I(L)}},z=x=>x.done?S(x.value):Promise.resolve(x.value).then(B,W);z((s=s.apply(r,t)).next())});class M extends d.ConfigGeneric{constructor(t){super(t),y(this,"onAliveChanged",(s,S)=>{const I=S?S.val:!1;I!==this.state.alive&&this.setState({alive:I},()=>{I&&!this.state.initialized&&setTimeout(()=>this.setState({initialized:!0},()=>this.askState(),100))})}),this.state={response:!1,running:!1,initialized:!1,alive:!1,error:!1}}componentDidMount(){super.componentDidMount();const t=this.props.socket.getState(`hmip.${this.props.instance}.alive`);t!=null&&t.val&&this.setState({alive:!0,initialized:!0},()=>this.askState()),this.props.socket.subscribeState(`system.adapter.hmip.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){super.componentWillUnmount(),this.props.socket.unsubscribeState(`system.adapter.hmip.${this.props.instance}.alive`,this.onAliveChanged),this.askTimeout&&(clearTimeout(this.askTimeout),this.askTimeout=null)}askState(){return O(this,null,function*(){const t=yield this.props.socket.sendTo(`hmip.${this.props.instance}`,"requestTokenState",null);this.handleResponse(t)&&(this.askTimeout=this.askTimeout||setTimeout(()=>{this.askTimeout=null,this.askState()},300))})}handleResponse(t){switch(t.state){case"startedTokenCreation":return this.setState({response:"started token creation",running:!0}),!0;case"waitForBlueButton":return this.setState({response:"press blue button on accesspoint",running:!0}),!0;case"confirmToken":return this.setState({response:"confirming token",running:!0}),!0;case"errorOccurred":this.setState({response:"error occurred during token generation, look at the logs",running:!1,error:!0});break;case"idle":this.setState({response:'press "request token"',running:!1});break;case"tokenCreated":{this.setState({response:"token created, save settings to use your accesspoint",running:!1}),d.ConfigGeneric.setValue(this.props.data,"authToken",t.authToken),d.ConfigGeneric.setValue(this.props.data,"clientAuthToken",t.clientAuthToken),d.ConfigGeneric.setValue(this.props.data,"clientId",t.clientId),this.props.onChange(this.props.data,void 0,()=>this.props.forceUpdate(["authToken","clientAuthToken","clientId"],this.props.data));break}}return!1}requestToken(){return O(this,null,function*(){const t={accessPointSgtin:d.ConfigGeneric.getValue(this.props.data,"accessPointSgtin"),clientId:d.ConfigGeneric.getValue(this.props.data,"clientId"),pin:d.ConfigGeneric.getValue(this.props.data,"pin")||"",deviceName:d.ConfigGeneric.getValue(this.props.data,"deviceName")};this.setState({response:"started token creation",running:!0,error:!1});const s=yield this.props.socket.sendTo(`hmip.${this.props.instance}`,"requestToken",t);this.handleResponse(s)&&(this.askTimeout=this.askTimeout||setTimeout(()=>{this.askTimeout=null,this.askState()},300))})}renderItem(){if(!this.state.alive&&!this.state.initialized)return o().createElement("div",null,u.I18n.t("custom_hmip_not_alive"));if(!this.state.initialized)return o().createElement(P.LinearProgress,null);const t=d.ConfigGeneric.getValue(this.props.data,"accessPointSgtin");return o().createElement("div",{style:{width:"100%"}},o().createElement("div",{style:{color:this.state.error?this.props.themeType==="dark"?"#c20000":"#800000":void 0}},u.I18n.t(`custom_hmip_${this.state.response}`).replace("custom_hmip_","")),o().createElement(P.Button,{variant:"contained",color:"primary",disabled:this.state.running||!t,onClick:()=>this.requestToken()},this.state.running?o().createElement(P.CircularProgress,{size:24}):u.I18n.t("custom_hmip_request_token")))}}M.propTypes={socket:c().object.isRequired,themeType:c().string,themeName:c().string,style:c().object,className:c().string,data:c().object.isRequired,attr:c().string,schema:c().object,onError:c().func,onChange:c().func};var j=M,b=Object.defineProperty,A=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,a=(r,t,s)=>t in r?b(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s,h=(r,t)=>{for(var s in t||(t={}))R.call(t,s)&&a(r,s,t[s]);if(A)for(var s of A(t))p.call(t,s)&&a(r,s,t[s]);return r};const _={app:r=>({backgroundColor:r.palette.background.default,color:r.palette.text.primary,height:"100%"}),item:{padding:50,width:400}};class D extends u.GenericApp{constructor(t){const s=h({},t);super(t,s),this.state={data:{myCustomAttribute:"red"},theme:this.createTheme()};const S={en:e(86443),de:e(19837),ru:e(50482),pt:e(65909),nl:e(43573),fr:e(86115),it:e(79399),es:e(55117),pl:e(28130),uk:e(17138),"zh-cn":e(58246)};u.I18n.setTranslations(S),u.I18n.setLanguage((navigator.language||navigator.userLanguage||"en").substring(0,2).toLowerCase())}render(){return this.state.loaded?o().createElement(f.Z,{injectFirst:!0},o().createElement(k.Z,{theme:this.state.theme},o().createElement(P.Box,{sx:_.app},o().createElement("div",{style:_.item},o().createElement(j,{socket:this.socket,themeType:this.state.themeType,themeName:this.state.themeName,attr:"myCustomAttribute",data:this.state.data,onError:()=>{},instance:0,schema:{name:"ConfigCustomHmipSet/Components/HmipComponent",type:"custom"},onChange:t=>this.setState({data:t})}))))):o().createElement(f.Z,{injectFirst:!0},o().createElement(k.Z,{theme:this.state.theme},o().createElement(u.Loader,{themeType:this.state.themeType})))}}var E=D;window.adapterName="adapter-component-template";const T=document.getElementById("root");T&&(0,l.s)(T).render(o().createElement(E,{socket:{port:8081}}))},93109:function(n,m,e){e.d(m,{Z:function(){return C}});var i=e(87462),o=e(63366),l=e(4819),f=e.n(l),k=e(15854),P=e.n(k),u=e(86210),g=e(37207),c=e(67557);const d=["theme"];function C(v){let{theme:y}=v,O=(0,o.Z)(v,d);const M=y[g.Z];return(0,c.jsx)(u.Z,(0,i.Z)({},O,{themeId:M?g.Z:void 0,theme:M||y}))}},5457:function(n,m,e){var i=e(4819),o=e.n(i);const l=i.createContext(null);m.Z=l},66005:function(n,m,e){e.d(m,{Z:function(){return f}});var i=e(4819),o=e.n(i),l=e(5457);function f(){return i.useContext(l.Z)}},55838:function(n,m,e){e.d(m,{V:function(){return C}});var i=e(87462),o=e(63366),l=e(4819),f=e.n(l),k=e(15854),P=e.n(k),u=e(67557);const g=["value"],c=l.createContext();function d(v){let{value:y}=v,O=(0,o.Z)(v,g);return(0,u.jsx)(c.Provider,(0,i.Z)({value:y!=null?y:!0},O))}const C=()=>{const v=l.useContext(c);return v!=null?v:!1};m.Z=d},86210:function(n,m,e){e.d(m,{Z:function(){return R}});var i=e(87462),o=e(4819),l=e(15854),f=e(66005),k=e(5457),u=typeof Symbol=="function"&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__",g=e(67557);function c(p,a){return typeof a=="function"?a(p):(0,i.Z)({},p,a)}function d(p){const{children:a,theme:h}=p,_=(0,f.Z)(),D=o.useMemo(()=>{const E=_===null?h:c(_,h);return E!=null&&(E[u]=_!==null),E},[h,_]);return(0,g.jsx)(k.Z.Provider,{value:D,children:a})}var C=d,v=e(61049),y=e(50384),O=e(55838),M=e(8592);const j={};function b(p,a,h,_=!1){return o.useMemo(()=>{const D=p&&a[p]||a;if(typeof h=="function"){const E=h(D),T=p?(0,i.Z)({},a,{[p]:E}):E;return _?()=>T:T}return p?(0,i.Z)({},a,{[p]:h}):(0,i.Z)({},a,h)},[p,a,h,_])}function A(p){const{children:a,theme:h,themeId:_}=p,D=(0,y.Z)(j),E=(0,f.Z)()||j,T=b(_,D,h),r=b(_,E,h,!0),t=T.direction==="rtl";return(0,g.jsx)(C,{theme:r,children:(0,g.jsx)(v.T.Provider,{value:T,children:(0,g.jsx)(O.Z,{value:t,children:(0,g.jsx)(M.Z,{value:T==null?void 0:T.components,children:a})})})})}var R=A},50384:function(n,m,e){var i=e(4819),o=e.n(i),l=e(61049);function f(P){return Object.keys(P).length===0}function k(P=null){const u=i.useContext(l.T);return!u||f(u)?P:u}m.Z=k},24470:function(n,m,e){var i,o=e(77440);if(1)m.s=o.createRoot,i=o.hydrateRoot;else var l},19837:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP-Instanz ist nicht gestartet","custom_hmip_request_token":"Token erstellen","custom_hmip_started token creation":"Token-Erstellung gestartet...","custom_hmip_press blue button on accesspoint":"Dr\xFCcken Sie die blaue Taste am Access point","custom_hmip_confirming token":"Best\xE4tigungstoken...","custom_hmip_error occurred during token generation, look at the logs":"W\xE4hrend der Token-Generierung ist ein Fehler aufgetreten. Sehen Sie sich die Protokolle an","custom_hmip_press \\"request token\\"":"Dr\xFCcken Sie \u201EToken erstellen\u201C","custom_hmip_token created, save settings to use your accesspoint":"Token erstellt, Einstellungen speichern, um Ihren Zugangspunkt zu verwenden"}')},86443:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP instance is not alive","custom_hmip_request_token":"Create token","custom_hmip_started token creation":"Started token creation...","custom_hmip_press blue button on accesspoint":"Press blue button on access point","custom_hmip_confirming token":"confirming token...","custom_hmip_error occurred during token generation, look at the logs":"error occurred during token generation, look at the logs","custom_hmip_press \\"request token\\"":"press \\"Create token\\"","custom_hmip_token created, save settings to use your accesspoint":"token created, save settings to use your access point"}')},55117:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"La instancia de HMIP no est\xE1 viva","custom_hmip_request_token":"Solicitud de token","custom_hmip_started token creation":"Comenz\xF3 la creaci\xF3n del token...","custom_hmip_press blue button on accesspoint":"Presione el bot\xF3n azul en el punto de acceso","custom_hmip_confirming token":"ficha de confirmaci\xF3n...","custom_hmip_error occurred during token generation, look at the logs":"ocurri\xF3 un error durante la generaci\xF3n del token, mire los registros","custom_hmip_press \\"request token\\"":"presione \\"solicitar token\\"","custom_hmip_token created, save settings to use your accesspoint":"token creado, guarde la configuraci\xF3n para usar su punto de acceso"}')},86115:function(n){n.exports=JSON.parse(`{"custom_hmip_not_alive":"L'instance de HMIP n'est pas active","custom_hmip_request_token":"Demander un jeton","custom_hmip_started token creation":"Cr\xE9ation de jeton lanc\xE9e...","custom_hmip_press blue button on accesspoint":"Appuyez sur le bouton bleu du point d'acc\xE8s","custom_hmip_confirming token":"jeton de confirmation...","custom_hmip_error occurred during token generation, look at the logs":"une erreur s'est produite lors de la g\xE9n\xE9ration du jeton, consultez les journaux","custom_hmip_press \\"request token\\"":"appuyez sur \\"demander un jeton\\"","custom_hmip_token created, save settings to use your accesspoint":"jeton cr\xE9\xE9, enregistrez les param\xE8tres pour utiliser votre point d'acc\xE8s"}`)},79399:function(n){n.exports=JSON.parse(`{"custom_hmip_not_alive":"L'istanza di HMIP non \xE8 viva","custom_hmip_request_token":"Richiedi token","custom_hmip_started token creation":"Creazione del token avviata...","custom_hmip_press blue button on accesspoint":"Premere il pulsante blu sull'access point","custom_hmip_confirming token":"token di conferma...","custom_hmip_error occurred during token generation, look at the logs":"si \xE8 verificato un errore durante la generazione del token, guarda i log","custom_hmip_press \\"request token\\"":"premi \\"richiedi token\\"","custom_hmip_token created, save settings to use your accesspoint":"token creato, salvare le impostazioni per utilizzare il punto di accesso"}`)},43573:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP-instantie leeft niet","custom_hmip_request_token":"Token aanvragen","custom_hmip_started token creation":"Token maken gestart...","custom_hmip_press blue button on accesspoint":"Druk op de blauwe knop op het toegangspunt","custom_hmip_confirming token":"bevestigend token...","custom_hmip_error occurred during token generation, look at the logs":"er is een fout opgetreden tijdens het genereren van tokens, kijk naar de logboeken","custom_hmip_press \\"request token\\"":"druk op \\"token aanvragen\\"","custom_hmip_token created, save settings to use your accesspoint":"token gemaakt, instellingen opslaan om uw toegangspunt te gebruiken"}')},28130:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"Instancja HMIPu nie \u017Cyje","custom_hmip_request_token":"Popro\u015B o token","custom_hmip_started token creation":"Rozpocz\u0119to tworzenie tokena...","custom_hmip_press blue button on accesspoint":"Naci\u015Bnij niebieski przycisk na punkcie dost\u0119powym","custom_hmip_confirming token":"potwierdzanie tokena...","custom_hmip_error occurred during token generation, look at the logs":"wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania tokena, sp\xF3jrz na logi","custom_hmip_press \\"request token\\"":"naci\u015Bnij \u201Epopro\u015B o token\u201D","custom_hmip_token created, save settings to use your accesspoint":"utworzony token, zapisz ustawienia, aby korzysta\u0107 z punktu dost\u0119pu"}')},65909:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"A inst\xE2ncia do HMIP n\xE3o est\xE1 ativa","custom_hmip_request_token":"Solicitar token","custom_hmip_started token creation":"Cria\xE7\xE3o de token iniciada...","custom_hmip_press blue button on accesspoint":"Pressione o bot\xE3o azul no ponto de acesso","custom_hmip_confirming token":"s\xEDmbolo de confirma\xE7\xE3o...","custom_hmip_error occurred during token generation, look at the logs":"ocorreu um erro durante a gera\xE7\xE3o do token, veja os logs","custom_hmip_press \\"request token\\"":"pressione \\"solicitar token\\"","custom_hmip_token created, save settings to use your accesspoint":"token criado, salve as configura\xE7\xF5es para usar seu ponto de acesso"}')},50482:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 HMIP \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","custom_hmip_request_token":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0442\u043E\u043A\u0435\u043D","custom_hmip_started token creation":"\u041D\u0430\u0447\u0430\u0442\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u043E\u043A\u0435\u043D\u0430...","custom_hmip_press blue button on accesspoint":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0441\u0438\u043D\u044E\u044E \u043A\u043D\u043E\u043F\u043A\u0443 \u043D\u0430 \u0442\u043E\u0447\u043A\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0430","custom_hmip_confirming token":"\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E\u0449\u0438\u0439 \u0442\u043E\u043A\u0435\u043D...","custom_hmip_error occurred during token generation, look at the logs":"\u043F\u0440\u0438 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u043E\u043A\u0435\u043D\u0430 \u043F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430, \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u043B\u043E\u0433\u0438","custom_hmip_press \\"request token\\"":"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \\"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0442\u043E\u043A\u0435\u043D\\"","custom_hmip_token created, save settings to use your accesspoint":"\u0442\u043E\u043A\u0435\u043D \u0441\u043E\u0437\u0434\u0430\u043D, \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0430"}')},17138:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 HMIP \u043D\u0435 \u043F\u0440\u0430\u0446\u044E\u0454","custom_hmip_request_token":"\u041C\u0430\u0440\u043A\u0435\u0440 \u0437\u0430\u043F\u0438\u0442\u0443","custom_hmip_started token creation":"\u0420\u043E\u0437\u043F\u043E\u0447\u0430\u0442\u043E \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u043C\u0430\u0440\u043A\u0435\u0440\u0430...","custom_hmip_press blue button on accesspoint":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0441\u0438\u043D\u044E \u043A\u043D\u043E\u043F\u043A\u0443 \u043D\u0430 \u0442\u043E\u0447\u0446\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u0443","custom_hmip_confirming token":"\u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0440\u043A\u0435\u0440\u0430...","custom_hmip_error occurred during token generation, look at the logs":"\u0441\u0442\u0430\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043C\u0430\u0440\u043A\u0435\u0440\u0430, \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u044C\u0442\u0435 \u0436\u0443\u0440\u043D\u0430\u043B\u0438","custom_hmip_press \\"request token\\"":"\u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \\"\u0437\u0430\u043F\u0438\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430\\"","custom_hmip_token created, save settings to use your accesspoint":"\u043C\u0430\u0440\u043A\u0435\u0440 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E, \u0437\u0431\u0435\u0440\u0435\u0436\u0456\u0442\u044C \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0432\u0430\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0443"}')},58246:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP \u5B9E\u4F8B\u4E0D\u5B58\u5728","custom_hmip_request_token":"\u8BF7\u6C42\u4EE4\u724C","custom_hmip_started token creation":"\u5F00\u59CB\u521B\u5EFA\u4EE3\u5E01...","custom_hmip_press blue button on accesspoint":"\u6309\u63A5\u5165\u70B9\u4E0A\u7684\u84DD\u8272\u6309\u94AE","custom_hmip_confirming token":"\u786E\u8BA4\u4EE4\u724C...","custom_hmip_error occurred during token generation, look at the logs":"token\u751F\u6210\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF\uFF0C\u67E5\u770B\u65E5\u5FD7","custom_hmip_press \\"request token\\"":"\u6309\u201C\u8BF7\u6C42\u4EE4\u724C\u201D","custom_hmip_token created, save settings to use your accesspoint":"\u4EE4\u724C\u5DF2\u521B\u5EFA\uFF0C\u4FDD\u5B58\u8BBE\u7F6E\u4EE5\u4F7F\u7528\u60A8\u7684\u63A5\u5165\u70B9"}')}}]); + +//# sourceMappingURL=src_bootstrap_jsx.74b7298f.chunk.js.map \ No newline at end of file diff --git a/admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js.map b/admin/custom/static/js/src_bootstrap_jsx.74b7298f.chunk.js.map similarity index 99% rename from admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js.map rename to admin/custom/static/js/src_bootstrap_jsx.74b7298f.chunk.js.map index cb7f53ec..163f2845 100644 --- a/admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js.map +++ b/admin/custom/static/js/src_bootstrap_jsx.74b7298f.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/src_bootstrap_jsx.a41e0aa8.chunk.js","mappings":"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","sources":["HmipComponent.jsx","App.jsx","bootstrap.jsx","../node_modules/@mui/material/styles/ThemeProvider.js","../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../node_modules/@mui/private-theming/useTheme/useTheme.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/private-theming/ThemeProvider/nested.js","../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/react-dom/client.js"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n LinearProgress,\r\n Button,\r\n CircularProgress,\r\n} from '@mui/material';\r\n\r\n// important to make from package and not from some children.\r\n// invalid\r\n// import ConfigGeneric from '@iobroker/adapter-react-v5/ConfigGeneric';\r\n// valid\r\nimport { I18n } from '@iobroker/adapter-react-v5';\r\nimport { ConfigGeneric } from '@iobroker/json-config';\r\n\r\nclass HmipComponent extends ConfigGeneric {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n response: false,\r\n running: false,\r\n initialized: false,\r\n alive: false,\r\n error: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const state = this.props.socket.getState(`hmip.${this.props.instance}.alive`);\r\n if (state?.val) {\r\n this.setState({ alive: true, initialized: true }, () => this.askState());\r\n }\r\n this.props.socket.subscribeState(`system.adapter.hmip.${this.props.instance}.alive`, this.onAliveChanged);\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.props.socket.unsubscribeState(`system.adapter.hmip.${this.props.instance}.alive`, this.onAliveChanged);\r\n if (this.askTimeout) {\r\n clearTimeout(this.askTimeout);\r\n this.askTimeout = null;\r\n }\r\n }\r\n\r\n async askState() {\r\n const response = await this.props.socket.sendTo(`hmip.${this.props.instance}`, 'requestTokenState', null);\r\n\r\n if (this.handleResponse(response)) {\r\n this.askTimeout = this.askTimeout || setTimeout(() => {\r\n this.askTimeout = null;\r\n this.askState();\r\n }, 300);\r\n }\r\n }\r\n\r\n handleResponse(response) {\r\n switch (response.state) {\r\n case 'startedTokenCreation':\r\n this.setState({ response: 'started token creation', running: true });\r\n return true;\r\n case 'waitForBlueButton':\r\n this.setState({ response: 'press blue button on accesspoint', running: true });\r\n return true;\r\n case 'confirmToken':\r\n this.setState({ response: 'confirming token', running: true });\r\n return true;\r\n case 'errorOccurred':\r\n this.setState({ response: 'error occurred during token generation, look at the logs', running: false, error: true });\r\n break;\r\n case 'idle':\r\n this.setState({ response: 'press \"request token\"', running: false });\r\n break;\r\n case 'tokenCreated': {\r\n this.setState({ response: 'token created, save settings to use your accesspoint', running: false });\r\n ConfigGeneric.setValue(this.props.data, 'authToken', response.authToken);\r\n ConfigGeneric.setValue(this.props.data, 'clientAuthToken', response.clientAuthToken);\r\n ConfigGeneric.setValue(this.props.data, 'clientId', response.clientId);\r\n this.props.onChange(this.props.data, undefined, () =>\r\n this.props.forceUpdate(['authToken', 'clientAuthToken', 'clientId'], this.props.data));\r\n break;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n async requestToken() {\r\n const config = {\r\n accessPointSgtin: ConfigGeneric.getValue(this.props.data, 'accessPointSgtin'),\r\n clientId: ConfigGeneric.getValue(this.props.data, 'clientId'),\r\n pin: ConfigGeneric.getValue(this.props.data, 'pin') || '',\r\n deviceName: ConfigGeneric.getValue(this.props.data, 'deviceName'),\r\n };\r\n this.setState({ response: 'started token creation', running: true, error: false });\r\n const response = await this.props.socket.sendTo(`hmip.${this.props.instance}`, 'requestToken', config);\r\n if (this.handleResponse(response)) {\r\n this.askTimeout = this.askTimeout || setTimeout(() => {\r\n this.askTimeout = null;\r\n this.askState();\r\n }, 300);\r\n }\r\n }\r\n\r\n onAliveChanged = (id, state) => {\r\n const alive = state ? state.val : false;\r\n if (alive !== this.state.alive) {\r\n this.setState({ alive }, () => {\r\n if (alive && !this.state.initialized) {\r\n setTimeout(() =>\r\n this.setState({ initialized: true }, () => this.askState(), 100));\r\n }\r\n });\r\n }\r\n };\r\n\r\n renderItem() {\r\n if (!this.state.alive && !this.state.initialized) {\r\n return
{I18n.t('custom_hmip_not_alive')}
;\r\n }\r\n if (!this.state.initialized) {\r\n return ;\r\n }\r\n\r\n const accessPointSgtin = ConfigGeneric.getValue(this.props.data, 'accessPointSgtin');\r\n\r\n return
\r\n \r\n {I18n.t(`custom_hmip_${this.state.response}`).replace('custom_hmip_', '')}\r\n
\r\n this.requestToken()}\r\n >\r\n {this.state.running ? : I18n.t('custom_hmip_request_token')}\r\n \r\n ;\r\n }\r\n}\r\n\r\nHmipComponent.propTypes = {\r\n socket: PropTypes.object.isRequired,\r\n themeType: PropTypes.string,\r\n themeName: PropTypes.string,\r\n style: PropTypes.object,\r\n className: PropTypes.string,\r\n data: PropTypes.object.isRequired,\r\n attr: PropTypes.string,\r\n schema: PropTypes.object,\r\n onError: PropTypes.func,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nexport default HmipComponent;\r\n","// this file used only for simulation and not used in end build\r\n\r\nimport React from 'react';\r\nimport { ThemeProvider, StyledEngineProvider } from '@mui/material/styles';\r\n\r\nimport { Box } from '@mui/material';\r\n\r\nimport {\r\n GenericApp,\r\n I18n,\r\n Loader,\r\n} from '@iobroker/adapter-react-v5';\r\n\r\nimport HmipComponent from './HmipComponent';\r\n\r\nconst styles = {\r\n app: theme => ({\r\n backgroundColor: theme.palette.background.default,\r\n color: theme.palette.text.primary,\r\n height: '100%',\r\n }),\r\n item: {\r\n padding: 50,\r\n width: 400,\r\n },\r\n};\r\n\r\nclass App extends GenericApp {\r\n constructor(props) {\r\n const extendedProps = { ...props };\r\n super(props, extendedProps);\r\n\r\n this.state = {\r\n data: { myCustomAttribute: 'red' },\r\n theme: this.createTheme(),\r\n };\r\n const translations = {\r\n en: require('./i18n/en'),\r\n de: require('./i18n/de'),\r\n ru: require('./i18n/ru'),\r\n pt: require('./i18n/pt'),\r\n nl: require('./i18n/nl'),\r\n fr: require('./i18n/fr'),\r\n it: require('./i18n/it'),\r\n es: require('./i18n/es'),\r\n pl: require('./i18n/pl'),\r\n uk: require('./i18n/uk'),\r\n 'zh-cn': require('./i18n/zh-cn'),\r\n };\r\n\r\n I18n.setTranslations(translations);\r\n I18n.setLanguage((navigator.language || navigator.userLanguage || 'en').substring(0, 2).toLowerCase());\r\n }\r\n\r\n render() {\r\n if (!this.state.loaded) {\r\n return \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n return \r\n \r\n \r\n
\r\n {}}\r\n instance={0}\r\n schema={{\r\n name: 'ConfigCustomHmipSet/Components/HmipComponent',\r\n type: 'custom',\r\n }}\r\n onChange={data => this.setState({ data })}\r\n />\r\n
\r\n
\r\n
\r\n
;\r\n }\r\n}\r\n\r\nexport default App;\r\n","// this file used only for simulation and not used in end build\r\nimport React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\nimport App from './App';\r\n\r\nwindow.adapterName = 'adapter-component-template';\r\n\r\nconst container = document.getElementById('root');\r\nif (container) {\r\n const root = createRoot(container);\r\n root.render();\r\n}\r\n","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;","import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;","import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;","const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport RtlProvider from '../RtlProvider';\nimport DefaultPropsProvider from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = engineTheme.direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: /*#__PURE__*/_jsx(DefaultPropsProvider, {\n value: engineTheme == null ? void 0 : engineTheme.components,\n children: children\n })\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],"names":["HmipComponent","props","id","state","alive","response","config","accessPointSgtin","styles","theme","App","extendedProps","translations","StyledEngineProvider","ThemeProvider","data","container","_excluded","_ref","themeInput","scopedTheme","ThemeContext","useTheme","RtlContext","RtlProvider","value","useRtl","mergeOuterLocalTheme","outerTheme","localTheme","children","output","nested","EMPTY_THEME","useThemeScoping","themeId","upperTheme","isPrivate","resolvedTheme","mergedTheme","result","useThemeWithoutDefault","upperPrivateTheme","engineTheme","privateTheme","rtlValue","DefaultPropsProvider","isObjectEmpty","obj","defaultTheme","contextTheme","m","exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/src_bootstrap_jsx.74b7298f.chunk.js","mappings":"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","sources":["HmipComponent.jsx","App.jsx","bootstrap.jsx","../node_modules/@mui/material/styles/ThemeProvider.js","../node_modules/@mui/private-theming/useTheme/ThemeContext.js","../node_modules/@mui/private-theming/useTheme/useTheme.js","../node_modules/@mui/system/esm/RtlProvider/index.js","../node_modules/@mui/private-theming/ThemeProvider/nested.js","../node_modules/@mui/private-theming/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/ThemeProvider/ThemeProvider.js","../node_modules/@mui/system/esm/useThemeWithoutDefault.js","../node_modules/react-dom/client.js"],"sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport {\r\n LinearProgress,\r\n Button,\r\n CircularProgress,\r\n} from '@mui/material';\r\n\r\n// important to make from package and not from some children.\r\n// invalid\r\n// import ConfigGeneric from '@iobroker/adapter-react-v5/ConfigGeneric';\r\n// valid\r\nimport { I18n } from '@iobroker/adapter-react-v5';\r\nimport { ConfigGeneric } from '@iobroker/json-config';\r\n\r\nclass HmipComponent extends ConfigGeneric {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n response: false,\r\n running: false,\r\n initialized: false,\r\n alive: false,\r\n error: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n super.componentDidMount();\r\n const state = this.props.socket.getState(`hmip.${this.props.instance}.alive`);\r\n if (state?.val) {\r\n this.setState({ alive: true, initialized: true }, () => this.askState());\r\n }\r\n this.props.socket.subscribeState(`system.adapter.hmip.${this.props.instance}.alive`, this.onAliveChanged);\r\n }\r\n\r\n componentWillUnmount() {\r\n super.componentWillUnmount();\r\n this.props.socket.unsubscribeState(`system.adapter.hmip.${this.props.instance}.alive`, this.onAliveChanged);\r\n if (this.askTimeout) {\r\n clearTimeout(this.askTimeout);\r\n this.askTimeout = null;\r\n }\r\n }\r\n\r\n async askState() {\r\n const response = await this.props.socket.sendTo(`hmip.${this.props.instance}`, 'requestTokenState', null);\r\n\r\n if (this.handleResponse(response)) {\r\n this.askTimeout = this.askTimeout || setTimeout(() => {\r\n this.askTimeout = null;\r\n this.askState();\r\n }, 300);\r\n }\r\n }\r\n\r\n handleResponse(response) {\r\n switch (response.state) {\r\n case 'startedTokenCreation':\r\n this.setState({ response: 'started token creation', running: true });\r\n return true;\r\n case 'waitForBlueButton':\r\n this.setState({ response: 'press blue button on accesspoint', running: true });\r\n return true;\r\n case 'confirmToken':\r\n this.setState({ response: 'confirming token', running: true });\r\n return true;\r\n case 'errorOccurred':\r\n this.setState({ response: 'error occurred during token generation, look at the logs', running: false, error: true });\r\n break;\r\n case 'idle':\r\n this.setState({ response: 'press \"request token\"', running: false });\r\n break;\r\n case 'tokenCreated': {\r\n this.setState({ response: 'token created, save settings to use your accesspoint', running: false });\r\n ConfigGeneric.setValue(this.props.data, 'authToken', response.authToken);\r\n ConfigGeneric.setValue(this.props.data, 'clientAuthToken', response.clientAuthToken);\r\n ConfigGeneric.setValue(this.props.data, 'clientId', response.clientId);\r\n this.props.onChange(this.props.data, undefined, () =>\r\n this.props.forceUpdate(['authToken', 'clientAuthToken', 'clientId'], this.props.data));\r\n break;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n async requestToken() {\r\n const config = {\r\n accessPointSgtin: ConfigGeneric.getValue(this.props.data, 'accessPointSgtin'),\r\n clientId: ConfigGeneric.getValue(this.props.data, 'clientId'),\r\n pin: ConfigGeneric.getValue(this.props.data, 'pin') || '',\r\n deviceName: ConfigGeneric.getValue(this.props.data, 'deviceName'),\r\n };\r\n this.setState({ response: 'started token creation', running: true, error: false });\r\n const response = await this.props.socket.sendTo(`hmip.${this.props.instance}`, 'requestToken', config);\r\n if (this.handleResponse(response)) {\r\n this.askTimeout = this.askTimeout || setTimeout(() => {\r\n this.askTimeout = null;\r\n this.askState();\r\n }, 300);\r\n }\r\n }\r\n\r\n onAliveChanged = (id, state) => {\r\n const alive = state ? state.val : false;\r\n if (alive !== this.state.alive) {\r\n this.setState({ alive }, () => {\r\n if (alive && !this.state.initialized) {\r\n setTimeout(() =>\r\n this.setState({ initialized: true }, () => this.askState(), 100));\r\n }\r\n });\r\n }\r\n };\r\n\r\n renderItem() {\r\n if (!this.state.alive && !this.state.initialized) {\r\n return
{I18n.t('custom_hmip_not_alive')}
;\r\n }\r\n if (!this.state.initialized) {\r\n return ;\r\n }\r\n\r\n const accessPointSgtin = ConfigGeneric.getValue(this.props.data, 'accessPointSgtin');\r\n\r\n return
\r\n \r\n {I18n.t(`custom_hmip_${this.state.response}`).replace('custom_hmip_', '')}\r\n
\r\n this.requestToken()}\r\n >\r\n {this.state.running ? : I18n.t('custom_hmip_request_token')}\r\n \r\n ;\r\n }\r\n}\r\n\r\nHmipComponent.propTypes = {\r\n socket: PropTypes.object.isRequired,\r\n themeType: PropTypes.string,\r\n themeName: PropTypes.string,\r\n style: PropTypes.object,\r\n className: PropTypes.string,\r\n data: PropTypes.object.isRequired,\r\n attr: PropTypes.string,\r\n schema: PropTypes.object,\r\n onError: PropTypes.func,\r\n onChange: PropTypes.func,\r\n};\r\n\r\nexport default HmipComponent;\r\n","// this file used only for simulation and not used in end build\r\n\r\nimport React from 'react';\r\nimport { ThemeProvider, StyledEngineProvider } from '@mui/material/styles';\r\n\r\nimport { Box } from '@mui/material';\r\n\r\nimport {\r\n GenericApp,\r\n I18n,\r\n Loader,\r\n} from '@iobroker/adapter-react-v5';\r\n\r\nimport HmipComponent from './HmipComponent';\r\n\r\nconst styles = {\r\n app: theme => ({\r\n backgroundColor: theme.palette.background.default,\r\n color: theme.palette.text.primary,\r\n height: '100%',\r\n }),\r\n item: {\r\n padding: 50,\r\n width: 400,\r\n },\r\n};\r\n\r\nclass App extends GenericApp {\r\n constructor(props) {\r\n const extendedProps = { ...props };\r\n super(props, extendedProps);\r\n\r\n this.state = {\r\n data: { myCustomAttribute: 'red' },\r\n theme: this.createTheme(),\r\n };\r\n const translations = {\r\n en: require('./i18n/en'),\r\n de: require('./i18n/de'),\r\n ru: require('./i18n/ru'),\r\n pt: require('./i18n/pt'),\r\n nl: require('./i18n/nl'),\r\n fr: require('./i18n/fr'),\r\n it: require('./i18n/it'),\r\n es: require('./i18n/es'),\r\n pl: require('./i18n/pl'),\r\n uk: require('./i18n/uk'),\r\n 'zh-cn': require('./i18n/zh-cn'),\r\n };\r\n\r\n I18n.setTranslations(translations);\r\n I18n.setLanguage((navigator.language || navigator.userLanguage || 'en').substring(0, 2).toLowerCase());\r\n }\r\n\r\n render() {\r\n if (!this.state.loaded) {\r\n return \r\n \r\n \r\n \r\n ;\r\n }\r\n\r\n return \r\n \r\n \r\n
\r\n {}}\r\n instance={0}\r\n schema={{\r\n name: 'ConfigCustomHmipSet/Components/HmipComponent',\r\n type: 'custom',\r\n }}\r\n onChange={data => this.setState({ data })}\r\n />\r\n
\r\n
\r\n
\r\n
;\r\n }\r\n}\r\n\r\nexport default App;\r\n","// this file used only for simulation and not used in end build\r\nimport React from 'react';\r\nimport { createRoot } from 'react-dom/client';\r\nimport App from './App';\r\n\r\nwindow.adapterName = 'adapter-component-template';\r\n\r\nconst container = document.getElementById('root');\r\nif (container) {\r\n const root = createRoot(container);\r\n root.render();\r\n}\r\n","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"theme\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as SystemThemeProvider } from '@mui/system';\nimport THEME_ID from './identifier';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function ThemeProvider(_ref) {\n let {\n theme: themeInput\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n const scopedTheme = themeInput[THEME_ID];\n return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {\n themeId: scopedTheme ? THEME_ID : undefined,\n theme: scopedTheme || themeInput\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;","import * as React from 'react';\nconst ThemeContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'ThemeContext';\n}\nexport default ThemeContext;","import * as React from 'react';\nimport ThemeContext from './ThemeContext';\nexport default function useTheme() {\n const theme = React.useContext(ThemeContext);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(theme);\n }\n return theme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst RtlContext = /*#__PURE__*/React.createContext();\nfunction RtlProvider(_ref) {\n let {\n value\n } = _ref,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({\n value: value != null ? value : true\n }, props));\n}\nprocess.env.NODE_ENV !== \"production\" ? RtlProvider.propTypes = {\n children: PropTypes.node,\n value: PropTypes.bool\n} : void 0;\nexport const useRtl = () => {\n const value = React.useContext(RtlContext);\n return value != null ? value : false;\n};\nexport default RtlProvider;","const hasSymbol = typeof Symbol === 'function' && Symbol.for;\nexport default hasSymbol ? Symbol.for('mui.nested') : '__THEME_NESTED__';","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { exactProp } from '@mui/utils';\nimport ThemeContext from '../useTheme/ThemeContext';\nimport useTheme from '../useTheme';\nimport nested from './nested';\n\n// To support composition of theme.\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction mergeOuterLocalTheme(outerTheme, localTheme) {\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(outerTheme);\n if (process.env.NODE_ENV !== 'production') {\n if (!mergedTheme) {\n console.error(['MUI: You should return an object from your theme function, i.e.', ' ({})} />'].join('\\n'));\n }\n }\n return mergedTheme;\n }\n return _extends({}, outerTheme, localTheme);\n}\n\n/**\n * This component takes a `theme` prop.\n * It makes the `theme` available down the React tree thanks to React context.\n * This component should preferably be used at **the root of your component tree**.\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme\n } = props;\n const outerTheme = useTheme();\n if (process.env.NODE_ENV !== 'production') {\n if (outerTheme === null && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const theme = React.useMemo(() => {\n const output = outerTheme === null ? localTheme : mergeOuterLocalTheme(outerTheme, localTheme);\n if (output != null) {\n output[nested] = outerTheme !== null;\n }\n return output;\n }, [localTheme, outerTheme]);\n return /*#__PURE__*/_jsx(ThemeContext.Provider, {\n value: theme,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = {\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';\nimport exactProp from '@mui/utils/exactProp';\nimport { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';\nimport useThemeWithoutDefault from '../useThemeWithoutDefault';\nimport RtlProvider from '../RtlProvider';\nimport DefaultPropsProvider from '../DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst EMPTY_THEME = {};\nfunction useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {\n return React.useMemo(() => {\n const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;\n if (typeof localTheme === 'function') {\n const mergedTheme = localTheme(resolvedTheme);\n const result = themeId ? _extends({}, upperTheme, {\n [themeId]: mergedTheme\n }) : mergedTheme;\n // must return a function for the private theme to NOT merge with the upper theme.\n // see the test case \"use provided theme from a callback\" in ThemeProvider.test.js\n if (isPrivate) {\n return () => result;\n }\n return result;\n }\n return themeId ? _extends({}, upperTheme, {\n [themeId]: localTheme\n }) : _extends({}, upperTheme, localTheme);\n }, [themeId, upperTheme, localTheme, isPrivate]);\n}\n\n/**\n * This component makes the `theme` available down the React tree.\n * It should preferably be used at **the root of your component tree**.\n *\n * // existing use case\n * // theme scoping\n */\nfunction ThemeProvider(props) {\n const {\n children,\n theme: localTheme,\n themeId\n } = props;\n const upperTheme = useThemeWithoutDefault(EMPTY_THEME);\n const upperPrivateTheme = usePrivateTheme() || EMPTY_THEME;\n if (process.env.NODE_ENV !== 'production') {\n if (upperTheme === null && typeof localTheme === 'function' || themeId && upperTheme && !upperTheme[themeId] && typeof localTheme === 'function') {\n console.error(['MUI: You are providing a theme function prop to the ThemeProvider component:', ' outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\\n'));\n }\n }\n const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);\n const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);\n const rtlValue = engineTheme.direction === 'rtl';\n return /*#__PURE__*/_jsx(MuiThemeProvider, {\n theme: privateTheme,\n children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {\n value: engineTheme,\n children: /*#__PURE__*/_jsx(RtlProvider, {\n value: rtlValue,\n children: /*#__PURE__*/_jsx(DefaultPropsProvider, {\n value: engineTheme == null ? void 0 : engineTheme.components,\n children: children\n })\n })\n })\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Your component tree.\n */\n children: PropTypes.node,\n /**\n * A theme object. You can provide a function to extend the outer theme.\n */\n theme: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n /**\n * The design system's unique id for getting the corresponded theme when there are multiple design systems.\n */\n themeId: PropTypes.string\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? ThemeProvider.propTypes = exactProp(ThemeProvider.propTypes) : void 0;\n}\nexport default ThemeProvider;","'use client';\n\nimport * as React from 'react';\nimport { ThemeContext } from '@mui/styled-engine';\nfunction isObjectEmpty(obj) {\n return Object.keys(obj).length === 0;\n}\nfunction useTheme(defaultTheme = null) {\n const contextTheme = React.useContext(ThemeContext);\n return !contextTheme || isObjectEmpty(contextTheme) ? defaultTheme : contextTheme;\n}\nexport default useTheme;","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],"names":["HmipComponent","props","id","state","alive","response","config","accessPointSgtin","styles","theme","App","extendedProps","translations","StyledEngineProvider","ThemeProvider","data","container","_excluded","_ref","themeInput","scopedTheme","ThemeContext","useTheme","RtlContext","RtlProvider","value","useRtl","mergeOuterLocalTheme","outerTheme","localTheme","children","output","nested","EMPTY_THEME","useThemeScoping","themeId","upperTheme","isPrivate","resolvedTheme","mergedTheme","result","useThemeWithoutDefault","upperPrivateTheme","engineTheme","privateTheme","rtlValue","DefaultPropsProvider","isObjectEmpty","obj","defaultTheme","contextTheme","m","exports"],"sourceRoot":""} \ No newline at end of file diff --git a/admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js b/admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js deleted file mode 100644 index a87357ab..00000000 --- a/admin/custom/static/js/src_bootstrap_jsx.a41e0aa8.chunk.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict";(self.webpackChunkiobroker_admin_component_hmip=self.webpackChunkiobroker_admin_component_hmip||[]).push([["src_bootstrap_jsx"],{29095:function(n,m,e){e.r(m);var i=e(4819),o=e.n(i),l=e(24470),f=e(25309),k=e(93109),P=e(94427),u=e(75606),g=e(15854),c=e.n(g),d=e(68844),C=Object.defineProperty,v=(r,t,s)=>t in r?C(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s,y=(r,t,s)=>(v(r,typeof t!="symbol"?t+"":t,s),s),O=(r,t,s)=>new Promise((S,I)=>{var B=x=>{try{L(s.next(x))}catch(z){I(z)}},W=x=>{try{L(s.throw(x))}catch(z){I(z)}},L=x=>x.done?S(x.value):Promise.resolve(x.value).then(B,W);L((s=s.apply(r,t)).next())});class M extends d.ConfigGeneric{constructor(t){super(t),y(this,"onAliveChanged",(s,S)=>{const I=S?S.val:!1;I!==this.state.alive&&this.setState({alive:I},()=>{I&&!this.state.initialized&&setTimeout(()=>this.setState({initialized:!0},()=>this.askState(),100))})}),this.state={response:!1,running:!1,initialized:!1,alive:!1,error:!1}}componentDidMount(){super.componentDidMount();const t=this.props.socket.getState(`hmip.${this.props.instance}.alive`);t!=null&&t.val&&this.setState({alive:!0,initialized:!0},()=>this.askState()),this.props.socket.subscribeState(`system.adapter.hmip.${this.props.instance}.alive`,this.onAliveChanged)}componentWillUnmount(){super.componentWillUnmount(),this.props.socket.unsubscribeState(`system.adapter.hmip.${this.props.instance}.alive`,this.onAliveChanged),this.askTimeout&&(clearTimeout(this.askTimeout),this.askTimeout=null)}askState(){return O(this,null,function*(){const t=yield this.props.socket.sendTo(`hmip.${this.props.instance}`,"requestTokenState",null);this.handleResponse(t)&&(this.askTimeout=this.askTimeout||setTimeout(()=>{this.askTimeout=null,this.askState()},300))})}handleResponse(t){switch(t.state){case"startedTokenCreation":return this.setState({response:"started token creation",running:!0}),!0;case"waitForBlueButton":return this.setState({response:"press blue button on accesspoint",running:!0}),!0;case"confirmToken":return this.setState({response:"confirming token",running:!0}),!0;case"errorOccurred":this.setState({response:"error occurred during token generation, look at the logs",running:!1,error:!0});break;case"idle":this.setState({response:'press "request token"',running:!1});break;case"tokenCreated":{this.setState({response:"token created, save settings to use your accesspoint",running:!1}),d.ConfigGeneric.setValue(this.props.data,"authToken",t.authToken),d.ConfigGeneric.setValue(this.props.data,"clientAuthToken",t.clientAuthToken),d.ConfigGeneric.setValue(this.props.data,"clientId",t.clientId),this.props.onChange(this.props.data,void 0,()=>this.props.forceUpdate(["authToken","clientAuthToken","clientId"],this.props.data));break}}return!1}requestToken(){return O(this,null,function*(){const t={accessPointSgtin:d.ConfigGeneric.getValue(this.props.data,"accessPointSgtin"),clientId:d.ConfigGeneric.getValue(this.props.data,"clientId"),pin:d.ConfigGeneric.getValue(this.props.data,"pin")||"",deviceName:d.ConfigGeneric.getValue(this.props.data,"deviceName")};this.setState({response:"started token creation",running:!0,error:!1});const s=yield this.props.socket.sendTo(`hmip.${this.props.instance}`,"requestToken",t);this.handleResponse(s)&&(this.askTimeout=this.askTimeout||setTimeout(()=>{this.askTimeout=null,this.askState()},300))})}renderItem(){if(!this.state.alive&&!this.state.initialized)return o().createElement("div",null,u.I18n.t("custom_hmip_not_alive"));if(!this.state.initialized)return o().createElement(P.LinearProgress,null);const t=d.ConfigGeneric.getValue(this.props.data,"accessPointSgtin");return o().createElement("div",{style:{width:"100%"}},o().createElement("div",{style:{color:this.state.error?this.props.themeType==="dark"?"#c20000":"#800000":void 0}},u.I18n.t(`custom_hmip_${this.state.response}`).replace("custom_hmip_","")),o().createElement(P.Button,{variant:"contained",color:"primary",disabled:this.state.running||!t,onClick:()=>this.requestToken()},this.state.running?o().createElement(P.CircularProgress,{size:24}):u.I18n.t("custom_hmip_request_token")))}}M.propTypes={socket:c().object.isRequired,themeType:c().string,themeName:c().string,style:c().object,className:c().string,data:c().object.isRequired,attr:c().string,schema:c().object,onError:c().func,onChange:c().func};var j=M,b=Object.defineProperty,A=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,a=(r,t,s)=>t in r?b(r,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):r[t]=s,h=(r,t)=>{for(var s in t||(t={}))R.call(t,s)&&a(r,s,t[s]);if(A)for(var s of A(t))p.call(t,s)&&a(r,s,t[s]);return r};const _={app:r=>({backgroundColor:r.palette.background.default,color:r.palette.text.primary,height:"100%"}),item:{padding:50,width:400}};class D extends u.GenericApp{constructor(t){const s=h({},t);super(t,s),this.state={data:{myCustomAttribute:"red"},theme:this.createTheme()};const S={en:e(86443),de:e(19837),ru:e(50482),pt:e(65909),nl:e(43573),fr:e(86115),it:e(79399),es:e(55117),pl:e(28130),uk:e(17138),"zh-cn":e(58246)};u.I18n.setTranslations(S),u.I18n.setLanguage((navigator.language||navigator.userLanguage||"en").substring(0,2).toLowerCase())}render(){return this.state.loaded?o().createElement(f.Z,{injectFirst:!0},o().createElement(k.Z,{theme:this.state.theme},o().createElement(P.Box,{sx:_.app},o().createElement("div",{style:_.item},o().createElement(j,{socket:this.socket,themeType:this.state.themeType,themeName:this.state.themeName,attr:"myCustomAttribute",data:this.state.data,onError:()=>{},instance:0,schema:{name:"ConfigCustomHmipSet/Components/HmipComponent",type:"custom"},onChange:t=>this.setState({data:t})}))))):o().createElement(f.Z,{injectFirst:!0},o().createElement(k.Z,{theme:this.state.theme},o().createElement(u.Loader,{themeType:this.state.themeType})))}}var E=D;window.adapterName="adapter-component-template";const T=document.getElementById("root");T&&(0,l.s)(T).render(o().createElement(E,{socket:{port:8081}}))},93109:function(n,m,e){e.d(m,{Z:function(){return C}});var i=e(87462),o=e(63366),l=e(4819),f=e.n(l),k=e(15854),P=e.n(k),u=e(86210),g=e(37207),c=e(67557);const d=["theme"];function C(v){let{theme:y}=v,O=(0,o.Z)(v,d);const M=y[g.Z];return(0,c.jsx)(u.Z,(0,i.Z)({},O,{themeId:M?g.Z:void 0,theme:M||y}))}},5457:function(n,m,e){var i=e(4819),o=e.n(i);const l=i.createContext(null);m.Z=l},66005:function(n,m,e){e.d(m,{Z:function(){return f}});var i=e(4819),o=e.n(i),l=e(5457);function f(){return i.useContext(l.Z)}},55838:function(n,m,e){e.d(m,{V:function(){return C}});var i=e(87462),o=e(63366),l=e(4819),f=e.n(l),k=e(15854),P=e.n(k),u=e(67557);const g=["value"],c=l.createContext();function d(v){let{value:y}=v,O=(0,o.Z)(v,g);return(0,u.jsx)(c.Provider,(0,i.Z)({value:y!=null?y:!0},O))}const C=()=>{const v=l.useContext(c);return v!=null?v:!1};m.Z=d},86210:function(n,m,e){e.d(m,{Z:function(){return R}});var i=e(87462),o=e(4819),l=e(15854),f=e(66005),k=e(5457),u=typeof Symbol=="function"&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__",g=e(67557);function c(p,a){return typeof a=="function"?a(p):(0,i.Z)({},p,a)}function d(p){const{children:a,theme:h}=p,_=(0,f.Z)(),D=o.useMemo(()=>{const E=_===null?h:c(_,h);return E!=null&&(E[u]=_!==null),E},[h,_]);return(0,g.jsx)(k.Z.Provider,{value:D,children:a})}var C=d,v=e(61049),y=e(50384),O=e(55838),M=e(8592);const j={};function b(p,a,h,_=!1){return o.useMemo(()=>{const D=p&&a[p]||a;if(typeof h=="function"){const E=h(D),T=p?(0,i.Z)({},a,{[p]:E}):E;return _?()=>T:T}return p?(0,i.Z)({},a,{[p]:h}):(0,i.Z)({},a,h)},[p,a,h,_])}function A(p){const{children:a,theme:h,themeId:_}=p,D=(0,y.Z)(j),E=(0,f.Z)()||j,T=b(_,D,h),r=b(_,E,h,!0),t=T.direction==="rtl";return(0,g.jsx)(C,{theme:r,children:(0,g.jsx)(v.T.Provider,{value:T,children:(0,g.jsx)(O.Z,{value:t,children:(0,g.jsx)(M.Z,{value:T==null?void 0:T.components,children:a})})})})}var R=A},50384:function(n,m,e){var i=e(4819),o=e.n(i),l=e(61049);function f(P){return Object.keys(P).length===0}function k(P=null){const u=i.useContext(l.T);return!u||f(u)?P:u}m.Z=k},24470:function(n,m,e){var i,o=e(77440);if(1)m.s=o.createRoot,i=o.hydrateRoot;else var l},19837:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP-Instanz ist nicht am Leben","custom_hmip_request_token":"Token erstellen","custom_hmip_started token creation":"Token-Erstellung gestartet...","custom_hmip_press blue button on accesspoint":"Dr\xFCcken Sie die blaue Taste am Accesspoint","custom_hmip_confirming token":"Best\xE4tigungstoken...","custom_hmip_error occurred during token generation, look at the logs":"W\xE4hrend der Token-Generierung ist ein Fehler aufgetreten. Sehen Sie sich die Protokolle an","custom_hmip_press \\"request token\\"":"Dr\xFCcken Sie \u201EToken erstellen\u201C","custom_hmip_token created, save settings to use your accesspoint":"Token erstellt, Einstellungen speichern, um Ihren Zugangspunkt zu verwenden"}')},86443:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP instance is not alive","custom_hmip_request_token":"Create token","custom_hmip_started token creation":"Started token creation...","custom_hmip_press blue button on accesspoint":"Press blue button on accesspoint","custom_hmip_confirming token":"confirming token...","custom_hmip_error occurred during token generation, look at the logs":"error occurred during token generation, look at the logs","custom_hmip_press \\"request token\\"":"press \\"Create token\\"","custom_hmip_token created, save settings to use your accesspoint":"token created, save settings to use your accesspoint"}')},55117:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"La instancia de HMIP no est\xE1 viva","custom_hmip_request_token":"Solicitud de token","custom_hmip_started token creation":"Comenz\xF3 la creaci\xF3n del token...","custom_hmip_press blue button on accesspoint":"Presione el bot\xF3n azul en el punto de acceso","custom_hmip_confirming token":"ficha de confirmaci\xF3n...","custom_hmip_error occurred during token generation, look at the logs":"ocurri\xF3 un error durante la generaci\xF3n del token, mire los registros","custom_hmip_press \\"request token\\"":"presione \\"solicitar token\\"","custom_hmip_token created, save settings to use your accesspoint":"token creado, guarde la configuraci\xF3n para usar su punto de acceso"}')},86115:function(n){n.exports=JSON.parse(`{"custom_hmip_not_alive":"L'instance de HMIP n'est pas active","custom_hmip_request_token":"Demander un jeton","custom_hmip_started token creation":"Cr\xE9ation de jeton lanc\xE9e...","custom_hmip_press blue button on accesspoint":"Appuyez sur le bouton bleu du point d'acc\xE8s","custom_hmip_confirming token":"jeton de confirmation...","custom_hmip_error occurred during token generation, look at the logs":"une erreur s'est produite lors de la g\xE9n\xE9ration du jeton, consultez les journaux","custom_hmip_press \\"request token\\"":"appuyez sur \\"demander un jeton\\"","custom_hmip_token created, save settings to use your accesspoint":"jeton cr\xE9\xE9, enregistrez les param\xE8tres pour utiliser votre point d'acc\xE8s"}`)},79399:function(n){n.exports=JSON.parse(`{"custom_hmip_not_alive":"L'istanza di HMIP non \xE8 viva","custom_hmip_request_token":"Richiedi token","custom_hmip_started token creation":"Creazione del token avviata...","custom_hmip_press blue button on accesspoint":"Premere il pulsante blu sull'access point","custom_hmip_confirming token":"token di conferma...","custom_hmip_error occurred during token generation, look at the logs":"si \xE8 verificato un errore durante la generazione del token, guarda i log","custom_hmip_press \\"request token\\"":"premi \\"richiedi token\\"","custom_hmip_token created, save settings to use your accesspoint":"token creato, salvare le impostazioni per utilizzare il punto di accesso"}`)},43573:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP-instantie leeft niet","custom_hmip_request_token":"Token aanvragen","custom_hmip_started token creation":"Token maken gestart...","custom_hmip_press blue button on accesspoint":"Druk op de blauwe knop op het toegangspunt","custom_hmip_confirming token":"bevestigend token...","custom_hmip_error occurred during token generation, look at the logs":"er is een fout opgetreden tijdens het genereren van tokens, kijk naar de logboeken","custom_hmip_press \\"request token\\"":"druk op \\"token aanvragen\\"","custom_hmip_token created, save settings to use your accesspoint":"token gemaakt, instellingen opslaan om uw toegangspunt te gebruiken"}')},28130:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"Instancja HMIPu nie \u017Cyje","custom_hmip_request_token":"Popro\u015B o token","custom_hmip_started token creation":"Rozpocz\u0119to tworzenie tokena...","custom_hmip_press blue button on accesspoint":"Naci\u015Bnij niebieski przycisk na punkcie dost\u0119powym","custom_hmip_confirming token":"potwierdzanie tokena...","custom_hmip_error occurred during token generation, look at the logs":"wyst\u0105pi\u0142 b\u0142\u0105d podczas generowania tokena, sp\xF3jrz na logi","custom_hmip_press \\"request token\\"":"naci\u015Bnij \u201Epopro\u015B o token\u201D","custom_hmip_token created, save settings to use your accesspoint":"utworzony token, zapisz ustawienia, aby korzysta\u0107 z punktu dost\u0119pu"}')},65909:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"A inst\xE2ncia do HMIP n\xE3o est\xE1 ativa","custom_hmip_request_token":"Solicitar token","custom_hmip_started token creation":"Cria\xE7\xE3o de token iniciada...","custom_hmip_press blue button on accesspoint":"Pressione o bot\xE3o azul no ponto de acesso","custom_hmip_confirming token":"s\xEDmbolo de confirma\xE7\xE3o...","custom_hmip_error occurred during token generation, look at the logs":"ocorreu um erro durante a gera\xE7\xE3o do token, veja os logs","custom_hmip_press \\"request token\\"":"pressione \\"solicitar token\\"","custom_hmip_token created, save settings to use your accesspoint":"token criado, salve as configura\xE7\xF5es para usar seu ponto de acesso"}')},50482:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"\u042D\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 HMIP \u043D\u0435 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442","custom_hmip_request_token":"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0442\u043E\u043A\u0435\u043D","custom_hmip_started token creation":"\u041D\u0430\u0447\u0430\u0442\u043E \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0442\u043E\u043A\u0435\u043D\u0430...","custom_hmip_press blue button on accesspoint":"\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0441\u0438\u043D\u044E\u044E \u043A\u043D\u043E\u043F\u043A\u0443 \u043D\u0430 \u0442\u043E\u0447\u043A\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u0430","custom_hmip_confirming token":"\u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E\u0449\u0438\u0439 \u0442\u043E\u043A\u0435\u043D...","custom_hmip_error occurred during token generation, look at the logs":"\u043F\u0440\u0438 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u0442\u043E\u043A\u0435\u043D\u0430 \u043F\u0440\u043E\u0438\u0437\u043E\u0448\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430, \u043F\u043E\u0441\u043C\u043E\u0442\u0440\u0438\u0442\u0435 \u043B\u043E\u0433\u0438","custom_hmip_press \\"request token\\"":"\u043D\u0430\u0436\u043C\u0438\u0442\u0435 \\"\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0442\u043E\u043A\u0435\u043D\\"","custom_hmip_token created, save settings to use your accesspoint":"\u0442\u043E\u043A\u0435\u043D \u0441\u043E\u0437\u0434\u0430\u043D, \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0442\u043E\u0447\u043A\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0430"}')},17138:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"\u0415\u043A\u0437\u0435\u043C\u043F\u043B\u044F\u0440 HMIP \u043D\u0435 \u043F\u0440\u0430\u0446\u044E\u0454","custom_hmip_request_token":"\u041C\u0430\u0440\u043A\u0435\u0440 \u0437\u0430\u043F\u0438\u0442\u0443","custom_hmip_started token creation":"\u0420\u043E\u0437\u043F\u043E\u0447\u0430\u0442\u043E \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043D\u044F \u043C\u0430\u0440\u043A\u0435\u0440\u0430...","custom_hmip_press blue button on accesspoint":"\u041D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \u0441\u0438\u043D\u044E \u043A\u043D\u043E\u043F\u043A\u0443 \u043D\u0430 \u0442\u043E\u0447\u0446\u0456 \u0434\u043E\u0441\u0442\u0443\u043F\u0443","custom_hmip_confirming token":"\u043F\u0456\u0434\u0442\u0432\u0435\u0440\u0434\u0436\u0435\u043D\u043D\u044F \u043C\u0430\u0440\u043A\u0435\u0440\u0430...","custom_hmip_error occurred during token generation, look at the logs":"\u0441\u0442\u0430\u043B\u0430\u0441\u044F \u043F\u043E\u043C\u0438\u043B\u043A\u0430 \u043F\u0456\u0434 \u0447\u0430\u0441 \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0456\u0457 \u043C\u0430\u0440\u043A\u0435\u0440\u0430, \u043F\u0435\u0440\u0435\u0433\u043B\u044F\u043D\u044C\u0442\u0435 \u0436\u0443\u0440\u043D\u0430\u043B\u0438","custom_hmip_press \\"request token\\"":"\u043D\u0430\u0442\u0438\u0441\u043D\u0456\u0442\u044C \\"\u0437\u0430\u043F\u0438\u0442 \u043C\u0430\u0440\u043A\u0435\u0440\u0430\\"","custom_hmip_token created, save settings to use your accesspoint":"\u043C\u0430\u0440\u043A\u0435\u0440 \u0441\u0442\u0432\u043E\u0440\u0435\u043D\u043E, \u0437\u0431\u0435\u0440\u0435\u0436\u0456\u0442\u044C \u043D\u0430\u043B\u0430\u0448\u0442\u0443\u0432\u0430\u043D\u043D\u044F \u0434\u043B\u044F \u0432\u0438\u043A\u043E\u0440\u0438\u0441\u0442\u0430\u043D\u043D\u044F \u0432\u0430\u0448\u043E\u0457 \u0442\u043E\u0447\u043A\u0438 \u0434\u043E\u0441\u0442\u0443\u043F\u0443"}')},58246:function(n){n.exports=JSON.parse('{"custom_hmip_not_alive":"HMIP \u5B9E\u4F8B\u4E0D\u5B58\u5728","custom_hmip_request_token":"\u8BF7\u6C42\u4EE4\u724C","custom_hmip_started token creation":"\u5F00\u59CB\u521B\u5EFA\u4EE3\u5E01...","custom_hmip_press blue button on accesspoint":"\u6309\u63A5\u5165\u70B9\u4E0A\u7684\u84DD\u8272\u6309\u94AE","custom_hmip_confirming token":"\u786E\u8BA4\u4EE4\u724C...","custom_hmip_error occurred during token generation, look at the logs":"token\u751F\u6210\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF\uFF0C\u67E5\u770B\u65E5\u5FD7","custom_hmip_press \\"request token\\"":"\u6309\u201C\u8BF7\u6C42\u4EE4\u724C\u201D","custom_hmip_token created, save settings to use your accesspoint":"\u4EE4\u724C\u5DF2\u521B\u5EFA\uFF0C\u4FDD\u5B58\u8BBE\u7F6E\u4EE5\u4F7F\u7528\u60A8\u7684\u63A5\u5165\u70B9"}')}}]); - -//# sourceMappingURL=src_bootstrap_jsx.a41e0aa8.chunk.js.map \ No newline at end of file diff --git a/io-package.json b/io-package.json index 3f86338a..be3bf60f 100644 --- a/io-package.json +++ b/io-package.json @@ -1,8 +1,21 @@ { "common": { "name": "hmip", - "version": "1.24.0", + "version": "1.24.1", "news": { + "1.24.1": { + "en": "GUI was migrated for Admin 7", + "de": "GUI wurde für Admin 7 migriert", + "ru": "GUI был перенесен на Админ 7", + "pt": "GUI foi migrado para Admin 7", + "nl": "GUI is gemigreerd voor Admin 7", + "fr": "GUI a été migré pour l'Admin 7", + "it": "GUI è stata migrata per Admin 7", + "es": "GUI was migrated for Admin 7", + "pl": "Interfejs GUI został wyemigrowany do Admin 7", + "uk": "GUI був мігрований для адміністратора 7", + "zh-cn": "管理员 7 的图形用户界面已迁移" + }, "1.23.4": { "en": "previousShutterLevel and hardwareColorTemperatureColdWhite datatype corrected\nOptimize websocket reconnection handling", "de": "vorherigeShutterLevel und HardwareColorTemperature kalt Weißer Datentyp korrigiert\nOptimieren Sie Websocket-Reconnecting-Handling", diff --git a/package.json b/package.json index 2f2c9026..7239066d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.hmip", - "version": "1.24.0", + "version": "1.24.1", "description": "ioBroker Adapter to use the Homematic Cloud IP AccessPoint via Hommeatic Cloud Rest API", "author": { "name": "Apollon77", diff --git a/src-admin/package.json b/src-admin/package.json index bd524c7f..8b36f03d 100644 --- a/src-admin/package.json +++ b/src-admin/package.json @@ -1,7 +1,7 @@ { "name": "iobroker-admin-component-hmip", "private": true, - "version": "1.24.0", + "version": "1.24.1", "scripts": { "start": "set PORT=4173 && craco start", "build": "craco build"