zigbee2mqtt-frontend 0.6.35 → 0.6.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"><title>Zigbee2MQTT</title><link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/><link rel="subresource" href="./css/light.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css" integrity="sha512-HK5fgLBL+xu6dm/Ii3z4xhlSUyZgTT9tuc/hSrtw6uzJOvgRr2a9jyxxT1ely+B+xFAmJKVSTbpM/CuL7qxO8w==" crossorigin="anonymous"/><link rel="apple-touch-icon" href="apple-touch-icon.png" sizes="150x150"><script defer="defer" src="runtime.3296ac9a5caef629c7d6.js"></script><script defer="defer" src="scripts/vendor.656eb2e274bcb1ab9a03.js"></script><script defer="defer" src="main.694837fa23bc0aa35c05.js"></script><link href="scripts/vendor.109be7bda8112bf971cc.css" rel="stylesheet"><link href="main.3d1da3b8dbc50333ee92.css" rel="stylesheet"></head><body><div id="root" class="wrapper"></div></body></html>
1
+ <!doctype html><html><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width,initial-scale=1"><title>Zigbee2MQTT</title><link rel="shortcut icon" type="image/x-icon" href="favicon.ico"/><link rel="subresource" href="./css/light.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.2/css/all.min.css" integrity="sha512-HK5fgLBL+xu6dm/Ii3z4xhlSUyZgTT9tuc/hSrtw6uzJOvgRr2a9jyxxT1ely+B+xFAmJKVSTbpM/CuL7qxO8w==" crossorigin="anonymous"/><link rel="apple-touch-icon" href="apple-touch-icon.png" sizes="150x150"><script defer="defer" src="runtime.3296ac9a5caef629c7d6.js"></script><script defer="defer" src="scripts/vendor.656eb2e274bcb1ab9a03.js"></script><script defer="defer" src="main.319456a03906cfc6d672.js"></script><link href="scripts/vendor.109be7bda8112bf971cc.css" rel="stylesheet"><link href="main.3d1da3b8dbc50333ee92.css" rel="stylesheet"></head><body><div id="root" class="wrapper"></div></body></html>
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  (self["webpackChunkzigbee2mqtt_frontend"] = self["webpackChunkzigbee2mqtt_frontend"] || []).push([[179],{
3
3
 
4
- /***/ 23362:
4
+ /***/ 97306:
5
5
  /***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
6
6
 
7
7
 
@@ -76,15 +76,6 @@ const toHHMMSS = (secs) => {
76
76
  .filter((v, i) => v !== "00" || i > 0)
77
77
  .join(":");
78
78
  };
79
- const getLastSeenType = (config) => {
80
- if (config.last_seen !== "disable") {
81
- return config.last_seen;
82
- }
83
- if (config.elapsed) {
84
- return "elapsed";
85
- }
86
- return "disable";
87
- };
88
79
  const lastSeen = (state, lastSeenType) => {
89
80
  switch (lastSeenType) {
90
81
  case "ISO_8601":
@@ -92,8 +83,6 @@ const lastSeen = (state, lastSeenType) => {
92
83
  return new Date(Date.parse(state.last_seen));
93
84
  case "epoch":
94
85
  return new Date(state.last_seen);
95
- case "elapsed":
96
- return new Date(Date.now() - state.elapsed);
97
86
  case "disable":
98
87
  return undefined;
99
88
  default:
@@ -841,17 +830,6 @@ const actions = (store) => ({
841
830
  });
842
831
  /* harmony default export */ const actions_actions = (actions);
843
832
 
844
- ;// CONCATENATED MODULE: ./src/hooks/useModal.tsx
845
-
846
- const useModal = (defaultIsVisible) => {
847
- const [isOpen, setVisible] = (0,react.useState)(defaultIsVisible);
848
- function toggle() {
849
- setVisible(!isOpen);
850
- }
851
- return { toggle, isOpen };
852
- };
853
- /* harmony default export */ const hooks_useModal = (useModal);
854
-
855
833
  // EXTERNAL MODULE: ./node_modules/react-dom/index.js
856
834
  var react_dom = __webpack_require__(73935);
857
835
  ;// CONCATENATED MODULE: ./src/components/modal/Modal.tsx
@@ -898,36 +876,163 @@ const Modal = ({ isOpen, children }) => {
898
876
  };
899
877
  /* harmony default export */ const modal_Modal = (Modal);
900
878
 
901
- ;// CONCATENATED MODULE: ./src/components/button/index.tsx
879
+ ;// CONCATENATED MODULE: ./src/components/modal/components/DialogConfirmationModal.tsx
880
+
881
+
882
+
883
+
884
+ const DialogConfirmationModal = (props) => {
885
+ const { onConfirmHandler } = props;
886
+ const { t } = (0,useTranslation/* useTranslation */.$)("common");
887
+ const { hideModal } = useGlobalModalContext();
888
+ return (react.createElement(modal_Modal, { isOpen: true },
889
+ react.createElement(ModalHeader, null,
890
+ react.createElement("h3", null, t('confirmation'))),
891
+ react.createElement(ModalBody, null, t('dialog_confirmation_prompt')),
892
+ react.createElement(ModalFooter, null,
893
+ react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: hideModal }, t('common:close')),
894
+ react.createElement("button", { type: "button", className: "btn btn-primary", onClick: onConfirmHandler }, t('common:ok')))));
895
+ };
896
+
897
+ ;// CONCATENATED MODULE: ./src/components/modal/components/RemoveDeviceModal.tsx
898
+
899
+
900
+
901
+
902
+ const RemoveDeviceModal = (props) => {
903
+ const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
904
+ const { device, removeDevice } = props;
905
+ const [removeParams, setRemoveParams] = (0,react.useState)({ block: false, force: false });
906
+ const checks = [
907
+ { label: t('force_remove'), name: 'force', value: removeParams.force },
908
+ { label: t('block_join'), name: 'block', value: removeParams.block },
909
+ ];
910
+ const onDeviceRemovalParamChange = (e) => {
911
+ const { checked, name } = e.target;
912
+ setRemoveParams({ ...removeParams, ...{ [name]: checked } });
913
+ };
914
+ const onRemoveClick = () => {
915
+ removeDevice(device.friendly_name, removeParams.force, removeParams.block);
916
+ hideModal();
917
+ };
918
+ const { hideModal } = useGlobalModalContext();
919
+ return (react.createElement(modal_Modal, { isOpen: true },
920
+ react.createElement(ModalHeader, null,
921
+ react.createElement("h3", null, t('remove_device')),
922
+ react.createElement("small", null, device.friendly_name)),
923
+ react.createElement(ModalBody, null, checks.map(check => {
924
+ const id = `${check.name}${device.ieee_address}`;
925
+ return react.createElement("div", { key: check.name, className: "form-check form-switch" },
926
+ react.createElement("input", { className: "form-check-input", name: check.name, checked: check.value, type: "checkbox", id: id, onChange: onDeviceRemovalParamChange }),
927
+ react.createElement("label", { className: "form-check-label", htmlFor: id }, check.label));
928
+ })),
929
+ react.createElement(ModalFooter, null,
930
+ react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: hideModal }, t('common:close')),
931
+ react.createElement("button", { type: "button", className: "btn btn-danger", onClick: onRemoveClick }, t('common:delete')))));
932
+ };
933
+
934
+ ;// CONCATENATED MODULE: ./src/components/modal/components/RenameDeviceModal.tsx
935
+
936
+
937
+
938
+
939
+ const RenameDeviceModal = (props) => {
940
+ var _a;
941
+ const { hideModal } = useGlobalModalContext();
942
+ const { bridgeInfo, device, renameDevice } = props;
943
+ const [isHassRename, setIsHassRename] = (0,react.useState)(false);
944
+ const [friendlyName, setFriendlyName] = (0,react.useState)(device.friendly_name);
945
+ const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
946
+ const onSaveClick = async () => {
947
+ await renameDevice(device.friendly_name, friendlyName, isHassRename);
948
+ hideModal();
949
+ };
950
+ return (react.createElement(modal_Modal, { isOpen: true },
951
+ react.createElement(ModalHeader, null,
952
+ react.createElement("h3", null, t('rename_device')),
953
+ react.createElement("small", null, device.friendly_name)),
954
+ react.createElement(ModalBody, null,
955
+ react.createElement("div", { className: "mb-3" },
956
+ react.createElement("label", { htmlFor: `fn${device.ieee_address}`, className: "form-label" }, t('friendly_name')),
957
+ react.createElement("input", { id: `fn${device.ieee_address}`, onChange: (e) => setFriendlyName(e.target.value), type: "text", className: "form-control", value: friendlyName })),
958
+ ((_a = bridgeInfo === null || bridgeInfo === void 0 ? void 0 : bridgeInfo.config) === null || _a === void 0 ? void 0 : _a.homeassistant) ? (react.createElement("div", { className: "form-check form-switch" },
959
+ react.createElement("input", { className: "form-check-input", checked: isHassRename, type: "checkbox", id: `hass${device.ieee_address}`, onChange: (e) => setIsHassRename(e.target.checked) }),
960
+ react.createElement("label", { className: "form-check-label", htmlFor: `hass${device.ieee_address}` }, t('update_Home_assistant_entity_id')))) : null),
961
+ react.createElement(ModalFooter, null,
962
+ react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: hideModal }, t('common:close')),
963
+ react.createElement("button", { type: "button", className: "btn btn-primary", onClick: onSaveClick }, t('common:save')))));
964
+ };
965
+
966
+ ;// CONCATENATED MODULE: ./src/components/modal/GlobalModal.tsx
967
+
968
+
902
969
 
903
970
 
971
+ const MODAL_TYPES = {
972
+ RENAME_DEVICE: "RENAME_DEVICE",
973
+ REMOVE_DEVICE: "REMOVE_DEVICE",
974
+ DIALOG_CONFIRMATION: "DIALOG_CONFIRMATION",
975
+ };
976
+ const MODAL_COMPONENTS = {
977
+ [MODAL_TYPES.RENAME_DEVICE]: RenameDeviceModal,
978
+ [MODAL_TYPES.REMOVE_DEVICE]: RemoveDeviceModal,
979
+ [MODAL_TYPES.DIALOG_CONFIRMATION]: DialogConfirmationModal,
980
+ };
981
+ const initalState = {
982
+ showModal: () => { },
983
+ hideModal: () => { },
984
+ store: {},
985
+ };
986
+ const GlobalModalContext = (0,react.createContext)(initalState);
987
+ const useGlobalModalContext = () => (0,react.useContext)(GlobalModalContext);
988
+ const GlobalModal = ({ children }) => {
989
+ const [store, setStore] = (0,react.useState)();
990
+ const { modalType, modalProps } = store || {};
991
+ const showModal = (modalType, modalProps = {}) => {
992
+ setStore({
993
+ ...store,
994
+ modalType,
995
+ modalProps,
996
+ });
997
+ };
998
+ const hideModal = () => {
999
+ setStore({
1000
+ ...store,
1001
+ modalType: null,
1002
+ modalProps: {},
1003
+ });
1004
+ };
1005
+ const renderComponent = () => {
1006
+ const ModalComponent = MODAL_COMPONENTS[modalType];
1007
+ if (!modalType || !ModalComponent) {
1008
+ return null;
1009
+ }
1010
+ return react.createElement(ModalComponent, { id: "global-modal", ...modalProps });
1011
+ };
1012
+ return (react.createElement(GlobalModalContext.Provider, { value: { store, showModal, hideModal } },
1013
+ renderComponent(),
1014
+ children));
1015
+ };
1016
+
1017
+ ;// CONCATENATED MODULE: ./src/components/button/index.tsx
904
1018
 
905
1019
 
906
1020
  function Button(props) {
907
1021
  const { children, item, onClick, promt, ...rest } = props;
908
- const { t } = (0,useTranslation/* useTranslation */.$)("common");
909
- const { isOpen, toggle } = hooks_useModal(false);
1022
+ const { showModal, hideModal } = useGlobalModalContext();
910
1023
  const onConfirmHandler = () => {
911
1024
  onClick && onClick(item);
912
- toggle();
1025
+ hideModal();
913
1026
  };
914
1027
  const onClickHandler = () => {
915
1028
  if (promt) {
916
- toggle();
1029
+ showModal(MODAL_TYPES.DIALOG_CONFIRMATION, { onConfirmHandler });
917
1030
  }
918
1031
  else {
919
1032
  onClick && onClick(item);
920
1033
  }
921
1034
  };
922
- return (react.createElement(react.Fragment, null,
923
- react.createElement("button", { type: "button", ...rest, onClick: onClickHandler }, children),
924
- react.createElement(modal_Modal, { isOpen: isOpen },
925
- react.createElement(ModalHeader, null,
926
- react.createElement("h3", null, t('confirmation'))),
927
- react.createElement(ModalBody, null, t('dialog_confirmation_prompt')),
928
- react.createElement(ModalFooter, null,
929
- react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: toggle }, t('common:close')),
930
- react.createElement("button", { type: "button", className: "btn btn-primary", onClick: onConfirmHandler }, t('common:ok'))))));
1035
+ return react.createElement("button", { type: "button", ...rest, onClick: onClickHandler }, children);
931
1036
  }
932
1037
 
933
1038
  // EXTERNAL MODULE: ./node_modules/d3-force/src/simulation.js + 1 modules
@@ -1201,83 +1306,6 @@ const ConnectedMap = (0,withTranslation/* withTranslation */.Z)("map")((0,unisto
1201
1306
  var react_router_dom = __webpack_require__(73727);
1202
1307
  // EXTERNAL MODULE: ./node_modules/react-router/esm/react-router.js + 1 modules
1203
1308
  var react_router = __webpack_require__(5977);
1204
- ;// CONCATENATED MODULE: ./src/components/device-control/RenameAction.tsx
1205
-
1206
-
1207
-
1208
-
1209
-
1210
- function RenameAction(props) {
1211
- var _a;
1212
- const { bridgeInfo, device, renameDevice } = props;
1213
- const [isHassRename, setIsHassRename] = (0,react.useState)(false);
1214
- const [friendlyName, setFriendlyName] = (0,react.useState)(device.friendly_name);
1215
- const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
1216
- const { isOpen, toggle } = hooks_useModal(false);
1217
- const onSaveClick = async () => {
1218
- await renameDevice(device.friendly_name, friendlyName, isHassRename);
1219
- toggle();
1220
- };
1221
- return (react.createElement(react.Fragment, null,
1222
- react.createElement(Button, { className: "btn btn-primary", onClick: toggle, title: t('rename_device') },
1223
- react.createElement("i", { className: "fa fa-edit" })),
1224
- react.createElement(modal_Modal, { isOpen: isOpen },
1225
- react.createElement(ModalHeader, null,
1226
- react.createElement("h3", null, t('rename_device')),
1227
- react.createElement("small", null, device.friendly_name)),
1228
- react.createElement(ModalBody, null,
1229
- react.createElement("div", { className: "mb-3" },
1230
- react.createElement("label", { htmlFor: `fn${device.ieee_address}`, className: "form-label" }, t('friendly_name')),
1231
- react.createElement("input", { id: `fn${device.ieee_address}`, onChange: (e) => setFriendlyName(e.target.value), type: "text", className: "form-control", value: friendlyName })),
1232
- ((_a = bridgeInfo === null || bridgeInfo === void 0 ? void 0 : bridgeInfo.config) === null || _a === void 0 ? void 0 : _a.homeassistant) ? (react.createElement("div", { className: "form-check form-switch" },
1233
- react.createElement("input", { className: "form-check-input", checked: isHassRename, type: "checkbox", id: `hass${device.ieee_address}`, onChange: (e) => setIsHassRename(e.target.checked) }),
1234
- react.createElement("label", { className: "form-check-label", htmlFor: `hass${device.ieee_address}` }, t('update_Home_assistant_entity_id')))) : null),
1235
- react.createElement(ModalFooter, null,
1236
- react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: toggle }, t('common:close')),
1237
- react.createElement("button", { type: "button", className: "btn btn-primary", onClick: onSaveClick }, t('common:save'))))));
1238
- }
1239
-
1240
- ;// CONCATENATED MODULE: ./src/components/device-control/RemoveAction.tsx
1241
-
1242
-
1243
-
1244
-
1245
-
1246
- function RemoveAction(props) {
1247
- const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
1248
- const { device, removeDevice } = props;
1249
- const [removeParams, setRemoveParams] = (0,react.useState)({ block: false, force: false });
1250
- const { isOpen, toggle } = hooks_useModal(false);
1251
- const checks = [
1252
- { label: t('force_remove'), name: 'force', value: removeParams.force },
1253
- { label: t('block_join'), name: 'block', value: removeParams.block },
1254
- ];
1255
- const onDeviceRemovalParamChange = (e) => {
1256
- const { checked, name } = e.target;
1257
- setRemoveParams({ ...removeParams, ...{ [name]: checked } });
1258
- };
1259
- const onRemoveClick = () => {
1260
- removeDevice(device.friendly_name, removeParams.force, removeParams.block);
1261
- toggle();
1262
- };
1263
- return (react.createElement(react.Fragment, null,
1264
- react.createElement(modal_Modal, { isOpen: isOpen },
1265
- react.createElement(ModalHeader, null,
1266
- react.createElement("h3", null, t('remove_device')),
1267
- react.createElement("small", null, device.friendly_name)),
1268
- react.createElement(ModalBody, null, checks.map(check => {
1269
- const id = `${check.name}${device.ieee_address}`;
1270
- return react.createElement("div", { key: check.name, className: "form-check form-switch" },
1271
- react.createElement("input", { className: "form-check-input", name: check.name, checked: check.value, type: "checkbox", id: id, onChange: onDeviceRemovalParamChange }),
1272
- react.createElement("label", { className: "form-check-label", htmlFor: id }, check.label));
1273
- })),
1274
- react.createElement(ModalFooter, null,
1275
- react.createElement("button", { type: "button", className: "btn btn-secondary", onClick: toggle }, t('common:close')),
1276
- react.createElement("button", { type: "button", className: "btn btn-danger", onClick: onRemoveClick }, t('common:delete')))),
1277
- react.createElement("button", { onClick: toggle, className: "btn btn-danger", title: t('remove_device') },
1278
- react.createElement("i", { className: classnames_default()("fa", "fa-trash") }))));
1279
- }
1280
-
1281
1309
  ;// CONCATENATED MODULE: ./src/components/device-control/DeviceControlGroup.tsx
1282
1310
 
1283
1311
 
@@ -1286,15 +1314,17 @@ function RemoveAction(props) {
1286
1314
 
1287
1315
 
1288
1316
 
1289
-
1290
1317
  function DeviceControlGroup(props) {
1291
1318
  const { device, bridgeInfo, configureDevice, renameDevice, removeDevice } = props;
1292
1319
  const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
1320
+ const { showModal } = useGlobalModalContext();
1293
1321
  return (react.createElement("div", { className: "btn-group btn-group-sm", role: "group" },
1294
- react.createElement(RenameAction, { device: device, bridgeInfo: bridgeInfo, renameDevice: renameDevice }),
1322
+ react.createElement(Button, { className: "btn btn-primary", onClick: () => showModal(MODAL_TYPES.RENAME_DEVICE, { device, renameDevice, bridgeInfo }), title: t('rename_device') },
1323
+ react.createElement("i", { className: "fa fa-edit" })),
1295
1324
  react.createElement(Button, { className: "btn btn-warning", onClick: configureDevice, item: device.friendly_name, title: t('reconfigure'), promt: true },
1296
1325
  react.createElement("i", { className: classnames_default()("fa", "fa-retweet") })),
1297
- react.createElement(RemoveAction, { device: device, removeDevice: removeDevice })));
1326
+ react.createElement("button", { onClick: () => showModal(MODAL_TYPES.REMOVE_DEVICE, { device, removeDevice }), className: "btn btn-danger", title: t('remove_device') },
1327
+ react.createElement("i", { className: classnames_default()("fa", "fa-trash") }))));
1298
1328
  }
1299
1329
  const DeviceControlGroup_mappedProps = ["bridgeInfo"];
1300
1330
  const ConnectedDeviceControlGroup = (0,unistore_react/* connect */.$)(DeviceControlGroup_mappedProps, actions_actions)(DeviceControlGroup);
@@ -1516,7 +1546,7 @@ const displayProps = [
1516
1546
  {
1517
1547
  translationKey: 'last_seen',
1518
1548
  render: (device, state, bridgeInfo) => react.createElement("dd", { className: "col-12 col-md-7" },
1519
- react.createElement(LastSeen, { lastSeenType: getLastSeenType(bridgeInfo.config.advanced), state: state })),
1549
+ react.createElement(LastSeen, { lastSeenType: bridgeInfo.config.advanced.last_seen, state: state })),
1520
1550
  },
1521
1551
  {
1522
1552
  key: 'type',
@@ -3472,8 +3502,8 @@ const Table = ({ columns, data, id }) => {
3472
3502
  react.createElement("tr", null,
3473
3503
  react.createElement("th", { colSpan: visibleColumns.length },
3474
3504
  react.createElement(GlobalFilter, { globalFilter: state.globalFilter, setGlobalFilter: setGlobalFilter }))),
3475
- headerGroups.map((headerGroup) => (react.createElement("tr", { ...headerGroup.getHeaderGroupProps() }, headerGroup.headers.map(column => (react.createElement("th", { ...column.getHeaderProps(column.getSortByToggleProps()) },
3476
- react.createElement("span", { className: classnames_default()({ 'btn btn-link': column.canSort }) }, column.render('Header')),
3505
+ headerGroups.map((headerGroup) => (react.createElement("tr", { ...headerGroup.getHeaderGroupProps() }, headerGroup.headers.map(column => (react.createElement("th", { className: "text-nowrap", ...column.getHeaderProps(column.getSortByToggleProps()) },
3506
+ react.createElement("span", { className: classnames_default()({ 'btn-link mr-1': column.canSort }) }, column.render('Header')),
3477
3507
  react.createElement("span", null, column.isSorted
3478
3508
  ? column.isSortedDesc
3479
3509
  ? react.createElement("i", { className: `fa fa-sort-amount-down-alt` })
@@ -3759,7 +3789,7 @@ class SettingsPage extends react.Component {
3759
3789
  zigbee2mqttCommit) },
3760
3790
  { translationKey: 'coordinator_type', content: react.createElement(react.Fragment, null, (_c = (_b = bridgeInfo.coordinator) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : t('common:unknown')) },
3761
3791
  { translationKey: 'coordinator_revision', content: react.createElement(react.Fragment, null, (_f = (_e = (_d = bridgeInfo.coordinator) === null || _d === void 0 ? void 0 : _d.meta) === null || _e === void 0 ? void 0 : _e.revision) !== null && _f !== void 0 ? _f : t('common:unknown')) },
3762
- { translationKey: 'frontend_version', content: "0.6.35" },
3792
+ { translationKey: 'frontend_version', content: "0.6.39" },
3763
3793
  { translationKey: 'stats', content: react.createElement(Stats, { devices: devices }) },
3764
3794
  ];
3765
3795
  return react.createElement("div", { className: "p-3" }, rows.map(row => react.createElement("dl", { key: row.translationKey, className: "row" },
@@ -4112,6 +4142,17 @@ const useInputChange = (initialState) => {
4112
4142
  return [input, handleInputChange];
4113
4143
  };
4114
4144
 
4145
+ ;// CONCATENATED MODULE: ./src/hooks/useModal.tsx
4146
+
4147
+ const useModal = (defaultIsVisible) => {
4148
+ const [isOpen, setVisible] = (0,react.useState)(defaultIsVisible);
4149
+ function toggle() {
4150
+ setVisible(!isOpen);
4151
+ }
4152
+ return { toggle, isOpen };
4153
+ };
4154
+ /* harmony default export */ const hooks_useModal = (useModal);
4155
+
4115
4156
  ;// CONCATENATED MODULE: ./src/components/groups/RenameForm.tsx
4116
4157
 
4117
4158
 
@@ -4219,8 +4260,7 @@ class GroupsPage extends react.Component {
4219
4260
  },
4220
4261
  ];
4221
4262
  return react.createElement("div", { className: "card" },
4222
- react.createElement("div", { className: "card-body" },
4223
- react.createElement(Table, { id: "groups", columns: columns, data: groups })));
4263
+ react.createElement(Table, { id: "groups", columns: columns, data: groups }));
4224
4264
  }
4225
4265
  render() {
4226
4266
  return react.createElement(react.Fragment, null,
@@ -4251,17 +4291,83 @@ const ConnectedGroupsPage = (0,withTranslation/* withTranslation */.Z)("groups")
4251
4291
 
4252
4292
 
4253
4293
 
4254
- class ZigbeeTable extends react.Component {
4255
- render() {
4256
- const { devices } = this.props;
4257
- if (Object.keys(devices).length) {
4258
- return this.renderDevicesTable();
4294
+ function DevicesTable(props) {
4295
+ const { data, lastSeenType } = props;
4296
+ const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
4297
+ const columns = [
4298
+ {
4299
+ id: 'rownumber',
4300
+ Header: '#',
4301
+ Cell: ({ row }) => react.createElement("div", { className: "font-weight-bold" }, row.index + 1),
4302
+ disableSortBy: true,
4303
+ },
4304
+ {
4305
+ id: 'pic',
4306
+ Header: t('pic'),
4307
+ Cell: ({ row: { original: { device, state } } }) => react.createElement(device_image, { className: zigbee_style["device-image"], device: device, deviceStatus: state }),
4308
+ accessor: rowData => rowData,
4309
+ disableSortBy: true,
4310
+ },
4311
+ {
4312
+ id: 'friendly_name',
4313
+ Header: t('friendly_name'),
4314
+ accessor: ({ device }) => device.friendly_name,
4315
+ Cell: ({ row: { original: { device } } }) => react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) }, device.friendly_name)
4316
+ },
4317
+ {
4318
+ id: 'ieee_address',
4319
+ Header: t('ieee_address'),
4320
+ accessor: ({ device }) => [device.ieee_address, toHex(device.network_address, 4)].join(' '),
4321
+ Cell: ({ row: { original: { device } } }) => react.createElement(react.Fragment, null,
4322
+ device.ieee_address,
4323
+ " (",
4324
+ toHex(device.network_address, 4),
4325
+ ")"),
4326
+ },
4327
+ {
4328
+ id: 'manufacturer',
4329
+ Header: t('manufacturer'),
4330
+ accessor: ({ device }) => { var _a; return [device.manufacturer, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.vendor].join(' '); },
4331
+ Cell: ({ row: { original: { device } } }) => react.createElement(VendorLink, { device: device })
4332
+ },
4333
+ {
4334
+ id: 'model',
4335
+ Header: t('model'),
4336
+ accessor: ({ device }) => { var _a; return [device.model_id, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.model].join(' '); },
4337
+ Cell: ({ row: { original: { device } } }) => react.createElement(ModelLink, { device: device })
4338
+ },
4339
+ {
4340
+ id: 'lqi',
4341
+ Header: t('lqi'),
4342
+ accessor: ({ state }) => state.linkquality,
4343
+ Cell: ({ row: { original: { state } } }) => react.createElement(DisplayValue, { value: state.linkquality, name: "linkquality" }),
4344
+ },
4345
+ ...(lastSeenType !== "disable" ? [{
4346
+ id: 'last_seen',
4347
+ Header: t('last_seen'),
4348
+ accessor: ({ state }) => { var _a; return (_a = lastSeen(state, lastSeenType)) === null || _a === void 0 ? void 0 : _a.getTime(); },
4349
+ Cell: ({ row: { original: { state } } }) => react.createElement(LastSeen, { state: state, lastSeenType: lastSeenType }),
4350
+ }] : []),
4351
+ {
4352
+ id: 'power',
4353
+ Header: t('power'),
4354
+ accessor: ({ device }) => device.power_source,
4355
+ Cell: ({ row: { original: { state, device } } }) => react.createElement(power_source, { source: device.power_source, battery: state.battery, batteryLow: state.battery_low }),
4356
+ },
4357
+ {
4358
+ id: 'controls',
4359
+ Header: '',
4360
+ Cell: ({ row: { original: { device, state } } }) => react.createElement(device_control_DeviceControlGroup, { device: device, state: state }),
4361
+ disableSortBy: true,
4259
4362
  }
4260
- return (react.createElement("div", { className: "h-100 d-flex justify-content-center align-items-center" },
4261
- react.createElement(spinner, null)));
4262
- }
4263
- getDevicesToRender() {
4264
- const { devices, deviceStates } = this.props;
4363
+ ];
4364
+ return (react.createElement("div", { className: "card" },
4365
+ react.createElement("div", { className: "table-responsive" },
4366
+ react.createElement(Table, { id: "zigbee", columns: columns, data: data }))));
4367
+ }
4368
+ function ZigbeeTable(props) {
4369
+ const { devices, deviceStates, bridgeInfo } = props;
4370
+ const getDevicesToRender = () => {
4265
4371
  return Object.values(devices)
4266
4372
  .filter(device => device.type !== "Coordinator")
4267
4373
  .map((device) => {
@@ -4273,74 +4379,14 @@ class ZigbeeTable extends react.Component {
4273
4379
  state
4274
4380
  };
4275
4381
  });
4382
+ };
4383
+ const data = react.useMemo(() => getDevicesToRender(), [devices, deviceStates]);
4384
+ if (Object.keys(data).length) {
4385
+ return react.createElement(DevicesTable, { data: data, lastSeenType: bridgeInfo.config.advanced.last_seen });
4276
4386
  }
4277
- renderDevicesTable() {
4278
- const { bridgeInfo, t } = this.props;
4279
- const devices = this.getDevicesToRender();
4280
- const lastSeenType = getLastSeenType(bridgeInfo.config.advanced);
4281
- const columns = [
4282
- {
4283
- Header: '#',
4284
- id: '-rownumber',
4285
- Cell: ({ row }) => react.createElement("div", { className: "font-weight-bold" }, row.index + 1),
4286
- disableSortBy: true,
4287
- },
4288
- {
4289
- Header: t('pic'),
4290
- Cell: ({ value: { device, state } }) => react.createElement(device_image, { className: zigbee_style["device-image"], device: device, deviceStatus: state }),
4291
- accessor: rowData => rowData,
4292
- disableSortBy: true,
4293
- },
4294
- {
4295
- id: 'friendly_name',
4296
- Header: t('friendly_name'),
4297
- accessor: ({ device }) => device.friendly_name,
4298
- Cell: ({ row: { original: { device } } }) => react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) }, device.friendly_name)
4299
- },
4300
- {
4301
- Header: t('ieee_address'),
4302
- accessor: ({ device }) => [device.ieee_address, toHex(device.network_address, 4)].join(' '),
4303
- Cell: ({ row: { original: { device } } }) => react.createElement(react.Fragment, null,
4304
- device.ieee_address,
4305
- " (",
4306
- toHex(device.network_address, 4),
4307
- ")"),
4308
- },
4309
- {
4310
- Header: t('manufacturer'),
4311
- accessor: ({ device }) => { var _a; return [device.manufacturer, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.vendor].join(' '); },
4312
- Cell: ({ row: { original: { device } } }) => react.createElement(VendorLink, { device: device })
4313
- },
4314
- {
4315
- Header: t('model'),
4316
- accessor: ({ device }) => { var _a; return [device.model_id, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.model].join(' '); },
4317
- Cell: ({ row: { original: { device } } }) => react.createElement(ModelLink, { device: device })
4318
- },
4319
- {
4320
- Header: t('lqi'),
4321
- accessor: ({ state }) => state.linkquality,
4322
- Cell: ({ row: { original: { state } } }) => react.createElement(DisplayValue, { value: state.linkquality, name: "linkquality" }),
4323
- },
4324
- {
4325
- Header: t('last_seen'),
4326
- accessor: ({ state }) => { var _a; return (_a = lastSeen(state, lastSeenType)) === null || _a === void 0 ? void 0 : _a.getTime(); },
4327
- Cell: ({ row: { original: { state } } }) => react.createElement(LastSeen, { state: state, lastSeenType: lastSeenType }),
4328
- },
4329
- {
4330
- Header: t('power'),
4331
- accessor: ({ device }) => device.power_source,
4332
- Cell: ({ row: { original: { state, device } } }) => react.createElement(power_source, { source: device.power_source, battery: state.battery, batteryLow: state.battery_low }),
4333
- },
4334
- {
4335
- Header: '',
4336
- id: '-controls',
4337
- Cell: ({ row: { original: { state, device } } }) => react.createElement(device_control_DeviceControlGroup, { device: device, state: state }),
4338
- disableSortBy: true,
4339
- }
4340
- ];
4341
- return (react.createElement("div", { className: "card" },
4342
- react.createElement("div", { className: "table-responsive mt-1" },
4343
- react.createElement(Table, { id: "zigbee", columns: columns, data: devices }))));
4387
+ else {
4388
+ return (react.createElement("div", { className: "h-100 d-flex justify-content-center align-items-center" },
4389
+ react.createElement(spinner, null)));
4344
4390
  }
4345
4391
  }
4346
4392
  const zigbee_mappedProps = ["devices", "deviceStates", "bridgeInfo"];
@@ -4431,7 +4477,7 @@ class OtaPage extends react.Component {
4431
4477
  },
4432
4478
  ];
4433
4479
  return react.createElement("div", { className: "card" },
4434
- react.createElement("div", { className: "card-body table-responsive" },
4480
+ react.createElement("div", { className: "table-responsive" },
4435
4481
  react.createElement(Table, { id: "otaDevices", columns: columns, data: otaDevices })));
4436
4482
  }
4437
4483
  }
@@ -4553,7 +4599,6 @@ const DashboardDevice_DashboardDevice = ({ onChange, onRead, device, deviceState
4553
4599
 
4554
4600
 
4555
4601
 
4556
-
4557
4602
  function filterDeviceByFeatures(devices, deviceStates, filterFn) {
4558
4603
  return Object.values(devices)
4559
4604
  .filter(device => device.supported)
@@ -4575,7 +4620,6 @@ function DeviceGroupRow(props) {
4575
4620
  const { removeDeviceFromGroup, groupAddress, devices, deviceStates, bridgeInfo } = props;
4576
4621
  const device = (_a = devices[groupAddress.ieee_address]) !== null && _a !== void 0 ? _a : { ieee_address: groupAddress.ieee_address, friendly_name: t('unknown_device') };
4577
4622
  const deviceState = (_b = deviceStates[device.friendly_name]) !== null && _b !== void 0 ? _b : {};
4578
- const lastSeenType = getLastSeenType(bridgeInfo.config.advanced);
4579
4623
  const { setDeviceState, getDeviceState } = props;
4580
4624
  let filteredFeatures = [];
4581
4625
  if (device.definition) {
@@ -4583,7 +4627,7 @@ function DeviceGroupRow(props) {
4583
4627
  .map((e) => onlyValidFeaturesForScenes(e, deviceState))
4584
4628
  .filter(f => f);
4585
4629
  }
4586
- return react.createElement(dashboard_page_DashboardDevice, { key: device.ieee_address, feature: { features: filteredFeatures }, device: device, deviceState: deviceState, onChange: (endpoint, value) => setDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), onRead: (endpoint, value) => getDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), featureWrapperClass: DashboardFeatureWrapper, lastSeenType: lastSeenType, controls: react.createElement(Button, { promt: true, item: device.friendly_name, onClick: removeDeviceFromGroup, className: "btn btn-danger btn-sm float-right" },
4630
+ return react.createElement(dashboard_page_DashboardDevice, { key: device.ieee_address, feature: { features: filteredFeatures }, device: device, deviceState: deviceState, onChange: (endpoint, value) => setDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), onRead: (endpoint, value) => getDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), featureWrapperClass: DashboardFeatureWrapper, lastSeenType: bridgeInfo.config.advanced.last_seen, controls: react.createElement(Button, { promt: true, item: device.friendly_name, onClick: removeDeviceFromGroup, className: "btn btn-danger btn-sm float-right" },
4587
4631
  react.createElement("i", { className: "fa fa-trash" })) });
4588
4632
  }
4589
4633
 
@@ -4638,9 +4682,8 @@ const onlyValidFeaturesForDashboard = (feature, deviceState = {}) => {
4638
4682
  };
4639
4683
  const Dashboard = (props) => {
4640
4684
  const { setDeviceState, getDeviceState, deviceStates, bridgeInfo } = props;
4641
- const lastSeenType = getLastSeenType(bridgeInfo.config.advanced);
4642
4685
  return (react.createElement("div", { className: "row" }, filterDeviceByFeatures(props.devices, deviceStates, onlyValidFeaturesForDashboard).map(({ device, deviceState, filteredFeatures }) => {
4643
- return (react.createElement(dashboard_page_DashboardDevice, { key: device.ieee_address, feature: { features: filteredFeatures }, device: device, deviceState: deviceState, onChange: (endpoint, value) => setDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), onRead: (endpoint, value) => getDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), featureWrapperClass: DashboardFeatureWrapper, lastSeenType: lastSeenType }));
4686
+ return (react.createElement(dashboard_page_DashboardDevice, { key: device.ieee_address, feature: { features: filteredFeatures }, device: device, deviceState: deviceState, onChange: (endpoint, value) => setDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), onRead: (endpoint, value) => getDeviceState(`${device.friendly_name}${endpoint ? `/${endpoint}` : ''}`, value), featureWrapperClass: DashboardFeatureWrapper, lastSeenType: bridgeInfo.config.advanced.last_seen }));
4644
4687
  })));
4645
4688
  };
4646
4689
  const dashboard_page_mappedProps = ['devices', 'deviceStates', 'bridgeInfo'];
@@ -4896,7 +4939,7 @@ const locales_fr_namespaceObject = JSON.parse('{"common":{"action":"Action","act
4896
4939
  ;// CONCATENATED MODULE: ./src/i18n/locales/pl.json
4897
4940
  const locales_pl_namespaceObject = JSON.parse('{"common":{"action":"Akcja","check_all":"Sprawdź wszystkie","clear":"Wyczyść","close":"Zamknij","delete":"Usuń","dialog_confirmation_prompt":"Czy jesteś pewien?","enter_search_criteria":"Wprowadź kryteria wyszukiwania","confirmation":"potwierdzenie","ok":"ok","source_endpoint":"źródłowy_endpoint","select_endpoint":"wybierz_endpoint","destination_endpoint":"przeznaczony_endpoint","the_only_endpoint":"tylko_endpoint","select_device":"wybierz_urządzenie","groups":"grupy","devices":"urządzenia","apply":"zatwierdź","destination":"kierunek","clusters":"klastry","bind":"powiąż","unbind":"rozwiąż","loading":"Ładowanie...","save":"Zapisz"},"devicePage":{"about":"O urządzeniu","bind":"Powiązania","clusters":"Klaster","dev_console":"Konsola","exposes":"Eksponowane","reporting":"Raportowanie","settings":"Ustawienia","scene":"Scena","settings_specific":"Ustawienia (specyficzne)","state":"Stan"},"extensions":{"extension_name_propmt":"Wprowadź nazwę nowego rozszerzenia","select_extension_to_edit":"Wybierz rozszerzenie do edycji"},"featureNames":{"brightness":"Poziom Jasności","color_temp":"Temperatura Barwowa","color_xy":"Kolor Xy","contact":"Kontakt","humidity":"Wilgotność","illuminance":"Natężenie światła","occupancy":"Obecność","pressure":"Ciśnienie","soil_moisture":"Wilgotność Gleby","state":"Stan","water_leak":"Wyciek Wody","position":"Pozycja","current_heating_setpoint":"Aktualna wartość zadana ogrzewania","local_temperature":"Temperatura Lokalna","system_mode":"Tryb Pracy","local_temperature_calibration":"Lokalna kalibracja temperatury","away_mode":"Tryb Z dala od domu","preset":"Preset","temperature":"Temperatura","power":"Moc","current":"Natężenie","voltage":"Napięcie","energy":"Energia"},"groups":{"add_to_group":"Dodaj do grupy","create_group":"Utwórz grupę","new_group_id":"ID nowej grupy","new_group_id_placeholder":"Podaj ID grupy jeśli potrzebujesz","new_group_name":"Nazwa nowej grupy","new_group_name_placeholder":"przykład: lampy_sypialnia","remove_group":"Usuń grupę"},"logs":{"empty_logs_message":"Brak logów do wyświetlenia","filter_by_text":"Filtruj po tekście","show_only":"Pokaż tylko"},"map":{"help_coordinator_link_description":"Linie ciągłe to połączenia z koordynatorem","help_end_device_description":"zielony to urządzenia końcowe","help_is_coordinator":"to koordynator","help_lqi_description":"Jakość połączenia to wartość 0 - 255 (im wyższa tym lepiej), wartości oddzielone / odnoszą się do różnych typów połączeń.","help_router_description":"niebieski to rutery","help_router_links_description":"Linie przerywane to połączenia z ruterami","hide":"Kliknij tutaj by ukryć","load":"Załaduj mapę","loading":"Ładowanie mapy może zająć od 10 sekund do 2 minut, w zależności od rozmiaru Twojej sieci."},"navbar":{"all":"Wszystkie","dashboard":"Pulpit","devices":"Urządzenia","disable_join":"Zabroń dołączania","extensions":"Rozszerzenia","groups":"Grupy","logs":"Logi","map":"Mapa","ota":"OTA","permit_join":"Zezwól na dołączanie","restart":"Restart","settings":"Ustawienia","toggle_dropdown":"Przełącz listę","touchlink":"Touchlink"},"ota":{"check":"Spradź dostępność aktualizacji","check_all":"Sprawdź wszystkie","empty_ota_message":"Nie posiadasz urządzeń wspierających OTA","remaining_time":"Pozostały czas: {{- remaining}}","update":"Zaktualizuj oprogramowanie układowe"},"settings":{"about":"O programie","advanced":"Zaawansowane","blocklist":"Lista zablokowanych","coordinator_revision":"Wersja oprogramowania koordynatora","coordinator_type":"Typ koordynatora","donate":"Wsparcie","donation_text":["Cześć %username%, tutaj możesz podziękować nam za ciężką pracę.","Byłoby miło gdybyś zostawił też jakieś dobre słowo ;)"],"download_state":"Pobierz stan","experimental":"Eksperymentalne","external_converters":"Konwertery zewnętrzne","frontend":"Aplikacja interfejsu użytkownika","frontend_version":"Wersja aplikacji interfejsu użytkownika","main":"Główne","translate":"Tłumaczenie","mqtt":"MQTT","ota":"Aktualizacje OTA","passlist":"Lista dopuszczonych","raw":"Wygenerowana konfiguracja","restart_zigbee2mqtt":"Zrestartuj Zigbee2MQTT","serial":"Port szeregowy","settings":"Ustawienia","tools":"Narzędzia","zigbee2mqtt_version":"Wersja Zigbee2MQTT"},"settingsSchemaTranslations":{"root-title":"Port szeregowy","root__description":"Pozwól tylko wybranym urządzeniom (identyfikowanym przez adres ieeeAddr) do sieci. Zwróc uwagę na fakt, że wszystkie urządzenia spoza tej listy zostaną usunięte z obecnej sieci!","root__title":"Lista dopuszczonych","root_availability_blacklist__title":"Czarna lista sprawdzania dostępności (ustawienie wycofywane, użyj listy blokad sprawdzania dostępności)","root_availability_blocklist__description":"Zablokuj sprawdzanie dostępności urządzeń z tej listy","root_availability_blocklist__title":"Lista blokad sprawdzania dostępności","root_availability_passlist__description":"Włącz sprawdzanie obecności tylko dla urządzeń z tej listy","root_availability_passlist__title":"Lista sprawdzania dostępności","root_availability_whitelist__title":"Bilała lista sprawdzania dostępności (ustawienie wycofywane, użyj listy sprawdzania obecności)","root_ext_pan_id__description":"Parametr Zigbee rozszerzonego identyfikatora sieci, zmiana wymaga ponownego sparowania wszystkich urządzeń!","root_ext_pan_id__title":"Ext Pan ID","root_log_output__description":"Położenie wyjściowego pliku logu, pozostaw puste by wyłączyć rejestrowanie logu zdarzeń","root_log_output__title":"Wyjście logowania","root_filtered_attributes__title":"Filtrowane opublikowane atrybuty","root_filtered_attributes__description":"Filtrowanie atrybutów z publikowanej zawartości.","root_debounce_ignore__title":"Ignorowanie odbicia","root_debounce_ignore__description":"Chroni unikalne wartości określonych właściwości payload przed nadpisaniem w czasie odbicia","root_filtered_optimistic__title":"Przefiltrowane atrybuty optimistic","root_filtered_optimistic__description":"Filtruj atrybuty z optimistic publish payload podczas wywoływania /set. (Nie ma to żadnego efektu jeśli optimistic jest ustawione na false)...","advanced-title":"Zaawansowane","advanced_availability_blacklist__title":"Czarna lista dostępności (przestarzała, użyj availability_blocklist)","advanced_availability_blocklist__title":"Lista blokad dostępności","advanced_availability_blocklist__description":"Uniemożliwienie sprawdzania dostępności urządzeń","advanced_availability_passlist__title":"Passlista dostępności","advanced_availability_passlist__description":"Włącz sprawdzanie dostępności tylko dla niektórych urządzeń","advanced_availability_whitelist__title":"Whitelista dostępności (przestarzała, użyj passlisty)","advanced_ext_pan_id__title":"Ext Pan ID","advanced_ext_pan_id__description":"Zigbee extended pan ID, zmiana wymaga naprawy wszystkich urządzeń!","advanced_log_output__title":"Wyjście logów","advanced_log_output__description":"Wyjściowa lokalizacja logu, pozostaw puste aby wyłączyć logowanie","advanced_log_syslog-title":"logi systemowe","blocklist__title":"Lista blokad","blocklist__description":"Blokowanie urządzeń z sieci (według ieeeAddr)","experimental-title":"Eksperymentalne","external_converters__title":"Konwertery zewnętrzne","external_converters__description":"Możesz zdefiniować zewnętrzne konwertery, aby np. dodać obsługę urządzenia DiY","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"Aktualizacje OTA","passlist__title":"Passlista","passlist__description":"Zezwól tylko niektórym urządzeniom na dołączenie do sieci (według ieeeAddr). Uwaga, wszystkie urządzenia nie znajdujące się na passliście zostaną usunięte z sieci!","serial-title":"Serial","root_log_syslog-title":"Log systemowy"},"scene":{"scene_id":"id_sceny","store":"store","recall":"odwołaj","remove":"usuń","remove_all":"usuń_wszystko","select_scene":"wybierz_scene"},"touchlink":{"detected_devices_message":"Wykryte urządzenia touchlink: {{count}}. ","rescan":"Skanuj ponownie","scan":"Skanuj"},"values":{"Clear":"Brak","Closed":"Zamknięte","Occupied":"Wykryto Obecność","Open":"Otwarte","tampered":"Naruszenie","supported":"Obsługiwane","not_supported":"Nie Obsługiwane","leaking":"Wyciek","false":"Fałsz","true":"Prawda"},"featureDescriptions":{"Remaining battery in %":"Pozostały stan baterii w %","Measured temperature value":"Zmierzona wartość temperatury","Measured relative humidity":"Zmierzona wilgotność względna","Voltage of the battery in millivolts":"Napięcie akumulatora w miliwoltach","Link quality (signal strength)":"Jakość połączenia (siła sygnału)"},"zigbee":{"block_join":"Zablokuj ponowne dołączanie","device_type":"Typ urządzenia","endpoint":"Punkt końcowy","description":"Opis","cluster":"klaster","attribute":"atrybut","min_rep_interval":"min_rep_interval","max_rep_interval":"max_rep_interval","min_rep_change":"min_rep_change","actions":"akcje","select_cluster":"wybierz_klaster","none":"brak","select_attribute":"wybierz_atrybut","output_clusters":"wyjściowe_klastry","input_clusters":"wejściowe_klastry","zigbee_manufacturer":"zigbee_manufacturer(kod)","firmware_build_date":"Data firmware","firmware_version":"Wersja firmware","force_remove":"Wymuś usunięcie","friendly_name":"Przyjazna nazwa","ieee_address":"Adres IEEE","interview_completed":"Wywiad zakończony","last_seen":"Ostatnio widziane","lqi":"LQI","manufacturer":"Producent","model":"Model","network_address":"Adres sieciowy","pic":"Foto","power":"Zasilanie","reconfigure":"Przekonfiguruj","remove_device":"Usuń urządzenie","rename_device":"Zmień nazwę urządzenia","support_status":"Support status","unsupported":"Niewspierane","update_Home_assistant_entity_id":"Zaktualizuj ID encji Home Assistanta","zigbee_model":"Model Zigbee"}}');
4898
4941
  ;// CONCATENATED MODULE: ./src/i18n/locales/de.json
4899
- const locales_de_namespaceObject = JSON.parse('{"common":{"action":"Aktion","actions":"Aktionen","apply":"Anwenden","attribute":"Attribute","bind":"verbinden","check_all":"Alle prüfen","clear":"Löschen","close":"Schliessen","cluster":"Cluster","clusters":"Clusters","confirmation":"Bestätigen","delete":"Löschen","destination":"Ziel","destination_endpoint":"Zielendpunkt","devices":"Geräte","dialog_confirmation_prompt":"Bist Du sicher?","disable":"Abschalten","enter_search_criteria":"Suchwort","groups":"Gruppen","loading":"Laden...","none":"Nichts","ok":"ok","read":"Lesen","save":"Speichern","select_device":"Wähle Gerät","select_endpoint":"Wähle Endpunkt","source_endpoint":"Quellen Endpunkt","the_only_endpoint":"Der einzige Endpunkt","unbind":"trennen","unknown":"Unbekannt","write":"Schreiben"},"devicePage":{"about":"Über","bind":"Bindungen","clusters":"Kluster","dev_console":"Dev Konsole","exposes":"Details","reporting":"Berichten","scene":"Szene","settings":"Einstellungen","settings_specific":"Einstellungen (spezifisch)","state":"Status","unknown_device":"unbekanntes Gerät"},"exposes":{"action":"Aktion","auto_off":"Automatisch abschalten","away_mode":"Abwesenheitsmodus","away_preset_days":"Abwesenheitszeit (in Tagen)","away_preset_temperature":"Temperatur bei Abwesenheit","backlight_mode":"Rücklicht Modus","battery":"Batterie","battery_low":"Batterie schwach","boost_time":"Boost Dauer","brightness":"Helligkeit","calibration":"Kalibrierung","carbon_monoxide":"Kohlenmonoxid","co2":"Kohlendioxid","color_hs":"Farbe hue/saturation","color_temp":"Farbtemperatur","color_temp_startup":"Farbtemperatur nach Einschalten","color_xy":"Farbe (XY)","comfort_temperature":"Komfort Temperature","consumer_connected":"Verbraucher angeschlossen","consumer_overload":"Verbraucherüberlastung","contact":"Kontakt","current":"Aktuell","current_heating_setpoint":"Aktuelle Solltemperatur","device_temperature":"Gerätetemperatur","eco_temperature":"Ökologische Temperatur","effect":"Effekt","empty_exposes_definition":"Exposes nicht definiert","energy":"Verbrauch","force":"Erzwungene Ventilposition","humidity":"Luftfeuchtigkeit","illuminance":"Beleuchtungsstärke","illuminance_lux":"Beleuchtungsstärke in Lux","led_disabled_night":"LED Nachts ausschalten","linkquality":"Linkqualität","local_temperature":"Raumtemperatur","local_temperature_calibration":"Kalibrierung Raumtemperatur","max_temperature":"Maximale Temperatur","min_temperature":"Minimale Temperatur","motion":"Bewegung","motion_direction":"Bewegungsrichtung","motor_reversal":"Richtung umkehren","motion_speed":"Bewegungsgeschwindigkeit","moving":"Bewegung","occupancy":"Belegung","operation_mode":"Betriebsmodus","options":"Optionen","position":"Position","power":"Leistung","power_on_behavior":"Zustand nach Stromausfall","power_outage_memory":"Zustand nach Stromausfall","presence":"Anwesenheit","preset":"Voreinstellung","Pressure":"Luftdruck","sensivity":"Empfindlichkeit","smoke":"Rauch","state":"Status","strength":"Stärke","system_mode":"Heizmodus","tamper":"Manipulation","temperature":"Temperatur","voltage":"Stromspannung","water_leak":"Wasserleck","week":"Woche"},"extensions":{"extension_name_propmt":"Name der neuen Erweiterung","select_extension_to_edit":"Wähle Erweiterung zum Bearbeiten","create_new_extension":"Neue Erweiterung erstellen"},"featureNames":{"action":"Aktion","action_angle":"Bewegung Winkel","action_from_side":"Bewegung von Seite","action_side":"Aktive Seite","action_to_side":"Bewegung zur Seite","alarm":"Alarm","angle_x":"Ausrichtung X","angle_y":"Ausrichtung Y","angle_z":"Ausrichtung Z","auto_lock":"Automatische Sperre","away_mode":"Abwesenheitsmodus","brightness":"Helligkeit","calibration_time":"Kalibrierungszeit","carbon_monoxide":"Kohlenmonoxid","child_lock":"Kindersicherung","co2":"Kohlendioxid","color_hs":"Farbe Hs","color_temp":"Farbtemperatur","color_temp_startup":"Start Farbtemperatur","color_xy":"Farbe Xy","consumer_connected":"Verbraucher angeschlossen","contact":"Kontakt","current":"Aktuell","current_heating_setpoint":"Aktuelle Solltemperatur","current_level_startup":"Aktuelles Startlevel","device_temperature":"Gerätetemperatur","energy":"Energie","friday_schedule":"Plan Freitag","heating":"Heizen","holidays_schedule":"Plan Urlaubszeit","humidity":"Feuchtigkeit","illuminance":"Beleuchtungsstärke","level_config":"Level Konfiguration","local_temperature":"Lokale Temperatur","local_temperature_calibration":"Kalibrierung lokale Temperatur","monday_schedule":"Plan Montag","motion":"Bewegung","motion_direction":"Bewegungsrichtung","motion_speed":"Bewegungsgeschwindigkeit","motor_speed":"Motorgeschwindigkeit","moving":"Bewegung","occupancy":"Belegung","on_off_transition_time":"Ein Aus Übergangszeit","options":"Optionen","position":"Position","power":"Leistung","presence":"Anwesenheit","preset":"Vorgabe","pressure":"Luftdruck","programming_mode":"Programmier-Modus","program_weekday":"Programm-Wochentag","program_saturday":"Programm-Samstag","program_sunday":"Programm-Sonntag","saturday_schedule":"Plan Samstag","smoke":"Rauch","smoke_density":"Stärke der Rauchentwicklung","soil_moisture":"Bodenfeuchtigkeit","state":"Status","state_l1":"Status L 1","state_l2":"Status L 2","state_l3":"Status L 3","state_l4":"Status L 4","sunday_schedule":"Plan Sonntag","system_mode":"System Mode","tamper":"Manipulation","temperature":"Temperatur","thursday_schedule":"Plan Donnerstag","tuesday_schedule":"Plan Dienstag","valve_detection":"Ventil Erkennung","voltage":"Volt","water_leak":"Wasserleck","week":"Woche","wednesday_schedule":"Plan Mittwoch","window_detection":"Fenster Erkennung","window":"Fenster","workdays_schedule":"Plan Werktags"},"featureDescriptions":{"Auto off after specific time.":"Automatische Abschaltung nach bestimmter Zeit.","Away mode":"Abwesenheitsmodus","Away preset days":"Abwesenheit in Tagen","Away preset temperature":"Definierte Temperatur für den Abwesenheitsmodus","Boost Heating: press and hold \\"+\\" for 3 seconds, the device will enter the boost heating mode, and the ▷╵◁ will flash. The countdown will be displayed in the APP":"Boost: Halten Sie \\"+ \\" 3 Sekunden lang gedrückt, das Ventil wechselt in den Boost-Modus und ▷╵◁ beginnt zu blinken. Die Dauer wird in der Anwendung angezeigt. ","Boost time":"Boost Zeit","Boost Time Setting 100 sec - 900 sec, (default = 300 sec)":"Boost-Zeiteinstellung 100 Sek. - 900 Sek., (Standard = 300 Sek.)","Brightness of this light":"Helligkeit des Leuchtmittels","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Kalibriert den Luftfeuchtewert (absoluter Offset), wird beim nächsten Bericht des Gerätes wirksam.","Calibrates the illuminance value (percentual offset), takes into effect on next report of device.":"Kalibriert den Helligkeitswert (prozentualer Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the illuminance_lux value (percentual offset), takes into effect on next report of device.":"Kalibriert den Helligkeitswert (LUX) (prozentualer Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the pressure value (absolute offset), takes into effect on next report of device.":"Kalibriert den Luftdruckwert (absoluter Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Kalibriert den Temperaturwert (absoluter Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibration time":"Zeit zum Kalibrieren","Color of this light expressed as hue/saturation":"Farbe des Leuchtmittels übersetzt in hue/saturation","Color of this light in the CIE 1931 color space (x/y)":"Farbe des Leuchtmittels im CIE 1931 Farbraum (x/y)","Color temperature after cold power on of this light":"Farbtemperatur nach Trennung vom Stromnetz","Color temperature of this light":"Farbtemperatur des Leuchtmittels","Comfort temperature":"Komfort Temperatur","Controls the behaviour when the device is powered on":"Überprüft das Verhalten beim Einschalten des Device.","Countdown in minutes":"Countdown in Minuten.","Current temperature measured on the device":"Aktuelle Temperatur am Thermostat","Decoupled mode for center button":"Entkoppelter Modus für Mitteltaste","Decoupled mode for left button":"Entkoppelter Modus für linke Taste","Decoupled mode for right button":"Entkoppelter Modus für rechte Taste","direction of movement from the point of view of the radar":"Zeigt die Richtung der Bewegung aus sicht des Sensors an.","ECO mode (energy saving mode)":"Eco-Mode (Energiesparfunktion)","Eco temperature":"Öko-Temperatur","Enable/disable auto lock":"Aktivieren/Deaktivieren auto lock","Enable/disable away mode":"Aktivieren/Deaktivieren des Abwesenheitsmodus","Enables/disables physical input on the device":"Aktivieren/Deaktivieren der direkten Bedienung des Gerätes","Enables/disables window detection on the device":"Aktivieren/Deaktivieren der Fensterstatus Erkennung","Enabling prevents both relais being on at the same time":"Aktivierung schützt davor, beide Relais gleichzeitig zu aktivieren","Force the valve position":"Erzwingt die eingestellte Ventilposition","Indicates if CO (carbon monoxide) is detected":"Kohlenmonoxid entdeckt","Indicates if the battery of this device is almost empty":"Warnung, wenn Batterie schwach","Indicates if the contact is closed (= true) or open (= false)":"Kontakt geschlossen (= true) oder offen (= false)","Indicates whether the device detected a water leak":"Zeigt, ob ein Wasseraustritt erkannt wurde","Indicates whether the device detected occupancy":"Ermittelt, ob eine Bewegung erkannt wurde","Indicates whether the device detected presence":"Zeigt, ob eine Anwesenheit erkannt wurde.","Indicates whether the device detected smoke":"Raucherkennung","Indicates whether the device is tampered":"Zeigt, ob das Gerät manipuliert wurde","Instantaneous measured electrical current":"Aktuell gemessener Ampere-Bedarf","Instantaneous measured power":"Momentan gemessene Leistung","Link quality (signal strength)":"Link Qualität (Signalstärke)","Maximum temperature":"Maximale Temperatur","Measured electrical potential value":"Gemessene Stromstärke in Volt ankommend","Measured illuminance in lux":"Gemessene Helligkeit in Lux","Measured relative humidity":"Messung der relativen Luftfeuchtigkeit","Measured temperature value":"Gemessene Temperatur","Minimum temperature":"Minimale Temperatur","Mode of this device (similar to system_mode)":"Modus des Thermostats (identisch zu system_mode)","Mode of this device":"Modus des Thermostats","Motor speed":"Motor Geschwindigkeit","moving inside the range of the sensor":"Zeigt, ob eine Bewegung innerhalb des Radar-Radius erkannt wurde.","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Luftfeuchtigkeit, Änderung wirksam beim nächsten Geräte-Report.","Number of digits after decimal point for illuminance, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Helligkeit, Änderung wirksam beim nächsten Geräte-Report.","Number of digits after decimal point for illuminance_lux, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Helligkeit in Lux, Änderung wirksam beim nächsten Geräte-Report.","Number of digits after decimal point for pressure, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Luftdruck, Änderung wirksam beim nächsten Geräte-Report.","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Temperatur, Änderung wirksam beim nächsten Geräte-Report.","Offset to be used in the local_temperature":"Kallibrierung der Raumtemperatur am Thermostat","On/off state of the switch":"On/off Status des Schalters","On/off state of this light":"On/off Status des Leuchtmittels","Position of this cover":"Position des Vorhangs","Position":"Position","presets for sensivity for presence and movement":"Standardeinstellungen für die Sensibilität des Radar-Sensors (Bewegung und Anwesenheit).","PROGRAMMING MODE ⏱ - In this mode, the device executes a preset week programming temperature time and temperature. ":"PROGRAMMIERMODUS ⏱ - In diesem Modus verwendet das Ventil einen festgelegten Stunden- und Temperaturplan pro Woche.","Raw measured illuminance":"Gemessener Helligkeits-Rohwert","Recover state after power outage":"Eingestellter Zustand nach Stromabfall","Remaining battery in %":"Aktueller Batteriestatus in %","Sends a message the last time occupancy was detected. When setting this for example to [10, 60] a `{\\"no_occupancy_since\\": 10}` will be send after 10 seconds and a `{\\"no_occupancy_since\\": 60}` after 60 seconds.":"Sendet eine Nachricht, wann das letzte Mal eine Belegung erkannt wurde. Wenn dies beispielsweise auf [10, 60] eingestellt wird, wird nach 10 Sekunden ein `{\\"no_occupancy_since\\": 10}` gesendet und nach 60 Sekunden ein `{\\"no_occupancy_since\\": 60}`.","Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).":"Auf \\"false\\" gesetzt, um die Legacy-Integration zu deaktivieren (dringend empfohlen), ändert die Struktur der veröffentlichten payloads (Standardwert \\"true\\"). ","sensitivity of the radar":"Einstellen der Radar-Sensibilität","Side of the cube":"Würfelseite","Speed of movement":"Zeigt die Geschwindigkeit der Bewegung an.","Sum of consumed energy":"Seit Anfang verbrauchter Strom in kW/h","Temperature setpoint":"Temperatur Sollwert","The measured atmospheric pressure":"Gemessner Luftdruck","Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).":"Zeit in Sekunden, nach der die Belegung zurück gesetzt wird, nachdem sie erkannt wurde (Standard 90 Sekunden).","Triggered action (e.g. a button click)":"Ausgelöstes Ereignis (z.B. ein Aktivieren eines Tasters)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Startet einen Effekt des Leuchtmittels (z.B. Blinken für ein paar Sekunden)","Voltage of the battery in millivolts":"Ladung der Batterie in Millivolt","Week format user for schedule":"Aufteilung der Wochentage für Heizprogramme","Window status closed or open ":"Zustand des Fensters (geöffnet oder geschlossen)"},"groups":{"add_to_group":"Zur Gruppe hinzufügen","create_group":"Gruppe erstellen","group_id":"Gruppen ID","group_name":"Gruppen Name","group_members":"Gruppen Mitglieder","group_scenes":"Gruppen Szenen","new_group_id":"Neue Gruppen-ID","new_group_id_placeholder":"Wenn benötigt, Gruppen-ID festlegen.","new_group_name":"Neuer Gruppenname","new_group_name_placeholder":"Beispiel: my_bedroom_lights","remove_group":"Gruppe entfernen"},"logs":{"empty_logs_message":"Nichts anzuzeigen","filter_by_text":"Filtere nach","show_only":"Log-Typ"},"map":{"help_coordinator_link_description":"Durchgehende Linien führen zum Coordinator","help_end_device_description":"Grün bedeutet: Endgerät","help_is_coordinator":"Koordinator","help_lqi_description":"Link Qualität zwischen 0 - 255 (höher ist besser), Angaben mit / bedeuten verschiedene Link-Typen.","help_router_description":"Blau bedeutet: Router","help_router_links_description":"Gestrichelte Linien führen zu Routern","hide":"Zum Verbergen klicken","load":"Karte laden","loading":"Abhängig von der Größe des Netzwerks kann es zwischen 10 Sekunden und 2 Minuten dauern."},"navbar":{"all":"Alle","dashboard":"Dashboard","devices":"Geräte","disable_join":"Anlernen deaktivieren","extensions":"Erweiterungen","groups":"Gruppen","logs":"Logs","map":"Karte","ota":"OTA","permit_join":"Anlernen aktivieren","restart":"Neustart","settings":"Einstellungen","toggle_dropdown":"Dropdown Auswahl","touchlink":"Touchlink"},"ota":{"check":"Prüfe auf neue Updates","check_all":"Alle überprüfen","empty_ota_message":"Keine OTA-fähigen Geräte vorhanden","remaining_time":"verbleibende Zeit {{- remaining}}","update":"Update Geräte Firmware"},"scene":{"add":"Hinzufügen","remove_all":"Alle entfernen","scene_id":"Szenen ID","scene_name":"Szenen Name","store":"Speichern","recall":"Abrufen","remove":"Entfernen","select_scene":"Szene auswählen"},"settings":{"about":"Über","advanced":"Erweitert","availability":"Erreichbar","blocklist":"Geblockte Geräte","coordinator_revision":"Coordinator Version","coordinator_type":"Coordinator Typ","donate":"Spende","donation_text":["Hallo, %username%, hier kannst Du unsere harte Arbeit unterstützen.","Ein netter, begleitender Kommentar würde uns ebenso freuen. ;)"],"download_state":"Download Status","experimental":"Experimentell","external_converters":"Externe Konverter","frontend":"Frontend","frontend_version":"Frontend Version","main":"Main","mqtt":"MQTT","ota":"OTA updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Zigbee2MQTT neustarten","serial":"Serial","settings":"Einstellungen","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT Version","translate":"Übersetzen"},"settingsSchemaTranslations":{"advanced_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","advanced_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","advanced_availability_blocklist__title":"Aktuelle Blockliste","advanced_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","advanced_availability_passlist__title":"Aktuelle passlist","advanced_availability_whitelist__title":"Aktuelle whitelist (veraltet, nutze passlist)","advanced_ext_pan_id__description":"Zigbee erweiterte PAN ID, Änderung benötigt neues Anlernen aller Geräte!","advanced_ext_pan_id__title":"Erweiterte Pan ID","advanced_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","advanced_log_output__title":"Log Ausgabe","advanced_log_syslog-title":"System-Log","advanced-title":"Erweitert","availability_active-description":"Optionen für aktive Geräte (Router/mit Netzanschluss)","availability_active-title":"Aktiv","availability_passive-description":"Optionen für passive Geräte (Batteriebetrieben)","availability_passive-title":"Passiv","availability-title":"Verfügbarkeit (erweitert)","blocklist__description":"Blockt Geräte vom Netzwerk (anhand der ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimentell","external_converters__description":"Festlegen von eigenen, externen Konvertern z. B. zum Einbinden eigener Zigbee-Devices","external_converters__title":"Externe Konverter","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA updates","passlist__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in der Passlist sind, werden vom Netzwerk entfernt!","passlist__title":"Passlist","root__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in der Passlist sind, werden vom Netzwerk entfernt!","root_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","root_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","root_availability_blocklist__title":"Aktuelle Blockliste","root_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","root_availability_passlist__title":"Aktuelle passlist","root_availability_whitelist__title":"Aktuelle whitelist (veraltet, nutze passlist)","root_debounce_ignore__description":"Schützt einzelne payload Werte von spezifizierten payload Eigenschaften vor Überschreibung während der Entprellzeit","root_debounce_ignore__title":"Ignoriere doppelte Meldungen","root_ext_pan_id__description":"Zigbee erweiterte PAN ID, Änderung benötigt neues Anlernen aller Geräte!","root_ext_pan_id__title":"Erweiterte PAN ID","root_filtered_attributes__description":"Filter attribute vom veröffentlichten payload.","root_filtered_attributes__title":"Gefilterte, veröffentliche Attibute","root_filtered_optimistic__description":"Filtern von Attributen bei \\"optimistic publish payload\\" bei abruf oder setzen. (Diese Funktion ist abgeschaltet, wenn \\"optimistic\\" deaktiviert ist.).","root_filtered_optimistic__title":"Filtered optimistic attributes","root_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","root_log_output__title":"Log Ausgabe","root_log_syslog-title":"System-Log","root-title":"Seriell","root__title":"Passlist","serial-title":"Seriell"},"touchlink":{"detected_devices_message":" {{count}} Touchlink Geräte entdeckt.","rescan":"Scan wiederholen","scan":"Scannen"},"values":{"Clear":"Inaktiv","clear":"nicht erkannt","Closed":"Geschlossen","closed":"Geschlossen","empty_string":"String ohne Inhalt","fall":"Fallen","false":"Nein","leaking":"Feuchtigkeit entdeckt","not_supported":"nicht unterstützt","null":"Null","Occupied":"Aktiv","occupied":"Aktiv","Open":"Offen","open":"offen","shake":"geschüttelt","slide":"schieben","supported":"unterstützt","tampered":"manipuliert","tap":"getippt","true":"Ja","wakeup":"aufgeweckt"},"zigbee":{"actions":"Aktionen","attribute":"Attribute","battery":"Batterie","block_join":"Blockieren vom Anlernen","cluster":"Cluster","dc_source":"Gleichstromquelle","description":"Beschreibung","device":"Gerät","device_type":"Geräte Typ","endpoint":"Endpunkt","firmware_build_date":"Firmware Datum","firmware_version":"Firmware Version","force_remove":"Erzwinge entfernen","friendly_name":"Gerätename","ieee_address":"IEEE Addresse","input_clusters":"Eingabe Cluster","interview_completed":"Interview erfolgreich","interview_failed":"Interview fehlgeschlagen","interviewing":"Interviewen","last_seen":"Zuletzt gesehen","lqi":"LQI","mains_single_phase":"Netz (einphasig)","manufacturer":"Hersteller","max_rep_interval":"Maximaler Report Intervall","min_rep_change":"Minimale Report Änderungen","min_rep_interval":"Minimaler Report Intervall","model":"Modell","network_address":"Netzwerk Adresse","none":"Nichts","output_clusters":"Ausgabe Cluster","pic":"Bild","power":"Spannungsversorgung","power_level":"Leistungspegel","reconfigure":"Neu konfigurieren","remove_device":"Gerät entfernen","rename_device":"Gerät umbenennen","select_attribute":"Wähle Attribut","select_cluster":"Wähle Cluster","support_status":"Unterstützungsstatus","unsupported":"Nicht unterstützt","update_Home_assistant_entity_id":"Update Home Assistant System ID","updating_firmware":"Firmware aktualisieren","zigbee_manufacturer":"Zigbee Hersteller","zigbee_model":"Zigbee Modell"}}');
4942
+ const locales_de_namespaceObject = JSON.parse('{"common":{"action":"Aktion","actions":"Aktionen","apply":"Anwenden","attribute":"Attribute","bind":"verbinden","check_all":"Alle prüfen","clear":"Löschen","close":"Schliessen","cluster":"Cluster","clusters":"Cluster","confirmation":"Bestätigen","delete":"Löschen","destination":"Ziel","destination_endpoint":"Zielendpunkt","devices":"Geräte","dialog_confirmation_prompt":"Bist Du sicher?","disable":"Abschalten","enter_search_criteria":"Suchwort","groups":"Gruppen","loading":"Laden...","none":"Nichts","ok":"ok","read":"Lesen","save":"Speichern","select_device":"Wähle Gerät","select_endpoint":"Wähle Endpunkt","source_endpoint":"Quellen Endpunkt","the_only_endpoint":"Der einzige Endpunkt","unbind":"trennen","unknown":"Unbekannt","write":"Schreiben"},"devicePage":{"about":"Über","bind":"Bindungen","clusters":"Cluster","dev_console":"Dev Konsole","exposes":"Details","reporting":"Berichten","scene":"Szene","settings":"Einstellungen","settings_specific":"Einstellungen (spezifisch)","state":"Status","unknown_device":"unbekanntes Gerät"},"exposes":{"action":"Aktion","auto_off":"Automatisch abschalten","away_mode":"Abwesenheitsmodus","away_preset_days":"Abwesenheitszeit (in Tagen)","away_preset_temperature":"Temperatur bei Abwesenheit","backlight_mode":"Rücklicht Modus","battery":"Batterie","battery_low":"Batterie schwach","boost_time":"Boost Dauer","brightness":"Helligkeit","calibration":"Kalibrierung","carbon_monoxide":"Kohlenmonoxid","co2":"Kohlendioxid","color_hs":"Farbe hue/saturation","color_temp":"Farbtemperatur","color_temp_startup":"Farbtemperatur nach Einschalten","color_xy":"Farbe (XY)","comfort_temperature":"Komfort Temperatur","consumer_connected":"Verbraucher angeschlossen","consumer_overload":"Verbraucherüberlastung","contact":"Kontakt","current":"Aktuell","current_heating_setpoint":"Aktuelle Solltemperatur","device_temperature":"Gerätetemperatur","eco_temperature":"Ökologische Temperatur","effect":"Effekt","empty_exposes_definition":"Exposes nicht definiert","energy":"Verbrauch","force":"Erzwungene Ventilposition","humidity":"Luftfeuchtigkeit","illuminance":"Beleuchtungsstärke","illuminance_lux":"Beleuchtungsstärke in Lux","led_disabled_night":"LED Nachts ausschalten","linkquality":"Linkqualität","local_temperature":"Raumtemperatur","local_temperature_calibration":"Kalibrierung Raumtemperatur","max_temperature":"Maximale Temperatur","min_temperature":"Minimale Temperatur","motion":"Bewegung","motion_direction":"Bewegungsrichtung","motor_reversal":"Richtung umkehren","motion_speed":"Bewegungsgeschwindigkeit","moving":"Bewegung","occupancy":"Belegung","operation_mode":"Betriebsmodus","options":"Optionen","position":"Position","power":"Leistung","power_on_behavior":"Zustand nach Anschalten","power_outage_memory":"Zustand nach Stromausfall","presence":"Anwesenheit","preset":"Voreinstellung","Pressure":"Luftdruck","sensivity":"Empfindlichkeit","smoke":"Rauch","state":"Status","strength":"Stärke","system_mode":"Heizmodus","tamper":"Manipulation","temperature":"Temperatur","voltage":"Spannung","water_leak":"Wasserleck","week":"Woche"},"extensions":{"extension_name_propmt":"Name der neuen Erweiterung","select_extension_to_edit":"Wähle Erweiterung zum Bearbeiten","create_new_extension":"Neue Erweiterung erstellen"},"featureNames":{"action":"Aktion","action_angle":"Bewegung Winkel","action_from_side":"Bewegung von Seite","action_side":"Aktive Seite","action_to_side":"Bewegung zur Seite","alarm":"Alarm","angle_x":"Ausrichtung X","angle_y":"Ausrichtung Y","angle_z":"Ausrichtung Z","auto_lock":"Automatische Sperre","away_mode":"Abwesenheitsmodus","brightness":"Helligkeit","calibration_time":"Kalibrierungszeit","carbon_monoxide":"Kohlenmonoxid","child_lock":"Kindersicherung","co2":"Kohlendioxid","color_hs":"Farbe Hs","color_temp":"Farbtemperatur","color_temp_startup":"Start Farbtemperatur","color_xy":"Farbe Xy","consumer_connected":"Verbraucher angeschlossen","contact":"Kontakt","current":"Aktuell","current_heating_setpoint":"Aktuelle Solltemperatur","current_level_startup":"Aktuelles Startlevel","device_temperature":"Gerätetemperatur","energy":"Energie","friday_schedule":"Plan Freitag","heating":"Heizen","holidays_schedule":"Plan Urlaubszeit","humidity":"Feuchtigkeit","illuminance":"Beleuchtungsstärke","level_config":"Level Konfiguration","local_temperature":"Lokale Temperatur","local_temperature_calibration":"Kalibrierung lokale Temperatur","monday_schedule":"Plan Montag","motion":"Bewegung","motion_direction":"Bewegungsrichtung","motion_speed":"Bewegungsgeschwindigkeit","motor_speed":"Motorgeschwindigkeit","moving":"Bewegung","occupancy":"Belegung","on_off_transition_time":"Ein/Aus Übergangszeit","options":"Optionen","position":"Position","power":"Leistung","presence":"Anwesenheit","preset":"Vorgabe","pressure":"Luftdruck","program_saturday":"Programm Samstag","program_sunday":"Programm Sonntag","program_weekday":"Programm Wochentag","programming_mode":"Programmier-Modus","saturday_schedule":"Plan Samstag","smoke":"Rauch","smoke_density":"Stärke der Rauchentwicklung","soil_moisture":"Bodenfeuchtigkeit","state":"Status","state_l1":"Status L 1","state_l2":"Status L 2","state_l3":"Status L 3","state_l4":"Status L 4","sunday_schedule":"Plan Sonntag","system_mode":"System Modus","tamper":"Manipulation","temperature":"Temperatur","thursday_schedule":"Plan Donnerstag","tuesday_schedule":"Plan Dienstag","valve_detection":"Ventil Erkennung","voltage":"Spannung","water_leak":"Wasserleck","week":"Woche","wednesday_schedule":"Plan Mittwoch","window_detection":"Fenster Erkennung","window":"Fenster","workdays_schedule":"Plan Werktags"},"featureDescriptions":{"Auto off after specific time.":"Automatische Abschaltung nach bestimmter Zeit.","Away mode":"Abwesenheitsmodus","Away preset days":"Abwesenheit in Tagen","Away preset temperature":"Definierte Temperatur für den Abwesenheitsmodus","Boost Heating: press and hold \\"+\\" for 3 seconds, the device will enter the boost heating mode, and the ▷╵◁ will flash. The countdown will be displayed in the APP":"Boost: Halten Sie \\"+ \\" 3 Sekunden lang gedrückt, das Ventil wechselt in den Boost-Modus und ▷╵◁ beginnt zu blinken. Die Dauer wird in der Anwendung angezeigt. ","Boost time":"Boost Zeit","Boost Time Setting 100 sec - 900 sec, (default = 300 sec)":"Boost-Zeiteinstellung 100 Sek. - 900 Sek., (Standard = 300 Sek.)","Brightness of this light":"Helligkeit des Leuchtmittels","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Kalibriert den Luftfeuchtewert (absoluter Offset), wird beim nächsten Bericht des Gerätes wirksam.","Calibrates the illuminance value (percentual offset), takes into effect on next report of device.":"Kalibriert den Helligkeitswert (prozentualer Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the illuminance_lux value (percentual offset), takes into effect on next report of device.":"Kalibriert den Helligkeitswert (LUX) (prozentualer Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the pressure value (absolute offset), takes into effect on next report of device.":"Kalibriert den Luftdruckwert (absoluter Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Kalibriert den Temperaturwert (absoluter Offset), wird beim nächsten Bericht des Geräts wirksam.","Calibration time":"Zeit zum Kalibrieren","Color of this light expressed as hue/saturation":"Farbe des Leuchtmittels übersetzt in hue/saturation","Color of this light in the CIE 1931 color space (x/y)":"Farbe des Leuchtmittels im CIE 1931 Farbraum (x/y)","Color temperature after cold power on of this light":"Farbtemperatur nach Trennung vom Stromnetz","Color temperature of this light":"Farbtemperatur des Leuchtmittels","Comfort temperature":"Komfort Temperatur","Controls the behaviour when the device is powered on":"Überprüft das Verhalten beim Einschalten des Geräts.","Countdown in minutes":"Countdown in Minuten.","Current temperature measured on the device":"Aktuelle Temperatur am Thermostat","Decoupled mode for center button":"Entkoppelter Modus für Mitteltaste","Decoupled mode for left button":"Entkoppelter Modus für linke Taste","Decoupled mode for right button":"Entkoppelter Modus für rechte Taste","direction of movement from the point of view of the radar":"Zeigt die Richtung der Bewegung aus sicht des Sensors an.","ECO mode (energy saving mode)":"Eco-Mode (Energiesparfunktion)","Eco temperature":"Öko-Temperatur","Enable/disable auto lock":"Aktivieren/Deaktivieren Auto Lock","Enable/disable away mode":"Aktivieren/Deaktivieren des Abwesenheitsmodus","Enables/disables physical input on the device":"Aktivieren/Deaktivieren der direkten Bedienung des Gerätes","Enables/disables window detection on the device":"Aktivieren/Deaktivieren der Fensterstatus Erkennung","Enabling prevents both relais being on at the same time":"Aktivierung schützt davor, beide Relais gleichzeitig zu aktivieren","Force the valve position":"Erzwingt die eingestellte Ventilposition","Indicates if CO (carbon monoxide) is detected":"Kohlenmonoxid entdeckt","Indicates if the battery of this device is almost empty":"Warnung, wenn Batterie schwach","Indicates if the contact is closed (= true) or open (= false)":"Kontakt geschlossen (= true) oder offen (= false)","Indicates whether the device detected a water leak":"Zeigt, ob ein Wasseraustritt erkannt wurde","Indicates whether the device detected occupancy":"Ermittelt, ob eine Bewegung erkannt wurde","Indicates whether the device detected presence":"Zeigt, ob eine Anwesenheit erkannt wurde.","Indicates whether the device detected smoke":"Raucherkennung","Indicates whether the device is tampered":"Zeigt, ob das Gerät manipuliert wurde","Instantaneous measured electrical current":"Aktuell gemessener Ampere-Bedarf","Instantaneous measured power":"Momentan gemessene Leistung","Link quality (signal strength)":"Link Qualität (Signalstärke)","Maximum temperature":"Maximale Temperatur","Measured electrical potential value":"Gemessene Stromstärke in Volt ankommend","Measured illuminance in lux":"Gemessene Helligkeit in Lux","Measured relative humidity":"Messung der relativen Luftfeuchtigkeit","Measured temperature value":"Gemessene Temperatur","Minimum temperature":"Minimale Temperatur","Mode of this device (similar to system_mode)":"Modus des Thermostats (identisch zu system_mode)","Mode of this device":"Modus des Thermostats","Motor speed":"Motor Geschwindigkeit","moving inside the range of the sensor":"Zeigt, ob eine Bewegung innerhalb des Radar-Radius erkannt wurde.","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Luftfeuchtigkeit, wird beim nächsten Bericht des Geräts wirksam.","Number of digits after decimal point for illuminance, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Helligkeit, wird beim nächsten Bericht des Geräts wirksam.","Number of digits after decimal point for illuminance_lux, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Helligkeit in Lux, wird beim nächsten Bericht des Geräts wirksam.","Number of digits after decimal point for pressure, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Luftdruck, wird beim nächsten Bericht des Geräts wirksam.","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Anzahl der Nachkomma-Stellen für Temperatur, wird beim nächsten Bericht des Geräts wirksam.","Offset to be used in the local_temperature":"Kallibrierung der Raumtemperatur am Thermostat","On/off state of the switch":"On/off Status des Schalters","On/off state of this light":"On/off Status des Leuchtmittels","Position of this cover":"Position des Vorhangs","Position":"Position","presets for sensivity for presence and movement":"Standardeinstellungen für die Sensibilität des Radar-Sensors (Bewegung und Anwesenheit).","PROGRAMMING MODE ⏱ - In this mode, the device executes a preset week programming temperature time and temperature. ":"PROGRAMMIERMODUS ⏱ - In diesem Modus verwendet das Ventil einen festgelegten Stunden- und Temperaturplan pro Woche.","Raw measured illuminance":"Gemessener Helligkeits-Rohwert","Recover state after power outage":"Eingestellter Zustand nach Stromausfall","Remaining battery in %":"Aktueller Batteriestatus in %","Sends a message the last time occupancy was detected. When setting this for example to [10, 60] a `{\\"no_occupancy_since\\": 10}` will be send after 10 seconds and a `{\\"no_occupancy_since\\": 60}` after 60 seconds.":"Sendet eine Nachricht, wann das letzte Mal eine Belegung erkannt wurde. Wenn dies beispielsweise auf [10, 60] eingestellt wird, wird nach 10 Sekunden ein `{\\"no_occupancy_since\\": 10}` gesendet und nach 60 Sekunden ein `{\\"no_occupancy_since\\": 60}`.","Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).":"Auf \\"false\\" gesetzt, um die Legacy-Integration zu deaktivieren (dringend empfohlen), ändert die Struktur der veröffentlichten payloads (Standardwert \\"true\\"). ","sensitivity of the radar":"Einstellen der Radar-Sensibilität","Side of the cube":"Würfelseite","Speed of movement":"Zeigt die Geschwindigkeit der Bewegung an.","Sum of consumed energy":"Seit Anfang verbrauchter Strom in kW/h","Temperature setpoint":"Temperatur Sollwert","The measured atmospheric pressure":"Gemessner Luftdruck","Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).":"Zeit in Sekunden, nach der die Belegung zurück gesetzt wird, nachdem sie erkannt wurde (Standard 90 Sekunden).","Triggered action (e.g. a button click)":"Ausgelöstes Ereignis (z.B. ein Aktivieren eines Tasters)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Startet einen Effekt des Leuchtmittels (z.B. Blinken für ein paar Sekunden)","Voltage of the battery in millivolts":"Ladung der Batterie in Millivolt","Week format user for schedule":"Aufteilung der Wochentage für Heizprogramme","Window status closed or open ":"Zustand des Fensters (geöffnet oder geschlossen)"},"groups":{"add_to_group":"Zur Gruppe hinzufügen","create_group":"Gruppe erstellen","group_id":"Gruppen ID","group_name":"Gruppen Name","group_members":"Gruppen Mitglieder","group_scenes":"Gruppen Szenen","new_group_id":"Neue Gruppen-ID","new_group_id_placeholder":"Wenn benötigt, Gruppen-ID festlegen.","new_group_name":"Neuer Gruppenname","new_group_name_placeholder":"Beispiel: my_bedroom_lights","remove_group":"Gruppe entfernen"},"logs":{"empty_logs_message":"Nichts anzuzeigen","filter_by_text":"Filtere nach","show_only":"Log-Typ"},"map":{"help_coordinator_link_description":"Durchgehende Linien führen zum Coordinator","help_end_device_description":"Grün bedeutet: Endgerät","help_is_coordinator":"Koordinator","help_lqi_description":"Link Qualität zwischen 0 - 255 (höher ist besser), Angaben mit / bedeuten verschiedene Link-Typen.","help_router_description":"Blau bedeutet: Router","help_router_links_description":"Gestrichelte Linien führen zu Routern","hide":"Zum Verbergen klicken","load":"Karte laden","loading":"Abhängig von der Größe des Netzwerks kann es zwischen 10 Sekunden und 2 Minuten dauern."},"navbar":{"all":"Alle","dashboard":"Dashboard","devices":"Geräte","disable_join":"Anlernen deaktivieren","extensions":"Erweiterungen","groups":"Gruppen","logs":"Logs","map":"Karte","ota":"OTA","permit_join":"Anlernen aktivieren","restart":"Neustart","settings":"Einstellungen","toggle_dropdown":"Dropdown Auswahl","touchlink":"Touchlink"},"ota":{"check":"Prüfe auf neue Updates","check_all":"Alle überprüfen","empty_ota_message":"Keine OTA-fähigen Geräte vorhanden","remaining_time":"verbleibende Zeit {{- remaining}}","update":"Update Geräte Firmware"},"scene":{"add":"Hinzufügen","remove_all":"Alle entfernen","scene_id":"Szenen ID","scene_name":"Szenen Name","store":"Speichern","recall":"Abrufen","remove":"Entfernen","select_scene":"Szene auswählen"},"settings":{"about":"Über","advanced":"Erweitert","availability":"Erreichbar","blocklist":"Geblockte Geräte","coordinator_revision":"Coordinator Version","coordinator_type":"Coordinator Typ","donate":"Spende","donation_text":["Hallo, %username%, hier kannst Du unsere harte Arbeit unterstützen.","Ein netter, begleitender Kommentar würde uns ebenso freuen. ;)"],"download_state":"Download Status","experimental":"Experimentell","external_converters":"Externe Konverter","frontend":"Frontend","frontend_version":"Frontend Version","main":"Hauptseite","mqtt":"MQTT","ota":"OTA Updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Zigbee2MQTT neustarten","serial":"Seriell","settings":"Einstellungen","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT Version","translate":"Übersetzen","stats":"Statistiken"},"settingsSchemaTranslations":{"advanced_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","advanced_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","advanced_availability_blocklist__title":"Aktuelle Blockliste","advanced_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","advanced_availability_passlist__title":"Aktuelle Passlist","advanced_availability_whitelist__title":"Aktuelle Whitelist (veraltet, nutze Passlist)","advanced_ext_pan_id__description":"Zigbee erweiterte PAN ID, Änderung benötigt neues Anlernen aller Geräte!","advanced_ext_pan_id__title":"Erweiterte Pan ID","advanced_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","advanced_log_output__title":"Log Ausgabe","advanced_log_syslog-title":"System-Log","advanced-title":"Erweitert","availability_active-description":"Optionen für aktive Geräte (Router/mit Netzanschluss)","availability_active-title":"Aktiv","availability_passive-description":"Optionen für passive Geräte (Batteriebetrieben)","availability_passive-title":"Passiv","availability-title":"Verfügbarkeit (erweitert)","blocklist__description":"Blockt Geräte vom Netzwerk (anhand der ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimentell","external_converters__description":"Festlegen von eigenen, externen Konvertern z. B. zum Einbinden eigener Zigbee-Devices","external_converters__title":"Externe Konverter","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA Updates","passlist__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in der Passlist sind, werden vom Netzwerk entfernt!","passlist__title":"Passlist","root__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in der Passlist sind, werden vom Netzwerk entfernt!","root_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","root_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","root_availability_blocklist__title":"Aktuelle Blockliste","root_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","root_availability_passlist__title":"Aktuelle Passlist","root_availability_whitelist__title":"Aktuelle Whitelist (veraltet, nutze Passlist)","root_debounce_ignore__description":"Schützt einzelne Payload Werte von spezifizierten Payload Eigenschaften vor Überschreibung während der Entprellzeit","root_debounce_ignore__title":"Ignoriere doppelte Meldungen","root_ext_pan_id__description":"Zigbee erweiterte PAN ID, Änderung benötigt neues Anlernen aller Geräte!","root_ext_pan_id__title":"Erweiterte PAN ID","root_filtered_attributes__description":"Filter Attribute vom veröffentlichten Payload.","root_filtered_attributes__title":"Gefilterte, veröffentliche Attibute","root_filtered_optimistic__description":"Filtern von Attributen bei \\"optimistic publish payload\\" bei Abruf oder Setzen. (Diese Funktion ist abgeschaltet, wenn \\"optimistic\\" deaktiviert ist.).","root_filtered_optimistic__title":"Gefilterte, optimistische Attibute","root_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","root_log_output__title":"Log Ausgabe","root_log_syslog-title":"System-Log","root-title":"Seriell","root__title":"Passlist","serial-title":"Seriell"},"stats":{"EndDevice":"Endgerät","Router":"Router","byType":"nach Typ","byPowerSource":"nach Stromquelle","byVendor":"nach Hersteller","byModel":"nach Modell","total":"Total"},"touchlink":{"detected_devices_message":" {{count}} Touchlink Geräte entdeckt.","rescan":"Scan wiederholen","scan":"Scannen"},"values":{"Clear":"Inaktiv","clear":"inaktiv","Closed":"Geschlossen","closed":"geschlossen","empty_string":"String ohne Inhalt","fall":"Fallend","false":"Falsch","leaking":"Feuchtigkeit entdeckt","not_supported":"nicht unterstützt","null":"Null","Occupied":"Aktiv","occupied":"aktiv","Open":"Offen","open":"offen","shake":"geschüttelt","slide":"schieben","supported":"unterstützt","tampered":"manipuliert","tap":"getippt","true":"Wahr","wakeup":"aufgeweckt"},"zigbee":{"actions":"Aktionen","attribute":"Attribute","battery":"Batterie","block_join":"Blockieren vom Anlernen","cluster":"Cluster","dc_source":"Gleichstromquelle","description":"Beschreibung","device":"Gerät","device_type":"Geräte Typ","endpoint":"Endpunkt","firmware_build_date":"Firmware Datum","firmware_version":"Firmware Version","force_remove":"Erzwinge entfernen","friendly_name":"Gerätename","ieee_address":"IEEE Addresse","input_clusters":"Eingabe Cluster","interview_completed":"Interview erfolgreich","interview_failed":"Interview fehlgeschlagen","interviewing":"Interviewen","last_seen":"Zuletzt gesehen","lqi":"LQI","mains_single_phase":"Netz (einphasig)","manufacturer":"Hersteller","max_rep_interval":"Maximales Report Intervall","min_rep_change":"Minimale Report Änderungen","min_rep_interval":"Minimales Report Intervall","model":"Modell","network_address":"Netzwerk Adresse","none":"Nichts","output_clusters":"Ausgabe Cluster","pic":"Bild","power":"Spannungsversorgung","power_level":"Leistungspegel","reconfigure":"Neu konfigurieren","remove_device":"Gerät entfernen","rename_device":"Gerät umbenennen","select_attribute":"Wähle Attribut","select_cluster":"Wähle Cluster","support_status":"Unterstützungsstatus","unsupported":"Nicht unterstützt","update_Home_assistant_entity_id":"Update Home Assistant System ID","updating_firmware":"Firmware aktualisieren","zigbee_manufacturer":"Zigbee Hersteller","zigbee_model":"Zigbee Modell"}}');
4900
4943
  ;// CONCATENATED MODULE: ./src/i18n/locales/ru.json
4901
4944
  const locales_ru_namespaceObject = JSON.parse('{"common":{"action":"Действие","actions":"Действия","apply":"Применить","attribute":"Атрибут","bind":"Связать","check_all":"Выбрать все","clear":"Очистить","close":"Закрыть","cluster":"Кластер","clusters":"Кластеры","confirmation":"Запрос подтверждения","delete":"Удалить","destination":"Целевая конечная точка","devices":"Устройства","dialog_confirmation_prompt":"Вы уверены?","disable":"Отключить","enter_search_criteria":"Введите параметры поиска","groups":"Группы","loading":"Загружается...","none":"Нет","ok":"OK","read":"Считать","save":"Сохранить","select_device":"Выберите устройство","select_endpoint":"Выберите конечную точку","source_endpoint":"Исходная конечная точка","the_only_endpoint":"Единственная конечная точка","unbind":"Отвязать","unknown":"Неизвестно","write":"Записать"},"devicePage":{"about":"Об устройстве","bind":"Связь","clusters":"Кластеры","dev_console":"Консоль разработчика","exposes":"Данные","reporting":"Отчеты","scene":"Сцена","settings":"Настройки","settings_specific":"Настройки (особые)","state":"Состояние","unknown_device":"Неизвестное устройство"},"exposes":{"action":"Действие","auto_off":"Автоотключение","away_mode":"Режим отсутствия","away_preset_days":"Предустановка дней отсутствия","away_preset_temperature":"Предустановка температуры отсутствия","backlight_mode":"Режим подсветки","battery":"Батарейка","battery_low":"Батарейка разряжена","boost_time":"Время усиленной работы","brightness":"Яркость","calibration":"Калибровка","carbon_monoxide":"Угарный газ","co2":"Углекислый газ","color_hs":"Цвет (HS)","color_temp":"Цветовая температура","color_temp_startup":"Цветовая температура при старте","color_xy":"Цвет (XY)","comfort_temperature":"Комфортная температура","consumer_connected":"Потребитель подключен","consumer_overload":"Перегрузка потребителя","contact":"Контакт","current":"Ток","current_heating_setpoint":"Текущая заданная точка нагрева","device_temperature":"Температура устройства","eco_temperature":"Экономная температура","effect":"Эффект","empty_exposes_definition":"Данные отсутствуют","energy":"Энергия","force":"Принудительно","humidity":"Влажность","illuminance":"Освещенность","illuminance_lux":"Освещенность","led_disabled_night":"Ночной режим индикатора","linkquality":"Качество связи","local_temperature":"Местная температура","local_temperature_calibration":"Калибровка местной температуры","max_temperature":"Макс. температура","min_temperature":"Мин. температура","motion":"Движение","motion_direction":"Направление движения","motion_speed":"Скорость движения","motor_reversal":"Обратный ход двигателя","moving":"Перемещение","occupancy":"Занятость","operation_mode":"Режим работы","options":"Опции","position":"Позиция","power":"Питание","power_on_behavior":"Мощность при поведении","power_outage_memory":"Память при отключении питания","preset":"Предустановка","presence":"Пресутствие","pressure":"Давление","sensivity":"Чувствительность","smoke":"Дым","state":"Состояние","strength":"Сила","system_mode":"Системный режим","tamper":"Вмешательство","temperature":"Температура","voltage":"Напряжение","water_leak":"Протечка","week":"Неделя"},"extensions":{"create_new_extension":"Создать новое расширение","extension_name_propmt":"Введите имя нового расширения","select_extension_to_edit":"Выберите расширение для редактирования"},"featureNames":{"action":"Действие","action_angle":"Угол действия","action_from_side":"Действие со стороны","action_side":"Сторона действия","action_to_side":"Действие в сторону","alarm":"Тревога","angle_x":"Угол X","angle_y":"Угол Y","angle_z":"Угол Z","away_mode":"Режим отсутствия","brightness":"Яркость","calibration_time":"Время калибровки","carbon_monoxide":"Угарный газ","co2":"Углекислый газ","color_hs":"Цвет Hs","color_temp":"Цветовая температура","color_temp_startup":"Начальная цветовая температура","color_xy":"Цвет XY","consumer_connected":"Потребитель подключен","contact":"Контакт","current":"Ток","current_heating_setpoint":"Установленная температура","current_level_startup":"Установленный уровень запуска","device_temperature":"Температура прибора","energy":"Энергия","humidity":"Влажность","illuminance":"Освещенность","level_config":"Конфигурация уровня","local_temperature":"Фактическая температура","local_temperature_calibration":"Калибровка температуры","motor_speed":"Скорость двигателя","moving":"Движение","occupancy":"Занятость","on_off_transition_time":"Вкл./Выкл. время перехода","options":"Настройки","position":"Положение","preset":"Предустановка","pressure":"Давление","power":"Потребление энергии","smoke":"Дым","smoke_density":"Плотность дыма","soil_moisture":"Влажность почвы","state":"Состояние","system_mode":"Режим системы","tamper":"Вмешательство","temperature":"Температура","voltage":"Напряжение","water_leak":"Утечка воды"},"featureDescriptions":{"Auto off after specific time.":"Автоматическое выключение через определенное время","Away mode":"Режим отсутствия","Away preset days":"Предустановленные дни отсутствия","Away preset temperature":"Предустановленная температура отсутсвия","Boost time":"Время ускорения","Brightness of this light":"Яркость источника света","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Калибрует значение влажности (абсолютное смещение), вступает в силу при следующем отчете устройства.","Calibrates the illuminance value (percentual offset), takes into effect on next report of device.":"Калибрует значение освещенности (процентное смещение), вступает в силу при следующем отчете устройства.","Calibrates the illuminance_lux value (percentual offset), takes into effect on next report of device.":"Калибрует значение освещения в люксах (процентное смещение), вступает в силу при следующем отчете устройства.","Calibrates the pressure value (absolute offset), takes into effect on next report of device.":"Калибрует значение давления (абсолютное смещение), вступает в силу при следующем отчете устройства.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Калибрует значение температуры (абсолютное смещение), вступает в силу при следующем отчете устройства.","Calibration time":"Время калибровки","Color of this light expressed as hue/saturation":"Цвет источника света, выраженный как оттенок/насыщенность","Color of this light in the CIE 1931 color space (x/y)":"Цвет источника света в цветовом пространстве CIE 1931 (x/y)","Color temperature after cold power on of this light":"Цветовая температура после отключения электричества","Color temperature of this light":"Цветовая температура источника цвета","Comfort temperature":"Комфортная температура","Controls the behaviour when the device is powered on":"Управляет поведением устройства при включении","Current temperature measured on the device":"Текущая температура, измеренная на устройством","Direction of movement from the point of view of the radar":"Направление движения с точки зрения радара","Eco temperature":"Еко температура","Enable/disable auto lock":"Вкл./Выкл. автоматической блокировки","Enable/disable away mode":"Вкл./Выкл. режима отсутствия","Enables/disables physical input on the device":"Вкл./Выкл. физический ввод на устройстве","Enables/disables window detection on the device":"Вкл./Выкл. определения окон на устройстве","Enabling prevents both relais being on at the same time":"Включение предотвращает одновременное включение обоих реле","Force the valve position":"Форсировать положение клапана","Indicates if CO (carbon monoxide) is detected":"Указывает, обнаружен ли СО (оксид углерода)","Indicates if the battery of this device is almost empty":"Указывает на то, что аккумулятор этого устройства почти разряжен","Indicates if the contact is closed (= true) or open (= false)":"Указывает, закрыт ли контакт (= true) или открыт (= false)","Indicates whether the device detected a water leak":"Указывает, обнаружена ли устройством протечка воды","Indicates whether the device detected occupancy":"Указывает, обнаружило ли устройство занятость","Indicates whether the device detected presence":"Указывает, обнаружило ли устройство присутствие","Indicates whether the device detected smoke":"Указывает, обнаружило ли устройство дым","Indicates whether the device is tampered":"Указывает, обнаружило ли устройство вмешательство","Instantaneous measured electrical current":"Мгновенный измеренный электрический ток","Instantaneous measured power":"Мгновенная измеренная мощность","Link quality (signal strength)":"Качество связи (мощность сигнала)","Maximum temperature":"Максимальная температура","Measured electrical potential value":"Измеренное значение электрического потенциала","Measured illuminance in lux":"Измеренная освещенность в люксах","Measured relative humidity":"Измеренная относительная влажность","Measured temperature value":"Измеренное значение температуры","Minimum temperature":"Минимальная температура","Mode of this device":"Режим этого устройства","Mode of this device (similar to system_mode)":"Режим этого устройства (аналог system_mode)","Moving inside the range of the sensor":"Перемещение в пределах диапазона датчика","Motor speed":"Скорость двигателя","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Количество цифр после десятичной точки для влажности, вступает в силу при следующем отчете устройства.","Number of digits after decimal point for illuminance, takes into effect on next report of device.":"Количество цифр после десятичной точки для освещенности, вступает в силу при следующем отчете устройства.","Number of digits after decimal point for illuminance_lux, takes into effect on next report of device.":"Количество знаков после запятой для освещенности в люксах, вступает в силу при следующем отчете устройства.","Number of digits after decimal point for pressure, takes into effect on next report of device.":"Количество цифр после десятичной точки для давления, вступает в силу при следующем отчете устройства.","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Количество цифр после десятичной точки для температуры, вступает в силу при следующем отчете устройства.","Offset to be used in the local_temperature":"Смещение, которое будет использоваться в локальной температуре","On/off state of the switch":"Состояние Вкл./Выкл. переключателя","On/off state of this light":"Состояние Вкл./Выкл. освещения","Position":"Положение","Position of this cover":"Положение шторы (занавески)","Presets for sensivity for presence and movement":"Предустановки чувствительности к присутствию и движению","Raw measured illuminance":"Необработанная измеренная освещенность","Recover state after power outage":"Восстановить состояние после отключения электроэнергии","Remaining battery in %":"Оставшийся заряд батареи в процентах","Sends a message the last time occupancy was detected. When setting this for example to [10, 60] a `{\\"no_occupancy_since\\": 10}` will be send after 10 seconds and a `{\\"no_occupancy_since\\": 60}` after 60 seconds.":"Отправляет сообщение о последнем обнаружении занятости. При установке, например, на [10, 60], `{\\"no_occupancy_since\\": 10}` будет отправлено через 10 секунд, а `{\\"no_occupancy_since\\": 60}` через 60 секунд.","Sensitivity of the radar":"Чувствительность радара","Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).":"Установите значение false, чтобы отключить устаревшую интеграцию (настоятельно рекомендуется), изменит структуру опубликованной полезной нагрузки (по умолчанию true).","Side of the cube":"Сторона куба","Speed of movement":"Скорость движения","Sum of consumed energy":"Сумма потребленной энергии","Temperature setpoint":"Уставка температуры","The measured atmospheric pressure":"Измеренное атмосферное давление","Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).":"Время в секундах, по истечении которого занятость очищается после ее обнаружения (по умолчанию 90 секунд).","Triggered action (e.g. a button click)":"Инициированное действие (например, нажатие кнопки)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Запускает эффект на свет (например, заставляет свет мигать в течение нескольких секунд)","Voltage of the battery in millivolts":"Напряжение аккумулятора в милливольтах","Week format user for schedule":"Недельный формат пользователя для расписания"},"groups":{"add_to_group":"Добавить в группу","create_group":"Создать группу","group_id":"Идентификатор группы","group_name":"Название группы","group_members":"Члены группы","group_scenes":"Групповые сцены","new_group_id":"Новый идентификатор группы","new_group_id_placeholder":"Укажите идентификатор группы, если требуется","new_group_name":"Имя новой группы","new_group_name_placeholder":"Пример: my_bedroom_lights","remove_group":"Удалить группу"},"logs":{"empty_logs_message":"Нет информации для отображения","filter_by_text":"Фильтровать по тексту","show_only":"Только показать"},"map":{"help_coordinator_link_description":"Сплошные линии - связи с Координатором","help_end_device_description":"Зеленый означает Конечное устройство","help_is_coordinator":"это Координатор","help_lqi_description":"Качество связи в диапазоне 0 - 255 (больше - лучше). Значения с / означают несколько типов соединений","help_router_description":"Голубой означает Роутер","help_router_links_description":"Пунктирные лини - связи с Роутерами","hide":"Нажмите, чтобы скрыть","load":"Загрузить карту","loading":"В зависимости от размера вашей сети, это может занять от 10 секунд до 2 минут."},"navbar":{"all":"Все","dashboard":"Приборная панель","devices":"Устройства","disable_join":"Запретить подключения","extensions":"Расширения","groups":"Группы","logs":"Логи","map":"Карта","ota":"ОТА","permit_join":"Разрешить подключения","restart":"Перезапустить","settings":"Настройки","toggle_dropdown":"Toggle dropdown","touchlink":"Touchlink"},"ota":{"check":"Проверить на наличие новых обновлений","check_all":"Проверить все","empty_ota_message":"У вас нет устройств, поддерживающих обновление по воздуху (OTA)","remaining_time":"Оставшееся время {{- remaining}}","update":"Обновить прошивку устройства"},"scene":{"add":"Добавить","recall":"Вызвать","remove":"Удалить","remove_all":"Удалить все","scene_id":"Идентификатор сцены","scene_name":"Название сцены","select_scene":"Выбор сцены","store":"Сохранить"},"settings":{"about":"О программе","advanced":"Расширенные","availability":"Доступность","blocklist":"Черный список","coordinator_revision":"Версия координатора","coordinator_type":"Тип координатора","donate":"Пожертвования","donation_text":["Здравствуйте, %username%! Тут вы можете поблагодарить нас за нашу проделанную работу","Не стесняйтесь добавить приятные пожелания в комментариях ;)"],"download_state":"Скачать состояния","experimental":"Экспериментальные","external_converters":"Внешние конвертеры","frontend":"Веб интерфейс","frontend_version":"Версия веб интерфейса","main":"Главные","mqtt":"MQTT","ota":"Обновления по воздуху (OTA)","passlist":"Белый список","raw":"Исходные данные","restart_zigbee2mqtt":"Перезапустить Zigbee2MQTT","serial":"Последовательный интерфейс","settings":"Настройки","tools":"Инструменты","translate":"Перевод","zigbee2mqtt_version":"Версия Zigbee2MQTT"},"settingsSchemaTranslations":{"root-title":"Serial","root__description":"Позволить подключаться к сети только определенным устройствам (проверка по ieeeAddr). Обратите внимание, что все устройства, не включенные в список, будут удалены из сети!","root__title":"Белый список","root_availability_blacklist__title":"Черный список проверки доступности (устарело, используйте availability_blocklist)","root_availability_blocklist__description":"Исключить устройства из проверки на доступность","root_availability_blocklist__title":"Черный список проверки доступности","root_availability_passlist__description":"Включить проверку доступности только для определенных устройств","root_availability_passlist__title":"Белый список проверки доступности","root_availability_whitelist__title":"Белый список проверки доступности (устарело, используйте passlist)","root_debounce_ignore__description":"Позволяет публиковать указанные атрибуты без использования задержки фильтрации повторяющихся пакетов","root_debounce_ignore__title":"Игнорировать фильтр повторных пакетов","root_ext_pan_id__description":"Расширенный идентификатор сети Zigbee. Изменение потребует перепривязки всех устройств!","root_ext_pan_id__title":"Расш. идентификатор сети (Ext Pan ID)","root_filtered_attributes__description":"Позволяет отключить публикацию указанных атрибутов","root_filtered_attributes__title":"Фильтр атрибутов","root_log_output__description":"Папка, в которой будут формировать лог файлы. Оставьте поле пустым для отключения лог файлов.","root_log_output__title":"Папка для логов","root_log_syslog-title":"syslog"},"touchlink":{"detected_devices_message":"Найдено устройств, поддерживающих быстрое подключение (touchlink): {{count}}.","rescan":"Повторить поиск","scan":"Искать"},"values":{"clear":"Не обнаружено","closed":"Закрыт","empty_string":"Пустая строчка","false":"Выкл","leaking":"Утечка","not_supported":"Не поддерживается","null":"Ноль","occupied":"Занято","open":"Открыт","supported":"Поддерживается","tampered":"Сломано","true":"Вкл"},"zigbee":{"actions":"Действие","attribute":"Атрибут","battery":"Батарея","block_join":"Блокировать дальнейшие попытки подключения","cluster":"Кластер","description":"Описание","device":"Устройство","device_type":"Тип устройства","endpoint":"Конечная точка","firmware_build_date":"Дата создания прошивки","firmware_version":"Версия прошивки","force_remove":"Удалить принудительно","friendly_name":"Пользовательское имя","ieee_address":"Адрес IEEE","input_clusters":"Кластеры ввода","interview_completed":"Запрос информации об устройстве завершен","last_seen":"Последние данные","lqi":"Качество сигнала","manufacturer":"Производитель","max_rep_interval":"макс. интервал отчетов","min_rep_change":"Мин. интервал отчетов при изменении","min_rep_interval":"Мин. интервал отчетов","model":"Модель","network_address":"Сетевой адрес","none":"Ничего","output_clusters":"Кластеры вывода","pic":"Рис.","power":"Мощность","power_level":"Уровень мощности","reconfigure":"Перенастроить","remove_device":"Удалить устройство","rename_device":"Переименовать устройство","select_attribute":"Выберите атрибут","select_cluster":"Выберите кластер","support_status":"Статус поддержки","unsupported":"Не поддерживается","update_Home_assistant_entity_id":"Обновить идентификатор объекта Home Assistant","zigbee_manufacturer":"Производитель Zigbee","zigbee_model":"Модель Zigbee"}}');
4902
4945
  ;// CONCATENATED MODULE: ./src/i18n/locales/ptbr.json
@@ -4916,7 +4959,7 @@ const zh_namespaceObject = JSON.parse('{"common":{"action":"動作","actions":"
4916
4959
  ;// CONCATENATED MODULE: ./src/i18n/locales/ko.json
4917
4960
  const ko_namespaceObject = JSON.parse('{"common":{"action":"액션","actions":"액션","apply":"적용","attribute":"속성","bind":"Bind","check_all":"전체 확인","clear":"초기화","close":"닫기","cluster":"클러스터","clusters":"클러스터","confirmation":"명령 확인","delete":"삭제","destination":"Destination","devices":"장치","dialog_confirmation_prompt":"실행할까요?","disable":"해제","enter_search_criteria":"Enter search criteria","groups":"그룹","loading":"Loading...","none":"None","ok":"확인","read":"읽기","save":"저장","select_device":"장치 선택","select_endpoint":"endpoint 선택","source_endpoint":"Source endpoint","the_only_endpoint":"The only endpoint","unbind":"Unbind","write":"쓰기"},"devicePage":{"about":"자세히","bind":"Bind","clusters":"클러스터","dev_console":"Dev console","exposes":"Exposes","reporting":"보고","settings":"설정","settings_specific":"설정 (specific)","state":"상태","unknown_device":"알 수 없는 장치"},"exposes":{"action":"액션","auto_off":"Auto off","away_mode":"외출 모드","away_preset_days":"Away preset days","away_preset_temperature":"Away preset temperature","backlight_mode":"Backlight mode","battery":"배터리","battery_low":"저전압 배터리","boost_time":"Boost time","brightness":"밝기","calibration":"캘리브레이션","carbon_monoxide":"일산화탄소","color_hs":"Color (HS)","color_temp":"색 온도","color_temp_startup":"Startup color temp","color_xy":"Color (XY)","comfort_temperature":"편안한 온도","consumer_connected":"Consumer connected","consumer_overload":"Consumer overload","contact":"접촉","current":"전류","current_heating_setpoint":"Current heating setpoint","eco_temperature":"Eco temperature","effect":"Effect","empty_exposes_definition":"Empty exposes definition","energy":"에너지","force":"Force","humidity":"습도","illuminance":"조도","illuminance_lux":"조도_lux","led_disabled_night":"Led disabled night","linkquality":"Linkquality","local_temperature":"Local 온도","local_temperature_calibration":"Local 온도 보정","max_temperature":"최대 온도","min_temperature":"최저 온도","motor_reversal":"역방향 모터회전","moving":"움직임","occupancy":"감지","operation_mode":"동작 모드","options":"옵션","position":"위치","power":"전원","power_on_behavior":"Power on behavior","power_outage_memory":"Power outage memory","preset":"프리셋","pressure":"압력","sensivity":"감도","smoke":"연기","state":"상태","strength":"강도","system_mode":"시스템 모드","tamper":"분리 감지","temperature":"온도","voltage":"전압","water_leak":"누수","week":"주","device_temperature":"장치 온도"},"extensions":{"create_new_extension":"새 익스텐션 만들기","extension_name_propmt":"새 익스텐션 이름 입력","select_extension_to_edit":"바꿀 익스텐션 선택"},"featureNames":{"action":"액션","angle_x":"X 각도","angle_y":"Y 각도","angle_z":"Z 각도","brightness":"밝기","color_temp":"색 온도","color_xy":"Color Xy","contact":"접촉","humidity":"습도","illuminance":"밝기","occupancy":"감지","options":"옵션","position":"위치","pressure":"압력","soil_moisture":"토양 습도","smoke":"연기","state":"상태","temperature":"온도","tamper":"분리 감지","device_temperature":"장치 온도"},"groups":{"add_to_group":"그룹 추가","create_group":"그룹 생성","new_group_id":"새 그룹 아이디","new_group_id_placeholder":"특별 그룹 ID (옵션)","new_group_name":"새 그룹 이름","new_group_name_placeholder":"예: my_bedroom_lights","remove_group":"그룹 삭제"},"logs":{"empty_logs_message":"Nothing to display","filter_by_text":"Filter by text","show_only":"Show only"},"map":{"help_coordinator_link_description":"실선 : Coordinator와 연결","help_end_device_description":"녹색 : End Device","help_is_coordinator":"is Coordinator","help_lqi_description":"Link quality 값은 0~255 (높을수록 좋음), 여러 유형의 링크를 나타냅니다.","help_router_description":"파랑 : Router","help_router_links_description":"점선 : Routes와 연결","hide":"숨기기","load":"맵 보기","loading":"네트워크 크기에 따라 다르며 10초~2분정도 소요됩니다."},"navbar":{"all":"전체","dashboard":"대쉬 보드","devices":"장치","disable_join":"페어링 오프","extensions":"익스텐션","groups":"그룹","logs":"로그","map":"지도","ota":"OTA","permit_join":"페어링 온","restart":"재시작","settings":"설정","toggle_dropdown":"Toggle dropdown","touchlink":"터치링크"},"ota":{"check":"업데이트 확인 중","check_all":"전체 업데이트 확인","empty_ota_message":"OTA 지원장치가 없습니다.","remaining_time":"남은 시간 {{- remaining}}","update":"장치 펌웨어 업데이트"},"settings":{"about":"자세히","advanced":"고급","blocklist":"차단 리스트","coordinator_revision":"Coordinator revision","coordinator_type":"Coordinator type","donate":"기부","donation_text":["Hello, %username%, here you can thank us for hardworking","Don\'t hesitate to say something nice as well ;)"],"download_state":"다운로드 상태","experimental":"Experimental","external_converters":"외부 컨버터","frontend":"Frontend","frontend_version":"Frontend 버전","main":"Main","mqtt":"MQTT","ota":"OTA 업데이트","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"재시작 Zigbee2MQTT","serial":"Serial","settings":"설정","tools":"도구","zigbee2mqtt_version":"Zigbee2MQTT 버전","translate":"번역"},"settingsSchemaTranslations":{"advanced-title":"Advanced","advanced_availability_blacklist__title":"Availability blacklist (deprecated, use availability_blocklist)","advanced_availability_blocklist__description":"Prevent devices from being checked for availability","advanced_availability_blocklist__title":"Availability Blocklist","advanced_availability_passlist__description":"Only enable availability check for certain devices","advanced_availability_passlist__title":"Availability passlist","advanced_availability_whitelist__title":"Availability whitelist (deprecated, use passlist)","advanced_ext_pan_id__description":"Zigbee extended pan ID, changing requires repairing all devices!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Output location of the log, leave empty to supress logging","advanced_log_output__title":"Log output","advanced_log_syslog-title":"syslog","blocklist__description":"Block devices from the network (by ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimental","external_converters__description":"You can define external converters to e.g. add support for a DiY device","external_converters__title":"External converters","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA updates","passlist__description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","passlist__title":"Passlist","root__description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","root_availability_blacklist__title":"Availability blacklist (deprecated, use availability_blocklist)","root_availability_blocklist__description":"Prevent devices from being checked for availability","root_availability_blocklist__title":"Availability Blocklist","root_availability_passlist__description":"Only enable availability check for certain devices","root_availability_passlist__title":"Availability passlist","root_availability_whitelist__title":"Availability whitelist (deprecated, use passlist)","root_debounce_ignore__description":"Protects unique payload values of specified payload properties from overriding within debounce time","root_debounce_ignore__title":"Ignore debounce","root_ext_pan_id__description":"Zigbee extended pan ID, changing requires repairing all devices!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Allows to prevent certain attributes from being published","root_filtered_attributes__title":"Filtered attributes","root_filtered_optimistic__description":"Filter attributes from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","root_filtered_optimistic__title":"Filtered optimistic attributes","root_log_output__description":"Output location of the log, leave empty to supress logging","root_log_output__title":"Log output","root_log_syslog-title":"syslog","serial-title":"Serial"},"touchlink":{"detected_devices_message":"Detected {{count}} touchlink devices.","rescan":"재 탐색","scan":"탐색"},"values":{"clear":"정상","closed":"닫힘","false":"False","not_supported":"지원하지 않음","occupied":"Occupied","open":"열림","supported":"지원됨","true":"True","empty_string":"Empty string(\\"\\")","leaking":"누수","tampered":"분리 감지"},"zigbee":{"actions":"액션","attribute":"속성","block_join":"Block from joining again","cluster":"클러스터","description":"설명","device_type":"장치 종류","endpoint":"Endpoint","firmware_build_date":"펌웨어 제작일","firmware_version":"펌웨어 버전","force_remove":"강제 삭제","friendly_name":"Friendly name","ieee_address":"IEEE Address","input_clusters":"입력 클러스터","interview_completed":"인터뷰 성공","last_seen":"Last seen","lqi":"LQI","manufacturer":"제조사","max_rep_interval":"최대 보고 주기","min_rep_change":"최소 보고 변화값","min_rep_interval":"최소 보고 주기","model":"모델명","network_address":"네트워크 주소","none":"None","output_clusters":"출력 클러스터","pic":"사진","power":"파워","reconfigure":"재설정","remove_device":"장치 삭제","rename_device":"장치 이름 변경","select_attribute":"속성 선택","select_cluster":"클러스터 선택","support_status":"지원 상태","unsupported":"지원하지 않음","update_Home_assistant_entity_id":"Home Assistant entity ID 업데이트","zigbee_manufacturer":"Zigbee 제조사","zigbee_model":"Zigbee 모델명"}}');
4918
4961
  ;// CONCATENATED MODULE: ./src/i18n/locales/cs.json
4919
- const cs_namespaceObject = JSON.parse('{"common":{"action":"Akce","actions":"Akce","apply":"Použít","attribute":"Atribut","bind":"Svázat","check_all":"Zkontrolovat vše","clear":"Vyčistit","close":"Zavřít","cluster":"Cluster","clusters":"Clustery","confirmation":"Výzva k potvrzení","delete":"Vymazat","destination":"Cíl","devices":"Zařízení","dialog_confirmation_prompt":"Jste si jistý?","disable":"Zakázat","enter_search_criteria":"Zadejte vyhledávací kritéria","groups":"Skupiny","loading":"Načítání...","none":"Žádné","ok":"Ok","read":"Načíst","save":"Uložit","select_device":"Vyberte zařízení","select_endpoint":"Vybrat koncový bod","source_endpoint":"Zdroj koncového bodu","the_only_endpoint":"Jediný koncový bod","unbind":"Rozvázat","write":"Zapsat"},"devicePage":{"about":"O mě","bind":"Svázat","clusters":"Clustery","dev_console":"Vývojářská konzole","exposes":"Detaily","reporting":"Hlašení","settings":"Nastavení","settings_specific":"Nastavení (specifické)","state":"Stav","scene":"Scéna","unknown_device":"Neznámé zařízení"},"exposes":{"action":"Akce","auto_off":"Automatické vypnutí","away_mode":"Režim nepřítomnosti","away_preset_days":"Přednastavené dny pro nepřítomnost","away_preset_temperature":"Přednastavená teplota pro nepřítomnost","backlight_mode":"Režim podsvícení","battery":"Baterie","battery_low":"Vybitá baterie","boost_time":"Doba pro navýšení teploty","brightness":"Jas","calibration":"Kalibrace","carbon_monoxide":"Oxid uhelnatý","color_hs":"Barva (HS)","color_temp":"Teplota barev","color_temp_startup":"Teplota barev při spuštění","color_xy":"Barva (XY)","comfort_temperature":"Komfortní teplota","consumer_connected":"Konzument připojen","consumer_overload":"Přetížení konzumenta","contact":"Kontakt","current":"Aktuální","current_heating_setpoint":"Aktuálně nastavená hodnota","eco_temperature":"Eko teplota","effect":"Efekt","empty_exposes_definition":"Vymazat exponované definice","energy":"Energie","force":"Síla","humidity":"Vlhkost","illuminance":"Osvětlení","illuminance_lux":"Osvětlení","led_disabled_night":"Led v noci vyplá","linkquality":"Kvalita signálu","local_temperature":"Místní teplota","local_temperature_calibration":"Kalibrace místní teploty","max_temperature":"Maximální teplota","min_temperature":"Minimální teplota","motor_reversal":"Zpětný chod motoru","moving":"V pohybu","occupancy":"Obsazenost","operation_mode":"Provozní režim","options":"Možnosti","position":"Pozice","power":"Napájení","power_on_behavior":"Chování při zapnutí","power_outage_memory":"Paměť při výpadku napájení","preset":"Předvolba","pressure":"Tlak","sensivity":"Citlivost","smoke":"Kouř","state":"Stav","strength":"Síla","system_mode":"Režim systému","tamper":"Manipulovat","temperature":"Teplota","voltage":"Napětí","water_leak":"Únik vody","week":"Týden"},"extensions":{"create_new_extension":"Vytvořit nové rozšíření","extension_name_propmt":"Zadejte nový název rozšíření","select_extension_to_edit":"Vyberte rozšíření, které chcete upravit"},"featureDescriptions":{"Auto off after specific time.":"Automatické vypnutí po dané době.","Away mode":"Režim pryč","Away preset days":"Přednastavené dny pro pryč","Away preset temperature":"Přednastavená teplota pro pryč","Boost time":"Doba zvýšení","Brightness of this light":"Jas tohoto světla","Calibration time":"Čas kalibrace","Color of this light expressed as hue/saturation":"Barva tohoto světla vyjádřená jako odstín/sytost","Color of this light in the CIE 1931 color space (x/y)":"Barva tohoto světla v barevném prostoru CIE 1931 (x/y)","Color temperature after cold power on of this light":"Barevná teplota po studeném zapnutí tohoto světla","Color temperature of this light":"Barevná teplota tohoto světla","Comfort temperature":"Komfortní teplota","Controls the behavior when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Controls the behaviour when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Current temperature measured on the device":"Aktuální teplota naměřená na zařízení","Decoupled mode for center button":"Oddělený režim pro střední tlačítko","Decoupled mode for left button":"Oddělený režim pro levé tlačítko","Decoupled mode for right button":"Oddělený režim pro pravé tlačítko","Eco temperature":"Eko teplota","Enable/disable auto lock":"Povolit/zakázat automatický zámek","Enable/disable away mode":"Povolit/zakázat režim nepřítomnosti","Enables/disables physical input on the device":"Povolí/zakáže fyzický vstup do zařízení","Enables/disables window detection on the device":"Povolí/zakáže detekci oken na zařízení","Enabling prevents both relais being on at the same time":"Povolení zabrání zapnutí obou relé současně","Force the valve position":"Vynutit polohu ventilu","Indicates if CO (carbon monoxide) is detected":"Ukazuje, zda je detekován CO (oxid uhelnatý)","Indicates if the battery of this device is almost empty":"Ukazuje, zda je baterie tohoto zařízení téměř vybitá","Indicates if the contact is closed (= true) or open (= false)":"Ukazuje, zda je kontakt sepnutý (= true) nebo otevřený (= false)","Indicates whether the device detected a water leak":"Ukazuje, zda zařízení detekovalo únik vody","Indicates whether the device detected occupancy":"Ukazuje, zda zařízení detekovalo obsazenost","Indicates whether the device detected smoke":"Ukazuje, zda zařízení detekovalo kouř","Indicates whether the device is tampered":"Ukazuje, zda je se zařízením neoprávněně manipulováno","Instantaneous measured electrical current":"Okamžitý naměřený elektrický proud","Instantaneous measured power":"Okamžitý naměřený výkon","Link quality (signal strength)":"Kvalita signálu (síla signálu)","Maximum temperature":"Maximální teplota","Measured electrical potential value":"Naměřená hodnota elektrického potenciálu","Measured illuminance in lux":"Naměřená osvětlenost v luxech","Measured relative humidity":"Naměřená relativní vlhkost","Measured temperature value":"Hodnota naměřené teploty","Minimum temperature":"Minimální teplota","Mode of this device (similar to system_mode)":"Režim tohoto zařízení (podobný system_mode)","Mode of this device":"Režim tohoto zařízení","Motor speed":"Rychlost motoru","Offset to be used in the local_temperature":"Offset, který má být použit v local_temperature","On/off state of the switch":"Stav spínače zapnuto/vypnuto","On/off state of this light":"Stav zapnuto/vypnuto tohoto světla","Position of this cover":"Pozice tohoto krytu","Position":"Pozice","Raw measured illuminance":"RAW naměřená osvětlenost","Recover state after power outage":"Obnovení stavu po výpadku napájení","Remaining battery in %":"Zbývající baterie v %","Side of the cube":"Strana krychle","Sum of consumed energy":"Součet spotřebované energie","Temperature setpoint":"Nastavená hodnota teploty","The measured atmospheric pressure":"Naměřený atmosférický tlak","Triggered action (e.g. a button click)":"Spuštěná akce (např. kliknutí na tlačítko)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Spustí efekt na světlo (např. nechá světlo na několik sekund blikat)","Voltage of the battery in millivolts":"Napětí baterie v milivoltech","Week format user for schedule":"Formát kalendářního týdne"},"featureNames":{"action":"Akce","angle_x":"Úhel X","angle_y":"Úhel Y","angle_z":"Úhel Z","brightness":"Jas","co2":"CO2","color_temp":"Teplota barev","color_xy":"Barva Xy","contact":"Kontakt","humidity":"Vlhkost","illuminance":"Osvětlení","occupancy":"Obsazenost","pressure":"Tlak","soil_moisture":"Vlhkost půdy","state":"Stav","temperature":"Teplota","tamper":"Manipulovat"},"groups":{"add_to_group":"Přidat do skupiny","create_group":"Vytvořit skupinu","new_group_id":"ID nové skupiny","new_group_id_placeholder":"V případě potřeby zadejte ID skupiny","new_group_name":"Nový název skupiny","new_group_name_placeholder":"příklad: my_bedroom_lights","remove_group":"Odebrat skupinu","group_id":"ID skupiny","group_name":"Název skupiny","group_members":"Členové skupiny","group_scenes":"Skupinové scény"},"logs":{"empty_logs_message":"Nic k zobrazení","filter_by_text":"Filtrovat podle textu","show_only":"Pouze zobrazit"},"map":{"help_coordinator_link_description":"Plné čáry jsou odkazem na koordinátora","help_end_device_description":"Zelená znamená koncové zařízení","help_is_coordinator":"je koordinátor","help_lqi_description":"Kvalita spojení je mezi 0 - 255 (vyšší je lepší), hodnota s / představuje více typů spojení","help_router_description":"Modrá znamená směrovač","help_router_links_description":"Přerušované čáry jsou spojením se směrovači","hide":"Kliknutím na mě skryješ","load":"Načíst mapu","loading":"V závislosti na velikosti vaší sítě může načtení trvat 10 sekund až 2 minuty."},"navbar":{"all":"Vše","dashboard":"Přehled","devices":"Zařízení","disable_join":"Zakázat připojení","extensions":"Rozšíření","groups":"Skupiny","logs":"Logy","map":"Mapa","ota":"OTA","permit_join":"Povolit připojení","restart":"Restartovat","settings":"Nastavení","toggle_dropdown":"Přepnout rozbalovací nabídku","touchlink":"Touchlink"},"ota":{"check":"Kontrola nových aktualizací","check_all":"Zkontrolovat vše","empty_ota_message":"Nemáte žádná zařízení, která podporují OTA","remaining_time":"Zbývající čas {{- remaining}}","update":"Aktualizovat firmware zařízení"},"settings":{"about":"O mě","advanced":"Pokročilé","availability":"Dostupnost","blocklist":"Seznam blokovaných","coordinator_revision":"Revize koordinátora","coordinator_type":"Typ koordinátora","donate":"Příspěvek","donation_text":["Dobrý den, %username%, zde nám můžete poděkovat za tvrdou práci","Neváhej a řekni taky něco hezkého ;)"],"download_state":"Stav stahování","experimental":"Experimentální","external_converters":"Externí převodníky","frontend":"Frontend","frontend_version":"Verze frontendu","main":"Hlavní","mqtt":"MQTT","ota":"Aktualizace OTA","passlist":"Přístupová práva","raw":"Raw","restart_zigbee2mqtt":"Restart Zigbee2MQTT","serial":"Sériový","settings":"Nastavení","tools":"Nástroje","zigbee2mqtt_version":"Verze Zigbee2MQTT","translate":"Přeložit"},"settingsSchemaTranslations":{"advanced-title":"Advanced","advanced_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","advanced_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","advanced_availability_blocklist__title":"Blacklist dostupnosti","advanced_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","advanced_availability_passlist__title":"Passlist dostupnosti","advanced_availability_whitelist__title":"Whitelist dostupnosti (zastaralá, použijte Passlist)","advanced_ext_pan_id__description":"Zigbee Extended Pan ID, změna vyžaduje opravu všech zařízení!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","advanced_log_output__title":"Výstup logu","advanced_log_syslog-title":"syslog","blocklist__description":"Blokovat zařízení ze sítě (pomocí ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimentální","external_converters__description":"Můžete definovat externí převodníky, např. přidat podporu pro DIY zařízení","external_converters__title":"Externí převodníky","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"Aktualizace OTA","passlist__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupů, budou ze sítě odstraněna!","passlist__title":"Passlist","root__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupových práv, budou ze sítě odstraněna!","root_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","root_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","root_availability_blocklist__title":"Blacklist dostupnosti","root_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","root_availability_passlist__title":"Passlist dostupnosti","root_availability_whitelist__title":"Povolená listina dostupnosti (zastaralé, použijte passlist)","root_debounce_ignore__description":"Chrání jedinečné hodnoty vlastností užitečného zatížení před přepsáním během doby odskoku","root_debounce_ignore__title":"Ignorovat odskok","root_ext_pan_id__description":"Zigbee extended pan ID, změna vyžaduje opravu všech zařízení!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Povolit zabránění zveřejnění určitých atributů ","root_filtered_attributes__title":"Filtrované atributy","root_filtered_optimistic__description":"Filtrujte atributy z optimistického publikování dat při dotazu /set (Toto nemá žádný vliv, pokud je optimistické nastaveno na false).","root_filtered_optimistic__title":"Filtrované optimistické atributy","root_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","root_log_output__title":"Výstup logu","root_log_syslog-title":"syslog","serial-title":"Sériový"},"touchlink":{"detected_devices_message":"Zjištěno {{count}} zařízení touchlink.","rescan":"Hledat znova","scan":"Hledat"},"values":{"clear":"Vymazat","closed":"Zavřeno","false":"Nepravda","not_supported":"Není podporováno","occupied":"Obsazený","open":"Otevřeno","supported":"Podporováno","true":"Pravda","empty_string":"Prázdný řetězec(\\"\\")","leaking":"Netěsnost","tampered":"Manipulováno"},"zigbee":{"actions":"Akce","attribute":"Atribut","battery":"Baterie","block_join":"Zablokovat opětovné připojení","cluster":"Cluster","dc_source":"DC zdroj","description":"Popis","device_type":"Typ zařízení","endpoint":"Koncový bod","firmware_build_date":"Datum sestavení firmwaru","firmware_version":"Verze firmwaru","force_remove":"Vynutit odstranění","friendly_name":"Název","ieee_address":"IEEE adresa","input_clusters":"Vstupní clustery","interview_completed":"Párování dokončeno","interview_failed":"Párování selhalo","interviewing":"Párování","last_seen":"Naposledy viděno","lqi":"LQI","mains_single_phase":"Síť (jednofázová)","manufacturer":"Výrobce","max_rep_interval":"Max interval odezvy","min_rep_change":"Min změna odezvy","min_rep_interval":"Min interval odezvy","model":"Model","network_address":"Síťová adresa","none":"Žádný","output_clusters":"Výstupní clustery","pic":"Obr.","power":"Napájení","power_level":"úroveň napájení","reconfigure":"Přenastavit","remove_device":"Odebrat zařízení","rename_device":"Přejmenovat zařízení","select_attribute":"Vybrat atribut","select_cluster":"Vybrat cluster","support_status":"Stav podpory","unsupported":"Nepodporováno","updating_firmware":"Aktualizace firmwaru","update_Home_assistant_entity_id":"Aktualizovat ID entity v Home Assistant","zigbee_manufacturer":"Výrobce Zigbee","zigbee_model":"Model Zigbee","device":"Zařízení"},"scene":{"scene_id":"ID scény","recall":"Odvolání","store":"Obchod","remove":"Odstranit","remove_all":"Odstranit vše","add":"Přidat","select_scene":"Vybrat scénu","scene_name":"Název scény"}}');
4962
+ const cs_namespaceObject = JSON.parse('{"common":{"action":"Akce","actions":"Akce","apply":"Použít","attribute":"Atribut","bind":"Svázat","check_all":"Zkontrolovat vše","clear":"Vyčistit","close":"Zavřít","cluster":"Cluster","clusters":"Clustery","confirmation":"Výzva k potvrzení","delete":"Vymazat","destination":"Cíl","devices":"Zařízení","dialog_confirmation_prompt":"Jste si jistý?","disable":"Zakázat","enter_search_criteria":"Zadejte vyhledávací kritéria","groups":"Skupiny","loading":"Načítání...","none":"Žádné","ok":"Ok","read":"Načíst","save":"Uložit","select_device":"Vyberte zařízení","select_endpoint":"Vybrat koncový bod","source_endpoint":"Zdroj koncového bodu","the_only_endpoint":"Jediný koncový bod","unbind":"Rozvázat","write":"Zapsat"},"devicePage":{"about":"Informace","bind":"Svázat","clusters":"Clustery","dev_console":"Vývojářská konzole","exposes":"Detaily","reporting":"Hlašení","settings":"Nastavení","settings_specific":"Nastavení (specifické)","state":"Stav","scene":"Scéna","unknown_device":"Neznámé zařízení"},"exposes":{"action":"Akce","auto_off":"Automatické vypnutí","away_mode":"Režim nepřítomnosti","away_preset_days":"Přednastavené dny pro nepřítomnost","away_preset_temperature":"Přednastavená teplota pro nepřítomnost","backlight_mode":"Režim podsvícení","battery":"Baterie","battery_low":"Vybitá baterie","boost_time":"Doba pro navýšení teploty","brightness":"Jas","calibration":"Kalibrace","carbon_monoxide":"Oxid uhelnatý","color_hs":"Barva (HS)","color_temp":"Teplota barev","color_temp_startup":"Teplota barev při spuštění","color_xy":"Barva (XY)","comfort_temperature":"Komfortní teplota","consumer_connected":"Konzument připojen","consumer_overload":"Přetížení konzumenta","contact":"Kontakt","current":"Aktuální","current_heating_setpoint":"Aktuálně nastavená hodnota","eco_temperature":"Eko teplota","effect":"Efekt","empty_exposes_definition":"Vymazat exponované definice","energy":"Energie","force":"Síla","humidity":"Vlhkost","illuminance":"Osvětlení","illuminance_lux":"Osvětlení","led_disabled_night":"Led v noci vyplá","linkquality":"Kvalita signálu","local_temperature":"Místní teplota","local_temperature_calibration":"Kalibrace místní teploty","max_temperature":"Maximální teplota","min_temperature":"Minimální teplota","motor_reversal":"Zpětný chod motoru","moving":"V pohybu","occupancy":"Obsazenost","operation_mode":"Provozní režim","options":"Možnosti","position":"Pozice","power":"Napájení","power_on_behavior":"Chování při zapnutí","power_outage_memory":"Paměť při výpadku napájení","preset":"Předvolba","pressure":"Tlak","sensivity":"Citlivost","smoke":"Kouř","state":"Stav","strength":"Síla","system_mode":"Režim systému","tamper":"Manipulovat","temperature":"Teplota","voltage":"Napětí","water_leak":"Únik vody","week":"Týden"},"extensions":{"create_new_extension":"Vytvořit nové rozšíření","extension_name_propmt":"Zadejte nový název rozšíření","select_extension_to_edit":"Vyberte rozšíření, které chcete upravit"},"featureDescriptions":{"Auto off after specific time.":"Automatické vypnutí po dané době.","Away mode":"Režim pryč","Away preset days":"Přednastavené dny pro pryč","Away preset temperature":"Přednastavená teplota pro pryč","Boost time":"Doba zvýšení","Brightness of this light":"Jas tohoto světla","Calibration time":"Čas kalibrace","Color of this light expressed as hue/saturation":"Barva tohoto světla vyjádřená jako odstín/sytost","Color of this light in the CIE 1931 color space (x/y)":"Barva tohoto světla v barevném prostoru CIE 1931 (x/y)","Color temperature after cold power on of this light":"Barevná teplota po studeném zapnutí tohoto světla","Color temperature of this light":"Barevná teplota tohoto světla","Comfort temperature":"Komfortní teplota","Controls the behavior when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Controls the behaviour when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Current temperature measured on the device":"Aktuální teplota naměřená na zařízení","Decoupled mode for center button":"Oddělený režim pro střední tlačítko","Decoupled mode for left button":"Oddělený režim pro levé tlačítko","Decoupled mode for right button":"Oddělený režim pro pravé tlačítko","Eco temperature":"Eko teplota","Enable/disable auto lock":"Povolit/zakázat automatický zámek","Enable/disable away mode":"Povolit/zakázat režim nepřítomnosti","Enables/disables physical input on the device":"Povolí/zakáže fyzický vstup do zařízení","Enables/disables window detection on the device":"Povolí/zakáže detekci oken na zařízení","Enabling prevents both relais being on at the same time":"Povolení zabrání zapnutí obou relé současně","Force the valve position":"Vynutit polohu ventilu","Indicates if CO (carbon monoxide) is detected":"Ukazuje, zda je detekován CO (oxid uhelnatý)","Indicates if the battery of this device is almost empty":"Ukazuje, zda je baterie tohoto zařízení téměř vybitá","Indicates if the contact is closed (= true) or open (= false)":"Ukazuje, zda je kontakt sepnutý (= true) nebo otevřený (= false)","Indicates whether the device detected a water leak":"Ukazuje, zda zařízení detekovalo únik vody","Indicates whether the device detected occupancy":"Ukazuje, zda zařízení detekovalo obsazenost","Indicates whether the device detected smoke":"Ukazuje, zda zařízení detekovalo kouř","Indicates whether the device is tampered":"Ukazuje, zda je se zařízením neoprávněně manipulováno","Instantaneous measured electrical current":"Okamžitý naměřený elektrický proud","Instantaneous measured power":"Okamžitý naměřený výkon","Link quality (signal strength)":"Kvalita signálu (síla signálu)","Maximum temperature":"Maximální teplota","Measured electrical potential value":"Naměřená hodnota elektrického potenciálu","Measured illuminance in lux":"Naměřená osvětlenost v luxech","Measured relative humidity":"Naměřená relativní vlhkost","Measured temperature value":"Hodnota naměřené teploty","Minimum temperature":"Minimální teplota","Mode of this device (similar to system_mode)":"Režim tohoto zařízení (podobný system_mode)","Mode of this device":"Režim tohoto zařízení","Motor speed":"Rychlost motoru","Offset to be used in the local_temperature":"Offset, který má být použit v local_temperature","On/off state of the switch":"Stav spínače zapnuto/vypnuto","On/off state of this light":"Stav zapnuto/vypnuto tohoto světla","Position of this cover":"Pozice tohoto krytu","Position":"Pozice","Raw measured illuminance":"RAW naměřená osvětlenost","Recover state after power outage":"Obnovení stavu po výpadku napájení","Remaining battery in %":"Zbývající baterie v %","Side of the cube":"Strana krychle","Sum of consumed energy":"Součet spotřebované energie","Temperature setpoint":"Nastavená hodnota teploty","The measured atmospheric pressure":"Naměřený atmosférický tlak","Triggered action (e.g. a button click)":"Spuštěná akce (např. kliknutí na tlačítko)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Spustí efekt na světlo (např. nechá světlo na několik sekund blikat)","Voltage of the battery in millivolts":"Napětí baterie v milivoltech","Week format user for schedule":"Formát kalendářního týdne","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Počet číslic za desetinnou čárkou pro teplotu, platí při dalším hlášení zařízení.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Kalibruje hodnotu teploty (absolutní odchylka), projeví se při dalším hlášení zařízení.","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Počet číslic za desetinnou čárkou pro vlhkost, platí při dalším hlášení zařízení.","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Kalibruje hodnotu vlhkosti (absolutní odchylka), projeví se při dalším hlášení zařízení.","Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).":"Ovládá dobu přechodu (v sekundách) změn zapnutí/vypnutí, jasu, teploty barev (pokud je to možné) a barvy (pokud je to možné). Výchozí hodnota je „0“ (bez přechodu)."},"featureNames":{"action":"Akce","angle_x":"Úhel X","angle_y":"Úhel Y","angle_z":"Úhel Z","brightness":"Jas","co2":"CO2","color_temp":"Teplota barev","color_xy":"Barva Xy","contact":"Kontakt","humidity":"Vlhkost","illuminance":"Osvětlení","occupancy":"Obsazenost","pressure":"Tlak","soil_moisture":"Vlhkost půdy","state":"Stav","temperature":"Teplota","tamper":"Manipulovat","child_lock":"Dětský zámek","window_detection":"Detekce otevřeného okna","valve_detection":"Detekce hlavice","local_temperature":"Místní teplota","auto_lock":"Automatický zámek","away_mode":"Režim pryč","programming_mode":"Programovací režim","week":"Týden","workdays_schedule":"Týdenní kalendář","holidays_schedule":"Prázdninový kalendář"},"groups":{"add_to_group":"Přidat do skupiny","create_group":"Vytvořit skupinu","new_group_id":"ID nové skupiny","new_group_id_placeholder":"V případě potřeby zadejte ID skupiny","new_group_name":"Nový název skupiny","new_group_name_placeholder":"příklad: my_bedroom_lights","remove_group":"Odebrat skupinu","group_id":"ID skupiny","group_name":"Název skupiny","group_members":"Členové skupiny","group_scenes":"Skupinové scény"},"logs":{"empty_logs_message":"Nic k zobrazení","filter_by_text":"Filtrovat podle textu","show_only":"Filtrovat podle typu"},"map":{"help_coordinator_link_description":"Plné čáry jsou spojením s koordinátorem","help_end_device_description":"Zelená znamená koncové zařízení","help_is_coordinator":"je koordinátor","help_lqi_description":"Kvalita spojení je mezi 0 - 255 (vyšší je lepší), hodnota s / představuje více typů spojení","help_router_description":"Modrá znamená směrovač","help_router_links_description":"Přerušované čáry jsou spojením se směrovačem","hide":"Kliknutím na mě skryješ","load":"Načíst mapu","loading":"V závislosti na velikosti vaší sítě může načtení trvat 10 sekund až 2 minuty."},"navbar":{"all":"Vše","dashboard":"Přehled","devices":"Zařízení","disable_join":"Zakázat připojení","extensions":"Rozšíření","groups":"Skupiny","logs":"Logy","map":"Mapa","ota":"OTA","permit_join":"Povolit připojení","restart":"Restartovat","settings":"Nastavení","toggle_dropdown":"Přepnout rozbalovací nabídku","touchlink":"Touchlink"},"ota":{"check":"Kontrola nových aktualizací","check_all":"Zkontrolovat vše","empty_ota_message":"Nemáte žádná zařízení, která podporují OTA","remaining_time":"Zbývající čas {{- remaining}}","update":"Aktualizovat firmware zařízení"},"settings":{"about":"O mě","advanced":"Pokročilé","availability":"Dostupnost","blocklist":"Seznam blokovaných","coordinator_revision":"Revize koordinátora","coordinator_type":"Typ koordinátora","donate":"Příspěvek","donation_text":["Dobrý den, %username%, zde nám můžete poděkovat za tvrdou práci","Neváhej a řekni taky něco hezkého ;)"],"download_state":"Stáhnout konfiguraci","experimental":"Experimentální","external_converters":"Externí převodníky","frontend":"Frontend","frontend_version":"Verze frontendu","main":"Hlavní","mqtt":"MQTT","ota":"Aktualizace OTA","passlist":"Přístupová práva","raw":"Raw","restart_zigbee2mqtt":"Restartovat Zigbee2MQTT","serial":"Sériový","settings":"Nastavení","tools":"Nástroje","zigbee2mqtt_version":"Verze Zigbee2MQTT","translate":"Přeložit","stats":"statistiky"},"settingsSchemaTranslations":{"advanced-title":"Advanced","advanced_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","advanced_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","advanced_availability_blocklist__title":"Blacklist dostupnosti","advanced_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","advanced_availability_passlist__title":"Passlist dostupnosti","advanced_availability_whitelist__title":"Whitelist dostupnosti (zastaralá, použijte Passlist)","advanced_ext_pan_id__description":"Zigbee Extended Pan ID, změna vyžaduje opravu všech zařízení!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","advanced_log_output__title":"Výstup logu","advanced_log_syslog-title":"syslog","blocklist__description":"Blokovat zařízení ze sítě (pomocí ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimentální","external_converters__description":"Můžete definovat externí převodníky, např. přidat podporu pro DIY zařízení","external_converters__title":"Externí převodníky","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"Aktualizace OTA","passlist__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupů, budou ze sítě odstraněna!","passlist__title":"Passlist","root__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupových práv, budou ze sítě odstraněna!","root_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","root_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","root_availability_blocklist__title":"Blacklist dostupnosti","root_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","root_availability_passlist__title":"Passlist dostupnosti","root_availability_whitelist__title":"Povolená listina dostupnosti (zastaralé, použijte passlist)","root_debounce_ignore__description":"Chrání jedinečné hodnoty vlastností užitečného zatížení před přepsáním během doby odskoku","root_debounce_ignore__title":"Ignorovat odskok","root_ext_pan_id__description":"Zigbee extended pan ID, změna vyžaduje opravu všech zařízení!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Povolit zabránění zveřejnění určitých atributů ","root_filtered_attributes__title":"Filtrované atributy","root_filtered_optimistic__description":"Filtrujte atributy z optimistického publikování dat při dotazu /set (Toto nemá žádný vliv, pokud je optimistické nastaveno na false).","root_filtered_optimistic__title":"Filtrované optimistické atributy","root_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","root_log_output__title":"Výstup logu","root_log_syslog-title":"syslog","serial-title":"Sériový"},"stats":{"EndDevice":"Koncové zařízení","Router":"Router","byType":"dle typu","byPowerSource":"dle zdroje napájení","byVendor":"dle výrobce","byModel":"dle modelu","total":"celkové"},"touchlink":{"detected_devices_message":"Zjištěno {{count}} zařízení touchlink.","rescan":"Hledat znova","scan":"Hledat"},"values":{"clear":"Vymazat","closed":"Zavřeno","false":"Ne","not_supported":"Není podporováno","occupied":"Obsazený","open":"Otevřeno","supported":"Podporováno","true":"Ano","empty_string":"Prázdný řetězec(\\"\\")","leaking":"Netěsnost","tampered":"Manipulováno"},"zigbee":{"actions":"Akce","attribute":"Atribut","battery":"Baterie","block_join":"Zablokovat opětovné připojení","cluster":"Cluster","dc_source":"DC zdroj","description":"Popis","device_type":"Typ zařízení","endpoint":"Koncový bod","firmware_build_date":"Datum sestavení firmwaru","firmware_version":"Verze firmwaru","force_remove":"Vynutit odstranění","friendly_name":"Název","ieee_address":"IEEE adresa","input_clusters":"Vstupní clustery","interview_completed":"Párování dokončeno","interview_failed":"Párování selhalo","interviewing":"Párování","last_seen":"Naposledy viděno","lqi":"LQI","mains_single_phase":"Síť (jednofázová)","manufacturer":"Výrobce","max_rep_interval":"Max interval odezvy","min_rep_change":"Min změna odezvy","min_rep_interval":"Min interval odezvy","model":"Model","network_address":"Síťová adresa","none":"Žádný","output_clusters":"Výstupní clustery","pic":"Obr.","power":"Napájení","power_level":"úroveň napájení","reconfigure":"Přenastavit","remove_device":"Odebrat zařízení","rename_device":"Přejmenovat zařízení","select_attribute":"Vybrat atribut","select_cluster":"Vybrat cluster","support_status":"Stav podpory","unsupported":"Nepodporováno","updating_firmware":"Aktualizace firmwaru","update_Home_assistant_entity_id":"Aktualizovat ID entity v Home Assistant","zigbee_manufacturer":"Výrobce Zigbee","zigbee_model":"Model Zigbee","device":"Zařízení"},"scene":{"scene_id":"ID scény","recall":"Odvolání","store":"Obchod","remove":"Odstranit","remove_all":"Odstranit vše","add":"Přidat","select_scene":"Vybrat scénu","scene_name":"Název scény"}}');
4920
4963
  // EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/pl.js
4921
4964
  var lang_pl = __webpack_require__(76854);
4922
4965
  // EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/fr.js
@@ -5058,6 +5101,7 @@ var I18nextProvider = __webpack_require__(6339);
5058
5101
 
5059
5102
 
5060
5103
 
5104
+
5061
5105
 
5062
5106
 
5063
5107
  const ConnectedDevicePageWrap = ({ dev }) => (React.createElement(ConnectedDevicePageWrap, { dev: dev }));
@@ -5071,36 +5115,37 @@ const Main = () => {
5071
5115
  return react.createElement(react.Suspense, { fallback: "loading" },
5072
5116
  react.createElement(I18nextProvider/* I18nextProvider */.a, { i18n: i18n },
5073
5117
  react.createElement(unistore_react/* Provider */.z, { store: src_store },
5074
- react.createElement(react_css_theme_switcher_esm/* ThemeSwitcherProvider */.c, { themeMap: themes, defaultTheme: theme },
5075
- react.createElement(react_router_dom/* HashRouter */.UT, null,
5076
- react.createElement(state_notifier_StateNotifier, null),
5077
- react.createElement("div", { className: "main" },
5078
- react.createElement(navbar, null),
5079
- react.createElement("main", { className: "content p-0 p-sm-3" },
5080
- react.createElement("div", { className: "container-fluid p-0 h-100" },
5081
- react.createElement(react_router/* Switch */.rs, null,
5082
- react.createElement(react_router/* Route */.AW, { path: "/ota", render: (props) => react.createElement(ErrorBoundary, { ...props },
5083
- react.createElement(ota_page, null)) }),
5084
- react.createElement(react_router/* Route */.AW, { path: "/map", render: (props) => react.createElement(ErrorBoundary, { ...props },
5085
- react.createElement(components_map, null)) }),
5086
- react.createElement(react_router/* Route */.AW, { path: "/device/:dev/:tab?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5087
- react.createElement(device_page, null)) }),
5088
- react.createElement(react_router/* Route */.AW, { path: "/settings/:tab?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5089
- react.createElement(settings, null)) }),
5090
- react.createElement(react_router/* Route */.AW, { path: "/groups", render: (props) => react.createElement(ErrorBoundary, { ...props },
5091
- react.createElement(groups, null)) }),
5092
- react.createElement(react_router/* Route */.AW, { path: "/group/:groupId?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5093
- react.createElement(groups_GroupPage, null)) }),
5094
- react.createElement(react_router/* Route */.AW, { path: "/logs", render: (props) => react.createElement(ErrorBoundary, { ...props },
5095
- react.createElement(logs_page, null)) }),
5096
- react.createElement(react_router/* Route */.AW, { path: "/touchlink", render: (props) => react.createElement(ErrorBoundary, { ...props },
5097
- react.createElement(touchlink_page, null)) }),
5098
- react.createElement(react_router/* Route */.AW, { path: "/dashboard", render: (props) => react.createElement(ErrorBoundary, { ...props },
5099
- react.createElement(dashboard_page, null)) }),
5100
- react.createElement(react_router/* Route */.AW, { path: "/extensions", render: (props) => react.createElement(ErrorBoundary, { ...props },
5101
- react.createElement(extensions_editor, null)) }),
5102
- react.createElement(react_router/* Route */.AW, { path: "/", render: (props) => react.createElement(ErrorBoundary, { ...props },
5103
- react.createElement(zigbee, null)) }))))))))));
5118
+ react.createElement(GlobalModal, null,
5119
+ react.createElement(react_css_theme_switcher_esm/* ThemeSwitcherProvider */.c, { themeMap: themes, defaultTheme: theme },
5120
+ react.createElement(react_router_dom/* HashRouter */.UT, null,
5121
+ react.createElement(state_notifier_StateNotifier, null),
5122
+ react.createElement("div", { className: "main" },
5123
+ react.createElement(navbar, null),
5124
+ react.createElement("main", { className: "content p-0 p-sm-3" },
5125
+ react.createElement("div", { className: "container-fluid p-0 h-100" },
5126
+ react.createElement(react_router/* Switch */.rs, null,
5127
+ react.createElement(react_router/* Route */.AW, { path: "/ota", render: (props) => react.createElement(ErrorBoundary, { ...props },
5128
+ react.createElement(ota_page, null)) }),
5129
+ react.createElement(react_router/* Route */.AW, { path: "/map", render: (props) => react.createElement(ErrorBoundary, { ...props },
5130
+ react.createElement(components_map, null)) }),
5131
+ react.createElement(react_router/* Route */.AW, { path: "/device/:dev/:tab?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5132
+ react.createElement(device_page, null)) }),
5133
+ react.createElement(react_router/* Route */.AW, { path: "/settings/:tab?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5134
+ react.createElement(settings, null)) }),
5135
+ react.createElement(react_router/* Route */.AW, { path: "/groups", render: (props) => react.createElement(ErrorBoundary, { ...props },
5136
+ react.createElement(groups, null)) }),
5137
+ react.createElement(react_router/* Route */.AW, { path: "/group/:groupId?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5138
+ react.createElement(groups_GroupPage, null)) }),
5139
+ react.createElement(react_router/* Route */.AW, { path: "/logs", render: (props) => react.createElement(ErrorBoundary, { ...props },
5140
+ react.createElement(logs_page, null)) }),
5141
+ react.createElement(react_router/* Route */.AW, { path: "/touchlink", render: (props) => react.createElement(ErrorBoundary, { ...props },
5142
+ react.createElement(touchlink_page, null)) }),
5143
+ react.createElement(react_router/* Route */.AW, { path: "/dashboard", render: (props) => react.createElement(ErrorBoundary, { ...props },
5144
+ react.createElement(dashboard_page, null)) }),
5145
+ react.createElement(react_router/* Route */.AW, { path: "/extensions", render: (props) => react.createElement(ErrorBoundary, { ...props },
5146
+ react.createElement(extensions_editor, null)) }),
5147
+ react.createElement(react_router/* Route */.AW, { path: "/", render: (props) => react.createElement(ErrorBoundary, { ...props },
5148
+ react.createElement(zigbee, null)) })))))))))));
5104
5149
  };
5105
5150
  react_dom.render(react.createElement(Main, null), document.getElementById("root"));
5106
5151
 
@@ -5229,8 +5274,8 @@ module.exports = "class MyExampleExtension_TS_ {\n constructor(zigbee, mqtt,
5229
5274
  },
5230
5275
  /******/ __webpack_require__ => { // webpackRuntimeModules
5231
5276
  /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
5232
- /******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(23362)));
5277
+ /******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(97306)));
5233
5278
  /******/ var __webpack_exports__ = __webpack_require__.O();
5234
5279
  /******/ }
5235
5280
  ]);
5236
- //# sourceMappingURL=main.694837fa23bc0aa35c05.js.map
5281
+ //# sourceMappingURL=main.319456a03906cfc6d672.js.map
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "*.css"
9
9
  ],
10
10
  "name": "zigbee2mqtt-frontend",
11
- "version": "0.6.35",
11
+ "version": "0.6.39",
12
12
  "license": "GPL-3.0",
13
13
  "scripts": {
14
14
  "build": "npm run clean && webpack --config ./webpack.config.js --mode production",