zigbee2mqtt-frontend 0.6.14 → 0.6.18

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  (self["webpackChunkzigbee2mqtt_frontend"] = self["webpackChunkzigbee2mqtt_frontend"] || []).push([[179],{
3
3
 
4
- /***/ 2958:
4
+ /***/ 579:
5
5
  /***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
6
6
 
7
7
 
@@ -299,7 +299,7 @@ class Node extends react.Component {
299
299
  }
300
300
  render() {
301
301
  const { hasBeenUpdated } = this.state;
302
- const { node, deviceState } = this.props;
302
+ const { node, deviceState, device } = this.props;
303
303
  const { onMouseOver, onMouseOut, onDblClick } = this;
304
304
  const deviceType = node.type;
305
305
  const cn = classnames_default()(map.node, map[deviceType]);
@@ -309,7 +309,7 @@ class Node extends react.Component {
309
309
  react.createElement("polygon", { stroke: "blue", strokeWidth: 1, points: getStarShape(5, 5, 14) }))) : (react.createElement(react.Fragment, null,
310
310
  react.createElement(CSSTransition/* default */.Z, { in: hasBeenUpdated, timeout: 200, classNames: "stroke-blink" },
311
311
  react.createElement("circle", { "data-foo": deviceState === null || deviceState === void 0 ? void 0 : deviceState.last_seen, cx: 16, cy: 17, r: 24, fill: "#fff", stroke: "blue", strokeWidth: 1 })),
312
- react.createElement(device_image, { type: "svg", width: 32, height: 32, device: node, className: `${map.img}` }))),
312
+ react.createElement(device_image, { type: "svg", width: 32, height: 32, device: device, className: `${map.img}` }))),
313
313
  react.createElement("text", { x: 45, y: 25 }, node.friendlyName)));
314
314
  }
315
315
  }
@@ -351,8 +351,8 @@ class Nodes extends react.Component {
351
351
  this.updateDrag();
352
352
  }
353
353
  render() {
354
- const { nodes, onMouseOut, onMouseOver, deviceStates } = this.props;
355
- return (react.createElement("g", { className: map.nodes }, nodes.map((node) => (react.createElement(Node, { onMouseOut: onMouseOut, onMouseOver: onMouseOver, key: node.ieeeAddr, node: node, deviceState: deviceStates[node.friendlyName] })))));
354
+ const { nodes, onMouseOut, onMouseOver, deviceStates, devices } = this.props;
355
+ return (react.createElement("g", { className: map.nodes }, nodes.map((node) => (react.createElement(Node, { onMouseOut: onMouseOut, onMouseOver: onMouseOver, key: node.ieeeAddr, node: node, deviceState: deviceStates[node.friendlyName], device: devices[node.ieeeAddr] })))));
356
356
  }
357
357
  }
358
358
 
@@ -631,6 +631,7 @@ const api = new Api(`${isSecurePage() ? 'wss' : 'ws'}://${apiUrl}`);
631
631
 
632
632
  ;// CONCATENATED MODULE: ./src/actions/DeviceApi.ts
633
633
 
634
+
634
635
  /* harmony default export */ const DeviceApi = ({
635
636
  renameDevice: (state, from, to, homeassistantRename) => {
636
637
  return src_api.send("bridge/request/device/rename", {
@@ -648,15 +649,15 @@ const api = new Api(`${isSecurePage() ? 'wss' : 'ws'}://${apiUrl}`);
648
649
  setDeviceOptions: (state, id, options) => {
649
650
  return src_api.send("bridge/request/device/options", { id, options });
650
651
  },
651
- readDeviceAttributes(state, id, cluster, attributes, options) {
652
- return src_api.send(`${id}/set`, { read: { cluster, attributes, options } });
652
+ readDeviceAttributes(state, id, endpoint, cluster, attributes, options) {
653
+ return src_api.send(`${toDeviceId(id, endpoint)}/set`, { read: { cluster, attributes, options } });
653
654
  },
654
- writeDeviceAttributes(state, id, cluster, attributes, options) {
655
+ writeDeviceAttributes(state, id, endpoint, cluster, attributes, options) {
655
656
  const payload = {};
656
657
  attributes.forEach(info => {
657
658
  payload[info.attribute] = info.value;
658
659
  });
659
- return src_api.send(`${id}/set`, { write: { cluster, payload, options } });
660
+ return src_api.send(`${toDeviceId(id, endpoint)}/set`, { write: { cluster, payload, options } });
660
661
  }
661
662
  });
662
663
 
@@ -789,6 +790,14 @@ const bindOp = (operation, params) => {
789
790
 
790
791
 
791
792
 
793
+ const toDeviceId = (friendlyNameOrIEEEAddress, endpoint) => {
794
+ if (endpoint) {
795
+ return `${friendlyNameOrIEEEAddress}/${endpoint}`;
796
+ }
797
+ else {
798
+ return friendlyNameOrIEEEAddress;
799
+ }
800
+ };
792
801
  const actions = (store) => ({
793
802
  ...BridgeApi,
794
803
  ...DeviceApi,
@@ -1130,12 +1139,12 @@ class MapComponent extends react.Component {
1130
1139
  }
1131
1140
  renderMap() {
1132
1141
  const { width, height, visibleLinks } = this.state;
1133
- const { networkGraph, deviceStates } = this.props;
1142
+ const { networkGraph, deviceStates, devices } = this.props;
1134
1143
  const links = networkGraph.links.filter(l => intersection_default()(visibleLinks, l.relationships).length > 0);
1135
1144
  return (react.createElement("svg", { ref: this.svgRef, viewBox: `0 0 ${width} ${height}` },
1136
1145
  react.createElement("g", { className: "everything" },
1137
1146
  react.createElement(map_links, { links: links }),
1138
- react.createElement(Nodes, { root: this.svgRef.current, nodes: networkGraph.nodes, simulation: this.simulation, deviceStates: deviceStates }))));
1147
+ react.createElement(Nodes, { root: this.svgRef.current, nodes: networkGraph.nodes, simulation: this.simulation, deviceStates: deviceStates, devices: devices }))));
1139
1148
  }
1140
1149
  renderMessage() {
1141
1150
  const { networkGraphIsLoading, t } = this.props;
@@ -1179,7 +1188,7 @@ class MapComponent extends react.Component {
1179
1188
  this.renderHelp()));
1180
1189
  }
1181
1190
  }
1182
- const mappedProps = ["networkGraph", "networkGraphIsLoading", "deviceStates"];
1191
+ const mappedProps = ["networkGraph", "networkGraphIsLoading", "deviceStates", "devices"];
1183
1192
  const ConnectedMap = (0,withTranslation/* withTranslation */.Z)("map")((0,unistore_react/* connect */.$)(mappedProps, actions_actions)(MapComponent));
1184
1193
  /* harmony default export */ const components_map = (ConnectedMap);
1185
1194
 
@@ -2053,7 +2062,7 @@ class ReportingRow extends react.Component {
2053
2062
  react.createElement("div", { className: "col-md-2" },
2054
2063
  react.createElement(ClusterPicker, { label: t('cluster'), disabled: !stateRule.endpoint, pickerType: PickerType.SINGLE, clusters: getClusters(device, stateRule.endpoint, stateRule.cluster), value: stateRule.cluster, onChange: this.setCluster })),
2055
2064
  react.createElement("div", { className: "col-md-2" },
2056
- react.createElement(AttributePicker, { label: t('attribute'), value: stateRule.attribute, cluster: stateRule.cluster, onChange: this.setAttribute })),
2065
+ react.createElement(AttributePicker, { label: t('attribute'), disabled: !stateRule.cluster, value: stateRule.attribute, cluster: stateRule.cluster, onChange: this.setAttribute })),
2057
2066
  react.createElement("div", { className: "col-md-2" },
2058
2067
  react.createElement(FormGroupInput, { onChange: this.changeHandler, value: stateRule.minimum_report_interval, name: "minimum_report_interval", label: t('min_rep_interval') })),
2059
2068
  react.createElement("div", { className: "col-md-1" },
@@ -2299,7 +2308,6 @@ const ColorEditor = (props) => {
2299
2308
  (0,react.useEffect)(() => {
2300
2309
  setCurrentColor(toRGB(value, format));
2301
2310
  }, [value, format]);
2302
- console.log(currentColor);
2303
2311
  return react.createElement(react.Fragment, null,
2304
2312
  !minimal && react.createElement("div", { className: "btn-group me-2 float-start" }, steps.map(step => react.createElement(Button, { className: "btn", style: { backgroundColor: step }, key: step, item: step, title: step, onClick: (item) => onChange(rgbToTargetFormat(item, format)) }, "\u00A0\u00A0\u00A0"))),
2305
2313
  react.createElement("input", { type: "color", className: "form-control form-control-color", value: currentColor, style: { minWidth: 40 }, onChange: e => {
@@ -3052,7 +3060,7 @@ function LogRow(props) {
3052
3060
  const { logLevel, log, search } = props;
3053
3061
  return react.createElement("div", null,
3054
3062
  logLevel === ALL && react.createElement(react.Fragment, null,
3055
- react.createElement("span", { className: classnames_default()("badge", {
3063
+ react.createElement("span", { style: { width: '50px' }, className: classnames_default()("badge", {
3056
3064
  'bg-danger': log.level === 'error',
3057
3065
  'bg-warning': log.level === 'warning',
3058
3066
  'bg-info': log.level === 'info',
@@ -3074,13 +3082,13 @@ class LogsPage extends react.Component {
3074
3082
  return react.createElement("div", { className: "card" },
3075
3083
  react.createElement("div", { className: "card-body" },
3076
3084
  react.createElement("div", { className: "row row-cols-lg-auto g-3 align-items-center" },
3077
- react.createElement("div", { className: "col-12" },
3085
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4" },
3078
3086
  react.createElement("label", { htmlFor: "log-level", className: "form-label" }, t('show_only')),
3079
3087
  react.createElement("select", { id: "log-level", className: "form-select", onChange: e => this.setState({ logLevel: e.target.value }) }, logLevels.map(level => react.createElement("option", { key: level, value: level }, level)))),
3080
- react.createElement("div", { className: "col-12" },
3088
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4" },
3081
3089
  react.createElement("label", { htmlFor: "search-filter", className: "form-label" }, t('filter_by_text')),
3082
3090
  react.createElement("input", { id: "search-filter", className: "form-control col-10", placeholder: t('common:enter_search_criteria'), value: search, onChange: (e) => this.setState({ search: e.target.value }), type: "text" })),
3083
- react.createElement("div", { className: "col-12" },
3091
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4" },
3084
3092
  react.createElement(ConfigureLogs, { schema: config_schema, schemaKey: 'properties.advanced.properties.log_level', config: config, configKey: 'advanced.log_level', onChange: updateBridgeConfig })),
3085
3093
  react.createElement("div", { className: "col-12" },
3086
3094
  react.createElement("label", { htmlFor: "reset" }, "\u00A0"),
@@ -3114,6 +3122,8 @@ const logs_page_mappedProps = ["logs", "bridgeInfo"];
3114
3122
 
3115
3123
 
3116
3124
 
3125
+
3126
+
3117
3127
  function AttributeValueEditor(props) {
3118
3128
  var _a;
3119
3129
  const { value, onChange, attribute, definition } = props;
@@ -3135,16 +3145,14 @@ const logStartingStrings = [
3135
3145
  "Wrote "
3136
3146
  ];
3137
3147
  class DevConsole extends react.Component {
3138
- constructor() {
3139
- super(...arguments);
3140
- this.state = {
3141
- cluster: "",
3142
- attributes: [],
3143
- mode: "read"
3144
- };
3148
+ constructor(props) {
3149
+ super(props);
3145
3150
  this.canRead = () => {
3146
- const { cluster, attributes } = this.state;
3147
- return attributes.length > 0 && cluster !== "";
3151
+ const { cluster, attributes, endpoint } = this.state;
3152
+ return !!endpoint && attributes.length > 0 && !!cluster;
3153
+ };
3154
+ this.onEndpointChange = (endpoint) => {
3155
+ this.setState({ attributes: [], cluster: "", endpoint });
3148
3156
  };
3149
3157
  this.onClusterChange = (cluster) => {
3150
3158
  this.setState({ attributes: [], cluster });
@@ -3163,13 +3171,13 @@ class DevConsole extends react.Component {
3163
3171
  };
3164
3172
  this.onReadClick = () => {
3165
3173
  const { readDeviceAttributes, device } = this.props;
3166
- const { cluster, attributes } = this.state;
3167
- readDeviceAttributes(device.ieee_address, cluster, attributes.map(info => info.attribute), {});
3174
+ const { cluster, attributes, endpoint } = this.state;
3175
+ readDeviceAttributes(device.friendly_name, "", cluster, attributes.map(info => info.attribute), {});
3168
3176
  };
3169
3177
  this.onWriteClick = () => {
3170
3178
  const { writeDeviceAttributes, device } = this.props;
3171
- const { cluster, attributes } = this.state;
3172
- writeDeviceAttributes(device.ieee_address, cluster, attributes, {});
3179
+ const { cluster, attributes, endpoint } = this.state;
3180
+ writeDeviceAttributes(device.friendly_name, "", cluster, attributes, {});
3173
3181
  };
3174
3182
  this.onAttributeValueChange = (attribute, value) => {
3175
3183
  const { attributes } = this.state;
@@ -3183,6 +3191,14 @@ class DevConsole extends react.Component {
3183
3191
  this.setMode = (mode) => {
3184
3192
  this.setState({ mode });
3185
3193
  };
3194
+ const { device } = props;
3195
+ const defaultEndpoint = Object.keys(device.endpoints)[0];
3196
+ this.state = {
3197
+ endpoint: defaultEndpoint,
3198
+ cluster: "",
3199
+ attributes: [],
3200
+ mode: "read"
3201
+ };
3186
3202
  }
3187
3203
  renderLastResult() {
3188
3204
  const { logs } = this.props;
@@ -3207,12 +3223,15 @@ class DevConsole extends react.Component {
3207
3223
  react.createElement("i", { className: "fas fa-trash" })))))));
3208
3224
  }
3209
3225
  renderRead() {
3210
- const { cluster, attributes } = this.state;
3226
+ const { cluster, attributes, endpoint } = this.state;
3211
3227
  const noAttributesSelected = attributes.length === 0;
3212
3228
  const noSelectedCluster = cluster === "";
3213
- const { t } = this.props;
3229
+ const { t, device } = this.props;
3230
+ const endpoints = getEndpoints(device);
3214
3231
  return react.createElement(react.Fragment, null,
3215
3232
  react.createElement("div", { className: "mb-3 row" },
3233
+ react.createElement("div", { className: "col-6 col-sm-3" },
3234
+ react.createElement(EndpointPicker, { disabled: true, label: t('zigbee:endpoint'), values: endpoints, value: endpoint, onChange: this.onEndpointChange })),
3216
3235
  react.createElement("div", { className: "col-6 col-sm-3" },
3217
3236
  react.createElement(ClusterPicker, { label: t('cluster'), pickerType: PickerType.SINGLE, clusters: Object.keys((cluster_default())), value: cluster, onChange: this.onClusterChange })),
3218
3237
  react.createElement("div", { className: "col-6 col-sm-3" },
@@ -3558,7 +3577,7 @@ class SettingsPage extends react.Component {
3558
3577
  zigbee2mqttCommit) },
3559
3578
  { 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')) },
3560
3579
  { 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')) },
3561
- { translationKey: 'frontend_version', content: "0.6.14" },
3580
+ { translationKey: 'frontend_version', content: "0.6.18" },
3562
3581
  ];
3563
3582
  return react.createElement("div", { className: "p-3" }, rows.map(row => react.createElement("dl", { key: row.translationKey, className: "row" },
3564
3583
  react.createElement("dt", { className: "col-sm-3" }, t(row.translationKey)),
@@ -3933,90 +3952,6 @@ function RenameGroupForm(props) {
3933
3952
  react.createElement("i", { className: "fa fa-edit" }))));
3934
3953
  }
3935
3954
 
3936
- ;// CONCATENATED MODULE: ./src/components/groups/AddDeviceToGroup.tsx
3937
-
3938
-
3939
-
3940
-
3941
-
3942
-
3943
- function AddDeviceToGroup(props) {
3944
- const [state, setState] = (0,react.useState)({});
3945
- const { addDeviceToGroup, group, devices } = props;
3946
- const { device, endpoint } = state;
3947
- const deviceObj = devices[device];
3948
- const endpoints = getEndpoints(deviceObj);
3949
- const { t } = (0,useTranslation/* useTranslation */.$)(["groups", "zigbee"]);
3950
- const onSubmit = () => {
3951
- addDeviceToGroup(endpoint ? `${device}/${endpoint}` : device, group.friendly_name);
3952
- };
3953
- const onDeviceSelect = (device) => {
3954
- const endpoints = getEndpoints(device);
3955
- setState({ device: device.ieee_address, endpoint: endpoints[0] });
3956
- };
3957
- const onEpChange = (endpoint) => {
3958
- setState({ endpoint });
3959
- };
3960
- return react.createElement(react.Fragment, null,
3961
- react.createElement("div", { className: "mb-3" },
3962
- react.createElement(DevicePicker, { label: t('zigbee:device'), value: device, devices: devices, onChange: onDeviceSelect }),
3963
- react.createElement(EndpointPicker, { label: t('zigbee:endpoint'), values: endpoints, value: endpoint, onChange: onEpChange })),
3964
- react.createElement("div", { className: "d-flex" },
3965
- react.createElement("div", { className: "ms-auto" },
3966
- react.createElement(Button, { type: "button", onClick: onSubmit, className: "btn btn-primary" }, t('add_to_group')))));
3967
- }
3968
-
3969
- ;// CONCATENATED MODULE: ./src/components/groups/style.css
3970
- // extracted by mini-css-extract-plugin
3971
- /* harmony default export */ const groups_style = ({"device-pic":"bO16jDGshVrIREd2s2UU","device-image":"Ng7dnsZ8eihIeA_r3dUK"});
3972
- ;// CONCATENATED MODULE: ./src/components/groups/DeviceGroupRow.tsx
3973
-
3974
-
3975
-
3976
-
3977
-
3978
-
3979
-
3980
-
3981
- function DeviceGroupRow(props) {
3982
- var _a;
3983
- const { t } = (0,useTranslation/* useTranslation */.$)('devicePage');
3984
- const { rowNumber, removeDeviceFromGroup, groupAddress, devices } = props;
3985
- const device = (_a = devices[groupAddress.ieee_address]) !== null && _a !== void 0 ? _a : { ieee_address: groupAddress.ieee_address, friendly_name: t('unknown_device') };
3986
- return react.createElement("tr", null,
3987
- react.createElement("th", { scope: "row" }, rowNumber + 1),
3988
- react.createElement("td", { className: groups_style["device-pic"] },
3989
- react.createElement(device_image, { className: classnames_default()(groups_style["device-image"]), device: device })),
3990
- react.createElement("td", null,
3991
- react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) }, device.friendly_name)),
3992
- react.createElement("td", null, groupAddress.ieee_address),
3993
- react.createElement("td", null, groupAddress.endpoint),
3994
- react.createElement("td", null, device && react.createElement(Button, { promt: true, item: device.friendly_name, onClick: removeDeviceFromGroup, className: "btn btn-danger btn-sm float-right" },
3995
- react.createElement("i", { className: "fa fa-trash" }))));
3996
- }
3997
-
3998
- ;// CONCATENATED MODULE: ./src/components/groups/DeviceGroup.tsx
3999
-
4000
-
4001
-
4002
- function DeviceGroup(props) {
4003
- const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
4004
- const { group, removeDeviceFromGroup, devices } = props;
4005
- const onRemove = (deviceFriendlyName) => {
4006
- removeDeviceFromGroup(group.friendly_name, deviceFriendlyName);
4007
- };
4008
- return react.createElement("table", { className: "table table-sm" },
4009
- react.createElement("thead", null,
4010
- react.createElement("tr", null,
4011
- react.createElement("th", { scope: "col" }, "#"),
4012
- react.createElement("th", { scope: "col" }, t('pic')),
4013
- react.createElement("th", { scope: "col" }, t('friendly_name')),
4014
- react.createElement("th", { scope: "col" }, t('ieee_address')),
4015
- react.createElement("th", { scope: "col" }, t('endpoint')),
4016
- react.createElement("th", { scope: "col", className: "text-right" }, t('common:action')))),
4017
- react.createElement("tbody", null, group.members.map((groupMemebershipInfo, idx) => react.createElement(DeviceGroupRow, { key: groupMemebershipInfo.ieee_address, removeDeviceFromGroup: onRemove, rowNumber: idx, devices: devices, groupAddress: groupMemebershipInfo }))));
4018
- }
4019
-
4020
3955
  ;// CONCATENATED MODULE: ./src/components/groups/index.tsx
4021
3956
 
4022
3957
 
@@ -4025,8 +3960,6 @@ function DeviceGroup(props) {
4025
3960
 
4026
3961
 
4027
3962
 
4028
-
4029
-
4030
3963
  class GroupsPage extends react.Component {
4031
3964
  constructor() {
4032
3965
  super(...arguments);
@@ -4047,10 +3980,6 @@ class GroupsPage extends react.Component {
4047
3980
  const { removeGroup } = this.props;
4048
3981
  removeGroup(friendlyName);
4049
3982
  };
4050
- this.removeDeviceFromGroup = (groupFriendlyName, deviceFriendlyName) => {
4051
- const { removeDeviceFromGroup } = this.props;
4052
- removeDeviceFromGroup(deviceFriendlyName, groupFriendlyName);
4053
- };
4054
3983
  this.renameGroup = (oldName, newName) => {
4055
3984
  const { renameGroup } = this.props;
4056
3985
  renameGroup(oldName, newName);
@@ -4069,39 +3998,30 @@ class GroupsPage extends react.Component {
4069
3998
  react.createElement(Button, { onClick: this.onGroupCreateSubmit, className: "btn btn-primary form-control" }, t('create_group'))))));
4070
3999
  }
4071
4000
  renderGroups() {
4072
- const { groups, devices, addDeviceToGroup, sceneStore, sceneRecall, sceneRemove, sceneRemoveAll, t } = this.props;
4073
- return groups.map(group => (react.createElement("div", { key: group.id, className: "card" },
4074
- react.createElement("div", { className: "card-header", id: `heading${group.id}` },
4075
- react.createElement("h5", { className: "mb-0" },
4076
- react.createElement("button", { className: "btn btn-link btn-sm" },
4077
- group.friendly_name,
4078
- " (#",
4079
- group.id,
4080
- ")"),
4081
- react.createElement("div", { className: "btn-group float-right btn-group-sm", role: "group" },
4082
- react.createElement(RenameGroupForm, { name: group.friendly_name, onRename: this.renameGroup }),
4083
- react.createElement(Button, { promt: true, title: t('remove_group'), item: group.friendly_name, onClick: this.removeGroup, className: "btn btn-danger" },
4084
- react.createElement("i", { className: "fa fa-trash" }))))),
4001
+ const { groups, t } = this.props;
4002
+ const { setStateValue, setDeviceState, getDeviceState } = this.props;
4003
+ return react.createElement("div", { className: "card" },
4085
4004
  react.createElement("div", { className: "card-body" },
4086
- react.createElement("div", { className: "table-responsive" },
4087
- react.createElement(DeviceGroup, { group: group, devices: devices, removeDeviceFromGroup: this.removeDeviceFromGroup }))),
4088
- react.createElement("div", { className: "card-footer" },
4089
- react.createElement("div", { className: "row" },
4090
- react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4091
- react.createElement("div", { className: "card w-100" },
4092
- react.createElement("div", { className: "card-body" },
4093
- react.createElement("div", { className: "form-group" },
4094
- react.createElement(AddDeviceToGroup, { addDeviceToGroup: addDeviceToGroup, devices: devices, group: group }))))),
4095
- react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4096
- react.createElement("div", { className: "card w-100" },
4097
- react.createElement("div", { className: "card-body" },
4098
- react.createElement("div", { className: "form-group" },
4099
- react.createElement(RecallRemove, { target: group, sceneStore: sceneStore, sceneRecall: sceneRecall, sceneRemove: sceneRemove, sceneRemoveAll: sceneRemoveAll, deviceState: {} }))))),
4100
- react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4101
- react.createElement("div", { className: "card w-100" },
4102
- react.createElement("div", { className: "card-body" },
4103
- react.createElement("div", { className: "form-group" },
4104
- react.createElement(AddScene, { sceneStore: sceneStore, target: group, deviceState: {}, setDeviceState: (dev, value) => { return Promise.resolve(); } })))))))))).reverse();
4005
+ react.createElement("table", { className: "table" },
4006
+ react.createElement("thead", null,
4007
+ react.createElement("tr", null,
4008
+ react.createElement("th", { scope: "col" }, t('group_id')),
4009
+ react.createElement("th", { scope: "col" }, t('group_name')),
4010
+ react.createElement("th", { scope: "col" }, t('group_members')),
4011
+ react.createElement("th", { scope: "col" }, t('group_scenes')),
4012
+ react.createElement("th", { scope: "col" }, "\u00A0"))),
4013
+ react.createElement("tbody", null, groups.map(group => (react.createElement("tr", { key: group.id },
4014
+ react.createElement("td", null,
4015
+ react.createElement(react_router_dom/* Link */.rU, { to: `/group/${group.id}` }, group.id)),
4016
+ react.createElement("td", null,
4017
+ react.createElement(react_router_dom/* Link */.rU, { to: `/group/${group.id}` }, group.friendly_name)),
4018
+ react.createElement("td", null, group.members.length),
4019
+ react.createElement("td", null, group.scenes.length),
4020
+ react.createElement("td", null,
4021
+ react.createElement("div", { className: "btn-group float-right btn-group-sm", role: "group" },
4022
+ react.createElement(RenameGroupForm, { name: group.friendly_name, onRename: this.renameGroup }),
4023
+ react.createElement(Button, { promt: true, title: t('remove_group'), item: group.friendly_name, onClick: this.removeGroup, className: "btn btn-danger" },
4024
+ react.createElement("i", { className: "fa fa-trash" }))))))).reverse()))));
4105
4025
  }
4106
4026
  render() {
4107
4027
  return react.createElement(react.Fragment, null,
@@ -4109,7 +4029,7 @@ class GroupsPage extends react.Component {
4109
4029
  this.renderGroups());
4110
4030
  }
4111
4031
  }
4112
- const groups_mappedProps = ["groups", "devices"];
4032
+ const groups_mappedProps = ["groups", "devices", "deviceStates", "bridgeInfo"];
4113
4033
  const ConnectedGroupsPage = (0,withTranslation/* withTranslation */.Z)("groups")((0,unistore_react/* connect */.$)(groups_mappedProps, actions_actions)(GroupsPage));
4114
4034
  /* harmony default export */ const groups = (ConnectedGroupsPage);
4115
4035
 
@@ -4545,19 +4465,61 @@ const DeviceFooter = ({ device, deviceState, lastSeenType }) => {
4545
4465
 
4546
4466
 
4547
4467
 
4548
- const DashboardDevice_DashboardDevice = ({ onChange, onRead, device, deviceState, lastSeenType, feature: { features }, featureWrapperClass }) => {
4468
+ const DashboardDevice_DashboardDevice = ({ onChange, onRead, device, deviceState, lastSeenType, feature: { features }, featureWrapperClass, controls }) => {
4549
4469
  return (react.createElement("div", { className: "col-xl-3 col-lg-4 col-sm-6 col-12 d-flex" },
4550
4470
  react.createElement("div", { className: `flex-fill card flex-shrink-1` },
4551
- react.createElement("div", { className: "card-header pb-0" },
4471
+ react.createElement("div", { className: "card-header pb-0 d-flex justify-content-between" },
4552
4472
  react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) },
4553
4473
  react.createElement(device_image, { device: device, className: classnames_default()(DashboardDevice.deviceImage, 'me-2 d-inline') }),
4554
- device.friendly_name)),
4474
+ device.friendly_name),
4475
+ controls),
4555
4476
  react.createElement("div", { className: `card-body align-items-center row` },
4556
4477
  react.createElement(composite, { feature: { features }, className: "row", type: "composite", device: device, deviceState: deviceState, onChange: onChange, onRead: onRead, featureWrapperClass: featureWrapperClass, minimal: true })),
4557
4478
  react.createElement(dashboard_page_DeviceFooter, { device: device, deviceState: deviceState, lastSeenType: lastSeenType }))));
4558
4479
  };
4559
4480
  /* harmony default export */ const dashboard_page_DashboardDevice = (DashboardDevice_DashboardDevice);
4560
4481
 
4482
+ ;// CONCATENATED MODULE: ./src/components/groups/DeviceGroupRow.tsx
4483
+
4484
+
4485
+
4486
+
4487
+
4488
+
4489
+
4490
+ function filterDeviceByFeatures(devices, deviceStates, filterFn) {
4491
+ return Object.values(devices)
4492
+ .filter(device => device.supported)
4493
+ .map(device => { var _a; return ({ device, deviceState: (_a = deviceStates[device.friendly_name]) !== null && _a !== void 0 ? _a : {} }); })
4494
+ .map(({ device, deviceState }) => {
4495
+ var _a, _b;
4496
+ const _features = ((_b = (_a = device.definition) === null || _a === void 0 ? void 0 : _a.exposes) !== null && _b !== void 0 ? _b : []);
4497
+ const filteredFeatures = _features
4498
+ .map((e) => filterFn(e, deviceState))
4499
+ .filter(f => f);
4500
+ return { device, deviceState, filteredFeatures };
4501
+ })
4502
+ .filter(({ filteredFeatures }) => filteredFeatures.length > 0)
4503
+ .sort((a, b) => a.device.friendly_name.localeCompare(b.device.friendly_name));
4504
+ }
4505
+ function DeviceGroupRow(props) {
4506
+ var _a, _b, _c, _d;
4507
+ const { t } = (0,useTranslation/* useTranslation */.$)('devicePage');
4508
+ const { removeDeviceFromGroup, groupAddress, devices, deviceStates, bridgeInfo } = props;
4509
+ const device = (_a = devices[groupAddress.ieee_address]) !== null && _a !== void 0 ? _a : { ieee_address: groupAddress.ieee_address, friendly_name: t('unknown_device') };
4510
+ const deviceState = (_b = deviceStates[device.friendly_name]) !== null && _b !== void 0 ? _b : {};
4511
+ const lastSeenType = getLastSeenType(bridgeInfo.config.advanced);
4512
+ const { setDeviceState, getDeviceState } = props;
4513
+ let filteredFeatures = [];
4514
+ if (device.definition) {
4515
+ filteredFeatures = ((_d = (_c = device.definition) === null || _c === void 0 ? void 0 : _c.exposes) !== null && _d !== void 0 ? _d : [])
4516
+ .map((e) => onlyValidFeaturesForScenes(e, deviceState))
4517
+ .filter(f => f);
4518
+ }
4519
+ 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" },
4520
+ react.createElement("i", { className: "fa fa-trash" })) });
4521
+ }
4522
+
4561
4523
  ;// CONCATENATED MODULE: ./src/components/dashboard-page/index.tsx
4562
4524
 
4563
4525
 
@@ -4568,6 +4530,7 @@ const DashboardDevice_DashboardDevice = ({ onChange, onRead, device, deviceState
4568
4530
 
4569
4531
 
4570
4532
 
4533
+
4571
4534
  const genericRendererIgnoredNames = ['linkquality', 'battery', 'battery_low', 'illuminance_lux', 'color_temp_startup', 'voltage', 'strength', 'color_options'];
4572
4535
  const dashboard_page_whitelistFeatureNames = ['state', 'brightness', 'color_temp', 'mode', 'sound', 'occupancy', 'tamper', 'alarm'];
4573
4536
  const whitelistFeatureTypes = ['light'];
@@ -4607,20 +4570,7 @@ const onlyValidFeaturesForDashboard = (feature, deviceState = {}) => {
4607
4570
  const Dashboard = (props) => {
4608
4571
  const { setDeviceState, getDeviceState, deviceStates, bridgeInfo } = props;
4609
4572
  const lastSeenType = getLastSeenType(bridgeInfo.config.advanced);
4610
- return (react.createElement("div", { className: "row" }, Object.values(props.devices)
4611
- .filter(device => device.supported)
4612
- .map(device => { var _a; return ({ device, deviceState: (_a = deviceStates[device.friendly_name]) !== null && _a !== void 0 ? _a : {} }); })
4613
- .map(({ device, deviceState }) => {
4614
- var _a, _b;
4615
- const _features = ((_b = (_a = device.definition) === null || _a === void 0 ? void 0 : _a.exposes) !== null && _b !== void 0 ? _b : []);
4616
- const filteredFeatures = _features
4617
- .map((e) => onlyValidFeaturesForDashboard(e, deviceState))
4618
- .filter(f => f);
4619
- return { device, deviceState, filteredFeatures };
4620
- })
4621
- .filter(({ filteredFeatures }) => filteredFeatures.length > 0)
4622
- .sort((a, b) => a.device.friendly_name.localeCompare(b.device.friendly_name))
4623
- .map(({ device, deviceState, filteredFeatures }) => {
4573
+ return (react.createElement("div", { className: "row" }, filterDeviceByFeatures(props.devices, deviceStates, onlyValidFeaturesForDashboard).map(({ device, deviceState, filteredFeatures }) => {
4624
4574
  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 }));
4625
4575
  })));
4626
4576
  };
@@ -4739,6 +4689,107 @@ class ExtensionsEditorPage extends react.Component {
4739
4689
  const extensions_editor_mappedProps = ["extensions", "theme"];
4740
4690
  /* harmony default export */ const extensions_editor = ((0,withTranslation/* withTranslation */.Z)("extensions")((0,unistore_react/* connect */.$)(extensions_editor_mappedProps, actions_actions)(ExtensionsEditorPage)));
4741
4691
 
4692
+ ;// CONCATENATED MODULE: ./src/components/groups/AddDeviceToGroup.tsx
4693
+
4694
+
4695
+
4696
+
4697
+
4698
+
4699
+ function AddDeviceToGroup(props) {
4700
+ const [state, setState] = (0,react.useState)({});
4701
+ const { addDeviceToGroup, group, devices } = props;
4702
+ const { device, endpoint } = state;
4703
+ const deviceObj = devices[device];
4704
+ const endpoints = getEndpoints(deviceObj);
4705
+ const { t } = (0,useTranslation/* useTranslation */.$)(["groups", "zigbee"]);
4706
+ const onSubmit = () => {
4707
+ addDeviceToGroup(endpoint ? `${device}/${endpoint}` : device, group.friendly_name);
4708
+ };
4709
+ const onDeviceSelect = (device) => {
4710
+ const endpoints = getEndpoints(device);
4711
+ setState({ device: device.ieee_address, endpoint: endpoints[0] });
4712
+ };
4713
+ const onEpChange = (endpoint) => {
4714
+ setState({ endpoint });
4715
+ };
4716
+ return react.createElement(react.Fragment, null,
4717
+ react.createElement("div", { className: "mb-3" },
4718
+ react.createElement(DevicePicker, { label: t('zigbee:device'), value: device, devices: devices, onChange: onDeviceSelect }),
4719
+ react.createElement(EndpointPicker, { label: t('zigbee:endpoint'), values: endpoints, value: endpoint, onChange: onEpChange })),
4720
+ react.createElement("div", { className: "d-flex" },
4721
+ react.createElement("div", { className: "ms-auto" },
4722
+ react.createElement(Button, { type: "button", onClick: onSubmit, className: "btn btn-primary" }, t('add_to_group')))));
4723
+ }
4724
+
4725
+ ;// CONCATENATED MODULE: ./src/components/groups/DeviceGroup.tsx
4726
+
4727
+
4728
+ function DeviceGroup(props) {
4729
+ const { group, removeDeviceFromGroup, devices, deviceStates, bridgeInfo } = props;
4730
+ const { setStateValue, setDeviceState, getDeviceState } = props;
4731
+ const onRemove = (deviceFriendlyName) => {
4732
+ removeDeviceFromGroup(group.friendly_name, deviceFriendlyName);
4733
+ };
4734
+ return react.createElement("div", { className: "row" }, group.members.map((groupMemebershipInfo, idx) => react.createElement(DeviceGroupRow, { key: groupMemebershipInfo.ieee_address, removeDeviceFromGroup: onRemove, devices: devices, groupAddress: groupMemebershipInfo, deviceStates: deviceStates, bridgeInfo: bridgeInfo, ...{ setStateValue, setDeviceState, getDeviceState } })));
4735
+ }
4736
+
4737
+ ;// CONCATENATED MODULE: ./src/components/groups/GroupPage.tsx
4738
+
4739
+
4740
+
4741
+
4742
+
4743
+
4744
+
4745
+
4746
+ function GroupPage(props) {
4747
+ const { devices, deviceStates, bridgeInfo, groups } = props;
4748
+ const { match } = props;
4749
+ const groupId = parseInt(match.params.groupId, 10);
4750
+ const group = groups.find(g => g.id === groupId) || {
4751
+ id: groupId,
4752
+ friendly_name: "Unknow group",
4753
+ members: [],
4754
+ scenes: []
4755
+ };
4756
+ const { setStateValue, setDeviceState, getDeviceState } = props;
4757
+ const { addDeviceToGroup, removeDeviceFromGroup } = props;
4758
+ const { sceneStore, sceneRemoveAll, sceneRecall, sceneRemove } = props;
4759
+ const { t } = (0,useTranslation/* useTranslation */.$)(['groups']);
4760
+ return react.createElement("div", null,
4761
+ react.createElement("h5", null,
4762
+ t('group_name'),
4763
+ ": ",
4764
+ group.friendly_name,
4765
+ " (#",
4766
+ group.id,
4767
+ ")"),
4768
+ react.createElement("div", { className: "row" },
4769
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4770
+ react.createElement("div", { className: "card w-100" },
4771
+ react.createElement("div", { className: "card-body" },
4772
+ react.createElement("div", { className: "form-group" },
4773
+ react.createElement(AddDeviceToGroup, { addDeviceToGroup: addDeviceToGroup, devices: devices, group: group }))))),
4774
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4775
+ react.createElement("div", { className: "card w-100" },
4776
+ react.createElement("div", { className: "card-body" },
4777
+ react.createElement("div", { className: "form-group" },
4778
+ react.createElement(RecallRemove, { target: group, sceneStore: sceneStore, sceneRecall: sceneRecall, sceneRemove: sceneRemove, sceneRemoveAll: sceneRemoveAll, deviceState: {} }))))),
4779
+ react.createElement("div", { className: "col-12 col-sm-4 col-xxl-4 d-flex" },
4780
+ react.createElement("div", { className: "card w-100" },
4781
+ react.createElement("div", { className: "card-body" },
4782
+ react.createElement("div", { className: "form-group" },
4783
+ react.createElement(AddScene, { sceneStore: sceneStore, target: group, deviceState: {}, setDeviceState: (dev, value) => { return Promise.resolve(); } })))))),
4784
+ react.createElement(DeviceGroup, { group: group, devices: devices, deviceStates: deviceStates, bridgeInfo: bridgeInfo, removeDeviceFromGroup: (groupFriendlyName, deviceFriendlyName) => {
4785
+ removeDeviceFromGroup(deviceFriendlyName, groupFriendlyName);
4786
+ }, ...{ setStateValue, setDeviceState, getDeviceState } }));
4787
+ }
4788
+ const GroupPageWithRouter = (0,react_router/* withRouter */.EN)(GroupPage);
4789
+ const GroupPage_mappedProps = ["groups", "devices", "deviceStates", "bridgeInfo"];
4790
+ const ConnectedGroupPage = (0,unistore_react/* connect */.$)(GroupPage_mappedProps, actions_actions)(GroupPageWithRouter);
4791
+ /* harmony default export */ const groups_GroupPage = (ConnectedGroupPage);
4792
+
4742
4793
  ;// CONCATENATED MODULE: ./src/components/state-notifier/StateNotifier.tsx
4743
4794
 
4744
4795
 
@@ -4770,13 +4821,13 @@ var context = __webpack_require__(8718);
4770
4821
  // EXTERNAL MODULE: ./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js
4771
4822
  var i18nextBrowserLanguageDetector = __webpack_require__(6071);
4772
4823
  ;// CONCATENATED MODULE: ./src/i18n/locales/en.json
4773
- const en_namespaceObject = JSON.parse('{"common":{"action":"Action","actions":"Actions","apply":"Apply","attribute":"Attribute","bind":"Bind","check_all":"Check all","clear":"Clear","close":"Close","cluster":"Cluster","clusters":"Clusters","confirmation":"Confirmation prompt","delete":"Delete","destination":"Destination","devices":"Devices","dialog_confirmation_prompt":"Are you sure?","disable":"Disable","enter_search_criteria":"Enter search criteria","groups":"Groups","loading":"Loading...","none":"None","ok":"Ok","read":"Read","save":"Save","select_device":"Select device","select_endpoint":"Select endpoint","source_endpoint":"Source endpoint","the_only_endpoint":"The only endpoint","unbind":"Unbind","write":"Write"},"devicePage":{"about":"About","bind":"Bind","clusters":"Clusters","dev_console":"Dev console","exposes":"Exposes","reporting":"Reporting","settings":"Settings","settings_specific":"Settings (specific)","state":"State","scene":"Scene","unknown_device":"Unknown device"},"exposes":{"action":"Action","auto_off":"Auto off","away_mode":"Away mode","away_preset_days":"Away preset days","away_preset_temperature":"Away preset temperature","backlight_mode":"Backlight mode","battery":"Battery","battery_low":"Battery low","boost_time":"Boost time","brightness":"Brightness","calibration":"Calibration","carbon_monoxide":"Carbon monoxide","color_hs":"Color (HS)","color_temp":"Color temperature","color_temp_startup":"Startup color temp","color_xy":"Color (XY)","comfort_temperature":"Comfort temperature","consumer_connected":"Consumer connected","consumer_overload":"Consumer overload","contact":"Contact","current":"Current","current_heating_setpoint":"Current heating setpoint","eco_temperature":"Eco temperature","effect":"Effect","empty_exposes_definition":"Empty exposes definition","energy":"Energy","force":"Force","humidity":"Humidity","illuminance":"Illuminance","illuminance_lux":"Illuminance","led_disabled_night":"Led disabled night","linkquality":"Linkquality","local_temperature":"Local temperature","local_temperature_calibration":"Local temperature calibration","max_temperature":"Max temperature","min_temperature":"Min temperature","motor_reversal":"Motor reversal","moving":"Moving","occupancy":"Occupancy","operation_mode":"Operation mode","options":"Options","position":"Position","power":"Power","power_on_behavior":"Power on behavior","power_outage_memory":"Power outage memory","preset":"Preset","pressure":"Pressure","sensivity":"Sensivity","smoke":"Smoke","state":"State","strength":"Strength","system_mode":"System mode","tamper":"Tamper","temperature":"Temperature","voltage":"Voltage","water_leak":"Water leak","week":"Week"},"extensions":{"create_new_extension":"Create new extension","extension_name_propmt":"Enter new extension name","select_extension_to_edit":"Select extension to edit"},"featureNames":{"action":"Action","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","brightness":"Brightness","color_temp":"Color Temp","color_xy":"Color Xy","contact":"Contact","humidity":"Humidity","illuminance":"Illuminance","occupancy":"Occupancy","pressure":"Pressure","soil_moisture":"Soil Moisture","state":"State","temperature":"Temperature","tamper":"Tamper"},"groups":{"add_to_group":"Add to group","create_group":"Create group","new_group_id":"New group id","new_group_id_placeholder":"Specify group id if necessary","new_group_name":"New group name","new_group_name_placeholder":"example: my_bedroom_lights","remove_group":"Remove group"},"logs":{"empty_logs_message":"Nothing to display","filter_by_text":"Filter by text","show_only":"Show only"},"map":{"help_coordinator_link_description":"Solid lines are the link to the Coordinator","help_end_device_description":"Green means End Device","help_is_coordinator":"is Coordinator","help_lqi_description":"Link quality is between 0 - 255 (higher is better), values with / represents multiple types of links","help_router_description":"Blue means Router","help_router_links_description":"Dashed lines are the link with Routes","hide":"Click on me to hide","load":"Load map","loading":"Depending on the size of your network this can take somewhere between 10 seconds and 2 minutes."},"navbar":{"all":"All","dashboard":"Dashboard","devices":"Devices","disable_join":"Disable join","extensions":"Extensions","groups":"Groups","logs":"Logs","map":"Map","ota":"OTA","permit_join":"Permit join","restart":"Restart","settings":"Settings","toggle_dropdown":"Toggle dropdown","touchlink":"Touchlink"},"ota":{"check":"Check for new updates","check_all":"Check all","empty_ota_message":"You don\'t have any devices that support OTA","remaining_time":"Remaining time {{- remaining}}","update":"Update device firmware"},"settings":{"about":"About","advanced":"Advanced","blocklist":"Blocklist","coordinator_revision":"Coordinator revision","coordinator_type":"Coordinator type","donate":"Donate","donation_text":["Hello, %username%, here you can thank us for hardworking","Don\'t hesitate to say something nice as well ;)"],"download_state":"Download state","experimental":"Experimental","external_converters":"External converters","frontend":"Frontend","frontend_version":"Frontend version","main":"Main","mqtt":"MQTT","ota":"OTA updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Restart Zigbee2MQTT","serial":"Serial","settings":"Settings","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT version","translate":"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 again","scan":"Scan"},"values":{"clear":"Clear","closed":"Closed","false":"False","not_supported":"Not supported","occupied":"Occupied","open":"Open","supported":"Supported","true":"True","empty_string":"Empty string(\\"\\")","leaking":"Leaking","tampered":"Tampered"},"zigbee":{"actions":"Actions","attribute":"Attribute","block_join":"Block from joining again","cluster":"Cluster","description":"Description","device_type":"Device type","endpoint":"Endpoint","firmware_build_date":"Firmware build date","firmware_version":"Firmware version","force_remove":"Force remove","friendly_name":"Friendly name","ieee_address":"IEEE Address","input_clusters":"Input clusters","interview_completed":"Interview completed","last_seen":"Last seen","lqi":"LQI","manufacturer":"Manufacturer","max_rep_interval":"max rep interval","min_rep_change":"Min rep change","min_rep_interval":"Min rep interval","model":"Model","network_address":"Network address","none":"None","output_clusters":"Output clusters","pic":"Pic","power":"Power","reconfigure":"Reconfigure","remove_device":"Remove device","rename_device":"Rename device","select_attribute":"Select attribute","select_cluster":"Select cluster","support_status":"Support status","unsupported":"Unsupported","update_Home_assistant_entity_id":"Update Home Assistant entity ID","zigbee_manufacturer":"Zigbee Manufacturer","zigbee_model":"Zigbee Model","device":"Device"},"scene":{"scene_id":"Scene ID","recall":"Recall","store":"Store","remove":"Remove","remove_all":"Remove all","add":"Add","select_scene":"Select Scene","scene_name":"Scene Name"}}');
4824
+ const en_namespaceObject = JSON.parse('{"common":{"action":"Action","actions":"Actions","apply":"Apply","attribute":"Attribute","bind":"Bind","check_all":"Check all","clear":"Clear","close":"Close","cluster":"Cluster","clusters":"Clusters","confirmation":"Confirmation prompt","delete":"Delete","destination":"Destination","devices":"Devices","dialog_confirmation_prompt":"Are you sure?","disable":"Disable","enter_search_criteria":"Enter search criteria","groups":"Groups","loading":"Loading...","none":"None","ok":"Ok","read":"Read","save":"Save","select_device":"Select device","select_endpoint":"Select endpoint","source_endpoint":"Source endpoint","the_only_endpoint":"The only endpoint","unbind":"Unbind","write":"Write"},"devicePage":{"about":"About","bind":"Bind","clusters":"Clusters","dev_console":"Dev console","exposes":"Exposes","reporting":"Reporting","settings":"Settings","settings_specific":"Settings (specific)","state":"State","scene":"Scene","unknown_device":"Unknown device"},"exposes":{"action":"Action","auto_off":"Auto off","away_mode":"Away mode","away_preset_days":"Away preset days","away_preset_temperature":"Away preset temperature","backlight_mode":"Backlight mode","battery":"Battery","battery_low":"Battery low","boost_time":"Boost time","brightness":"Brightness","calibration":"Calibration","carbon_monoxide":"Carbon monoxide","color_hs":"Color (HS)","color_temp":"Color temperature","color_temp_startup":"Startup color temp","color_xy":"Color (XY)","comfort_temperature":"Comfort temperature","consumer_connected":"Consumer connected","consumer_overload":"Consumer overload","contact":"Contact","current":"Current","current_heating_setpoint":"Current heating setpoint","eco_temperature":"Eco temperature","effect":"Effect","empty_exposes_definition":"Empty exposes definition","energy":"Energy","force":"Force","humidity":"Humidity","illuminance":"Illuminance","illuminance_lux":"Illuminance","led_disabled_night":"Led disabled night","linkquality":"Linkquality","local_temperature":"Local temperature","local_temperature_calibration":"Local temperature calibration","max_temperature":"Max temperature","min_temperature":"Min temperature","motor_reversal":"Motor reversal","moving":"Moving","occupancy":"Occupancy","operation_mode":"Operation mode","options":"Options","position":"Position","power":"Power","power_on_behavior":"Power on behavior","power_outage_memory":"Power outage memory","preset":"Preset","pressure":"Pressure","sensivity":"Sensivity","smoke":"Smoke","state":"State","strength":"Strength","system_mode":"System mode","tamper":"Tamper","temperature":"Temperature","voltage":"Voltage","water_leak":"Water leak","week":"Week"},"extensions":{"create_new_extension":"Create new extension","extension_name_propmt":"Enter new extension name","select_extension_to_edit":"Select extension to edit"},"featureNames":{"action":"Action","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","brightness":"Brightness","color_temp":"Color Temp","color_xy":"Color Xy","contact":"Contact","humidity":"Humidity","illuminance":"Illuminance","occupancy":"Occupancy","pressure":"Pressure","soil_moisture":"Soil Moisture","state":"State","temperature":"Temperature","tamper":"Tamper"},"groups":{"add_to_group":"Add to group","create_group":"Create group","new_group_id":"New group id","new_group_id_placeholder":"Specify group id if necessary","new_group_name":"New group name","new_group_name_placeholder":"example: my_bedroom_lights","remove_group":"Remove group","group_id":"Group ID","group_name":"Group Name","group_members":"Group members","group_scenes":"Group scenes"},"logs":{"empty_logs_message":"Nothing to display","filter_by_text":"Filter by text","show_only":"Show only"},"map":{"help_coordinator_link_description":"Solid lines are the link to the Coordinator","help_end_device_description":"Green means End Device","help_is_coordinator":"is Coordinator","help_lqi_description":"Link quality is between 0 - 255 (higher is better), values with / represents multiple types of links","help_router_description":"Blue means Router","help_router_links_description":"Dashed lines are the link with Routes","hide":"Click on me to hide","load":"Load map","loading":"Depending on the size of your network this can take somewhere between 10 seconds and 2 minutes."},"navbar":{"all":"All","dashboard":"Dashboard","devices":"Devices","disable_join":"Disable join","extensions":"Extensions","groups":"Groups","logs":"Logs","map":"Map","ota":"OTA","permit_join":"Permit join","restart":"Restart","settings":"Settings","toggle_dropdown":"Toggle dropdown","touchlink":"Touchlink"},"ota":{"check":"Check for new updates","check_all":"Check all","empty_ota_message":"You don\'t have any devices that support OTA","remaining_time":"Remaining time {{- remaining}}","update":"Update device firmware"},"settings":{"about":"About","advanced":"Advanced","blocklist":"Blocklist","coordinator_revision":"Coordinator revision","coordinator_type":"Coordinator type","donate":"Donate","donation_text":["Hello, %username%, here you can thank us for hardworking","Don\'t hesitate to say something nice as well ;)"],"download_state":"Download state","experimental":"Experimental","external_converters":"External converters","frontend":"Frontend","frontend_version":"Frontend version","main":"Main","mqtt":"MQTT","ota":"OTA updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Restart Zigbee2MQTT","serial":"Serial","settings":"Settings","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT version","translate":"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 again","scan":"Scan"},"values":{"clear":"Clear","closed":"Closed","false":"False","not_supported":"Not supported","occupied":"Occupied","open":"Open","supported":"Supported","true":"True","empty_string":"Empty string(\\"\\")","leaking":"Leaking","tampered":"Tampered"},"zigbee":{"actions":"Actions","attribute":"Attribute","block_join":"Block from joining again","cluster":"Cluster","description":"Description","device_type":"Device type","endpoint":"Endpoint","firmware_build_date":"Firmware build date","firmware_version":"Firmware version","force_remove":"Force remove","friendly_name":"Friendly name","ieee_address":"IEEE Address","input_clusters":"Input clusters","interview_completed":"Interview completed","last_seen":"Last seen","lqi":"LQI","manufacturer":"Manufacturer","max_rep_interval":"max rep interval","min_rep_change":"Min rep change","min_rep_interval":"Min rep interval","model":"Model","network_address":"Network address","none":"None","output_clusters":"Output clusters","pic":"Pic","power":"Power","reconfigure":"Reconfigure","remove_device":"Remove device","rename_device":"Rename device","select_attribute":"Select attribute","select_cluster":"Select cluster","support_status":"Support status","unsupported":"Unsupported","update_Home_assistant_entity_id":"Update Home Assistant entity ID","zigbee_manufacturer":"Zigbee Manufacturer","zigbee_model":"Zigbee Model","device":"Device"},"scene":{"scene_id":"Scene ID","recall":"Recall","store":"Store","remove":"Remove","remove_all":"Remove all","add":"Add","select_scene":"Select Scene","scene_name":"Scene Name"}}');
4774
4825
  ;// CONCATENATED MODULE: ./src/i18n/locales/fr.json
4775
4826
  const locales_fr_namespaceObject = JSON.parse('{"common":{"action":"Action","actions":"Actions","apply":"Appliquer","attribute":"Attribut","bind":"Lier","check_all":"Cocher tout","clear":"Vider","close":"Fermer","cluster":"Cluster","clusters":"Clusters","confirmation":"Confirmation","delete":"Effacer","destination":"Destination","devices":"Périphériques","dialog_confirmation_prompt":"Êtes-vous sûr ?","disable":"Désactiver","enter_search_criteria":"Entrez le critère de recherche","groups":"Groupes","loading":"Chargement...","none":"Aucun(e)","ok":"Ok","read":"Lecture","save":"Sauver","select_device":"Choix Périph","select_endpoint":"Choix endpoint","source_endpoint":"Endpoint Source","the_only_endpoint":"Le seul endpoint","unbind":"Délier","write":"Ecriture"},"devicePage":{"about":"À propos","bind":"Lien","clusters":"Clusters","dev_console":"Console dev","exposes":"Expose","reporting":"Rapports","settings":"Paramètres","settings_specific":"Paramètres (Spécifiques)","state":"Etat","scene":"Scène","unknown_device":"Périphérique inconnu"},"exposes":{"action":"Action","auto_off":"Arrêt automatique","away_mode":"Mode absent","away_preset_days":"Préréglage jours d\'absence","away_preset_temperature":"Préréglage température d\'absence","backlight_mode":"Mode Rétroéclairage","battery":"Batterie","battery_low":"Batterie faible","boost_time":"Temp de boost","brightness":"Luminosité","calibration":"Calibration","carbon_monoxide":"Monoxyde de carbone","color_hs":"Couleur (HS)","color_temp":"Temp Couleur","color_temp_startup":"Temp Couleur à l\'allumage","color_xy":"Couleur (XY)","comfort_temperature":"Température de confort","consumer_connected":"Consommateur connecté","consumer_overload":"Consommateur surchargé","contact":"Contact","current":"Courant","current_heating_setpoint":"Consigne chauffage actuelle","eco_temperature":"Température éco","effect":"Effet","empty_exposes_definition":"Vider définition d\'expositions","energy":"Energie","force":"Force","humidity":"Humidité","illuminance":"Éclairement","illuminance_lux":"Éclairement","led_disabled_night":"Désactivation LED en nuit","linkquality":"Qualité du lien","local_temperature":"Température locale","local_temperature_calibration":"Calibration température locale","max_temperature":"Température max","min_temperature":"Température min","motor_reversal":"Inversion moteur","moving":"Déplacement","occupancy":"Occupation","operation_mode":"Mode d\'opération","options":"Options","position":"Position","power":"Puissance","power_on_behavior":"Comportement d\'allumage","power_outage_memory":"Mémoire Panne de courant","preset":"Préréglage","pressure":"Pression","sensivity":"Sensibilité","smoke":"Fumée","state":"Etat","strength":"Force","system_mode":"Mode du système","tamper":"Sabotage","temperature":"Temperature","voltage":"Voltage","water_leak":"Fuite d\'eau","week":"Semaine"},"extensions":{"create_new_extension":"Créer une nouvelle extension","extension_name_propmt":"Entrez le nom de l\'extension","select_extension_to_edit":"Choisir l\'extension à modifier"},"featureNames":{"action":"Action","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","brightness":"Luminosité","color_temp":"Temp Couleur","color_xy":"Couleur Xy","contact":"Contact","humidity":"Humidité","illuminance":"Éclairement","occupancy":"Occupation","pressure":"Pression","soil_moisture":"Humidité Sol","state":"État","temperature":"Température","tamper":"Sabotage","current_heating_setpoint":"Consigne de chauffe actuelle","local_temperature":"Température Locale","system_mode":"Mode du Système","local_temperature_calibration":"Calibration Température Locale","away_mode":"Mode Absence","position":"Position","preset":"Préréglage"},"featureDescriptions":{"On/off state of this light":"Etat Allumé/Eteint de cette lumière","Brightness of this light":"Luminosité de cette lumière","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Exécute un effet sur la lumière (ex : faire clignotter quelques secondes)","Controls the behavior when the device is powered on":"Contrôle le comportement lorsque le périphérique est allumé","Controls the behaviour when the device is powered on":"Contrôle le comportement lorsque le périphérique est allumé","Link quality (signal strength)":"Qualité du lien (force du signal)","Remaining battery in %":"Batterie restante en %","Triggered action (e.g. a button click)":"Action déclenchée (ex : un clic bouton)","Measured temperature value":"Valeur de température mesurée","Measured relative humidity":"Valeur d\'humidité relative mesurée","The measured atmospheric pressure":"Valeur de pression atmosphérique mesurée","Voltage of the battery in millivolts":"Voltage de la batterie en millivolts","Indicates if the contact is closed (= true) or open (= false)":"Indique si le contact est fermé (= vrai) ou ouvert (= faux)","Indicates whether the device detected occupancy":"Indique si le périphérique a détecté une occupation","Measured illuminance in lux":"Valeur d\'éclairement mesurée en lux","Indicates if the battery of this device is almost empty":"Indique si la batterie du périphérique est presque vide","Indicates whether the device is tampered":"Indique si le périphérique a été saboté","Color temperature of this light":"Température de couleur de cette lumière","Color of this light in the CIE 1931 color space (x/y)":"Couleur de cette lumière dans l\'espace couleur CIE 1931 (x/y)","Enables/disables physical input on the device":"Active/Désactive le verrouillage du périphérique","Enables/disables window detection on the device":"Active/Désactive la détection de fenêtre du périphérique","Position":"Position","Temperature setpoint":"Consigne Température","Current temperature measured on the device":"Température Actuelle mesurée sur le périphérique","Mode of this device":"Mode du périphérique","Offset to be used in the local_temperature":"Décalage à appliquer sur la local_temperature","Away mode":"Mode absence","Mode of this device (similar to system_mode)":"Mode du périphérique (similaire à system_mode)","Enable/disable auto lock":"Active/Désactive auto-verrouillage","Enable/disable away mode":"Active/Désactive mode absent","Away preset days":"Jours d\'absence pré-définis","Boost time":"Durée de Boost","Comfort temperature":"Température Confort","Eco temperature":"Température Eco","Force the valve position":"Forcer la position de la valve","Maximum temperature":"Température Max","Minimum temperature":"Température Min","Week format user for schedule":"Format semaine du calendrier","Away preset temperature":"Température Absent pré-définie","On/off state of the switch":"Etat Allumé/Eteint de l\'interrupteur"},"groups":{"add_to_group":"Ajouter au groupe","create_group":"Créer groupe","new_group_id":"Nouvel ID groupe","new_group_id_placeholder":"Spécifiez l\'ID groupe si nécessaire","new_group_name":"Nouveau nom de groupe","new_group_name_placeholder":"exemple: mes_lumières_chambre","remove_group":"Supprimer groupe"},"logs":{"empty_logs_message":"Rien à afficher","filter_by_text":"Filtrer sur le texte","show_only":"Niveau"},"map":{"help_coordinator_link_description":"Les lignes pleines sont les liens avec le Coordinateur","help_end_device_description":"Les Périphérique Terminaux sont en vert","help_is_coordinator":"est le Coordinateur","help_lqi_description":"La qualité de lien est entre 0 - 255 (plus c\'est haut mieux c\'est), les valeurs avec un / représentent plusieurs types de liens","help_router_description":"Les Routeurs sont en bleu","help_router_links_description":"Les lignes en pointillés sont les liens avec les Routeurs","hide":"Cliquez-moi pour me cacher","load":"Charger le schéma","loading":"En fonction de la taille de votre réseau, ceci peut prendre entre 10 secondes et 2 minutes."},"navbar":{"all":"Tout","dashboard":"Tableau de bord","devices":"Périphériques","disable_join":"Désactiver Appairage","extensions":"Extensions","groups":"Groupes","logs":"Journaux","map":"Schéma","ota":"MàJ OTA","permit_join":"Activer Appairage","restart":"Redémarrer","settings":"Paramètres","toggle_dropdown":"Bascule menu","touchlink":"Touchlink"},"ota":{"check":"Vérifier nouvelles MàJ","check_all":"Vérifier tout","empty_ota_message":"Vous n\'avez aucun périphérique supportant les MàJ OTA","remaining_time":"Temps restant {{- remaining}}","update":"MàJ firmware des périphériques"},"settings":{"about":"À propos","advanced":"Avancé","blocklist":"Liste de blocage","coordinator_revision":"Révision du Coordinateur","coordinator_type":"Type de Coordinateur","donate":"Don","donation_text":["Salut, %username%, vous pouvez ici nous remercier pour notre dur labeur","N\'hésitez pas à nous laisser un petit mot gentil ;)"],"download_state":"Téléchargement de l\'état","experimental":"Expérimental","external_converters":"Convertisseurs Externes","frontend":"Interface","frontend_version":"Version Interface","main":"Principal","mqtt":"MQTT","ota":"MàJ OTA","passlist":"Autorisés","raw":"Brut","restart_zigbee2mqtt":"Redémarrer Zigbee2MQTT","serial":"Port Série","settings":"Paramètres","tools":"Outils","zigbee2mqtt_version":"Version Zigbee2MQTT","translate":"Traduire"},"settingsSchemaTranslations":{"advanced-title":"Avancé","advanced_availability_blacklist__title":"Liste noire disponibilité (déprécié, utilisez Liste blocage disponibilité)","advanced_availability_blocklist__description":"Empèche que certains périphériques soient vérifiés pour la disponibilité","advanced_availability_blocklist__title":"Liste blocage disponibilité","advanced_availability_passlist__description":"Activer la disponibilité seulement sur certains périphériques","advanced_availability_passlist__title":"Liste autorisation disponibilité","advanced_availability_whitelist__title":"Liste blanche disponibilité (déprécié, utilisez Liste autorisation disponibilité)","advanced_ext_pan_id__description":"ID pan étendu zigbee, tout changement imposera un ré-appairage de tous les périphériques!","advanced_ext_pan_id__title":"ID Pan étendu","advanced_log_output__description":"Localisation des journaux de sorties, laissez vide pour supprimer la journalisation","advanced_log_output__title":"Journaux de Sortie","advanced_log_syslog-title":"syslog","blocklist__description":"Bloquer les périphériques sur le réseau (par adresse IEEE)","blocklist__title":"Liste blocage","experimental-title":"Expérimental","external_converters__description":"Vous pouvez définir des convertisseurs externes pour par exemple ajouter un support pour un périphérique fait maison","external_converters__title":"Convertisseurs externes","frontend-title":"Interface","mqtt-title":"MQTT","ota-title":"MàJ OTA","passlist__description":"Autorise seulement certains périphériques à joindre le réseau (par adresse ieee). Notez que tous les périphériques qui ne sont pas dans cette liste seront retirés du réseau !","passlist__title":"Liste autorisation","root-title":"Port Série","root__description":"Autoriser seulement certains périphériques à joindre le réseau (par adresse IEEE). Notez que tous les périphériques absents de la liste seront retirés du réseau!","root__title":"Liste Autorisation","root_availability_blacklist__title":"Liste noire disponibilité (déprécié, utilisez Liste blocage disponibilité)","root_availability_blocklist__description":"Empèche que certains périphériques soient vérifiés pour la disponibilité","root_availability_blocklist__title":"Liste blocage disponibilité","root_availability_passlist__description":"Activer la disponibilité seulement sur certains périphériques","root_availability_passlist__title":"Liste autorisation disponibilité","root_availability_whitelist__title":"Liste blanche disponibilité (déprécié, utilisez Liste autorisation disponibilité)","root_debounce_ignore__description":"Protège les valeurs des propriétés spécifiées d\'être remplacées pendant le temps d\'anti-rebond","root_debounce_ignore__title":"Ignorer anti-rebond","root_ext_pan_id__description":"ID pan étendu zigbee, tout changement imposera un ré-appairage de tous les périphériques!","root_ext_pan_id__title":"ID Pan étendu","root_filtered_attributes__description":"Permet d\'empêcher la publication de certains attributs","root_filtered_attributes__title":"Attributs filtrés","root_log_output__description":"Localisation des journaux de sorties, laissez vide pour supprimer la journalisation","root_log_output__title":"Journaux de Sortie","root_log_syslog-title":"syslog","serial-title":"Port Série","root_filtered_optimistic__title":"Attibuts optimistes filtrés","root_filtered_optimistic__description":"Attributs filtrés de la publication optimiste lors de l\'appel de /set. (Aucun effet si optimiste est à faux)."},"touchlink":{"detected_devices_message":"{{count}} périphériques Touchlink détectés.","rescan":"Rescanner","scan":"Scanner"},"values":{"clear":"RàS","closed":"Fermé","occupied":"Occupé","open":"Ouvert","true":"Vrai","leaking":"Fuite","tampered":"Saboté","supported":"Supporté","not_supported":"Non supporté","false":"Faux","empty_string":"Chaîne vide (\\"\\")"},"zigbee":{"actions":"Actions","attribute":"Attribut","block_join":"Bloquer tout nouvel appairage","cluster":"Cluster","description":"Description","device_type":"Type de Périph","endpoint":"Endpoint","firmware_build_date":"Date Firmware","firmware_version":"Version Firmware","force_remove":"Forcer la suppression","friendly_name":"Nom Simplifié","ieee_address":"Adresse IEEE","input_clusters":"Clusters Entrants","interview_completed":"Interview terminé","last_seen":"Vu il y a","lqi":"LQI","manufacturer":"Constructeur","max_rep_interval":"Interval max réponse","min_rep_change":"Changement min réponse","min_rep_interval":"Interval min réponse","model":"Modèle","network_address":"Adresse réseau","none":"Aucun(e)","output_clusters":"Clusters Sortants","pic":"Img","power":"Alim","reconfigure":"Reconfigurer","remove_device":"Supprimer le périph","rename_device":"Renommer le périph","select_attribute":"Choisir Attribut","select_cluster":"Choisir Cluster","support_status":"Supporté","unsupported":"Non Supporté","update_Home_assistant_entity_id":"MàJ de l\'ID d\'entité Home Assistant","zigbee_model":"Modèle Zigbee","zigbee_manufacturer":"Constructeur Zigbee"},"scene":{"scene_id":"ID Scène","recall":"Rappeler","store":"Stocker","remove":"Supprimer","remove_all":"Supprimer tout","add":"Ajouter"}}');
4776
4827
  ;// CONCATENATED MODULE: ./src/i18n/locales/pl.json
4777
4828
  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","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"}}');
4778
4829
  ;// CONCATENATED MODULE: ./src/i18n/locales/de.json
4779
- 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","devices":"Devices","dialog_confirmation_prompt":"Bist Du sicher?","disable":"Abschalten","enter_search_criteria":"Suchwort","groups":"Gruppen","loading":"Laden...","ok":"ok","read":"Lesen","save":"Speichern","select_device":"Wähle Device","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":"Clusters","dev_console":"Dev Konsole","exposes":"Details","reporting":"Berichten","scene":"Szene","settings":"Einstellungen","settings_specific":"Einstellungen (spezifisch)","state":"Status","unknown_device":"unbekanntes Device"},"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":"Effect","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","motor_reversal":"Richtung umkehren","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","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":"Кут дії","action_from_side":"Bewegung von Seite","action_side":"Aktive Seite","action_to_side":"BEwegung zur Seite","angle_x":"Ausrichtung X","angle_y":"Ausrichtung Y","angle_z":"Ausrichtung Z","away_mode":"Abwesenheitsmodus","brightness":"Helligkeit","calibration_time":"Kalibrierungszeit","carbon_monoxide":"Kohlenmonoxid","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","humidity":"Feuchtigkeit","illuminance":"Beleuchtungsstärke","level_config":"Level Konfiguration","local_temperature":"Lokale Temperatur","local_temperature_calibration":"Kalibrierung lokale Temperatur","motor_speed":"Motorgeschwindigkeit","moving":"Bewegung","occupancy":"Bewegung","on_off_transition_time":"Ein Aus Übergangszeit","options":"Optionen","position":"Position","power":"Leistung","preset":"Vorgabe","pressure":"Luftdruck","smoke":"Rauch","smoke_density":"Stärke der Rauchentwicklung","soil_moisture":"Bodenfeuchtigkeit","state":"Status","system_mode":"System Mode","tamper":"Manipulation","temperature":"Temperatur","voltage":"Volt","water_leak":"Wasserleck"},"featureDescriptions":{"Away mode":"Abwesenheitsmodus","Away preset days":"Abwesenheit in Tagen","Away preset temperature":"Definierte Temperatur für den Abwesenheitsmodus","Boost time":"Boost Zeit","Brightness of this light":"Helligkeit des Leuchtmittels","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.","Current temperature measured on the device":"Aktuelle Temperatur am Thermostat","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 Device","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 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 (signal stä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)":"Mode des Thermostat (Identisch zu system_mode)","Mode of this device":"Mode des Thermostat","Motor speed":"Motor Geschwindigkeit","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","Raw measured illuminance":"Gemessener Helligkeits-Rohwert","Recover state after power outage":"Eingestellter Zustand nach Stromabfall","Remaining battery in %":"Aktueller Batteriestatus in %","Side of the cube":"Würfelseite","Sum of consumed energy":"Seit Anfang verbrauchter Strom in kW/h","Temperature setpoint":"Temperatur Sollwert","The measured atmospheric pressure":"Gemessner Luftdruck","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"},"groups":{"add_to_group":"Zur Gruppe hinzufügen","create_group":"gruppe erstellen","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: End-Gerä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":"Zufügen","remove_all":"Alle entfernen","scene_id":"Szenen ID","store":"Speichern","recall":"Abrufen","remove":"Entfernen","select_scene":"Szene auswählen"},"settings":{"about":"Über","advanced":"Erweitert","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":"Zusätzliche Konverter","frontend":"Frontend","frontend_version":"Frontend Version","main":"Main","mqtt":"MQTT","ota":"OTA updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Zigbee2MQTT neu starten","serial":"Serial","settings":"Einstellungen","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT Version","translate":"Übersetzen"},"settingsSchemaTranslations":{"root-title":"Serial","root__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in dar passlist sind, werden vom Netzwerk entfernt!","root__title":"Passlist","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_ext_pan_id__description":"Zigbee erweiterte pan ID, Änderung benötigt neues Anlernen aller Geräte!","root_ext_pan_id__title":"Ext Pan ID","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","advanced-title":"Erweitert","advanced_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","advanced_availability_blocklist__title":"Aktuelle Blockliste","advanced_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","advanced_availability_passlist__title":"Aktuelle passlist","advanced_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","advanced_availability_whitelist__title":"Aktuelle whitelist (veraltet, nutze passlist)","advanced_ext_pan_id__title":"Ext Pan ID","advanced_ext_pan_id__description":"Zigbee erweiterte pan ID, Änderung benötigt neues Anlernen aller Geräte!","advanced_log_output__title":"Log Ausgabe","advanced_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","advanced_log_syslog-title":"System-Log","blocklist__title":"Blocklist","blocklist__description":"Blockt devices vom Netzwerk (anhand der ieeeAddr)","experimental-title":"Experimentell","external_converters__title":"Externe Konverter","external_converters__description":"Festlegen von eigenen, externen Konvertern z. B. zum Einbinden eigener Zigbee-Devices","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA updates","passlist__title":"Passlist","passlist__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in dar passlist sind, werden vom Netzwerk entfernt!","serial-title":"Seriell","root_filtered_attributes__title":"Gefilterte, veröffentliche Attibute","root_filtered_attributes__description":"Filter attribute vom veröffentlichten payload.","root_debounce_ignore__title":"Ignoriere doppelte Meldungen","root_debounce_ignore__description":"Schützt einzelne payload Werte von spezifizierten payload Eigenschaften vor Überschreibung während der Entprellzeit","root_filtered_optimistic__title":"Filtered optimistic attributes","root_filtered_optimistic__description":"Filtern von Attributen bei \\"optimistic publish payload\\" bei abruf oder setzen. (Diese Funktion ist abgeschaltet, wenn \\"optimistic\\" deaktiviert ist.)."},"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":{"block_join":"Blockieren vom Anlernen","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","interview_completed":"Interview erfolgreich","last_seen":"Zuletzt gesehen","lqi":"LQI","manufacturer":"Hersteller","model":"Modell","network_address":"Netzwerk Adresse","pic":"Bild","power":"Leistung","reconfigure":"Neu konfigurieren","remove_device":"Gerät entfernen","rename_device":"Gerät umbenennen","support_status":"Unterstützungsstatus","unsupported":"Nicht unterstützt","update_Home_assistant_entity_id":"Update Home Assistant System ID","zigbee_model":"Zigbee Modell","zigbee_manufacturer":"zigbee Hersteller","cluster":"Cluster","attribute":"Attribute","min_rep_interval":"Minimaler Report Intervall","max_rep_interval":"Maximaler Report Intervall","min_rep_change":"Minimale Report Änderungen","actions":"Aktionen","select_cluster":"Wähle Cluster","none":"Nichts","select_attribute":"Wähle Attribut","output_clusters":"Ausgabe Cluster","input_clusters":"Eingabe Cluster"}}');
4830
+ 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","devices":"Devices","dialog_confirmation_prompt":"Bist Du sicher?","disable":"Abschalten","enter_search_criteria":"Suchwort","groups":"Gruppen","loading":"Laden...","ok":"ok","read":"Lesen","save":"Speichern","select_device":"Wähle Device","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":"Clusters","dev_console":"Dev Konsole","exposes":"Details","reporting":"Berichten","scene":"Szene","settings":"Einstellungen","settings_specific":"Einstellungen (spezifisch)","state":"Status","unknown_device":"unbekanntes Device"},"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":"Effect","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","motor_reversal":"Richtung umkehren","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","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","away_mode":"Abwesenheitsmodus","brightness":"Helligkeit","calibration_time":"Kalibrierungszeit","carbon_monoxide":"Kohlenmonoxid","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","humidity":"Feuchtigkeit","illuminance":"Beleuchtungsstärke","level_config":"Level Konfiguration","local_temperature":"Lokale Temperatur","local_temperature_calibration":"Kalibrierung lokale Temperatur","motor_speed":"Motorgeschwindigkeit","moving":"Bewegung","occupancy":"Bewegung","on_off_transition_time":"Ein Aus Übergangszeit","options":"Optionen","position":"Position","power":"Leistung","preset":"Vorgabe","pressure":"Luftdruck","smoke":"Rauch","smoke_density":"Stärke der Rauchentwicklung","soil_moisture":"Bodenfeuchtigkeit","state":"Status","system_mode":"System Mode","tamper":"Manipulation","temperature":"Temperatur","voltage":"Volt","water_leak":"Wasserleck"},"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 time":"Boost Zeit","Brightness of this light":"Helligkeit des Leuchtmittels","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.","Current temperature measured on the device":"Aktuelle Temperatur am Thermostat","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 Device","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 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 (signal stä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)":"Mode des Thermostat (Identisch zu system_mode)","Mode of this device":"Mode des Thermostat","Motor speed":"Motor Geschwindigkeit","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","Raw measured illuminance":"Gemessener Helligkeits-Rohwert","Recover state after power outage":"Eingestellter Zustand nach Stromabfall","Remaining battery in %":"Aktueller Batteriestatus in %","Side of the cube":"Würfelseite","Sum of consumed energy":"Seit Anfang verbrauchter Strom in kW/h","Temperature setpoint":"Temperatur Sollwert","The measured atmospheric pressure":"Gemessner Luftdruck","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"},"groups":{"add_to_group":"Zur Gruppe hinzufügen","create_group":"gruppe erstellen","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: End-Gerä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":"Zufügen","remove_all":"Alle entfernen","scene_id":"Szenen ID","store":"Speichern","recall":"Abrufen","remove":"Entfernen","select_scene":"Szene auswählen"},"settings":{"about":"Über","advanced":"Erweitert","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":"Zusätzliche Konverter","frontend":"Frontend","frontend_version":"Frontend Version","main":"Main","mqtt":"MQTT","ota":"OTA updates","passlist":"Passlist","raw":"Raw","restart_zigbee2mqtt":"Zigbee2MQTT neu starten","serial":"Serial","settings":"Einstellungen","tools":"Tools","zigbee2mqtt_version":"Zigbee2MQTT Version","translate":"Übersetzen"},"settingsSchemaTranslations":{"root-title":"Serial","root__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in dar passlist sind, werden vom Netzwerk entfernt!","root__title":"Passlist","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_ext_pan_id__description":"Zigbee erweiterte pan ID, Änderung benötigt neues Anlernen aller Geräte!","root_ext_pan_id__title":"Ext Pan ID","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","advanced-title":"Erweitert","advanced_availability_blacklist__title":"Aktuelle Blacklist (veraltet, nutze availability_blocklist)","advanced_availability_blocklist__title":"Aktuelle Blockliste","advanced_availability_blocklist__description":"Klammert Geräte bei dem Verfügbarkeits-Check aus.","advanced_availability_passlist__title":"Aktuelle passlist","advanced_availability_passlist__description":"Ermögliche Anwesenheits-Check nur für gelistete Geräte","advanced_availability_whitelist__title":"Aktuelle whitelist (veraltet, nutze passlist)","advanced_ext_pan_id__title":"Ext Pan ID","advanced_ext_pan_id__description":"Zigbee erweiterte pan ID, Änderung benötigt neues Anlernen aller Geräte!","advanced_log_output__title":"Log Ausgabe","advanced_log_output__description":"Ablageort für das Log, leer lassen um das Logging zu unterbinden","advanced_log_syslog-title":"System-Log","blocklist__title":"Blocklist","blocklist__description":"Blockt devices vom Netzwerk (anhand der ieeeAddr)","experimental-title":"Experimentell","external_converters__title":"Externe Konverter","external_converters__description":"Festlegen von eigenen, externen Konvertern z. B. zum Einbinden eigener Zigbee-Devices","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA updates","passlist__title":"Passlist","passlist__description":"Erlaubt nur bestimmten Geräten, dem Netzwerk beizutreten (anhand der ieeeAddr). Beachte: Alle Geräte, die nicht in dar passlist sind, werden vom Netzwerk entfernt!","serial-title":"Seriell","root_filtered_attributes__title":"Gefilterte, veröffentliche Attibute","root_filtered_attributes__description":"Filter attribute vom veröffentlichten payload.","root_debounce_ignore__title":"Ignoriere doppelte Meldungen","root_debounce_ignore__description":"Schützt einzelne payload Werte von spezifizierten payload Eigenschaften vor Überschreibung während der Entprellzeit","root_filtered_optimistic__title":"Filtered optimistic attributes","root_filtered_optimistic__description":"Filtern von Attributen bei \\"optimistic publish payload\\" bei abruf oder setzen. (Diese Funktion ist abgeschaltet, wenn \\"optimistic\\" deaktiviert ist.)."},"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":{"block_join":"Blockieren vom Anlernen","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","interview_completed":"Interview erfolgreich","last_seen":"Zuletzt gesehen","lqi":"LQI","manufacturer":"Hersteller","model":"Modell","network_address":"Netzwerk Adresse","pic":"Bild","power":"Leistung","reconfigure":"Neu konfigurieren","remove_device":"Gerät entfernen","rename_device":"Gerät umbenennen","support_status":"Unterstützungsstatus","unsupported":"Nicht unterstützt","update_Home_assistant_entity_id":"Update Home Assistant System ID","zigbee_model":"Zigbee Modell","zigbee_manufacturer":"zigbee Hersteller","cluster":"Cluster","attribute":"Attribute","min_rep_interval":"Minimaler Report Intervall","max_rep_interval":"Maximaler Report Intervall","min_rep_change":"Minimale Report Änderungen","actions":"Aktionen","select_cluster":"Wähle Cluster","none":"Nichts","select_attribute":"Wähle Attribut","output_clusters":"Ausgabe Cluster","input_clusters":"Eingabe Cluster"}}');
4780
4831
  ;// CONCATENATED MODULE: ./src/i18n/locales/ru.json
4781
4832
  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":"Отвязать","write":"Записать"},"devicePage":{"about":"Об устройстве","bind":"Связь","clusters":"Кластеры","dev_console":"Консоль устройства","exposes":"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":"Мин. температура","motor_reversal":"Обратный ход мотора","moving":"Движение","occupancy":"Занятость","operation_mode":"Режим работы","options":"Опции","position":"Позиция","power":"Питание","power_on_behavior":"Мощность при поведении","power_outage_memory":"Память при отключении питания","preset":"Предустановка","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":"Действие на сторону","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":"Утечка воды"},"groups":{"add_to_group":"Добавить в группу","create_group":"Создать группу","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":{"remove_all":"Удалить все","scene_id":"Идентификатор сцены","store":"Сохранить","recall":"Вызвать","remove":"Удалить"},"settings":{"about":"О программе","advanced":"Расширенные","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":{"device":"Устройство","actions":"Действие","attribute":"Атрибут","block_join":"Блокировать дальнейшие попытки подключения","cluster":"Кластер","description":"Описание","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":"Мощность","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"}}');
4782
4833
  ;// CONCATENATED MODULE: ./src/i18n/locales/ptbr.json
@@ -4784,7 +4835,7 @@ const locales_ptbr_namespaceObject = JSON.parse('{"common":{"action":"Ação","a
4784
4835
  ;// CONCATENATED MODULE: ./src/i18n/locales/es.json
4785
4836
  const locales_es_namespaceObject = JSON.parse('{"common":{"action":"Acción","actions":"Acciones","apply":"Aplicar","attribute":"Atributo","bind":"Enlazar","check_all":"Comprobar todo","clear":"Limpiar","close":"Cerrar","cluster":"Cluster","clusters":"Clusters","the_only_endpoint":"El único endpoint","confirmation":"Mensaje de confirmación","delete":"Borrar","destination":"Destino","devices":"Dispositivos","dialog_confirmation_prompt":"¿Estas seguro?","disable":"Deshabilitar","enter_search_criteria":"Introduce el criterio de busqueda","groups":"Grupos","loading":"Cargando...","none":"Ninguno","ok":"Ok","read":"Leer","save":"Guardar","select_device":"Seleccionar dispositivo","select_endpoint":"Seleccionar endpoint","source_endpoint":"Endpoint de origen","unbind":"Desenlazar","write":"Escribir"},"devicePage":{"about":"Acerca de","bind":"Unir","clusters":"Clusters","dev_console":"Consola de Desarrollo","exposes":"Expone","reporting":"Reportando","settings":"Ajustes","settings_specific":"Ajustes (especificos)","state":"Estado","unknown_device":"Dispositivo desconocido"},"exposes":{"action":"Acción","auto_off":"Apagado automático","away_mode":"Modo ausente","away_preset_days":"Días preestablecidos ausentes","away_preset_temperature":"Temperatura prestablecida ausente","backlight_mode":"Modo luz de fondo","battery":"Batería","battery_low":"Batería baja","boost_time":"Tiempo de impulsión","brightness":"Brillo","calibration":"Calibración","carbon_monoxide":"Monóxido de carbono","color_hs":"Color (HS)","color_temp":"Temperatura de colore","color_temp_startup":"Temperatura de color de inicio","color_xy":"Color (XY)","comfort_temperature":"Temperatura de Comfort","consumer_connected":"Consumidor conectado","consumer_overload":"Sobrecarga del consumidorConsumer overload","contact":"Contacto","current":"Actual","current_heating_setpoint":"Punto de ajuste de calor","eco_temperature":"Temperatura Eco","effect":"Efecto","energy":"Energía","force":"Forzar","humidity":"Humedad","illuminance":"Iluminación","illuminance_lux":"Iluminación","led_disabled_night":"Led deshabilitado por la noche","linkquality":"Calidad de enlace","local_temperature":"Temperatura local","local_temperature_calibration":"Calibración de temperatura local","max_temperature":"Máxima temperatura","min_temperature":"Mínima temperatura","motor_reversal":"Inversión del motor","moving":"En movimiento","occupancy":"Ocupación","operation_mode":"Modo de operación","options":"Opciones","position":"Posición","power":"Potencia","power_on_behavior":"Comportamiento de encendido","power_outage_memory":"Memoria de corte de energía","preset":"Preestablecido","pressure":"Presión","sensivity":"Sensivity","smoke":"Humo","state":"Estado","strength":"Fuerza","system_mode":"Modo de sistema","tamper":"Manipulado","temperature":"Temperatura","voltage":"Voltaje","water_leak":"Fuga de agua","week":"Semana"},"extensions":{"create_new_extension":"Crear una nueva extensión","extension_name_propmt":"Introduce un nuevo nombre de extensión","select_extension_to_edit":"Selecciona la extensión para ediar"},"featureNames":{"action":"Acción","angle_x":"Ángulo X","angle_y":"Ángulo Y","angle_z":"Ángulo Z","brightness":"Brillo","color_temp":"Temperatura de color","color_xy":"Color Xy","contact":"Contacto","current":"Corriente","energy":"Energía","humidity":"Humedad","illuminance":"Iluminación","occupancy":"Ocupación","power":"Consumo","pressure":"Presión","smoke":"Humo","smoke_density":"Densidad del humo","soil_moisture":"Humedad del suelo","state":"Estado","tamper":"Manipulación","temperature":"Temperatura","voltage":"Voltaje","water_leak":"Fuga de agua"},"groups":{"add_to_group":"Añadir a un grupo","create_group":"Crear grupo","new_group_id":"Nuevo id de grupo","new_group_id_placeholder":"Especifica el id de grupo si es necesario","new_group_name":"Nuevo nombre de grupo ","new_group_name_placeholder":"ejemplo: luces_del_dormitorio","remove_group":"Eliminar grupo"},"logs":{"empty_logs_message":"No hay nada que mostrar","filter_by_text":"Filtrar por texto","show_only":"Mostar solo"},"map":{"help_coordinator_link_description":"Las líneas continuas son el enlace al Coordinador","help_end_device_description":"Verde significa dispositivo final","help_is_coordinator":"es el Coordinador","help_lqi_description":"La calidad del enlace está entre 0 - 255 (cuanto más alto mejor), valores con / representan multiples tipos de enlaces","help_router_description":"Azul significa Router","help_router_links_description":"Las líneas discontinuas son el enlace con los Routers","hide":"Haz clic para ocultar","load":"Cargar mapa","loading":"Dependiendo del tamaño de su red, puede tardar entre 10 segundos y 2 minutos."},"navbar":{"all":"Todos","dashboard":"Panel","devices":"Dispositivos","disable_join":"Deshabilitar el unirse","extensions":"Extensiones","groups":"Grupos","logs":"Registros","map":"Mapa","ota":"OTA","permit_join":"Permitir unirse","restart":"Reiniciar","settings":"Ajustes","toggle_dropdown":"Alternar desplegable","touchlink":"Touchlink"},"ota":{"check":"Comprobar actualizaciones","check_all":"Comprobar todo","empty_ota_message":"No tienes ningún dispositivo compatible con OTA","remaining_time":"Tiempo restante {{- remaining}}","update":"Actualizar el firmware del dispositivos"},"settings":{"about":"Acerca de","advanced":"Avanzado","blocklist":"Bloqueados","coordinator_revision":"Versión de Coordinador","coordinator_type":"Tipo de Coordinador","donate":"Donar","donation_text":["Hola, %username%, aquí puedes agradecernos por trabajar tan duro","No dudes en decir algo bueno también ;)"],"download_state":"Descargar estado","experimental":"Experimental","external_converters":"Convertidores externos","frontend":"Interfaz","frontend_version":"Versión de Interfaz","main":"Principal","mqtt":"MQTT","ota":"Actualizaciones OTA","passlist":"Lista de acceso","raw":"Raw","restart_zigbee2mqtt":"Reiniciar Zigbee2MQTT","serial":"Serie","settings":"Ajustes","tools":"Herramientas","translate":"Traducir","zigbee2mqtt_version":"Versión de Zigbee2MQTT"},"settingsSchemaTranslations":{"advanced-title":"Avanzado","advanced_availability_blacklist__title":"Lista negra de disponibilidad (en desuso, utilizar la lista de bloqueo)","advanced_availability_blocklist__description":"Evitar que se compruebe la disponibilidad de los dispositivos","advanced_availability_blocklist__title":"Lista de bloqueo","advanced_availability_passlist__description":"Solo habilite la verificación de disponibilidad para ciertos dispositivos","advanced_availability_passlist__title":"Lista de acceso","advanced_availability_whitelist__title":"Lista blanca de disponibilidad (en desuso, usar la lista de acceso)","advanced_ext_pan_id__description":"Zigbee extended PAN ID, !atención cambiarlo requiere emparejar todos los dispositivos¡","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Ubicación de salida del registro, dejalo vacío para suprimir el registro","advanced_log_output__title":"Salida del registro","advanced_log_syslog-title":"syslog","blocklist__description":"Bloquear dispositivos de la red (por su ieeeAddr)","blocklist__title":"Lista de bloqueo","experimental-title":"Experimental","external_converters__description":"Puedes establecer convertidores externos para por ejemplo añadir el soporte para un dispositivo Diy","external_converters__title":"Convertidores externos","frontend-title":"Interfaz","mqtt-title":"MQTT","ota-title":"Actualizaciones OTA","passlist__description":"Permitir unicamente a ciertos dispositivos unirse a la red (identificados por ieeeAddr). !Ten en cuenta que todos los dispositivos que no esten en la lista seran eliminados de la red¡","passlist__title":"Lista de comprobación","root-title":"Serie","root__description":"Permitir que solo ciertos dispositivos puedan unirse a la red, (por su ieeeAddr). Ten en cuenta que todos los dispositivos que no esten en la lista de acceso, se eliminaran.","root__title":"Lista de acceso","root_availability_blacklist__title":"Lista negra de disponibilidad (en desuso, utilizar la lista de bloqueo)","root_availability_blocklist__description":"Evitar que se compruebe la disponibilidad de los dispositivos","root_availability_blocklist__title":"Lista de bloqueo","root_availability_passlist__description":"Solo habilite la verificación de disponibilidad para ciertos dispositivos","root_availability_passlist__title":"Lista de acceso","root_availability_whitelist__title":"Lista blanca de disponibilidad (en desuso, usar la lista de acceso)","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, !atención cambiarlo requiere emparejar todos los dispositivos¡","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Permite evitar la publicación de ciertos atributos","root_filtered_attributes__title":"Atributos filtrados","root_log_output__description":"Ubicación de salida del registros, dejalo vacío para eliminar el registro","root_log_output__title":"Salida del registro","root_log_syslog-title":"syslog","serial-title":"Serie"},"touchlink":{"detected_devices_message":"Detectados {{count}} dispositivos touchlink.","rescan":"Buscar de nuevo","scan":"Buscar"},"values":{"clear":"Limpio","closed":"Cerrado","false":"Falso","leaking":"Fuga","not_supported":"No soportado","null":"Nulo","occupied":"Ocupado","open":"Abierto","supported":"Soportado","tampered":"Manipulado","true":"Verdadero"},"zigbee":{"attribute":"Atributo","block_join":"Bloquear para no unirse de nuevo","cluster":"Cluster","description":"Descripción","device_type":"Tipo de dispositivo","endpoint":"Endpoint","firmware_build_date":"Fecha del Firmware","firmware_version":"Versión de Firmware","force_remove":"Forzar la eliminación","friendly_name":"Nombre amigable","ieee_address":"Dirección IEEE","input_clusters":"Clusters entrada","interview_completed":"Entrevista completa","last_seen":"Ultima vez visto","lqi":"LQI","manufacturer":"Fabricante","max_rep_interval":"Intervalo Max de replicación","min_rep_change":"Cambio Min replicación","min_rep_interval":"Intervalo Min de replicación","model":"Modelo","network_address":"Dirección de red","output_clusters":"Clusters de salida","pic":"Foto","power":"Potencia","reconfigure":"Reconfigurar","remove_device":"Eliminar dispositivo","rename_device":"Renombrar dispositivo","select_attribute":"Seleccionar atributo","select_cluster":"Seleccionar cluster","support_status":"Soportado","unsupported":"No soportado","update_Home_assistant_entity_id":"Actualizar el ID de entidad de Home Assistant","zigbee_manufacturer":"Fabricante Zigbee","zigbee_model":"Modelo Zigbee "}}');
4786
4837
  ;// CONCATENATED MODULE: ./src/i18n/locales/ua.json
4787
- const locales_ua_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":"Колір відтінок/насиченість","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":"Мін. температура","motor_reversal":"Зворотній хід двигуна","moving":"Рух","occupancy":"Присутність","operation_mode":"Режим роботи","options":"Опції","position":"Позиція","power":"Живлення","power_on_behavior":"Поведінка при включені","power_outage_memory":"Пам\'ять після відключення єнергії","preset":"Пресет","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":"Дія на сторону","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":"Положення","power":"Споживання енергії","preset":"Пресети","pressure":"Тиск","smoke":"Дим","smoke_density":"Густина диму","soil_moisture":"Вологість грунту","state":"Стан","system_mode":"Режим системи","tamper":"Втручання","temperature":"Температура","voltage":"Напруга","water_leak":"Витік води"},"featureDescriptions":{"Away mode":"Режим від\'їзду","Away preset days":"Пресети днів","Away preset temperature":"Пресети температур для режиму від\'їзду","Boost time":"Час прискорення","Brightness of this light":"Яскравість джерела світла","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":"Поточна температура, виміряна приладом","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 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)":"Режим даного приладу (подібний до Системного режиму)","Motor speed":"Швидкість двигуна","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":"Позиція штори (занавіски)","Raw measured illuminance":"Не оброблене виміряне значення освітленності","Recover state after power outage":"Відновити стан після вимкнення живлення","Remaining battery in %":"Залишок батареї у відсотках","Side of the cube":"Сторона куба","Sum of consumed energy":"Сума витраченої енергії","Temperature setpoint":"Задана температура","The measured atmospheric pressure":"Виміряне значення атмосферного тиску","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":"Створити групу","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":"OTA","permit_join":"Дозволити приєднання","restart":"Перезавантажити","settings":"Налаштування","toggle_dropdown":"Перемкнути випадаючий список","touchlink":"Touchlink"},"ota":{"check":"Перевірити на наявність нових оновлень","check_all":"Перевірити все","empty_ota_message":"У Вас немає приладів, що підтримують оновлення через повітря (OTA)","remaining_time":"Часу залишилось {{- remaining}}","update":"Оновити прошивку приладу"},"scene":{"add":"Додати","recall":"Викликати","remove":"Видалити","remove_all":"Видалити все","scene_id":"Ідентифікатор сцени","select_scene":"Вибір сцени","store":"Зберегти"},"settings":{"about":"Про програму","advanced":"Розширені","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":{"advanced-title":"Розширений","advanced_availability_blacklist__title":"Список заборон доступності (застаріло, використовуйте список доступних_блоків)","advanced_availability_blocklist__description":"Запобігання перевірки наявності приладів","advanced_availability_blocklist__title":"Доступність списку заборон","advanced_availability_passlist__description":"Увімкнути перевірку доступності тільки для певних приладів","advanced_availability_passlist__title":"Доступність списку дозволів","advanced_availability_whitelist__title":"Білий список доступності (застаріло, використовуйте список доступу)","advanced_ext_pan_id__description":"Розширений ідентифікатор панорами Zigbee, зміна вимагає нового приєднання всіх приладів!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Вихідне місце журналу, залиште порожнім, щоб вимкнути ведення журналу","advanced_log_output__title":"Виведення журналу","advanced_log_syslog-title":"Системний журнал","blocklist__description":"Блокування приладів із мережі (за допомогою ieeeAddr)","blocklist__title":"Список заборон","experimental-title":"Експериментальний","external_converters__description":"Ви можете визначити зовнішні перетворювачі, наприклад додайте підтримку приладу DiY","external_converters__title":"Зовнішні перетворювачі","frontend-title":"Інтерфейс","mqtt-title":"MQTT","ota-title":"OTA оновлення","passlist__description":"Дозволити тільки певним приладам підключатися до мережі (за допомогою ieeeAddr). Зверніть увагу, що всі прилади, які не є у списку доступу, будуть вилучені з мережі!","passlist__title":"Список дозволів","root__description":"Дозволяти під\'єднуватись до мережі тільки визначеним приладам (перевірка по ieeeAddr). Зверніть увагу, що всі прилади, не включені в список, будуть видалені з мережі!","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_filtered_optimistic__description":"Фільтрувати атрибути з оптимістичного корисного навантаження для публікації під час виклику /встановлення. (Це не впливає, якщо для параметра optimistic встановлено значення false).","root_filtered_optimistic__title":"Відфільтровані оптимістичні атрибути","root_log_output__description":"Папка, в якій будуть формуватися файли журналів. Залиште поле пустим для відключення файлів журналів.","root_log_output__title":"Папка для журналів","root_log_syslog-title":"Системний журнал","root-title":"Serial","root__title":"Passlist","serial-title":"Serial"},"touchlink":{"detected_devices_message":"Знайдено прилад, що підтримує швидке приєднання (touchlink): {{count}}.","rescan":"Повторити пошук","scan":"Пошук"},"values":{"clear":"не виявлено","closed":"закрито","empty_string":"порожній рядок","fall":"падіння","false":"ні","leaking":"витік","not_supported":"не підтримується","null":"нуль","occupied":"виявлено","open":"відкрито","supported":"підтримується","tampered":"зламано","true":"так"},"zigbee":{"actions":"Дії","attribute":"Атрибут","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":"LQI","manufacturer":"Виробник","max_rep_interval":"Макс.інт-л.звітів","min_rep_change":"Мін.інт-л.змін","min_rep_interval":"Мін.інт-л.звітів","model":"Модель","network_address":"Мережева адреса","none":"Нічого","output_clusters":"Кластери виводу","pic":"Мал.","power":"Живлення","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"}}');
4838
+ const locales_ua_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":"Колір відтінок/насиченість","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":"Мін. температура","motor_reversal":"Зворотній хід двигуна","moving":"Рух","occupancy":"Присутність","operation_mode":"Режим роботи","options":"Опції","position":"Позиція","power":"Живлення","power_on_behavior":"Поведінка при включені","power_outage_memory":"Пам\'ять після відключення єнергії","preset":"Пресет","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":"Дія на сторону","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":"Положення","power":"Споживання енергії","preset":"Пресети","pressure":"Тиск","smoke":"Дим","smoke_density":"Густина диму","soil_moisture":"Вологість грунту","state":"Стан","system_mode":"Режим системи","tamper":"Втручання","temperature":"Температура","voltage":"Напруга","water_leak":"Витік води"},"featureDescriptions":{"Away mode":"Режим від\'їзду","Away preset days":"Пресети днів","Away preset temperature":"Пресети температур для режиму від\'їзду","Boost time":"Час прискорення","Brightness of this light":"Яскравість джерела світла","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":"Поточна температура, виміряна приладом","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 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)":"Режим даного приладу (подібний до Системного режиму)","Motor speed":"Швидкість двигуна","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":"Позиція штори (занавіски)","Raw measured illuminance":"Не оброблене виміряне значення освітленності","Recover state after power outage":"Відновити стан після вимкнення живлення","Remaining battery in %":"Залишок батареї у відсотках","Side of the cube":"Сторона куба","Sum of consumed energy":"Сума витраченої енергії","Temperature setpoint":"Задана температура","The measured atmospheric pressure":"Виміряне значення атмосферного тиску","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":"Створити групу","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":"OTA","permit_join":"Дозволити приєднання","restart":"Перезавантажити","settings":"Налаштування","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":{"advanced-title":"Розширений","advanced_availability_blacklist__title":"Список заборон доступності (застаріло, використовуйте список доступних_блоків)","advanced_availability_blocklist__description":"Запобігання перевірки наявності приладів","advanced_availability_blocklist__title":"Доступність списку заборон","advanced_availability_passlist__description":"Увімкнути перевірку доступності тільки для певних приладів","advanced_availability_passlist__title":"Доступність списку дозволів","advanced_availability_whitelist__title":"Білий список доступності (застаріло, використовуйте список доступу)","advanced_ext_pan_id__description":"Розширений ідентифікатор панорами Zigbee, зміна вимагає нового приєднання всіх приладів!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Вихідне місце журналу, залиште порожнім, щоб вимкнути ведення журналу","advanced_log_output__title":"Виведення журналу","advanced_log_syslog-title":"Системний журнал","blocklist__description":"Блокування приладів із мережі (за допомогою ieeeAddr)","blocklist__title":"Список заборон","experimental-title":"Експериментальний","external_converters__description":"Ви можете визначити зовнішні перетворювачі, наприклад додайте підтримку приладу DiY","external_converters__title":"Зовнішні перетворювачі","frontend-title":"Інтерфейс","mqtt-title":"MQTT","ota-title":"OTA оновлення","passlist__description":"Дозволити тільки певним приладам підключатися до мережі (за допомогою ieeeAddr). Зверніть увагу, що всі прилади, які не є у списку доступу, будуть вилучені з мережі!","passlist__title":"Список дозволів","root__description":"Дозволяти під\'єднуватись до мережі тільки визначеним приладам (перевірка по ieeeAddr). Зверніть увагу, що всі прилади, не включені в список, будуть видалені з мережі!","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_filtered_optimistic__description":"Фільтрувати атрибути з оптимістичного корисного навантаження для публікації під час виклику /встановлення. (Це не впливає, якщо для параметра optimistic встановлено значення false).","root_filtered_optimistic__title":"Відфільтровані оптимістичні атрибути","root_log_output__description":"Папка, в якій будуть формуватися файли журналів. Залиште поле пустим для відключення файлів журналів.","root_log_output__title":"Папка для журналів","root_log_syslog-title":"Системний журнал","root-title":"Serial","root__title":"Passlist","serial-title":"Serial"},"touchlink":{"detected_devices_message":"Знайдено прилад, що підтримує швидке приєднання (touchlink): {{count}}.","rescan":"Повторити пошук","scan":"Пошук"},"values":{"clear":"не виявлено","closed":"закрито","empty_string":"порожній рядок","fall":"падіння","false":"ні","leaking":"витік","not_supported":"не підтримується","null":"нуль","occupied":"виявлено","open":"відкрито","supported":"підтримується","tampered":"зламано","true":"так"},"zigbee":{"actions":"Дії","attribute":"Атрибут","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":"LQI","manufacturer":"Виробник","max_rep_interval":"Макс.інт-л.звітів","min_rep_change":"Мін.інт-л.змін","min_rep_interval":"Мін.інт-л.звітів","model":"Модель","network_address":"Мережева адреса","none":"Нічого","output_clusters":"Кластери виводу","pic":"Мал.","power":"Живлення","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"}}');
4788
4839
  ;// CONCATENATED MODULE: ./src/i18n/locales/chs.json
4789
4840
  const chs_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":"好","read":"读取","save":"保存","select_device":"选择设备","select_endpoint":"选择端点","source_endpoint":"源端点","the_only_endpoint":"唯一端点","unbind":"解绑","write":"写入"},"devicePage":{"about":"关于","bind":"绑定","clusters":"集群","dev_console":"开发控制台","exposes":"暴露","reporting":"报告","settings":"设置","settings_specific":"设置(具体)","state":"状态","unknown_device":"未知设备"},"exposes":{"action":"动作","auto_off":"自动关闭","away_mode":"离开模式","away_preset_days":"Away preset days","away_preset_temperature":"Away preset temperature","backlight_mode":"背光模式","battery":"电量","battery_low":"低电量","boost_time":"Boost time","brightness":"亮度","calibration":"校准","carbon_monoxide":"一氧化碳","color_hs":"颜色(HS)","color_temp":"色温","color_temp_startup":"启动色温","color_xy":"颜色(XY)","comfort_temperature":"舒适温度","consumer_connected":"Consumer connected","consumer_overload":"Consumer overload","contact":"Contact","current":"Current","current_heating_setpoint":"Current heating setpoint","eco_temperature":"环保温度","effect":"效果","empty_exposes_definition":"空暴露定义","energy":"能源","force":"强制","humidity":"湿度","illuminance":"光照度","illuminance_lux":"光照度","led_disabled_night":"Led disabled night","linkquality":"链接质量","local_temperature":"本地温度","local_temperature_calibration":"本地温度校准","max_temperature":"最高温度","min_temperature":"最低温度","motor_reversal":"电机反转","moving":"移动","occupancy":"Occupancy","operation_mode":"操作模式","options":"设置","position":"位置","power":"Power","power_on_behavior":"Power on behavior","power_outage_memory":"Power outage memory","preset":"预设","pressure":"气压","sensivity":"敏感度","smoke":"烟雾","state":"状态","strength":"强度","system_mode":"系统模式","tamper":"Tamper","temperature":"温度","voltage":"电压","water_leak":"漏水","week":"周"},"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":"颜色(XY)","contact":"Contact","humidity":"湿度","illuminance":"光照度","occupancy":"Occupancy","pressure":"气压","soil_moisture":"土壤湿度","state":"状态","temperature":"温度","tamper":"Tamper"},"groups":{"add_to_group":"添加到群组","create_group":"创建群组","new_group_id":"新群组 ID","new_group_id_placeholder":"如有必要,指定群组 ID","new_group_name":"新群组名","new_group_name_placeholder":"例子:我的卧室灯","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":"OTA","permit_join":"允许添加新设备","restart":"重启","settings":"设置","toggle_dropdown":"切换下拉菜单","touchlink":"Touchlink"},"ota":{"check":"检查新的更新","check_all":"检查所有","empty_ota_message":"你没有支持 OTA 的设备","remaining_time":"剩余时间 {{- remaining}}","update":"更新设备固件"},"settings":{"about":"关于","advanced":"高级","blocklist":"阻止名单","coordinator_revision":"协调节点调整","coordinator_type":"协调节点类型","donate":"捐赠","donation_text":["你好, %username%, 在这里你可以感谢我们的辛勤工作","可以大方的夸赞我们 ;)"],"download_state":"下载状态","experimental":"实验性","external_converters":"外部转换器","frontend":"前端","frontend_version":"前端版本","main":"Main","mqtt":"MQTT","ota":"OTA 更新","passlist":"通过列表","raw":"RAW","restart_zigbee2mqtt":"重启 Zigbee2MQTT","serial":"串行","settings":"设置","tools":"工具","zigbee2mqtt_version":"Zigbee2MQTT 版本","translate":"翻译"},"settingsSchemaTranslations":{"advanced-title":"高级","advanced_availability_blacklist__title":"可用性黑名单 (已弃用, 请使用 availability_blocklist)","advanced_availability_blocklist__description":"阻止设备被检查是否可用","advanced_availability_blocklist__title":"可用性阻止名单","advanced_availability_passlist__description":"只对某些设备启用可用性检查","advanced_availability_passlist__title":"可用性通过名单","advanced_availability_whitelist__title":"可用性白名单 (已弃用, 请使用 passlist)","advanced_ext_pan_id__description":"Zigbee extended pan ID, 变更需要重新配对所有设备!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"日志的输出位置,留空表示不记录日志","advanced_log_output__title":"日志输出","advanced_log_syslog-title":"系统日志","blocklist__description":"从网络中阻断设备(通过 ieeeAddr)","blocklist__title":"阻止名单","experimental-title":"实验性","external_converters__description":"你可以定义外部转换器,例如增加对DIY设备的支持。","external_converters__title":"外部转换器","frontend-title":"前端","mqtt-title":"MQTT","ota-title":"OTA 更新","passlist__description":"只允许某些设备加入网络(通过ieeeAddr)。 请注意,所有不在通过名单中的设备都将从网络中移除!","passlist__title":"通过名单","root__description":"只允许某些设备加入网络(通过ieeeAddr)。 请注意,所有不在通过名单中的设备都将从网络中移除!","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":"保护指定 payload 属性的唯一有效 payload values 在去抖动时间内不被覆盖","root_debounce_ignore__title":"忽略去抖动","root_ext_pan_id__description":"Zigbee extended pan ID, 变更需要重新配对所有设备!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"允许阻止某些属性被发布","root_filtered_attributes__title":"筛选的属性","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":"筛选的 optimistic 属性","root_log_output__description":"日志的输出位置,留空表示不记录日志","root_log_output__title":"日志输出","root_log_syslog-title":"系统日志","serial-title":"串行"},"touchlink":{"detected_devices_message":"检测到 {{count}} touchlink 设备.","rescan":"再次扫描","scan":"扫描"},"values":{"clear":"Clear","closed":"关闭","false":"False","not_supported":"不支持","occupied":"Occupied","open":"开启","supported":"支持","true":"True","empty_string":"Empty string(\\"\\")","leaking":"泄露","tampered":"Tampered"},"zigbee":{"actions":"动作","attribute":"属性","block_join":"阻止再次加入","cluster":"集群","description":"描述","device_type":"设备类型","endpoint":"端点","firmware_build_date":"固件构建日期","firmware_version":"固件版本","force_remove":"强制删除","friendly_name":"昵称","ieee_address":"IEEE 地址","input_clusters":"输入集群","interview_completed":"配对成功","last_seen":"最后可见","lqi":"LQI","manufacturer":"制造商","max_rep_interval":"最大重复间隔","min_rep_change":"Min rep change","min_rep_interval":"最小重复间隔","model":"型号","network_address":"网络地址","none":"无","output_clusters":"输出集群","pic":"图片","power":"Power","reconfigure":"重新配置","remove_device":"移除设备","rename_device":"重命名设备","select_attribute":"选择属性","select_cluster":"选择集群","support_status":"受支持状态","unsupported":"不支持","update_Home_assistant_entity_id":"更新 Home Assistant 实体 ID","zigbee_manufacturer":"Zigbee 制造商","zigbee_model":"Zigbee 型号"}}');
4790
4841
  ;// CONCATENATED MODULE: ./src/i18n/locales/nl.json
@@ -4896,6 +4947,10 @@ i18next/* default.use */.Z.use(i18nextBrowserLanguageDetector/* default */.Z)
4896
4947
  saveMissing: true,
4897
4948
  missingKeyHandler
4898
4949
  });
4950
+ const currentLanguage = i18next/* default.language.split */.Z.language.split('-')[0].toLocaleLowerCase();
4951
+ if (!resources[currentLanguage]) {
4952
+ i18next/* default.changeLanguage */.Z.changeLanguage('en');
4953
+ }
4899
4954
  /* harmony default export */ const i18n = (i18next/* default */.Z);
4900
4955
 
4901
4956
  // EXTERNAL MODULE: ./node_modules/react-i18next/dist/es/I18nextProvider.js
@@ -4924,6 +4979,7 @@ var I18nextProvider = __webpack_require__(6339);
4924
4979
 
4925
4980
 
4926
4981
 
4982
+
4927
4983
 
4928
4984
 
4929
4985
  const ConnectedDevicePageWrap = ({ dev }) => (React.createElement(ConnectedDevicePageWrap, { dev: dev }));
@@ -4955,6 +5011,8 @@ const Main = () => {
4955
5011
  react.createElement(settings, null)) }),
4956
5012
  react.createElement(react_router/* Route */.AW, { path: "/groups", render: (props) => react.createElement(ErrorBoundary, { ...props },
4957
5013
  react.createElement(groups, null)) }),
5014
+ react.createElement(react_router/* Route */.AW, { path: "/group/:groupId?", render: (props) => react.createElement(ErrorBoundary, { ...props },
5015
+ react.createElement(groups_GroupPage, null)) }),
4958
5016
  react.createElement(react_router/* Route */.AW, { path: "/logs", render: (props) => react.createElement(ErrorBoundary, { ...props },
4959
5017
  react.createElement(logs_page, null)) }),
4960
5018
  react.createElement(react_router/* Route */.AW, { path: "/touchlink", render: (props) => react.createElement(ErrorBoundary, { ...props },
@@ -5086,8 +5144,8 @@ module.exports = "class MyExampleExtension_TS_ {\n constructor(zigbee, mqtt,
5086
5144
  },
5087
5145
  /******/ __webpack_require__ => { // webpackRuntimeModules
5088
5146
  /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
5089
- /******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(2958)));
5147
+ /******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(579)));
5090
5148
  /******/ var __webpack_exports__ = __webpack_require__.O();
5091
5149
  /******/ }
5092
5150
  ]);
5093
- //# sourceMappingURL=main.ef541c020d87776cf17d.js.map
5151
+ //# sourceMappingURL=main.85dbc9933132ae21c5fa.js.map