zigbee2mqtt-frontend 0.6.40 → 0.6.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/5ac6d54b958a2d75b1e5.png +0 -0
- package/dist/88b7e4e45fa10f98a458.png +0 -0
- package/dist/index.html +1 -1
- package/dist/{main.ac25730e30bfe2874d71.css → main.7379448ff31d4e2a65b8.css} +20 -20
- package/dist/{main.6b396bb99c238368484b.js → main.ca71116fd87916d05b29.js} +317 -241
- package/dist/scripts/{vendor.fe0460b81c107166f365.js → vendor.49fee1be1555be7ec8f9.js} +436 -232
- package/package.json +16 -16
- package/dist/f089fd97c4f748dc240d.png +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
(self["webpackChunkzigbee2mqtt_frontend"] = self["webpackChunkzigbee2mqtt_frontend"] || []).push([[179],{
|
3
3
|
|
4
|
-
/***/
|
4
|
+
/***/ 37454:
|
5
5
|
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
|
6
6
|
|
7
7
|
|
@@ -57,9 +57,12 @@ var jszip_min_default = /*#__PURE__*/__webpack_require__.n(jszip_min);
|
|
57
57
|
// EXTERNAL MODULE: ./node_modules/file-saver/dist/FileSaver.min.js
|
58
58
|
var FileSaver_min = __webpack_require__(93162);
|
59
59
|
var FileSaver_min_default = /*#__PURE__*/__webpack_require__.n(FileSaver_min);
|
60
|
+
// EXTERNAL MODULE: ./node_modules/@toolz/local-storage/src/local.js + 4 modules
|
61
|
+
var local = __webpack_require__(36502);
|
60
62
|
;// CONCATENATED MODULE: ./src/utils.ts
|
61
63
|
|
62
64
|
|
65
|
+
|
63
66
|
const genDeviceDetailsLink = (deviceIdentifier) => (`/device/${deviceIdentifier}`);
|
64
67
|
const toHex = (input, padding = 4) => {
|
65
68
|
return `0x${(`${'0'.repeat(padding)}${input.toString(16)}`).substr(-1 * padding).toUpperCase()}`;
|
@@ -158,8 +161,9 @@ const stringifyWithPreservingUndefinedAsNull = (data) => JSON.stringify(data, (k
|
|
158
161
|
const isOnlyOneBitIsSet = (b) => {
|
159
162
|
return b && !(b & (b - 1));
|
160
163
|
};
|
161
|
-
const
|
162
|
-
const
|
164
|
+
const THEME_STORAGE_KEY = 'theme-v2';
|
165
|
+
const getCurrentTheme = () => { var _a; return (_a = local/* local.getItem */.I.getItem(THEME_STORAGE_KEY)) !== null && _a !== void 0 ? _a : 'light'; };
|
166
|
+
const saveCurrentTheme = (theme) => local/* local.setItem */.I.setItem(THEME_STORAGE_KEY, theme);
|
163
167
|
|
164
168
|
;// CONCATENATED MODULE: ./src/components/device-image/style.css
|
165
169
|
// extracted by mini-css-extract-plugin
|
@@ -253,10 +257,6 @@ const getStarShape = (innerCircleArms, innerRadius, outerRadius) => {
|
|
253
257
|
}
|
254
258
|
return points;
|
255
259
|
};
|
256
|
-
const offlineTimeout = (/* unused pure expression or super */ null && (3600 * 2));
|
257
|
-
const isOnline = (device) => {
|
258
|
-
return true;
|
259
|
-
};
|
260
260
|
class Node extends react.Component {
|
261
261
|
constructor() {
|
262
262
|
super(...arguments);
|
@@ -298,10 +298,10 @@ class Node extends react.Component {
|
|
298
298
|
}
|
299
299
|
render() {
|
300
300
|
const { hasBeenUpdated } = this.state;
|
301
|
-
const { node, deviceState, device } = this.props;
|
301
|
+
const { node, deviceState, device, avalilability } = this.props;
|
302
302
|
const { onMouseOver, onMouseOut, onDblClick } = this;
|
303
303
|
const deviceType = node.type;
|
304
|
-
const cn = classnames_default()(map.node, map[deviceType]);
|
304
|
+
const cn = classnames_default()(map.node, map[deviceType], { [map.offline]: avalilability === "offline" });
|
305
305
|
return (react.createElement("g", { className: cn, ref: this.ref, onMouseOver: onMouseOver, onMouseOut: onMouseOut, onDoubleClick: onDblClick },
|
306
306
|
node.type === "Coordinator" ? (react.createElement(react.Fragment, null,
|
307
307
|
react.createElement("circle", { cx: 15, cy: 16, r: 24, fill: "#fff", stroke: "blue", strokeWidth: 1 }),
|
@@ -350,8 +350,8 @@ class Nodes extends react.Component {
|
|
350
350
|
this.updateDrag();
|
351
351
|
}
|
352
352
|
render() {
|
353
|
-
const { nodes, onMouseOut, onMouseOver, deviceStates, devices } = this.props;
|
354
|
-
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] })))));
|
353
|
+
const { nodes, onMouseOut, onMouseOver, deviceStates, devices, avalilability } = this.props;
|
354
|
+
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], avalilability: avalilability[node.friendlyName] })))));
|
355
355
|
}
|
356
356
|
}
|
357
357
|
|
@@ -371,19 +371,15 @@ var unistore_react = __webpack_require__(42599);
|
|
371
371
|
var reconnecting_websocket_mjs = __webpack_require__(22003);
|
372
372
|
// EXTERNAL MODULE: ./node_modules/unistore/dist/unistore.es.js
|
373
373
|
var unistore_es = __webpack_require__(72720);
|
374
|
-
// EXTERNAL MODULE: ./node_modules/unistore/devtools.js
|
375
|
-
var devtools = __webpack_require__(12512);
|
376
374
|
;// CONCATENATED MODULE: ./src/initialState.json
|
377
|
-
const initialState_namespaceObject = JSON.parse('{"devices":{},"deviceStates":{},"touchlinkDevices":[],"touchlinkScanInProgress":false,"touchlinkIdentifyInProgress":false,"touchlinkResetInProgress":false,"networkGraph":{"links":[],"nodes":[]},"networkGraphIsLoading":false,"groups":[],"bridgeState":"online","bridgeConfig":{},"bridgeInfo":{"configSchema":{"properties":{},"required":[]},"config":{"advanced":{}}},"logs":[],"extensions":[],"theme":"light","missingTranslations":{}}');
|
375
|
+
const initialState_namespaceObject = JSON.parse('{"devices":{},"deviceStates":{},"touchlinkDevices":[],"touchlinkScanInProgress":false,"touchlinkIdentifyInProgress":false,"touchlinkResetInProgress":false,"networkGraph":{"links":[],"nodes":[]},"networkGraphIsLoading":false,"groups":[],"bridgeState":"online","bridgeConfig":{},"bridgeInfo":{"configSchema":{"properties":{},"required":[]},"config":{"advanced":{}}},"logs":[],"extensions":[],"theme":"light","missingTranslations":{},"avalilability":{}}');
|
378
376
|
;// CONCATENATED MODULE: ./src/store.ts
|
379
377
|
|
380
378
|
|
381
379
|
|
382
|
-
|
383
380
|
const theme = getCurrentTheme();
|
384
381
|
initialState_namespaceObject.theme = theme;
|
385
|
-
const
|
386
|
-
const store = true ? _store : 0;
|
382
|
+
const store = (0,unistore_es/* default */.Z)(initialState_namespaceObject);
|
387
383
|
/* harmony default export */ const src_store = (store);
|
388
384
|
|
389
385
|
// EXTERNAL MODULE: ./node_modules/notyf/notyf.es.js
|
@@ -393,10 +389,12 @@ var notyf_es = __webpack_require__(46685);
|
|
393
389
|
|
394
390
|
|
395
391
|
|
392
|
+
|
396
393
|
const MAX_LOGS_RECORDS_IN_BUFFER = 100;
|
397
|
-
const TOKEN_LOCAL_STORAGE_ITEM_NAME = "z2m-token";
|
398
|
-
const AUTH_FLAG_LOCAL_STORAGE_ITEM_NAME = "z2m-auth";
|
394
|
+
const TOKEN_LOCAL_STORAGE_ITEM_NAME = "z2m-token-v2";
|
395
|
+
const AUTH_FLAG_LOCAL_STORAGE_ITEM_NAME = "z2m-auth-v2";
|
399
396
|
const UNAUTHORIZED_ERROR_CODE = 4401;
|
397
|
+
const AVALIABILITY_FEATURE_TOPIC_ENDING = "/availability";
|
400
398
|
const notyf = new notyf_es/* Notyf */.Iq();
|
401
399
|
const blacklistedMessages = [
|
402
400
|
/MQTT publish/
|
@@ -452,17 +450,24 @@ class Api {
|
|
452
450
|
};
|
453
451
|
this.urlProvider = async () => {
|
454
452
|
const url = new URL(this.url);
|
455
|
-
let token =
|
456
|
-
const authRequired = !!
|
453
|
+
let token = local/* local.getItem */.I.getItem(TOKEN_LOCAL_STORAGE_ITEM_NAME);
|
454
|
+
const authRequired = !!local/* local.getItem */.I.getItem(AUTH_FLAG_LOCAL_STORAGE_ITEM_NAME);
|
457
455
|
if (authRequired) {
|
458
456
|
if (!token) {
|
459
|
-
token = prompt("
|
460
|
-
|
457
|
+
token = prompt("Enter your z2m admin token");
|
458
|
+
if (token) {
|
459
|
+
local/* local.setItem */.I.setItem(TOKEN_LOCAL_STORAGE_ITEM_NAME, token);
|
460
|
+
}
|
461
461
|
}
|
462
462
|
url.searchParams.append("token", token);
|
463
463
|
}
|
464
464
|
return url.toString();
|
465
465
|
};
|
466
|
+
this.processDeviceStateMessage = (data) => {
|
467
|
+
let { deviceStates } = src_store.getState();
|
468
|
+
deviceStates = { ...deviceStates, ...{ [data.topic]: { ...deviceStates[data.topic], ...data.payload } } };
|
469
|
+
src_store.setState({ deviceStates });
|
470
|
+
};
|
466
471
|
this.procsessBridgeMessage = (data) => {
|
467
472
|
switch (data.topic) {
|
468
473
|
case "bridge/config":
|
@@ -556,10 +561,16 @@ class Api {
|
|
556
561
|
this.resolvePromises(data.payload);
|
557
562
|
}
|
558
563
|
};
|
564
|
+
this.processAvailabilityMessage = (data) => {
|
565
|
+
let { avalilability } = src_store.getState();
|
566
|
+
const friendlyName = data.topic.split(AVALIABILITY_FEATURE_TOPIC_ENDING, 1)[0];
|
567
|
+
avalilability = { ...avalilability, ...{ [friendlyName]: data.payload } };
|
568
|
+
src_store.setState({ avalilability });
|
569
|
+
};
|
559
570
|
this.onClose = (e) => {
|
560
571
|
if (e.code === UNAUTHORIZED_ERROR_CODE) {
|
561
|
-
|
562
|
-
|
572
|
+
local/* local.setItem */.I.setItem(AUTH_FLAG_LOCAL_STORAGE_ITEM_NAME, true);
|
573
|
+
local/* local.remove */.I.remove(TOKEN_LOCAL_STORAGE_ITEM_NAME);
|
563
574
|
notyf.error("Unauthorized");
|
564
575
|
setTimeout(() => {
|
565
576
|
window.location.reload();
|
@@ -575,13 +586,14 @@ class Api {
|
|
575
586
|
notyf.error(e.message);
|
576
587
|
notyf.error(event.data);
|
577
588
|
}
|
578
|
-
if (data.topic.
|
589
|
+
if (data.topic.endsWith(AVALIABILITY_FEATURE_TOPIC_ENDING)) {
|
590
|
+
this.processAvailabilityMessage(data);
|
591
|
+
}
|
592
|
+
else if (data.topic.startsWith("bridge/")) {
|
579
593
|
this.procsessBridgeMessage(data);
|
580
594
|
}
|
581
595
|
else {
|
582
|
-
|
583
|
-
deviceStates = { ...deviceStates, ...{ [data.topic]: { ...deviceStates[data.topic], ...data.payload } } };
|
584
|
-
src_store.setState({ deviceStates });
|
596
|
+
this.processDeviceStateMessage(data);
|
585
597
|
}
|
586
598
|
};
|
587
599
|
this.url = url;
|
@@ -978,32 +990,37 @@ const MODAL_COMPONENTS = {
|
|
978
990
|
[MODAL_TYPES.DIALOG_CONFIRMATION]: DialogConfirmationModal,
|
979
991
|
};
|
980
992
|
const initalState = {
|
981
|
-
showModal: () => {
|
982
|
-
|
993
|
+
showModal: () => {
|
994
|
+
},
|
995
|
+
hideModal: () => {
|
996
|
+
},
|
983
997
|
store: {},
|
984
998
|
};
|
985
999
|
const GlobalModalContext = (0,react.createContext)(initalState);
|
986
1000
|
const useGlobalModalContext = () => (0,react.useContext)(GlobalModalContext);
|
987
1001
|
const GlobalModal = ({ children }) => {
|
988
|
-
const [store, setStore] = (0,react.useState)();
|
989
|
-
const { modalType, modalProps } = store
|
990
|
-
const showModal = (
|
1002
|
+
const [store, setStore] = (0,react.useState)({});
|
1003
|
+
const { modalType, modalProps } = store;
|
1004
|
+
const showModal = (t, p = {}) => {
|
991
1005
|
setStore({
|
992
1006
|
...store,
|
993
|
-
modalType,
|
994
|
-
modalProps,
|
1007
|
+
modalType: t,
|
1008
|
+
modalProps: p,
|
995
1009
|
});
|
996
1010
|
};
|
997
1011
|
const hideModal = () => {
|
998
1012
|
setStore({
|
999
1013
|
...store,
|
1000
|
-
modalType:
|
1014
|
+
modalType: "",
|
1001
1015
|
modalProps: {},
|
1002
1016
|
});
|
1003
1017
|
};
|
1004
1018
|
const renderComponent = () => {
|
1019
|
+
if (!modalType) {
|
1020
|
+
return null;
|
1021
|
+
}
|
1005
1022
|
const ModalComponent = MODAL_COMPONENTS[modalType];
|
1006
|
-
if (!
|
1023
|
+
if (!ModalComponent) {
|
1007
1024
|
return null;
|
1008
1025
|
}
|
1009
1026
|
return react.createElement(ModalComponent, { id: "global-modal", ...modalProps });
|
@@ -1247,12 +1264,12 @@ class MapComponent extends react.Component {
|
|
1247
1264
|
}
|
1248
1265
|
renderMap() {
|
1249
1266
|
const { width, height, visibleLinks } = this.state;
|
1250
|
-
const { networkGraph, deviceStates, devices } = this.props;
|
1267
|
+
const { networkGraph, deviceStates, devices, avalilability } = this.props;
|
1251
1268
|
const links = networkGraph.links.filter(l => intersection_default()(visibleLinks, l.relationships).length > 0);
|
1252
1269
|
return (react.createElement("svg", { ref: this.svgRef, viewBox: `0 0 ${width} ${height}` },
|
1253
1270
|
react.createElement("g", { className: "everything" },
|
1254
1271
|
react.createElement(map_links, { links: links }),
|
1255
|
-
react.createElement(Nodes, { root: this.svgRef.current, nodes: networkGraph.nodes, simulation: this.simulation, deviceStates: deviceStates, devices: devices }))));
|
1272
|
+
react.createElement(Nodes, { root: this.svgRef.current, nodes: networkGraph.nodes, simulation: this.simulation, deviceStates: deviceStates, devices: devices, avalilability: avalilability }))));
|
1256
1273
|
}
|
1257
1274
|
renderMessage() {
|
1258
1275
|
const { networkGraphIsLoading, t } = this.props;
|
@@ -1296,7 +1313,7 @@ class MapComponent extends react.Component {
|
|
1296
1313
|
this.renderHelp()));
|
1297
1314
|
}
|
1298
1315
|
}
|
1299
|
-
const mappedProps = ["networkGraph", "networkGraphIsLoading", "deviceStates", "devices"];
|
1316
|
+
const mappedProps = ["networkGraph", "networkGraphIsLoading", "deviceStates", "devices", "avalilability"];
|
1300
1317
|
const ConnectedMap = (0,withTranslation/* withTranslation */.Z)("map")((0,unistore_react/* connect */.$)(mappedProps, actions_actions)(MapComponent));
|
1301
1318
|
/* harmony default export */ const components_map = (ConnectedMap);
|
1302
1319
|
|
@@ -1520,6 +1537,219 @@ function DisplayValue(props) {
|
|
1520
1537
|
}
|
1521
1538
|
}
|
1522
1539
|
|
1540
|
+
;// CONCATENATED MODULE: ./src/components/zigbee/style.css
|
1541
|
+
// extracted by mini-css-extract-plugin
|
1542
|
+
/* harmony default export */ const zigbee_style = ({"action-column":"GDDPje7BU_a2CqHQQeRS","device-pic":"V7dffAiFpKHihMzFsuev","device-image":"NBzXAYfJkobb1Zfroqnt"});
|
1543
|
+
// EXTERNAL MODULE: ./node_modules/react-table/index.js
|
1544
|
+
var react_table = __webpack_require__(79521);
|
1545
|
+
// EXTERNAL MODULE: ./node_modules/lodash/debounce.js
|
1546
|
+
var debounce = __webpack_require__(23279);
|
1547
|
+
var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce);
|
1548
|
+
;// CONCATENATED MODULE: ./src/components/grid/ReactTableCom.tsx
|
1549
|
+
|
1550
|
+
|
1551
|
+
|
1552
|
+
|
1553
|
+
|
1554
|
+
|
1555
|
+
function GlobalFilter({ globalFilter, setGlobalFilter, }) {
|
1556
|
+
const [value, setValue] = react.useState(globalFilter);
|
1557
|
+
const onChange = (0,react_table.useAsyncDebounce)(v => {
|
1558
|
+
setGlobalFilter(v || undefined);
|
1559
|
+
}, 200);
|
1560
|
+
const { t } = (0,useTranslation/* useTranslation */.$)(['common']);
|
1561
|
+
return (react.createElement("span", null,
|
1562
|
+
react.createElement("input", { value: value || "", onChange: e => {
|
1563
|
+
setValue(e.target.value);
|
1564
|
+
onChange(e.target.value);
|
1565
|
+
}, placeholder: t('common:enter_search_criteria'), className: "form-control" })));
|
1566
|
+
}
|
1567
|
+
const TABLE_STORAGE_PREFFIX = 'rc-table-';
|
1568
|
+
const getStorageKey = (id) => `${TABLE_STORAGE_PREFFIX}${id}`;
|
1569
|
+
const persist = debounce_default()((key, data) => {
|
1570
|
+
local/* local.setItem */.I.setItem(getStorageKey(key), data);
|
1571
|
+
});
|
1572
|
+
const stateReducer = (newState, action, previousState, instance) => {
|
1573
|
+
if (instance) {
|
1574
|
+
const { instanceId } = instance;
|
1575
|
+
const { sortBy, globalFilter } = newState;
|
1576
|
+
persist(instanceId, { sortBy, globalFilter });
|
1577
|
+
}
|
1578
|
+
return newState;
|
1579
|
+
};
|
1580
|
+
const Table = ({ columns, data, id }) => {
|
1581
|
+
const initialState = local/* local.getItem */.I.getItem(getStorageKey(id)) || {};
|
1582
|
+
const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state, visibleColumns, setGlobalFilter, } = (0,react_table.useTable)({
|
1583
|
+
instanceId: id,
|
1584
|
+
stateReducer,
|
1585
|
+
columns,
|
1586
|
+
data,
|
1587
|
+
autoResetSortBy: false,
|
1588
|
+
autoResetFilters: false,
|
1589
|
+
initialState
|
1590
|
+
}, react_table.useGlobalFilter, react_table.useSortBy);
|
1591
|
+
return (react.createElement("table", { ...getTableProps(), className: "table responsive" },
|
1592
|
+
react.createElement("thead", null,
|
1593
|
+
react.createElement("tr", null,
|
1594
|
+
react.createElement("th", { colSpan: visibleColumns.length },
|
1595
|
+
react.createElement(GlobalFilter, { globalFilter: state.globalFilter, setGlobalFilter: setGlobalFilter }))),
|
1596
|
+
headerGroups.map((headerGroup) => (react.createElement("tr", { ...headerGroup.getHeaderGroupProps() }, headerGroup.headers.map(column => (react.createElement("th", { className: "text-nowrap", ...column.getHeaderProps(column.getSortByToggleProps()) },
|
1597
|
+
react.createElement("span", { className: classnames_default()({ 'btn-link mr-1': column.canSort }) }, column.render('Header')),
|
1598
|
+
react.createElement("span", null,
|
1599
|
+
react.createElement("i", { className: classnames_default()('fa', {
|
1600
|
+
'fa-sort-amount-down invisible': !column.isSorted,
|
1601
|
+
'fa-sort-amount-down-alt': column.isSorted && !column.isSortedDesc,
|
1602
|
+
'fa-sort-amount-down': column.isSorted && column.isSortedDesc,
|
1603
|
+
}) }))))))))),
|
1604
|
+
react.createElement("tbody", { ...getTableBodyProps() }, rows.map((row, i) => {
|
1605
|
+
prepareRow(row);
|
1606
|
+
return (react.createElement("tr", { ...row.getRowProps() }, row.cells.map(cell => react.createElement("td", { ...cell.getCellProps() }, cell.render('Cell')))));
|
1607
|
+
}))));
|
1608
|
+
};
|
1609
|
+
|
1610
|
+
;// CONCATENATED MODULE: ./src/components/zigbee/index.tsx
|
1611
|
+
|
1612
|
+
|
1613
|
+
|
1614
|
+
|
1615
|
+
|
1616
|
+
|
1617
|
+
|
1618
|
+
|
1619
|
+
|
1620
|
+
|
1621
|
+
|
1622
|
+
|
1623
|
+
|
1624
|
+
|
1625
|
+
|
1626
|
+
|
1627
|
+
function Avaliability(props) {
|
1628
|
+
const { t } = (0,useTranslation/* useTranslation */.$)(["avaliability"]);
|
1629
|
+
const { avaliability, availabilityFeatureEnabled = true, avalilabilityEnabledForDevice = true } = props;
|
1630
|
+
if (availabilityFeatureEnabled && avalilabilityEnabledForDevice) {
|
1631
|
+
return react.createElement("span", { className: classnames_default()({
|
1632
|
+
"text-danger animation-blinking": avaliability === "offline",
|
1633
|
+
'text-success': avaliability === "online"
|
1634
|
+
}) }, t(avaliability));
|
1635
|
+
}
|
1636
|
+
else {
|
1637
|
+
return react.createElement("a", { target: "_blank", rel: "noopener noreferrer", href: "https://www.zigbee2mqtt.io/guide/configuration/device-availability.html#availability-advanced-configuration" }, t('disabled'));
|
1638
|
+
}
|
1639
|
+
}
|
1640
|
+
function DevicesTable(props) {
|
1641
|
+
const { data, lastSeenType, availabilityFeatureEnabled } = props;
|
1642
|
+
const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common", "avaliability"]);
|
1643
|
+
const columns = [
|
1644
|
+
{
|
1645
|
+
id: 'rownumber',
|
1646
|
+
Header: '#',
|
1647
|
+
Cell: ({ row }) => react.createElement("div", { className: "font-weight-bold" }, row.index + 1),
|
1648
|
+
disableSortBy: true,
|
1649
|
+
},
|
1650
|
+
{
|
1651
|
+
id: 'pic',
|
1652
|
+
Header: t('pic'),
|
1653
|
+
Cell: ({ row: { original: { device, state } } }) => react.createElement(device_image, { className: zigbee_style["device-image"], device: device, deviceStatus: state }),
|
1654
|
+
accessor: rowData => rowData,
|
1655
|
+
disableSortBy: true,
|
1656
|
+
},
|
1657
|
+
{
|
1658
|
+
id: 'friendly_name',
|
1659
|
+
Header: t('friendly_name'),
|
1660
|
+
accessor: ({ device }) => device.friendly_name,
|
1661
|
+
Cell: ({ row: { original: { device } } }) => react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) }, device.friendly_name)
|
1662
|
+
},
|
1663
|
+
{
|
1664
|
+
id: 'ieee_address',
|
1665
|
+
Header: t('ieee_address'),
|
1666
|
+
accessor: ({ device }) => [device.ieee_address, toHex(device.network_address, 4)].join(' '),
|
1667
|
+
Cell: ({ row: { original: { device } } }) => react.createElement(react.Fragment, null,
|
1668
|
+
device.ieee_address,
|
1669
|
+
" (",
|
1670
|
+
toHex(device.network_address, 4),
|
1671
|
+
")"),
|
1672
|
+
},
|
1673
|
+
{
|
1674
|
+
id: 'manufacturer',
|
1675
|
+
Header: t('manufacturer'),
|
1676
|
+
accessor: ({ device }) => { var _a; return [device.manufacturer, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.vendor].join(' '); },
|
1677
|
+
Cell: ({ row: { original: { device } } }) => react.createElement(VendorLink, { device: device })
|
1678
|
+
},
|
1679
|
+
{
|
1680
|
+
id: 'model',
|
1681
|
+
Header: t('model'),
|
1682
|
+
accessor: ({ device }) => { var _a; return [device.model_id, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.model].join(' '); },
|
1683
|
+
Cell: ({ row: { original: { device } } }) => react.createElement(ModelLink, { device: device })
|
1684
|
+
},
|
1685
|
+
{
|
1686
|
+
id: 'lqi',
|
1687
|
+
Header: t('lqi'),
|
1688
|
+
accessor: ({ state }) => state.linkquality,
|
1689
|
+
Cell: ({ row: { original: { state } } }) => react.createElement(DisplayValue, { value: state.linkquality, name: "linkquality" }),
|
1690
|
+
},
|
1691
|
+
...(lastSeenType !== "disable" ? [{
|
1692
|
+
id: 'last_seen',
|
1693
|
+
Header: t('last_seen'),
|
1694
|
+
accessor: ({ state }) => { var _a; return (_a = lastSeen(state, lastSeenType)) === null || _a === void 0 ? void 0 : _a.getTime(); },
|
1695
|
+
Cell: ({ row: { original: { state } } }) => react.createElement(LastSeen, { state: state, lastSeenType: lastSeenType }),
|
1696
|
+
}] : []),
|
1697
|
+
...(availabilityFeatureEnabled ? [{
|
1698
|
+
id: 'avaliability',
|
1699
|
+
Header: t('avaliability:avaliability'),
|
1700
|
+
accessor: ({ avalilabilityState }) => avalilabilityState,
|
1701
|
+
Cell: ({ row: { original: { avalilabilityState, avalilabilityEnabledForDevice } } }) => {
|
1702
|
+
return react.createElement(Avaliability, { avaliability: avalilabilityState, avalilabilityEnabledForDevice: avalilabilityEnabledForDevice });
|
1703
|
+
},
|
1704
|
+
}] : []),
|
1705
|
+
{
|
1706
|
+
id: 'power',
|
1707
|
+
Header: t('power'),
|
1708
|
+
accessor: ({ device }) => device.power_source,
|
1709
|
+
Cell: ({ row: { original: { state, device } } }) => react.createElement(power_source, { source: device.power_source, battery: state.battery, batteryLow: state.battery_low }),
|
1710
|
+
},
|
1711
|
+
{
|
1712
|
+
id: 'controls',
|
1713
|
+
Header: '',
|
1714
|
+
Cell: ({ row: { original: { device, state } } }) => react.createElement(device_control_DeviceControlGroup, { device: device, state: state }),
|
1715
|
+
disableSortBy: true,
|
1716
|
+
}
|
1717
|
+
];
|
1718
|
+
return (react.createElement("div", { className: "card" },
|
1719
|
+
react.createElement("div", { className: "table-responsive" },
|
1720
|
+
react.createElement(Table, { id: "zigbee", columns: columns, data: data }))));
|
1721
|
+
}
|
1722
|
+
function ZigbeeTable(props) {
|
1723
|
+
const { devices, deviceStates, bridgeInfo: { config }, avalilability } = props;
|
1724
|
+
const availabilityFeatureEnabled = !!config.availability;
|
1725
|
+
const getDevicesToRender = () => {
|
1726
|
+
return Object.values(devices)
|
1727
|
+
.filter(device => device.type !== "Coordinator")
|
1728
|
+
.map((device) => {
|
1729
|
+
var _a, _b, _c;
|
1730
|
+
const state = (_a = deviceStates[device.friendly_name]) !== null && _a !== void 0 ? _a : {};
|
1731
|
+
return {
|
1732
|
+
id: device.friendly_name,
|
1733
|
+
device,
|
1734
|
+
state,
|
1735
|
+
avalilabilityState: (_b = avalilability[device.friendly_name]) !== null && _b !== void 0 ? _b : "offline",
|
1736
|
+
avalilabilityEnabledForDevice: ((_c = config.devices[device.ieee_address]) === null || _c === void 0 ? void 0 : _c.availability) !== false
|
1737
|
+
};
|
1738
|
+
});
|
1739
|
+
};
|
1740
|
+
const data = react.useMemo(() => getDevicesToRender(), [devices, deviceStates]);
|
1741
|
+
if (Object.keys(data).length) {
|
1742
|
+
return react.createElement(DevicesTable, { data: data, lastSeenType: config.advanced.last_seen, availabilityFeatureEnabled: availabilityFeatureEnabled });
|
1743
|
+
}
|
1744
|
+
else {
|
1745
|
+
return (react.createElement("div", { className: "h-100 d-flex justify-content-center align-items-center" },
|
1746
|
+
react.createElement(spinner, null)));
|
1747
|
+
}
|
1748
|
+
}
|
1749
|
+
const zigbee_mappedProps = ["devices", "deviceStates", "bridgeInfo", "avalilability"];
|
1750
|
+
const ConnectedZigbeePage = (0,withTranslation/* withTranslation */.Z)(["zigbee", "common"])((0,unistore_react/* connect */.$)(zigbee_mappedProps, actions_actions)(ZigbeeTable));
|
1751
|
+
/* harmony default export */ const zigbee = (ConnectedZigbeePage);
|
1752
|
+
|
1523
1753
|
;// CONCATENATED MODULE: ./src/components/device-page/info.tsx
|
1524
1754
|
|
1525
1755
|
|
@@ -1534,6 +1764,7 @@ function DisplayValue(props) {
|
|
1534
1764
|
|
1535
1765
|
|
1536
1766
|
|
1767
|
+
|
1537
1768
|
const markdownLinkRegex = /\[(.*?)\]\((.*?)\)/;
|
1538
1769
|
const displayProps = [
|
1539
1770
|
{
|
@@ -1546,6 +1777,17 @@ const displayProps = [
|
|
1546
1777
|
render: (device, state, bridgeInfo) => react.createElement("dd", { className: "col-12 col-md-7" },
|
1547
1778
|
react.createElement(LastSeen, { lastSeenType: bridgeInfo.config.advanced.last_seen, state: state })),
|
1548
1779
|
},
|
1780
|
+
{
|
1781
|
+
translationKey: 'avaliability.avaliability',
|
1782
|
+
render: (device, state, bridgeInfo, availability) => {
|
1783
|
+
var _a;
|
1784
|
+
const { config } = bridgeInfo;
|
1785
|
+
const availabilityFeatureEnabled = !!config.availability;
|
1786
|
+
const avalilabilityEnabledForDevice = ((_a = config.devices[device.ieee_address]) === null || _a === void 0 ? void 0 : _a.availability) !== false;
|
1787
|
+
return react.createElement("dd", { className: "col-12 col-md-7" },
|
1788
|
+
react.createElement(Avaliability, { avaliability: availability, availabilityFeatureEnabled: availabilityFeatureEnabled, avalilabilityEnabledForDevice: avalilabilityEnabledForDevice }));
|
1789
|
+
},
|
1790
|
+
},
|
1549
1791
|
{
|
1550
1792
|
key: 'type',
|
1551
1793
|
translationKey: 'device_type'
|
@@ -1626,19 +1868,22 @@ const displayProps = [
|
|
1626
1868
|
class DeviceInfo extends react.Component {
|
1627
1869
|
render() {
|
1628
1870
|
var _a;
|
1629
|
-
const { device, deviceStates, bridgeInfo, t } = this.props;
|
1871
|
+
const { device, deviceStates, bridgeInfo, avalilability, t } = this.props;
|
1630
1872
|
const deviceState = (_a = deviceStates[device.friendly_name]) !== null && _a !== void 0 ? _a : {};
|
1631
1873
|
return (react.createElement(react.Fragment, null,
|
1632
1874
|
react.createElement("div", { className: "d-flex justify-content-center" },
|
1633
1875
|
react.createElement(device_image, { className: `card-img-top w-auto ${device_page_style["device-pic"]}`, device: device, deviceStatus: deviceState })),
|
1634
|
-
react.createElement("dl", { className: "row" }, displayProps.filter(prop => prop.if === undefined || get_default()(device, prop.if, false)).map(prop =>
|
1635
|
-
|
1636
|
-
prop.
|
1637
|
-
|
1876
|
+
react.createElement("dl", { className: "row" }, displayProps.filter(prop => prop.if === undefined || get_default()(device, prop.if, false)).map(prop => {
|
1877
|
+
var _a;
|
1878
|
+
return (react.createElement(react.Fragment, { key: prop.translationKey },
|
1879
|
+
react.createElement("dt", { className: "col-12 col-md-5" }, t(prop.translationKey)),
|
1880
|
+
prop.render ?
|
1881
|
+
prop.render(device, deviceState, bridgeInfo, (_a = avalilability[device.friendly_name]) !== null && _a !== void 0 ? _a : 'offline') : react.createElement("dd", { className: "col-12 col-md-7" }, get_default()(device, prop.key))));
|
1882
|
+
})),
|
1638
1883
|
react.createElement(device_control_DeviceControlGroup, { device: device, state: deviceState })));
|
1639
1884
|
}
|
1640
1885
|
}
|
1641
|
-
const info_mappedProps = ["deviceStates", "bridgeInfo"];
|
1886
|
+
const info_mappedProps = ["deviceStates", "bridgeInfo", "avalilability"];
|
1642
1887
|
const ConnectedDeviceInfoPage = (0,withTranslation/* withTranslation */.Z)("zigbee")((0,unistore_react/* connect */.$)(info_mappedProps)(DeviceInfo));
|
1643
1888
|
/* harmony default export */ const info = (ConnectedDeviceInfoPage);
|
1644
1889
|
|
@@ -3444,72 +3689,6 @@ const device_page_mappedProps = ["devices", "deviceStates", "logs", "bridgeInfo"
|
|
3444
3689
|
const ConnectedDevicePage = (0,withTranslation/* withTranslation */.Z)("devicePage")((0,unistore_react/* connect */.$)(device_page_mappedProps, actions_actions)(devicePageWithRouter));
|
3445
3690
|
/* harmony default export */ const device_page = (ConnectedDevicePage);
|
3446
3691
|
|
3447
|
-
// EXTERNAL MODULE: ./node_modules/react-table/index.js
|
3448
|
-
var react_table = __webpack_require__(79521);
|
3449
|
-
// EXTERNAL MODULE: ./node_modules/local-storage/local-storage.js
|
3450
|
-
var local_storage = __webpack_require__(42222);
|
3451
|
-
// EXTERNAL MODULE: ./node_modules/lodash/debounce.js
|
3452
|
-
var debounce = __webpack_require__(23279);
|
3453
|
-
var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce);
|
3454
|
-
;// CONCATENATED MODULE: ./src/components/grid/ReactTableCom.tsx
|
3455
|
-
|
3456
|
-
|
3457
|
-
|
3458
|
-
|
3459
|
-
|
3460
|
-
|
3461
|
-
function GlobalFilter({ globalFilter, setGlobalFilter, }) {
|
3462
|
-
const [value, setValue] = react.useState(globalFilter);
|
3463
|
-
const onChange = (0,react_table.useAsyncDebounce)(v => {
|
3464
|
-
setGlobalFilter(v || undefined);
|
3465
|
-
}, 200);
|
3466
|
-
const { t } = (0,useTranslation/* useTranslation */.$)(['common']);
|
3467
|
-
return (react.createElement("span", null,
|
3468
|
-
react.createElement("input", { value: value || "", onChange: e => {
|
3469
|
-
setValue(e.target.value);
|
3470
|
-
onChange(e.target.value);
|
3471
|
-
}, placeholder: t('common:enter_search_criteria'), className: "form-control" })));
|
3472
|
-
}
|
3473
|
-
const persist = debounce_default()((key, data) => {
|
3474
|
-
(0,local_storage.set)(key, data);
|
3475
|
-
});
|
3476
|
-
const stateReducer = (newState, action, previousState, instance) => {
|
3477
|
-
if (instance) {
|
3478
|
-
const { instanceId } = instance;
|
3479
|
-
const { sortBy, globalFilter } = newState;
|
3480
|
-
persist(instanceId, { sortBy, globalFilter });
|
3481
|
-
}
|
3482
|
-
return newState;
|
3483
|
-
};
|
3484
|
-
const Table = ({ columns, data, id }) => {
|
3485
|
-
const initialState = (0,local_storage.get)(id) || {};
|
3486
|
-
const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state, visibleColumns, setGlobalFilter, } = (0,react_table.useTable)({
|
3487
|
-
instanceId: id,
|
3488
|
-
stateReducer,
|
3489
|
-
columns,
|
3490
|
-
data,
|
3491
|
-
autoResetSortBy: false,
|
3492
|
-
autoResetFilters: false,
|
3493
|
-
initialState
|
3494
|
-
}, react_table.useGlobalFilter, react_table.useSortBy);
|
3495
|
-
return (react.createElement("table", { ...getTableProps(), className: "table responsive" },
|
3496
|
-
react.createElement("thead", null,
|
3497
|
-
react.createElement("tr", null,
|
3498
|
-
react.createElement("th", { colSpan: visibleColumns.length },
|
3499
|
-
react.createElement(GlobalFilter, { globalFilter: state.globalFilter, setGlobalFilter: setGlobalFilter }))),
|
3500
|
-
headerGroups.map((headerGroup) => (react.createElement("tr", { ...headerGroup.getHeaderGroupProps() }, headerGroup.headers.map(column => (react.createElement("th", { className: "text-nowrap", ...column.getHeaderProps(column.getSortByToggleProps()) },
|
3501
|
-
react.createElement("span", { className: classnames_default()({ 'btn-link mr-1': column.canSort }) }, column.render('Header')),
|
3502
|
-
react.createElement("span", null, column.isSorted
|
3503
|
-
? column.isSortedDesc
|
3504
|
-
? react.createElement("i", { className: `fa fa-sort-amount-down-alt` })
|
3505
|
-
: react.createElement("i", { className: `fa fa-sort-amount-down` })
|
3506
|
-
: react.createElement("i", { className: `fa fa-sort-amount-down invisible` }))))))))),
|
3507
|
-
react.createElement("tbody", { ...getTableBodyProps() }, rows.map((row, i) => {
|
3508
|
-
prepareRow(row);
|
3509
|
-
return (react.createElement("tr", { ...row.getRowProps() }, row.cells.map(cell => react.createElement("td", { ...cell.getCellProps() }, cell.render('Cell')))));
|
3510
|
-
}))));
|
3511
|
-
};
|
3512
|
-
|
3513
3692
|
;// CONCATENATED MODULE: ./src/components/touchlink-page/index.tsx
|
3514
3693
|
|
3515
3694
|
|
@@ -3784,7 +3963,7 @@ class SettingsPage extends react.Component {
|
|
3784
3963
|
zigbee2mqttCommit) },
|
3785
3964
|
{ 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')) },
|
3786
3965
|
{ 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')) },
|
3787
|
-
{ translationKey: 'frontend_version', content: "0.6.
|
3966
|
+
{ translationKey: 'frontend_version', content: "0.6.44" },
|
3788
3967
|
{ translationKey: 'stats', content: react.createElement(Stats, { devices: devices }) },
|
3789
3968
|
];
|
3790
3969
|
return react.createElement("div", { className: "p-3" }, rows.map(row => react.createElement("dl", { key: row.translationKey, className: "row" },
|
@@ -3964,10 +4143,12 @@ var kr = __webpack_require__(83686);
|
|
3964
4143
|
var cz = __webpack_require__(79578);
|
3965
4144
|
// EXTERNAL MODULE: ./src/i18n/flags/fi.png
|
3966
4145
|
var fi = __webpack_require__(52358);
|
4146
|
+
// EXTERNAL MODULE: ./src/i18n/flags/sv.png
|
4147
|
+
var sv = __webpack_require__(98527);
|
3967
4148
|
// EXTERNAL MODULE: ./src/i18n/flags/missing-locale.png
|
3968
4149
|
var missing_locale = __webpack_require__(23876);
|
3969
4150
|
;// CONCATENATED MODULE: ./src/i18n/locales/localeNames.json
|
3970
|
-
const localeNames_namespaceObject = JSON.parse('{"de":"Deutsch","en":"English","es":"Español","fr":"Français","nl":"Nederlands","pl":"Polski","ptbr":"Brazilian Portuguese","ru":"Русский","ua":"Українська","chs":"简体中文","it":"Italiano","zh":"繁體中文","ko":"한국어","cs":"Česky","fi":"Suomi"}');
|
4151
|
+
const localeNames_namespaceObject = JSON.parse('{"de":"Deutsch","en":"English","es":"Español","fr":"Français","nl":"Nederlands","pl":"Polski","ptbr":"Brazilian Portuguese","ru":"Русский","ua":"Українська","chs":"简体中文","it":"Italiano","zh":"繁體中文","ko":"한국어","cs":"Česky","fi":"Suomi","sv":"Svenska"}');
|
3971
4152
|
;// CONCATENATED MODULE: ./src/i18n/LocalePicker.tsx
|
3972
4153
|
|
3973
4154
|
|
@@ -3988,10 +4169,11 @@ const localeNames_namespaceObject = JSON.parse('{"de":"Deutsch","en":"English","
|
|
3988
4169
|
|
3989
4170
|
|
3990
4171
|
|
4172
|
+
|
3991
4173
|
|
3992
4174
|
|
3993
4175
|
const localesMap = {
|
3994
|
-
en: us, fr: fr, pl: pl, de: de, ru: ru, ptbr: ptbr, es: es, ua: ua, chs: cn, nl: nl, it: it, zh: tw, ko: kr, cs: cz, fi: fi
|
4176
|
+
en: us, fr: fr, pl: pl, de: de, ru: ru, ptbr: ptbr, es: es, ua: ua, chs: cn, nl: nl, it: it, zh: tw, ko: kr, cs: cz, fi: fi, sv: sv
|
3995
4177
|
};
|
3996
4178
|
function LocalePicker() {
|
3997
4179
|
var _a;
|
@@ -4270,127 +4452,6 @@ const groups_mappedProps = ["groups", "devices", "deviceStates", "bridgeInfo"];
|
|
4270
4452
|
const ConnectedGroupsPage = (0,withTranslation/* withTranslation */.Z)("groups")((0,unistore_react/* connect */.$)(groups_mappedProps, actions_actions)(GroupsPage));
|
4271
4453
|
/* harmony default export */ const groups = (ConnectedGroupsPage);
|
4272
4454
|
|
4273
|
-
;// CONCATENATED MODULE: ./src/components/zigbee/style.css
|
4274
|
-
// extracted by mini-css-extract-plugin
|
4275
|
-
/* harmony default export */ const zigbee_style = ({"action-column":"GDDPje7BU_a2CqHQQeRS","device-pic":"V7dffAiFpKHihMzFsuev","device-image":"NBzXAYfJkobb1Zfroqnt"});
|
4276
|
-
;// CONCATENATED MODULE: ./src/components/zigbee/index.tsx
|
4277
|
-
|
4278
|
-
|
4279
|
-
|
4280
|
-
|
4281
|
-
|
4282
|
-
|
4283
|
-
|
4284
|
-
|
4285
|
-
|
4286
|
-
|
4287
|
-
|
4288
|
-
|
4289
|
-
|
4290
|
-
|
4291
|
-
|
4292
|
-
function DevicesTable(props) {
|
4293
|
-
const { data, lastSeenType } = props;
|
4294
|
-
const { t } = (0,useTranslation/* useTranslation */.$)(["zigbee", "common"]);
|
4295
|
-
const columns = [
|
4296
|
-
{
|
4297
|
-
id: 'rownumber',
|
4298
|
-
Header: '#',
|
4299
|
-
Cell: ({ row }) => react.createElement("div", { className: "font-weight-bold" }, row.index + 1),
|
4300
|
-
disableSortBy: true,
|
4301
|
-
},
|
4302
|
-
{
|
4303
|
-
id: 'pic',
|
4304
|
-
Header: t('pic'),
|
4305
|
-
Cell: ({ row: { original: { device, state } } }) => react.createElement(device_image, { className: zigbee_style["device-image"], device: device, deviceStatus: state }),
|
4306
|
-
accessor: rowData => rowData,
|
4307
|
-
disableSortBy: true,
|
4308
|
-
},
|
4309
|
-
{
|
4310
|
-
id: 'friendly_name',
|
4311
|
-
Header: t('friendly_name'),
|
4312
|
-
accessor: ({ device }) => device.friendly_name,
|
4313
|
-
Cell: ({ row: { original: { device } } }) => react.createElement(react_router_dom/* Link */.rU, { to: genDeviceDetailsLink(device.ieee_address) }, device.friendly_name)
|
4314
|
-
},
|
4315
|
-
{
|
4316
|
-
id: 'ieee_address',
|
4317
|
-
Header: t('ieee_address'),
|
4318
|
-
accessor: ({ device }) => [device.ieee_address, toHex(device.network_address, 4)].join(' '),
|
4319
|
-
Cell: ({ row: { original: { device } } }) => react.createElement(react.Fragment, null,
|
4320
|
-
device.ieee_address,
|
4321
|
-
" (",
|
4322
|
-
toHex(device.network_address, 4),
|
4323
|
-
")"),
|
4324
|
-
},
|
4325
|
-
{
|
4326
|
-
id: 'manufacturer',
|
4327
|
-
Header: t('manufacturer'),
|
4328
|
-
accessor: ({ device }) => { var _a; return [device.manufacturer, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.vendor].join(' '); },
|
4329
|
-
Cell: ({ row: { original: { device } } }) => react.createElement(VendorLink, { device: device })
|
4330
|
-
},
|
4331
|
-
{
|
4332
|
-
id: 'model',
|
4333
|
-
Header: t('model'),
|
4334
|
-
accessor: ({ device }) => { var _a; return [device.model_id, (_a = device.definition) === null || _a === void 0 ? void 0 : _a.model].join(' '); },
|
4335
|
-
Cell: ({ row: { original: { device } } }) => react.createElement(ModelLink, { device: device })
|
4336
|
-
},
|
4337
|
-
{
|
4338
|
-
id: 'lqi',
|
4339
|
-
Header: t('lqi'),
|
4340
|
-
accessor: ({ state }) => state.linkquality,
|
4341
|
-
Cell: ({ row: { original: { state } } }) => react.createElement(DisplayValue, { value: state.linkquality, name: "linkquality" }),
|
4342
|
-
},
|
4343
|
-
...(lastSeenType !== "disable" ? [{
|
4344
|
-
id: 'last_seen',
|
4345
|
-
Header: t('last_seen'),
|
4346
|
-
accessor: ({ state }) => { var _a; return (_a = lastSeen(state, lastSeenType)) === null || _a === void 0 ? void 0 : _a.getTime(); },
|
4347
|
-
Cell: ({ row: { original: { state } } }) => react.createElement(LastSeen, { state: state, lastSeenType: lastSeenType }),
|
4348
|
-
}] : []),
|
4349
|
-
{
|
4350
|
-
id: 'power',
|
4351
|
-
Header: t('power'),
|
4352
|
-
accessor: ({ device }) => device.power_source,
|
4353
|
-
Cell: ({ row: { original: { state, device } } }) => react.createElement(power_source, { source: device.power_source, battery: state.battery, batteryLow: state.battery_low }),
|
4354
|
-
},
|
4355
|
-
{
|
4356
|
-
id: 'controls',
|
4357
|
-
Header: '',
|
4358
|
-
Cell: ({ row: { original: { device, state } } }) => react.createElement(device_control_DeviceControlGroup, { device: device, state: state }),
|
4359
|
-
disableSortBy: true,
|
4360
|
-
}
|
4361
|
-
];
|
4362
|
-
return (react.createElement("div", { className: "card" },
|
4363
|
-
react.createElement("div", { className: "table-responsive" },
|
4364
|
-
react.createElement(Table, { id: "zigbee", columns: columns, data: data }))));
|
4365
|
-
}
|
4366
|
-
function ZigbeeTable(props) {
|
4367
|
-
const { devices, deviceStates, bridgeInfo } = props;
|
4368
|
-
const getDevicesToRender = () => {
|
4369
|
-
return Object.values(devices)
|
4370
|
-
.filter(device => device.type !== "Coordinator")
|
4371
|
-
.map((device) => {
|
4372
|
-
var _a;
|
4373
|
-
const state = (_a = deviceStates[device.friendly_name]) !== null && _a !== void 0 ? _a : {};
|
4374
|
-
return {
|
4375
|
-
id: device.friendly_name,
|
4376
|
-
device,
|
4377
|
-
state
|
4378
|
-
};
|
4379
|
-
});
|
4380
|
-
};
|
4381
|
-
const data = react.useMemo(() => getDevicesToRender(), [devices, deviceStates]);
|
4382
|
-
if (Object.keys(data).length) {
|
4383
|
-
return react.createElement(DevicesTable, { data: data, lastSeenType: bridgeInfo.config.advanced.last_seen });
|
4384
|
-
}
|
4385
|
-
else {
|
4386
|
-
return (react.createElement("div", { className: "h-100 d-flex justify-content-center align-items-center" },
|
4387
|
-
react.createElement(spinner, null)));
|
4388
|
-
}
|
4389
|
-
}
|
4390
|
-
const zigbee_mappedProps = ["devices", "deviceStates", "bridgeInfo"];
|
4391
|
-
const ConnectedZigbeePage = (0,withTranslation/* withTranslation */.Z)(["zigbee", "common"])((0,unistore_react/* connect */.$)(zigbee_mappedProps, actions_actions)(ZigbeeTable));
|
4392
|
-
/* harmony default export */ const zigbee = (ConnectedZigbeePage);
|
4393
|
-
|
4394
4455
|
;// CONCATENATED MODULE: ./src/components/ota-page/index.tsx
|
4395
4456
|
|
4396
4457
|
|
@@ -4932,7 +4993,7 @@ var context = __webpack_require__(68718);
|
|
4932
4993
|
// EXTERNAL MODULE: ./node_modules/i18next-browser-languagedetector/dist/esm/i18nextBrowserLanguageDetector.js
|
4933
4994
|
var i18nextBrowserLanguageDetector = __webpack_require__(26071);
|
4934
4995
|
;// CONCATENATED MODULE: ./src/i18n/locales/en.json
|
4935
|
-
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"},"featureDescriptions":{"Auto off after specific time.":"Auto off after specific time.","Away mode":"Away mode","Away preset days":"Away preset days","Away preset temperature":"Away preset temperature","Boost time":"Boost time","Brightness of this light":"Brightness of this light","Calibration time":"Calibration time","Color of this light expressed as hue/saturation":"Color of this light expressed as hue/saturation","Color of this light in the CIE 1931 color space (x/y)":"Color of this light in the CIE 1931 color space (x/y)","Color temperature after cold power on of this light":"Color temperature after cold power on of this light","Color temperature of this light":"Color temperature of this light","Comfort temperature":"Comfort temperature","Controls the behavior when the device is powered on":"Controls the behavior when the device is powered on","Controls the behaviour when the device is powered on":"Controls the behaviour when the device is powered on","Current temperature measured on the device":"Current temperature measured on the device","Decoupled mode for center button":"Decoupled mode for center button","Decoupled mode for left button":"Decoupled mode for left button","Decoupled mode for right button":"Decoupled mode for right button","Eco temperature":"Eco temperature","Enable/disable auto lock":"Enable/disable auto lock","Enable/disable away mode":"Enable/disable away mode","Enables/disables physical input on the device":"Enables/disables physical input on the device","Enables/disables window detection on the device":"Enables/disables window detection on the device","Enabling prevents both relais being on at the same time":"Enabling prevents both relais being on at the same time","Force the valve position":"Force the valve position","Indicates if CO (carbon monoxide) is detected":"Indicates if CO (carbon monoxide) is detected","Indicates if the battery of this device is almost empty":"Indicates if the battery of this device is almost empty","Indicates if the contact is closed (= true) or open (= false)":"Indicates if the contact is closed (= true) or open (= false)","Indicates whether the device detected a water leak":"Indicates whether the device detected a water leak","Indicates whether the device detected occupancy":"Indicates whether the device detected occupancy","Indicates whether the device detected smoke":"Indicates whether the device detected smoke","Indicates whether the device is tampered":"Indicates whether the device is tampered","Instantaneous measured electrical current":"Instantaneous measured electrical current","Instantaneous measured power":"Instantaneous measured power","Link quality (signal strength)":"Link quality (signal strength)","Maximum temperature":"Maximum temperature","Measured electrical potential value":"Measured electrical potential value","Measured illuminance in lux":"Measured illuminance in lux","Measured relative humidity":"Measured relative humidity","Measured temperature value":"Measured temperature value","Minimum temperature":"Minimum temperature","Mode of this device (similar to system_mode)":"Mode of this device (similar to system_mode)","Mode of this device":"Mode of this device","Motor speed":"Motor speed","Offset to be used in the local_temperature":"Offset to be used in the local_temperature","On/off state of the switch":"On/off state of the switch","On/off state of this light":"On/off state of this light","Position of this cover":"Position of this cover","Position":"Position","Raw measured illuminance":"Raw measured illuminance","Recover state after power outage":"Recover state after power outage","Remaining battery in %":"Remaining battery in %","Side of the cube":"Side of the cube","Sum of consumed energy":"Sum of consumed energy","Temperature setpoint":"Temperature setpoint","The measured atmospheric pressure":"The measured atmospheric pressure","Triggered action (e.g. a button click)":"Triggered action (e.g. a button click)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Triggers an effect on the light (e.g. make light blink for a few seconds)","Voltage of the battery in millivolts":"Voltage of the battery in millivolts","Week format user for schedule":"Week format user for schedule"},"featureNames":{"action":"Action","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","brightness":"Brightness","co2":"CO2","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","availability":"Availability","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","stats":"Stats"},"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","battery":"Battery","block_join":"Block from joining again","cluster":"Cluster","dc_source":"DC Source","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","interview_failed":"Interview failed","interviewing":"Interviewing","last_seen":"Last seen","lqi":"LQI","mains_single_phase":"Mains (single phase)","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","power_level":"power level","reconfigure":"Reconfigure","remove_device":"Remove device","rename_device":"Rename device","select_attribute":"Select attribute","select_cluster":"Select cluster","support_status":"Support status","unsupported":"Unsupported","updating_firmware":"Updating firmware","update_Home_assistant_entity_id":"Update Home Assistant entity ID","zigbee_manufacturer":"Zigbee Manufacturer","zigbee_model":"Zigbee Model","device":"Device","channel":"Channel"},"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"},"stats":{"byType":"By device type","byPowerSource":"By power source","byVendor":"By vendor","byModel":"By model","total":"Total"}}');
|
4996
|
+
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"},"featureDescriptions":{"Auto off after specific time.":"Auto off after specific time.","Away mode":"Away mode","Away preset days":"Away preset days","Away preset temperature":"Away preset temperature","Boost time":"Boost time","Brightness of this light":"Brightness of this light","Calibration time":"Calibration time","Color of this light expressed as hue/saturation":"Color of this light expressed as hue/saturation","Color of this light in the CIE 1931 color space (x/y)":"Color of this light in the CIE 1931 color space (x/y)","Color temperature after cold power on of this light":"Color temperature after cold power on of this light","Color temperature of this light":"Color temperature of this light","Comfort temperature":"Comfort temperature","Controls the behavior when the device is powered on":"Controls the behavior when the device is powered on","Controls the behaviour when the device is powered on":"Controls the behaviour when the device is powered on","Current temperature measured on the device":"Current temperature measured on the device","Decoupled mode for center button":"Decoupled mode for center button","Decoupled mode for left button":"Decoupled mode for left button","Decoupled mode for right button":"Decoupled mode for right button","Eco temperature":"Eco temperature","Enable/disable auto lock":"Enable/disable auto lock","Enable/disable away mode":"Enable/disable away mode","Enables/disables physical input on the device":"Enables/disables physical input on the device","Enables/disables window detection on the device":"Enables/disables window detection on the device","Enabling prevents both relais being on at the same time":"Enabling prevents both relais being on at the same time","Force the valve position":"Force the valve position","Indicates if CO (carbon monoxide) is detected":"Indicates if CO (carbon monoxide) is detected","Indicates if the battery of this device is almost empty":"Indicates if the battery of this device is almost empty","Indicates if the contact is closed (= true) or open (= false)":"Indicates if the contact is closed (= true) or open (= false)","Indicates whether the device detected a water leak":"Indicates whether the device detected a water leak","Indicates whether the device detected occupancy":"Indicates whether the device detected occupancy","Indicates whether the device detected smoke":"Indicates whether the device detected smoke","Indicates whether the device is tampered":"Indicates whether the device is tampered","Instantaneous measured electrical current":"Instantaneous measured electrical current","Instantaneous measured power":"Instantaneous measured power","Link quality (signal strength)":"Link quality (signal strength)","Maximum temperature":"Maximum temperature","Measured electrical potential value":"Measured electrical potential value","Measured illuminance in lux":"Measured illuminance in lux","Measured relative humidity":"Measured relative humidity","Measured temperature value":"Measured temperature value","Minimum temperature":"Minimum temperature","Mode of this device (similar to system_mode)":"Mode of this device (similar to system_mode)","Mode of this device":"Mode of this device","Motor speed":"Motor speed","Offset to be used in the local_temperature":"Offset to be used in the local_temperature","On/off state of the switch":"On/off state of the switch","On/off state of this light":"On/off state of this light","Position of this cover":"Position of this cover","Position":"Position","Raw measured illuminance":"Raw measured illuminance","Recover state after power outage":"Recover state after power outage","Remaining battery in %":"Remaining battery in %","Side of the cube":"Side of the cube","Sum of consumed energy":"Sum of consumed energy","Temperature setpoint":"Temperature setpoint","The measured atmospheric pressure":"The measured atmospheric pressure","Triggered action (e.g. a button click)":"Triggered action (e.g. a button click)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Triggers an effect on the light (e.g. make light blink for a few seconds)","Voltage of the battery in millivolts":"Voltage of the battery in millivolts","Week format user for schedule":"Week format user for schedule"},"featureNames":{"action":"Action","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","brightness":"Brightness","co2":"CO2","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","availability":"Availability","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","stats":"Stats"},"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","battery":"Battery","block_join":"Block from joining again","cluster":"Cluster","dc_source":"DC Source","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","interview_failed":"Interview failed","interviewing":"Interviewing","last_seen":"Last seen","lqi":"LQI","mains_single_phase":"Mains (single phase)","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","power_level":"power level","reconfigure":"Reconfigure","remove_device":"Remove device","rename_device":"Rename device","select_attribute":"Select attribute","select_cluster":"Select cluster","support_status":"Support status","unsupported":"Unsupported","updating_firmware":"Updating firmware","update_Home_assistant_entity_id":"Update Home Assistant entity ID","zigbee_manufacturer":"Zigbee Manufacturer","zigbee_model":"Zigbee Model","device":"Device","channel":"Channel"},"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"},"stats":{"byType":"By device type","byPowerSource":"By power source","byVendor":"By vendor","byModel":"By model","total":"Total"},"avaliability":{"avaliability":"Avaliability","offline":"Offline","online":"Online","disabled":"Disabled"}}');
|
4936
4997
|
;// CONCATENATED MODULE: ./src/i18n/locales/fr.json
|
4937
4998
|
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","unknown":"Inconnu","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","co2":"Dioxyde 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","device_temperature":"Température Périph","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","motion":"Mouvement","motion_direction":"Direction Mouvement","motion_speed":"Vitesse Mouvement","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","presence":"Présence","preset":"Préréglage","pressure":"Pression","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","action_angle":"Angle d\'action","action_from_side":"Action venant de la face","action_side":"Face active","action_to_side":"Action vers la face","alarm":"Alarme","angle_x":"Angle X","angle_y":"Angle Y","angle_z":"Angle Z","auto_lock":"Verrouillage automatique","brightness":"Luminosité","calibration_time":"Temps de calibration","carbon_monoxide":"Monoxyde de carbone","child_lock":"Verrouillage Enfant","co2":"Dioxyde de carbone","color_hs":"Couleur Hue/Sat","color_temp":"Temp Couleur","color_temp_startup":"Temp Couleur au démarrage","color_xy":"Couleur Xy","consumer_connected":"Consommateur connecté","contact":"Contact","current":"Actuel","humidity":"Humidité","illuminance":"Éclairement","occupancy":"Occupation","on_off_transition_time":"Temps de transition allumé/éteint","options":"Options","pressure":"Pression","soil_moisture":"Humidité Sol","state":"État","temperature":"Température","tamper":"Sabotage","current_heating_setpoint":"Consigne de chauffe actuelle","current_level_startup":"Niveau actuel au démarrage","device_temperature":"Température du périph","energy":"Energie","local_temperature":"Température Locale","level_config":"Configuration du niveau","system_mode":"Mode du Système","local_temperature_calibration":"Calibration Température Locale","motion":"Mouvement","motion_direction":"Direction du mouvement","motion_speed":"Vitesse du mouvement","motor_speed":"Vitesse moteur","moving":"En mouvement","away_mode":"Mode Absence","position":"Position","power":"Puissance","presence":"Présence","preset":"Préréglage","programming_mode":"Mode Programmé","program_weekday":"Programme Jours de semaine","program_saturday":"Programme Samedi","program_sunday":"Programme Dimanche","smoke":"Fumée","smoke_density":"Densité de fumée","state_l1":"Etat L 1","state_l2":"Etat L 2","state_l3":"Etat L 3","state_l4":"Etat L 4","valve_detection":"Détection valve","voltage":"Voltage","water_leak":"Fuite d\'eau","window_detection":"Détection fenêtre","window":"Fenêtre"},"featureDescriptions":{"Auto off after specific time.":"Extinction automatique après un temps défini.","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 clignoter 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)","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Calibration de la valeur d\'humidité (décalage absolu), pris en compte au prochain rapport du périph.","Calibrates the illuminance value (percentual offset), takes into effect on next report of device.":"Calibration de la valeur d\'éclairement (décalage en pourcent), pris en compte au prochain rapport du périph.","Calibrates the illuminance_lux value (percentual offset), takes into effect on next report of device.":"Calibration de la valeur d\'éclairement (lux) (décalage en pourcent), pris en compte au prochain rapport du périph.","Calibrates the pressure value (absolute offset), takes into effect on next report of device.":"Calibration de la pression (décalage absolu), pris en compte au prochain rapport du périph.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Calibration de la température (décalage absolu), pris en compte au prochain rapport du périph.","Calibration time":"Temps de calibration","Color of this light expressed as hue/saturation":"Couleur de cette lumière exprimée en hue/saturation","Color temperature after cold power on of this light":"Température couleur après un allumage à froid de cette lumière","direction of movement from the point of view of the radar":"Direction du mouvement du point de vue du radar","Enabling prevents both relais being on at the same time":"Activer ceci permet d\'éviter que les deux relais soient activés ensemble","Indicates if CO (carbon monoxide) is detected":"Indique si du CO (monoxyde de carbone) est détecté","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","Indicates whether the device detected a water leak":"Indique si le périphérique a détecté une fuite d\'eau","Indicates whether the device detected presence":"Indique si le périphérique a détecté une présence","Indicates whether the device detected smoke":"Indique si le périphérique a détecté de la fumée","Instantaneous measured electrical current":"Mesure instantanée du courant électrique","Instantaneous measured power":"Mesure instantanée de la puissance électrique","Measured electrical potential value":"Valeur de Potentiel électrique mesurée","Motor speed":"Vitesse moteur","moving inside the range of the sensor":"Indique si un mouvement a été détecté dans le rayon du radar.","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Nombre de décimales pour l\'humidité, pris en compte au prochain rapport du périph.","Number of digits after decimal point for illuminance_lux, takes into effect on next report of device.":"Nombre de décimales pour l\'éclairement (lux), pris en compte au prochain rapport du périph.","Number of digits after decimal point for illuminance, takes into effect on next report of device.":"Nombre de décimales pour l\'éclairement, pris en compte au prochain rapport du périph.","Number of digits after decimal point for pressure, takes into effect on next report of device.":"Nombre de décimales pour la pression, pris en compte au prochain rapport du périph.","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Nombre de décimales pour la température, pris en compte au prochain rapport du périph.","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","Position of this cover":"Position du couvercle","presets for sensivity for presence and movement":"préréglage de sensibilité pour la présence et le mouvement","Raw measured illuminance":"Eclairement brut mesuré","Recover state after power outage":"Etat récupéré après coupure de courant","Sends a message the last time occupancy was detected. When setting this for example to [10, 60] a `{\\"no_occupancy_since\\": 10}` will be send after 10 seconds and a `{\\"no_occupancy_since\\": 60}` after 60 seconds.":"Envoi un message la dernière fois qu\'une occupation a été détectée. Si vous configurez par exemple [10, 60] , un `{\\"no_occupancy_since\\": 10}` sera envoyé après 10 secondes et un `{\\"no_occupancy_since\\": 60}` après 60 secondes.","sensitivity of the radar":"sensibilité du radar","Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).":"Mettre à Faux pour désactiver l\'ancienne intégration (fortement recommandé), changera la structure du payload publié (Vrai par défaut).","Side of the cube":"Face du cube","Speed of movement":"Vitesse du mouvement","Sum of consumed energy":"Somme d\'énergie consommée en kW/h","Time in seconds after which occupancy is cleared after detecting it (default 90 seconds).":"Temps en seconde après lequel l\'occupation est à nouveau vide après detection (90 secondes par défaut).","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","ECO mode (energy saving mode)":"Mode éco (mode d\'économie d\'énergie)","Window status closed or open ":"Statut Fenêtre fermée ou ouverte ","MANUAL MODE ☝ - In this mode, the device executes manual temperature setting. When the set temperature is lower than the \\"minimum temperature\\", the valve is closed (forced closed). PROGRAMMING MODE ⏱ - In this mode, the device executes a preset week programming temperature time and temperature. HOLIDAY MODE ⛱ - In this mode, for example, the vacation mode is set for 10 days and the temperature is setto 15 degrees Celsius. After 10 days, the device will automatically switch to programming mode. TEMPORARY MANUAL MODE - In this mode, ☝ icon will flash. At this time, the device executes the manually set temperature and returns to the weekly programming mode in the next time period. ":"MODE PROGRAMMING ⏱ - Dans ce mode, la vanne utilise un horaire prédéfini d\'heures et de température pour la semaine. MODE MANUAL ☝ - Dans ce mode, la vanne utilise le paramètre de température manuelle. Lorsque la température définie est plus basse que la \\"température minimale\\", la vanne est fermée (de manière forcée). MODE TEMPORARY MANUAL - Dans ce mode, l\'icone ☝ clignottera. À ce moment, la vanne utilisera la température définie manuellement et reviendra au mode Programming à la prochaine période de temps. MODE HOLIDAY ⛱ - Dans ce mode, si par exemple le mode vacance est mis pour 10 jours et la température à 15°C. Après 10 jours, la vanne repassera en mode Programming. ","PROGRAMMING MODE ⏱ - In this mode, the device executes a preset week programming temperature time and temperature. ":"MODE PROGRAMMING ⏱ - Dans ce mode, la vanne utilise un horaire prédéfini d\'heures et de température pour la semaine. ","Boost Heating: press and hold \\"+\\" for 3 seconds, the device will enter the boost heating mode, and the ▷╵◁ will flash. The countdown will be displayed in the APP":"Boost Chauffage: appuyez et maintenez \\"+\\" pour 3 secondes, la vanne entrera en mode Boost Chauffage, et l\'icone ▷╵◁ clignottera. Le décompte sera affiché dans l\'app","Countdown in minutes":"Décompte en minutes","Boost Time Setting 100 sec - 900 sec, (default = 300 sec)":"Paramètre du temp de Boost 100 sec - 900 sec, (defaut = 300 sec)"},"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","group_id":"ID Groupe","group_name":"Nom Groupe","group_members":"Membres Groupe","group_scenes":"Scènes 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é","availability":"Disponibilité","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","Clear":"Inactif","closed":"Fermé","Closed":"Fermé","occupied":"Occupé","Occupied":"Occupé","open":"Ouvert","Open":"Ouvert","shake":"Secoué","slide":"Glissé","true":"Vrai","leaking":"Fuite","tampered":"Saboté","supported":"Supporté","not_supported":"Non supporté","null":"Nul","false":"Faux","empty_string":"Chaîne vide (\\"\\")","tap":"Tappé","wakeup":"Réveillé","fall":"Tombé"},"zigbee":{"actions":"Actions","attribute":"Attribut","battery":"Batterie","block_join":"Bloquer tout nouvel appairage","cluster":"Cluster","dc_source":"Source DC","description":"Description","device_type":"Type de Périph","device":"Périphérique","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é","interview_failed":"Echec de l\'Interview","interviewing":"Interview en cours","last_seen":"Vu il y a","lqi":"LQI","mains_single_phase":"Réseau (phase simple)","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","power_level":"Niveau de charge","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é","updating_firmware":"Firmware en cours de MàJ","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","scene_name":"Nom Scène","recall":"Rappeler","select_scene":"Choisir Scène","store":"Stocker","remove":"Supprimer","remove_all":"Supprimer tout","add":"Ajouter"}}');
|
4938
4999
|
;// CONCATENATED MODULE: ./src/i18n/locales/pl.json
|
@@ -4961,6 +5022,8 @@ const ko_namespaceObject = JSON.parse('{"common":{"action":"액션","actions":"
|
|
4961
5022
|
const cs_namespaceObject = JSON.parse('{"common":{"action":"Akce","actions":"Akce","apply":"Použít","attribute":"Atribut","bind":"Svázat","check_all":"Zkontrolovat vše","clear":"Vyčistit","close":"Zavřít","cluster":"Cluster","clusters":"Clustery","confirmation":"Výzva k potvrzení","delete":"Vymazat","destination":"Cíl","devices":"Zařízení","dialog_confirmation_prompt":"Jste si jistý?","disable":"Zakázat","enter_search_criteria":"Zadejte vyhledávací kritéria","groups":"Skupiny","loading":"Načítání...","none":"Žádné","ok":"Ok","read":"Načíst","save":"Uložit","select_device":"Vyberte zařízení","select_endpoint":"Vybrat koncový bod","source_endpoint":"Zdroj koncového bodu","the_only_endpoint":"Jediný koncový bod","unbind":"Rozvázat","write":"Zapsat"},"devicePage":{"about":"Informace","bind":"Svázat","clusters":"Clustery","dev_console":"Vývojářská konzole","exposes":"Detaily","reporting":"Hlašení","settings":"Nastavení","settings_specific":"Nastavení (specifické)","state":"Stav","scene":"Scéna","unknown_device":"Neznámé zařízení"},"exposes":{"action":"Akce","auto_off":"Automatické vypnutí","away_mode":"Režim nepřítomnosti","away_preset_days":"Přednastavené dny pro nepřítomnost","away_preset_temperature":"Přednastavená teplota pro nepřítomnost","backlight_mode":"Režim podsvícení","battery":"Baterie","battery_low":"Vybitá baterie","boost_time":"Doba pro navýšení teploty","brightness":"Jas","calibration":"Kalibrace","carbon_monoxide":"Oxid uhelnatý","color_hs":"Barva (HS)","color_temp":"Teplota barev","color_temp_startup":"Teplota barev při spuštění","color_xy":"Barva (XY)","comfort_temperature":"Komfortní teplota","consumer_connected":"Konzument připojen","consumer_overload":"Přetížení konzumenta","contact":"Kontakt","current":"Aktuální","current_heating_setpoint":"Aktuálně nastavená hodnota","eco_temperature":"Eko teplota","effect":"Efekt","empty_exposes_definition":"Vymazat exponované definice","energy":"Energie","force":"Síla","humidity":"Vlhkost","illuminance":"Osvětlení","illuminance_lux":"Osvětlení","led_disabled_night":"Led v noci vyplá","linkquality":"Kvalita signálu","local_temperature":"Místní teplota","local_temperature_calibration":"Kalibrace místní teploty","max_temperature":"Maximální teplota","min_temperature":"Minimální teplota","motor_reversal":"Zpětný chod motoru","moving":"V pohybu","occupancy":"Obsazenost","operation_mode":"Provozní režim","options":"Možnosti","position":"Pozice","power":"Napájení","power_on_behavior":"Chování při zapnutí","power_outage_memory":"Paměť při výpadku napájení","preset":"Předvolba","pressure":"Tlak","sensivity":"Citlivost","smoke":"Kouř","state":"Stav","strength":"Síla","system_mode":"Režim systému","tamper":"Manipulovat","temperature":"Teplota","voltage":"Napětí","water_leak":"Únik vody","week":"Týden"},"extensions":{"create_new_extension":"Vytvořit nové rozšíření","extension_name_propmt":"Zadejte nový název rozšíření","select_extension_to_edit":"Vyberte rozšíření, které chcete upravit"},"featureDescriptions":{"Auto off after specific time.":"Automatické vypnutí po dané době.","Away mode":"Režim pryč","Away preset days":"Přednastavené dny pro pryč","Away preset temperature":"Přednastavená teplota pro pryč","Boost time":"Doba zvýšení","Brightness of this light":"Jas tohoto světla","Calibration time":"Čas kalibrace","Color of this light expressed as hue/saturation":"Barva tohoto světla vyjádřená jako odstín/sytost","Color of this light in the CIE 1931 color space (x/y)":"Barva tohoto světla v barevném prostoru CIE 1931 (x/y)","Color temperature after cold power on of this light":"Barevná teplota po studeném zapnutí tohoto světla","Color temperature of this light":"Barevná teplota tohoto světla","Comfort temperature":"Komfortní teplota","Controls the behavior when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Controls the behaviour when the device is powered on":"Ovládá chování, když je zařízení zapnuté","Current temperature measured on the device":"Aktuální teplota naměřená na zařízení","Decoupled mode for center button":"Oddělený režim pro střední tlačítko","Decoupled mode for left button":"Oddělený režim pro levé tlačítko","Decoupled mode for right button":"Oddělený režim pro pravé tlačítko","Eco temperature":"Eko teplota","Enable/disable auto lock":"Povolit/zakázat automatický zámek","Enable/disable away mode":"Povolit/zakázat režim nepřítomnosti","Enables/disables physical input on the device":"Povolí/zakáže fyzický vstup do zařízení","Enables/disables window detection on the device":"Povolí/zakáže detekci oken na zařízení","Enabling prevents both relais being on at the same time":"Povolení zabrání zapnutí obou relé současně","Force the valve position":"Vynutit polohu ventilu","Indicates if CO (carbon monoxide) is detected":"Ukazuje, zda je detekován CO (oxid uhelnatý)","Indicates if the battery of this device is almost empty":"Ukazuje, zda je baterie tohoto zařízení téměř vybitá","Indicates if the contact is closed (= true) or open (= false)":"Ukazuje, zda je kontakt sepnutý (= true) nebo otevřený (= false)","Indicates whether the device detected a water leak":"Ukazuje, zda zařízení detekovalo únik vody","Indicates whether the device detected occupancy":"Ukazuje, zda zařízení detekovalo obsazenost","Indicates whether the device detected smoke":"Ukazuje, zda zařízení detekovalo kouř","Indicates whether the device is tampered":"Ukazuje, zda je se zařízením neoprávněně manipulováno","Instantaneous measured electrical current":"Okamžitý naměřený elektrický proud","Instantaneous measured power":"Okamžitý naměřený výkon","Link quality (signal strength)":"Kvalita signálu (síla signálu)","Maximum temperature":"Maximální teplota","Measured electrical potential value":"Naměřená hodnota elektrického potenciálu","Measured illuminance in lux":"Naměřená osvětlenost v luxech","Measured relative humidity":"Naměřená relativní vlhkost","Measured temperature value":"Hodnota naměřené teploty","Minimum temperature":"Minimální teplota","Mode of this device (similar to system_mode)":"Režim tohoto zařízení (podobný system_mode)","Mode of this device":"Režim tohoto zařízení","Motor speed":"Rychlost motoru","Offset to be used in the local_temperature":"Offset, který má být použit v local_temperature","On/off state of the switch":"Stav spínače zapnuto/vypnuto","On/off state of this light":"Stav zapnuto/vypnuto tohoto světla","Position of this cover":"Pozice tohoto krytu","Position":"Pozice","Raw measured illuminance":"RAW naměřená osvětlenost","Recover state after power outage":"Obnovení stavu po výpadku napájení","Remaining battery in %":"Zbývající baterie v %","Side of the cube":"Strana krychle","Sum of consumed energy":"Součet spotřebované energie","Temperature setpoint":"Nastavená hodnota teploty","The measured atmospheric pressure":"Naměřený atmosférický tlak","Triggered action (e.g. a button click)":"Spuštěná akce (např. kliknutí na tlačítko)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Spustí efekt na světlo (např. nechá světlo na několik sekund blikat)","Voltage of the battery in millivolts":"Napětí baterie v milivoltech","Week format user for schedule":"Formát kalendářního týdne","Number of digits after decimal point for temperature, takes into effect on next report of device.":"Počet číslic za desetinnou čárkou pro teplotu, platí při dalším hlášení zařízení.","Calibrates the temperature value (absolute offset), takes into effect on next report of device.":"Kalibruje hodnotu teploty (absolutní odchylka), projeví se při dalším hlášení zařízení.","Number of digits after decimal point for humidity, takes into effect on next report of device.":"Počet číslic za desetinnou čárkou pro vlhkost, platí při dalším hlášení zařízení.","Calibrates the humidity value (absolute offset), takes into effect on next report of device.":"Kalibruje hodnotu vlhkosti (absolutní odchylka), projeví se při dalším hlášení zařízení.","Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).":"Ovládá dobu přechodu (v sekundách) změn zapnutí/vypnutí, jasu, teploty barev (pokud je to možné) a barvy (pokud je to možné). Výchozí hodnota je „0“ (bez přechodu)."},"featureNames":{"action":"Akce","angle_x":"Úhel X","angle_y":"Úhel Y","angle_z":"Úhel Z","brightness":"Jas","co2":"CO2","color_temp":"Teplota barev","color_xy":"Barva Xy","contact":"Kontakt","humidity":"Vlhkost","illuminance":"Osvětlení","occupancy":"Obsazenost","pressure":"Tlak","soil_moisture":"Vlhkost půdy","state":"Stav","temperature":"Teplota","tamper":"Manipulovat","child_lock":"Dětský zámek","window_detection":"Detekce otevřeného okna","valve_detection":"Detekce hlavice","local_temperature":"Místní teplota","auto_lock":"Automatický zámek","away_mode":"Režim pryč","programming_mode":"Programovací režim","week":"Týden","workdays_schedule":"Týdenní kalendář","holidays_schedule":"Prázdninový kalendář"},"groups":{"add_to_group":"Přidat do skupiny","create_group":"Vytvořit skupinu","new_group_id":"ID nové skupiny","new_group_id_placeholder":"V případě potřeby zadejte ID skupiny","new_group_name":"Nový název skupiny","new_group_name_placeholder":"příklad: my_bedroom_lights","remove_group":"Odebrat skupinu","group_id":"ID skupiny","group_name":"Název skupiny","group_members":"Členové skupiny","group_scenes":"Skupinové scény"},"logs":{"empty_logs_message":"Nic k zobrazení","filter_by_text":"Filtrovat podle textu","show_only":"Filtrovat podle typu"},"map":{"help_coordinator_link_description":"Plné čáry jsou spojením s koordinátorem","help_end_device_description":"Zelená znamená koncové zařízení","help_is_coordinator":"je koordinátor","help_lqi_description":"Kvalita spojení je mezi 0 - 255 (vyšší je lepší), hodnota s / představuje více typů spojení","help_router_description":"Modrá znamená směrovač","help_router_links_description":"Přerušované čáry jsou spojením se směrovačem","hide":"Kliknutím na mě skryješ","load":"Načíst mapu","loading":"V závislosti na velikosti vaší sítě může načtení trvat 10 sekund až 2 minuty."},"navbar":{"all":"Vše","dashboard":"Přehled","devices":"Zařízení","disable_join":"Zakázat připojení","extensions":"Rozšíření","groups":"Skupiny","logs":"Logy","map":"Mapa","ota":"OTA","permit_join":"Povolit připojení","restart":"Restartovat","settings":"Nastavení","toggle_dropdown":"Přepnout rozbalovací nabídku","touchlink":"Touchlink"},"ota":{"check":"Kontrola nových aktualizací","check_all":"Zkontrolovat vše","empty_ota_message":"Nemáte žádná zařízení, která podporují OTA","remaining_time":"Zbývající čas {{- remaining}}","update":"Aktualizovat firmware zařízení"},"settings":{"about":"O mě","advanced":"Pokročilé","availability":"Dostupnost","blocklist":"Seznam blokovaných","coordinator_revision":"Revize koordinátora","coordinator_type":"Typ koordinátora","donate":"Příspěvek","donation_text":["Dobrý den, %username%, zde nám můžete poděkovat za tvrdou práci","Neváhej a řekni taky něco hezkého ;)"],"download_state":"Stáhnout konfiguraci","experimental":"Experimentální","external_converters":"Externí převodníky","frontend":"Frontend","frontend_version":"Verze frontendu","main":"Hlavní","mqtt":"MQTT","ota":"Aktualizace OTA","passlist":"Přístupová práva","raw":"Raw","restart_zigbee2mqtt":"Restartovat Zigbee2MQTT","serial":"Sériový","settings":"Nastavení","tools":"Nástroje","zigbee2mqtt_version":"Verze Zigbee2MQTT","translate":"Přeložit","stats":"statistiky"},"settingsSchemaTranslations":{"advanced-title":"Advanced","advanced_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","advanced_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","advanced_availability_blocklist__title":"Blacklist dostupnosti","advanced_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","advanced_availability_passlist__title":"Passlist dostupnosti","advanced_availability_whitelist__title":"Whitelist dostupnosti (zastaralá, použijte Passlist)","advanced_ext_pan_id__description":"Zigbee Extended Pan ID, změna vyžaduje opravu všech zařízení!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","advanced_log_output__title":"Výstup logu","advanced_log_syslog-title":"syslog","blocklist__description":"Blokovat zařízení ze sítě (pomocí ieeeAddr)","blocklist__title":"Blocklist","experimental-title":"Experimentální","external_converters__description":"Můžete definovat externí převodníky, např. přidat podporu pro DIY zařízení","external_converters__title":"Externí převodníky","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"Aktualizace OTA","passlist__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupů, budou ze sítě odstraněna!","passlist__title":"Passlist","root__description":"Povolit připojení k síti pouze určitým zařízením (pomocí ieeeAddr). Pamatujte, že všechna zařízení, která nejsou na seznamu přístupových práv, budou ze sítě odstraněna!","root_availability_blacklist__title":"Blacklist dostupnosti (zastaralé, použijte availability_blocklist)","root_availability_blocklist__description":"Zabránit kontrole dostupnosti zařízení","root_availability_blocklist__title":"Blacklist dostupnosti","root_availability_passlist__description":"Povolit kontrolu dostupnosti pouze pro určitá zařízení","root_availability_passlist__title":"Passlist dostupnosti","root_availability_whitelist__title":"Povolená listina dostupnosti (zastaralé, použijte passlist)","root_debounce_ignore__description":"Chrání jedinečné hodnoty vlastností užitečného zatížení před přepsáním během doby odskoku","root_debounce_ignore__title":"Ignorovat odskok","root_ext_pan_id__description":"Zigbee extended pan ID, změna vyžaduje opravu všech zařízení!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Povolit zabránění zveřejnění určitých atributů ","root_filtered_attributes__title":"Filtrované atributy","root_filtered_optimistic__description":"Filtrujte atributy z optimistického publikování dat při dotazu /set (Toto nemá žádný vliv, pokud je optimistické nastaveno na false).","root_filtered_optimistic__title":"Filtrované optimistické atributy","root_log_output__description":"Výstupní umístění logu, ponechte prázdné pro potlačení logování","root_log_output__title":"Výstup logu","root_log_syslog-title":"syslog","serial-title":"Sériový"},"stats":{"EndDevice":"Koncové zařízení","Router":"Router","byType":"dle typu","byPowerSource":"dle zdroje napájení","byVendor":"dle výrobce","byModel":"dle modelu","total":"celkové"},"touchlink":{"detected_devices_message":"Zjištěno {{count}} zařízení touchlink.","rescan":"Hledat znova","scan":"Hledat"},"values":{"clear":"Vymazat","closed":"Zavřeno","false":"Ne","not_supported":"Není podporováno","occupied":"Obsazený","open":"Otevřeno","supported":"Podporováno","true":"Ano","empty_string":"Prázdný řetězec(\\"\\")","leaking":"Netěsnost","tampered":"Manipulováno"},"zigbee":{"actions":"Akce","attribute":"Atribut","battery":"Baterie","block_join":"Zablokovat opětovné připojení","cluster":"Cluster","dc_source":"DC zdroj","description":"Popis","device_type":"Typ zařízení","endpoint":"Koncový bod","firmware_build_date":"Datum sestavení firmwaru","firmware_version":"Verze firmwaru","force_remove":"Vynutit odstranění","friendly_name":"Název","ieee_address":"IEEE adresa","input_clusters":"Vstupní clustery","interview_completed":"Párování dokončeno","interview_failed":"Párování selhalo","interviewing":"Párování","last_seen":"Naposledy viděno","lqi":"LQI","mains_single_phase":"Síť (jednofázová)","manufacturer":"Výrobce","max_rep_interval":"Max interval odezvy","min_rep_change":"Min změna odezvy","min_rep_interval":"Min interval odezvy","model":"Model","network_address":"Síťová adresa","none":"Žádný","output_clusters":"Výstupní clustery","pic":"Obr.","power":"Napájení","power_level":"úroveň napájení","reconfigure":"Přenastavit","remove_device":"Odebrat zařízení","rename_device":"Přejmenovat zařízení","select_attribute":"Vybrat atribut","select_cluster":"Vybrat cluster","support_status":"Stav podpory","unsupported":"Nepodporováno","updating_firmware":"Aktualizace firmwaru","update_Home_assistant_entity_id":"Aktualizovat ID entity v Home Assistant","zigbee_manufacturer":"Výrobce Zigbee","zigbee_model":"Model Zigbee","device":"Zařízení"},"scene":{"scene_id":"ID scény","recall":"Odvolání","store":"Obchod","remove":"Odstranit","remove_all":"Odstranit vše","add":"Přidat","select_scene":"Vybrat scénu","scene_name":"Název scény"}}');
|
4962
5023
|
;// CONCATENATED MODULE: ./src/i18n/locales/fi.json
|
4963
5024
|
const locales_fi_namespaceObject = JSON.parse('{"common":{"action":"Toiminto","actions":"Toiminnot","apply":"Aseta","attribute":"Attribuutti","bind":"Sido","check_all":"Tarkista kaikki","clear":"Pyyhi","close":"Sulje","cluster":"Rypäs","clusters":"Ryppäät","confirmation":"Vahvistuskehote","delete":"Poista","destination":"Kohde","devices":"Laitteet","dialog_confirmation_prompt":"Oletko varma?","disable":"Poista käytöstä","enter_search_criteria":"Anna hakukriteeri","groups":"Ryhmät","loading":"Ladataan...","none":"Ei mitään","ok":"Ok","read":"Lue","save":"Tallenna","select_device":"Valitse laite","select_endpoint":"Valitse päätepiste","source_endpoint":"Lähdepäätepiste","the_only_endpoint":"Ainoa päätepiste","unbind":"Vapauta sidos","write":"Kirjoita"},"devicePage":{"about":"Tietoja","bind":"Sido","clusters":"Ryppäät","dev_console":"Kehityskonsoli","exposes":"Paljastaa","reporting":"Raportti","settings":"Asetukset","settings_specific":"Asetukset (erityiset)","state":"Tila","scene":"Näkymä","unknown_device":"Tuntematon laite"},"exposes":{"action":"Toiminto","auto_off":"Autom. pois","away_mode":"Poissa -tila","away_preset_days":"Poissa: päivät","away_preset_temperature":"Poissa: lämpötila","backlight_mode":"Taustavalotila","battery":"Paristo","battery_low":"Paristo vähissä","boost_time":"Tehostusaika","brightness":"Kirkkaus","calibration":"Kalibrointi","carbon_monoxide":"Hiilimonoksidi","color_hs":"Väri (HS)","color_temp":"Värilämpötila","color_temp_startup":"Värilämpötila alussa","color_xy":"Väri (XY)","comfort_temperature":"Mukavuuslämpötila","consumer_connected":"Kulutus kytketty","consumer_overload":"Kulutuksen ylikuorma","contact":"Kontakti","current":"Virta","current_heating_setpoint":"Nykyinen lämmityksen asetus","eco_temperature":"Säästölämpötila","effect":"Teho","empty_exposes_definition":"Exposes-määrittely on tyhjä","energy":"Energia","force":"Voima","humidity":"Kosteus","illuminance":"Valoisuus","illuminance_lux":"Valoisuus","led_disabled_night":"Led disabled night","linkquality":"Yhteyden laatu","local_temperature":"Paikallinen lämpötila","local_temperature_calibration":"Paikallisen lämpötilan kalibrointi","max_temperature":"Max lämpötila","min_temperature":"Min lämpötila","motor_reversal":"Moottorin peruutus","moving":"Liikkuu","occupancy":"Varattu","operation_mode":"Toimintomoodi","options":"Valinnat","position":"Paikka","power":"Virta","power_on_behavior":"Toiminta virtakatkon jälkeen","power_outage_memory":"Virtakatkomuisti","preset":"Esiasetus","pressure":"Ilmanpaine","sensivity":"Herkkyys","smoke":"Savu","state":"Tila","strength":"Voimakkuus","system_mode":"Järjestelmätila","tamper":"Peukalointi","temperature":"Lämpötila","voltage":"Jännite","water_leak":"Vesivuoto","week":"Viikko"},"extensions":{"create_new_extension":"Luo uusi laajennus","extension_name_propmt":"Anna laajennuksen nimi","select_extension_to_edit":"Valitse muokattava laajennus"},"featureDescriptions":{"Auto off after specific time.":"Autom. pois tietyn ajan jälkeen.","Away mode":"Poissa-tila","Away preset days":"Poissa: asetetut päivät","Away preset temperature":"Poissa: asetettu lämpötila","Boost time":"Tehostusaika","Brightness of this light":"Tämän valon kirkkaus","Calibration time":"Kalibrointiaika","Color of this light expressed as hue/saturation":"Tämän valon väri ilmaistuna sävy/kylläisyys","Color of this light in the CIE 1931 color space (x/y)":"Tämän valon väri CIE 1931 väritilassa (x/y)","Color temperature after cold power on of this light":"Tämän valon värilämpötila kylmäkäynnistyksen jälkeen","Color temperature of this light":"Tämän valon värilämpötila","Comfort temperature":"Mukavuuslämpötila","Controls the behavior when the device is powered on":"Ohjaa käyttäytymistä, kun laite on käynnistetty","Controls the behaviour when the device is powered on":"Ohjaa käyttäytymistä, kun laite on käynnistetty","Current temperature measured on the device":"Nykyinen laitteelta mitattu lämpötila","Decoupled mode for center button":"Irroitustila keskipainikkeelle mode for center button","Decoupled mode for left button":"Irroitustila vasemmalle painikkeelle","Decoupled mode for right button":"Irroitustila oikealle painikkeelle","Eco temperature":"Säästölämpötila","Enable/disable auto lock":"Salli/estä autom. lukitus","Enable/disable away mode":"Salli/estä poissa-tila","Enables/disables physical input on the device":"Sallii/estää laitteen fyysisen liitännän","Enables/disables window detection on the device":"Sallii/estää ikkunan havainnoinnin laitteella","Enabling prevents both relais being on at the same time":"Salliminen estää molempien releiden samanaikaisen päälläolon","Force the valve position":"Pakota venttiilin asento","Indicates if CO (carbon monoxide) is detected":"Osoittaa CO:n (hiilimonoksidin) havaitsemisen","Indicates if the battery of this device is almost empty":"Osoittaa, että paristo on vähissä","Indicates if the contact is closed (= true) or open (= false)":"Osoittaa, että kontaksti on suljettu (= true) tai avoin (= false)","Indicates whether the device detected a water leak":"Osoittaa laitteen havainneen vesivuodon","Indicates whether the device detected occupancy":"Osoittaa laitteen havainneen paikallaolon","Indicates whether the device detected smoke":"Osoittaa laitteen havainneen savua","Indicates whether the device is tampered":"Osoittaa laitteen peukaloinnin","Instantaneous measured electrical current":"Hetkellisesti mitattu sähkövirta","Instantaneous measured power":"Hetkellisesti mitattu teho","Link quality (signal strength)":"Linkin laatu (signaalivoimakkuus)","Maximum temperature":"Maksimilämpötila","Measured electrical potential value":"Mitattu jännitearvo","Measured illuminance in lux":"Mitattu valoisuus lukseina","Measured relative humidity":"Mitattu suhteellinen kosteus","Measured temperature value":"Mitattu lämpötila","Minimum temperature":"Minimilämpötila","Mode of this device (similar to system_mode)":"Tämän laitteen tila (kuten system_mode)","Mode of this device":"Tämän laitteen tila","Motor speed":"Moottorin nopeus","Offset to be used in the local_temperature":"Poikkeama, jota käytetään local_temperature:n yhteydessä","On/off state of the switch":"Kytkimem päällä/pois tila","On/off state of this light":"Tämän valon päällä/pois tila","Position of this cover":"Tämän peitteen asento","Position":"Asento","Raw measured illuminance":"Valoisuuden raaka-arvo","Recover state after power outage":"Toipumistila virtakatkon jälkeen","Remaining battery in %":"Pariston tila prosentteina","Side of the cube":"Kuution taho","Sum of consumed energy":"Kulutettu kokonaisenergia","Temperature setpoint":"Lämpötila-asetus","The measured atmospheric pressure":"Mitattu ilmanpaine","Triggered action (e.g. a button click)":"Liipaistu toiminto (esim. näppäinpainallus)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Liipaisee valoefektint (esim. laita valo vilkkumaan muutamaksi sekunniksi)","Voltage of the battery in millivolts":"Pariston jännite millivoltteina","Week format user for schedule":"Aikataulussa käytettävä viikkomuoto"},"featureNames":{"action":"Toiminta","angle_x":"Kulma X","angle_y":"Kulma Y","angle_z":"Kulma Z","brightness":"Kirkkaus","co2":"CO2","color_temp":"Värilämpötila","color_xy":"Väri Xy","contact":"Kontakti","humidity":"Kosteus","illuminance":"Valoisuus","occupancy":"Paikallaolo","pressure":"Ilmanpaine","soil_moisture":"Maaperän kosteus","state":"Tila","temperature":"Lämpötila","tamper":"Peukalointi"},"groups":{"add_to_group":"Lisää ryhmään","create_group":"Luo ryhmä","new_group_id":"Uuden ryhmän tunnus","new_group_id_placeholder":"Valitse ryhmätunnus, jos tarpeen","new_group_name":"Uuden ryhmän nimi","new_group_name_placeholder":"esimerkki: makkarin valot","remove_group":"Poista ryhmä","group_id":"Ryhmän ID","group_name":"Ryhmän nimi","group_members":"Ryhmän jäsenet","group_scenes":"Ryhmän näkymät"},"logs":{"empty_logs_message":"Ei näytettävää","filter_by_text":"Suodata tekstillä","show_only":"Näytä ainoastaan"},"map":{"help_coordinator_link_description":"Yhtenäiset viivat ovat linkki koordinaattoriin","help_end_device_description":"Vihreä tarkoittaa loppupään laitetta","help_is_coordinator":"on koordinaattori","help_lqi_description":"Yhteyden laatu 0 - 255 (suurempi on parempi), arvoi, joissa / edustavat useita yhteystyyppejä","help_router_description":"Sininen tarkoitaa reititintä","help_router_links_description":"Katkoviivat ovat yhteyksiä reitittimeen","hide":"Napsauta piilottaaksesi","load":"Lataa kartta","loading":"Riippuen verkon koosta tämä voi kestää 10 sekuntia tai jopa 2 minuuttia."},"navbar":{"all":"Kaikki","dashboard":"Kojelauta","devices":"Laitteet","disable_join":"Estä liitokset","extensions":"Laajennukset","groups":"Ryhmät","logs":"Lokit","map":"Kartta","ota":"OTA","permit_join":"Salli liitokset","restart":"Käynnistä uudelleen","settings":"Asetukset","toggle_dropdown":"Toggle dropdown","touchlink":"Touchlink"},"ota":{"check":"Tarkista päivitykset","check_all":"Tarkista kaikki","empty_ota_message":"Sinulla ei ole OTAa tukevia laitteita","remaining_time":"Aikaa jäljellä {{- jäljellä}}","update":"Päivitä laitteen firmis"},"settings":{"about":"Tietoja","advanced":"Edistyneet as.","blocklist":"Estolista","coordinator_revision":"Koordinaattorin revisio","coordinator_type":"Koordinaattorin tyyppi","donate":"Lahjoita","donation_text":["Moi, %username%, täällä voi kiittää meitä kovasta työstä","Älä epäröi sanoa myös jotain mukavaa ;)"],"download_state":"Latauksen tila","experimental":"Kokeellista","external_converters":"Ulkoiset muuntimet","frontend":"Etupää","frontend_version":"Etupään versio","main":"Päämenu","mqtt":"MQTT","ota":"OTA-päivitykset","passlist":"Pääsylista","raw":"Raaka","restart_zigbee2mqtt":"Käynnistä Zigbee2MQTT uudelleen","serial":"Sarjanumero","settings":"Asetukset","tools":"Työkalut","zigbee2mqtt_version":"Zigbee2MQTT:n versio","translate":"Käännä","stats":"Tilastot"},"settingsSchemaTranslations":{"advanced-title":"Kehittyneet as.","advanced_availability_blacklist__title":"Saavutettavuuden musta lista (vanhentunut, käytä saavutettavuuden estolistaa)","advanced_availability_blocklist__description":"Estä laitteiden saatavuuden tarkistus","advanced_availability_blocklist__title":"Saavutettavuuden estolista","advanced_availability_passlist__description":"Salli vain tiettyjen laitteiden saavutettavuuden tarkistus","advanced_availability_passlist__title":"Saavutettavuuden pääsylista","advanced_availability_whitelist__title":"Saavutettavuuden valkea lista (vanhentunut, käytä pääsylistaa)","advanced_ext_pan_id__description":"Zigbeen laajennettu pan ID, vaihtaminen vaatii kaikkien laitteiden uudelleenparituksen!","advanced_ext_pan_id__title":"Laajennettu Pan ID","advanced_log_output__description":"Lokin paikka, jätä tyhjäksi estääksesi lokituksen","advanced_log_output__title":"Loki","advanced_log_syslog-title":"syslog","blocklist__description":"Estä laitteet verkosta ( ieee-osoitteella)","blocklist__title":"Estolista","experimental-title":"Kokeellista","external_converters__description":"Voit määrittää ulkoisen muuntimen esim. omatekoisen laitteen tukemiseksi","external_converters__title":"Ulkoiset muuntimet","frontend-title":"Etupää","mqtt-title":"MQTT","ota-title":"OTA-päivitykset","passlist__description":"Salli tiettyjen laitteiden liittyminen verkkoon (ieee-osoitteella). Huomaa, että laitteet, jotka eiväi ole pääsylistalla, poistetaan verkosta!","passlist__title":"Pääsylista","root__description":"Salli tiettyjen laitteiden liittyminen verkkoon (ieee-osoitteella). Huomaa, että laitteet, jotka eiväi ole pääsylistalla, poistetaan verkosta!","root_availability_blacklist__title":"Saavutettavuuden musta lista (vanhentunut, käytä saavutettavuuden estolistaa)","root_availability_blocklist__description":"Estä laitteiden saatavuuden tarkistus","root_availability_blocklist__title":"Saavutettavuuden estolista","root_availability_passlist__description":"Salli vain tiettyjen laitteiden saavutettavuuden tarkistus","root_availability_passlist__title":"Saavutettavuuden pääsylista","root_availability_whitelist__title":"Saavutettavuuden valkea lista (vanhentunut, käytä pääsylistaa)","root_debounce_ignore__description":"Suojaa määriteltyjen payload-ominaisuuksen uniikkeja arvoja muutoksilta palautumisajan sisällä","root_debounce_ignore__title":"Jätä palautumisaika huomiotta","root_ext_pan_id__description":"Zigbeen laajennettu pan ID, vaihtaminen vaatii kaikkien laitteiden uudelleenparituksen!","root_ext_pan_id__title":"Laajennettu Pan ID","root_filtered_attributes__description":"Sallii tiettyjen attribuuttien julkaisemisen eston","root_filtered_attributes__title":"Suodatetut attribuutit","root_filtered_optimistic__description":"Suodata attribuutit optimistisesta julkaisu-hyötykuormasta, kun kutsutaan /set. (Tällä ei ole vaikutusta jos optimistic on asetettu tilaan false).","root_filtered_optimistic__title":"Suodatetut optimistiset attribuutit","root_log_output__description":"Lokin paikka, jätä tyhjäksi estääksesi lokituksen","root_log_output__title":"Loki","root_log_syslog-title":"syslog","serial-title":"Sarjanumero"},"touchlink":{"detected_devices_message":"Havaittu {{count}} touchlink-laitetta.","rescan":"Hae uudelleen","scan":"Hae"},"values":{"clear":"Pyyhi","closed":"Suljettu","false":"Epätosi","not_supported":"Ei tuettu","occupied":"Varattu","open":"Avoin","supported":"Tuettu","true":"Tosi","empty_string":"Tyhjä merkkkijono(\\"\\")","leaking":"Vuoto","tampered":"Peukaloitu"},"zigbee":{"actions":"Toiminnot","attribute":"Attribuutti","battery":"Paristo","block_join":"Estä uudelleenliittyminen","cluster":"Rypäs","dc_source":"DC lähde","description":"Kuvaus","device_type":"Laitetyyppi","endpoint":"Päätepiste","firmware_build_date":"Firmiksen päiväys","firmware_version":"Firmiksen versio","force_remove":"Pakota poisto","friendly_name":"Lempinimi","ieee_address":"IEEE-osoite","input_clusters":"Tuloryhmät","interview_completed":"Haastattelu päättynyt","interview_failed":"Haastattelu epäonnistui","interviewing":"Haastatellaan","last_seen":"Nähty viimeksi","lqi":"LQI","mains_single_phase":"Verkkovirta (yksivaiheinen)","manufacturer":"Valmistaja","max_rep_interval":"Maksimi raportointiväli","min_rep_change":"Min. raportoitava muutos","min_rep_interval":"Minimi raportointiväli","model":"Malli","network_address":"Verkko-osoite","none":"Ei mitään","output_clusters":"Lähtöryhmät","pic":"Kuva","power":"Virransyöttö","power_level":"tehotaso","reconfigure":"Konfiguroi uudelleen","remove_device":"Poista laite","rename_device":"Nimeä laite uudelleen","select_attribute":"Valitse attribuutti","select_cluster":"Valitse rypäs","support_status":"Tuen tila","unsupported":"Ei tuettu","updating_firmware":"Firmistä päivitetään","update_Home_assistant_entity_id":"Päivitä Home Assistant entity ID","zigbee_manufacturer":"Zigbee Valmistaja","zigbee_model":"Zigbee Malli","device":"Laite","channel":"Kanava"},"scene":{"scene_id":"Näkymän ID","recall":"Hae","store":"Talleta","remove":"Poista","remove_all":"Poista kaikki","add":"Lisää","select_scene":"Valitse näkymä","scene_name":"Näkymän nimi"},"stats":{"byType":"Laitetyypin mukaan","byPowerSource":"Virtalähteen mukaan","byVendor":"Toimittajan mukaan","byModel":"Mallin mukaan","total":"Yhteensä"}}');
|
5025
|
+
;// CONCATENATED MODULE: ./src/i18n/locales/sv.json
|
5026
|
+
const locales_sv_namespaceObject = JSON.parse('{"common":{"action":"Handling","actions":"Handlingar","apply":"Tillämpa","attribute":"Attribut","bind":"Bind","check_all":"Kontrollera alla","clear":"Rensa","close":"Stäng","cluster":"Kluster","clusters":"Kluster","confirmation":"Bekräftelseprompt","delete":"Radera","destination":"Destination","devices":"Enheter","dialog_confirmation_prompt":"Är du säker?","disable":"Inaktivera","enter_search_criteria":"Ange sökkriterier","groups":"Grupper","loading":"Laddar...","none":"Ingen","ok":"OK","read":"Läs","save":"Spara","select_device":"Välj enhet","select_endpoint":"Välj slutpunkt","source_endpoint":"Källslutpunkt","the_only_endpoint":"Den enda slutpunkten","unbind":"Avbinda","write":"Skriv"},"devicePage":{"about":"Om","bind":"Bind","clusters":"Kluster","dev_console":"Utvecklarkonsol","exposes":"Exponerar","reporting":"Rapportering","settings":"Inställningar","settings_specific":"Inställningar (specifika)","state":"Läge","scene":"Scen","unknown_device":"Okänd enhet"},"exposes":{"action":"Handling","auto_off":"Automatisk avstängning","away_mode":"Borta läge","away_preset_days":"Borta förinställda dagar","away_preset_temperature":"Borta förinställd temperatur","backlight_mode":"Bakgrundsbelysningsläge","battery":"Batteri","battery_low":"Batteri låg","boost_time":"Boost tid","brightness":"Ljusstyrka","calibration":"Kalibrering","carbon_monoxide":"Kolmonoxid","color_hs":"Färg (HS)","color_temp":"Färgtemperatur","color_temp_startup":"Startfärgstemperatur","color_xy":"Färg (XY)","comfort_temperature":"Komforttemperatur","consumer_connected":"Konsumentansluten","consumer_overload":"Konsumentöverbelastning","contact":"Kontakt","current":"Aktuell","current_heating_setpoint":"Aktuellt värmebörvärde","eco_temperature":"Ekotemperatur","effect":"Effekt","empty_exposes_definition":"Töm exponerar definition","energy":"Energi","force":"Tvinga","humidity":"Fuktighet","illuminance":"Ljusstyrka","illuminance_lux":"Ljusstyrka","led_disabled_night":"LED inaktiverad natt","linkquality":"Länkkvalitet","local_temperature":"Lokal temperatur","local_temperature_calibration":"Lokal temperaturkalibrering","max_temperature":"Max temperatur","min_temperature":"Min temperatur","motor_reversal":"Motorvändning","moving":"Flyttas","occupancy":"Beläggning","operation_mode":"Driftläge","options":"Alternativ","position":"Position","power":"Ström","power_on_behavior":"Ström på beteende","power_outage_memory":"Strömavbrottsminne","preset":"Förinställning","pressure":"Tryck","sensivity":"Känslighet","smoke":"Rök","state":"Läge","strength":"Styrka","system_mode":"Systemläge","tamper":"Manipulera","temperature":"Temperatur","voltage":"Spänning","water_leak":"Vattenläcka","week":"Vecka"},"extensions":{"create_new_extension":"Skapa nytt tillägg","extension_name_propmt":"Ange nytt tilläggsnamn","select_extension_to_edit":"SVälj tillägg att redigera"},"featureDescriptions":{"Auto off after specific time.":"Automatisk avstängning efter viss tid.","Away mode":"Borta läge","Away preset days":"Borta förinställda dagar","Away preset temperature":"Borta förinställd temperatur","Boost time":"Boost tid","Brightness of this light":"Ljusstyrkan av detta ljus","Calibration time":"Kalibreringstid","Color of this light expressed as hue/saturation":"Färgen på detta ljus uttryckt som nyans/mättnad","Color of this light in the CIE 1931 color space (x/y)":"Färgen på detta ljus i CIE 1931 färgrymden (x/y)","Color temperature after cold power on of this light":"Färgtemperatur efter kalltändning av denna lampa","Color temperature of this light":"Färgtemperaturen för detta ljus","Comfort temperature":"Komforttemperatur","Controls the behavior when the device is powered on":"Styr beteendet när enheten slås på","Controls the behaviour when the device is powered on":"Styr beteendet när enheten slås på","Current temperature measured on the device":"Aktuell temperatur uppmätt på enheten","Decoupled mode for center button":"Frånkopplat läge för mittknapp","Decoupled mode for left button":"Frånkopplat läge för vänster knapp","Decoupled mode for right button":"Frånkopplat läge för höger knapp","Eco temperature":"Ekotemperatur","Enable/disable auto lock":"Aktivera/inaktivera autolås","Enable/disable away mode":"Aktivera/avaktivera bortaläge","Enables/disables physical input on the device":"Aktiverar/inaktiverar fysisk inmatning på enheten","Enables/disables window detection on the device":"Aktiverar/inaktiverar fönsterdetektering på enheten","Enabling prevents both relais being on at the same time":"Aktivering förhindrar att båda reläerna är på samtidigt","Force the valve position":"Tvinga ventilens läge","Indicates if CO (carbon monoxide) is detected":"Indikerar om CO (kolmonoxid) detekteras","Indicates if the battery of this device is almost empty":"Indikerar om enhetens batteri nästan är tomt","Indicates if the contact is closed (= true) or open (= false)":"Indikerar om kontakten är sluten (= sant) eller öppen (= falskt)","Indicates whether the device detected a water leak":"Indikerar om enheten har upptäckt en vattenläcka","Indicates whether the device detected occupancy":"Indikerar om enheten har upptäckt beläggning","Indicates whether the device detected smoke":"Indikerar om enheten upptäckt rök","Indicates whether the device is tampered":"Indikerar om enheten har manipulerats","Instantaneous measured electrical current":"Momentan uppmätt elektrisk ström","Instantaneous measured power":"Momentan uppmätt effekt","Link quality (signal strength)":"Länkkvalitet (signalstyrka)","Maximum temperature":"Maximal temperatur","Measured electrical potential value":"Uppmätt elektrisk potentialvärde","Measured illuminance in lux":"Uppmätt belysningsstyrka i lux","Measured relative humidity":"Uppmätt relativ luftfuktighet","Measured temperature value":"Uppmätt temperaturvärde","Minimum temperature":"Lägsta temperatur","Mode of this device (similar to system_mode)":"Läge för denna enhet (liknande system_mode)","Mode of this device":"Läge för denna enhet","Motor speed":"Motorhastighet","Offset to be used in the local_temperature":"Offset som ska användas i local_temperature","On/off state of the switch":"På/av-läge för omkopplaren","On/off state of this light":"På/av-läge för denna lampa","Position of this cover":"Placering av detta lock","Position":"Position","Raw measured illuminance":"Rå uppmätt belysningsstyrka","Recover state after power outage":"Återställ tillstånd efter strömavbrott","Remaining battery in %":"Återstående batteri i %","Side of the cube":"Sidan av kuben","Sum of consumed energy":"Summan av förbrukad energi","Temperature setpoint":"Temperaturbörvärde","The measured atmospheric pressure":"Det uppmätta atmosfärstrycket","Triggered action (e.g. a button click)":"Utlöst åtgärd (t.ex. ett knappklick)","Triggers an effect on the light (e.g. make light blink for a few seconds)":"Utlöser en effekt på ljuset (t.ex. få ljuset att blinka i några sekunder)","Voltage of the battery in millivolts":"Batteriets spänning i millivolt","Week format user for schedule":"Veckoformat användare för schema"},"featureNames":{"action":"Handling","angle_x":"Vinkel X","angle_y":"Vinkel Y","angle_z":"Vinkel Z","brightness":"Ljusstyrka","co2":"CO2","color_temp":"Färgtemp","color_xy":"Färg Xy","contact":"Kontakt","humidity":"Fuktighet","illuminance":"Belysningsstyrka","occupancy":"Beläggning","pressure":"Tryck","soil_moisture":"Markfuktighet","state":"Läge","temperature":"Temperatur","tamper":"Manipulera"},"groups":{"add_to_group":"Lägg till i grupp","create_group":"Skapa grupp","new_group_id":"Nytt grupp-id","new_group_id_placeholder":"Ange grupp-ID vid behov","new_group_name":"Nytt gruppnamn","new_group_name_placeholder":"exempel: mitt_sovrumsljus","remove_group":"Ta bort grupp","group_id":"Grupp-ID","group_name":"Gruppnamn","group_members":"Gruppmedlemmar","group_scenes":"Gruppscener"},"logs":{"empty_logs_message":"Inget att visa","filter_by_text":"Filtrera efter text","show_only":"Visa endast"},"map":{"help_coordinator_link_description":"Heldragna linjer är länken till koordinatorn","help_end_device_description":"Grön betyder slutenhet","help_is_coordinator":"är Koordinator","help_lqi_description":"Länkkvaliteten är mellan 0 - 255 (högre är bättre), värden med / representerar flera typer av länkar","help_router_description":"Blå betyder Router","help_router_links_description":"Streckade linjer är länken till rutter","hide":"Klicka på mig för att gömma mig","load":"Ladda karta","loading":"Beroende på storleken på ditt nätverk kan detta ta någonstans mellan 10 sekunder och 2 minuter."},"navbar":{"all":"Alla","dashboard":"Instrumentpanel","devices":"Enheter","disable_join":"Inaktivera gå med","extensions":"Tillägg","groups":"Grupper","logs":"Loggar","map":"Karta","ota":"OTA","permit_join":"Tillåt gå med","restart":"Starta om","settings":"Inställningar","toggle_dropdown":"Växla rullgardinsmenyn","touchlink":"Touchlink"},"ota":{"check":"Sök efter nya uppdateringar","check_all":"Kontrollera alla","empty_ota_message":"Du har inga enheter som stöder OTA","remaining_time":"Återstående tid {{- återstående}}","update":"Uppdatera enhetens firmware"},"settings":{"about":"Om","advanced":"Avancerad","availability":"Tillgänglighet","blocklist":"Blockeringslista","coordinator_revision":"Koordinator revision","coordinator_type":"Koordinatortyp","donate":"Donera","donation_text":["Hej, %username%, här kan du tacka oss för hårt arbetande","Tveka inte att säga något trevligt också ;)"],"download_state":"Ladda ner tillstånd","experimental":"Experimentell","external_converters":"Externa omvandlare","frontend":"Frontend","frontend_version":"Frontend version","main":"Huvudsaklig","mqtt":"MQTT","ota":"OTA-uppdateringar","passlist":"Passlista","raw":"Rå","restart_zigbee2mqtt":"Starta om Zigbee2MQTT","serial":"Serienummer","settings":"Inställningar","tools":"Verktyg","zigbee2mqtt_version":"Zigbee2MQTT version","translate":"Översätt","stats":"Statistik"},"settingsSchemaTranslations":{"advanced-title":"Avancerad","advanced_availability_blacklist__title":"Tillgänglighetssvartlista (utfasad, använd availability_blocklist)","advanced_availability_blocklist__description":"Förhindra att enheter kontrolleras för tillgänglighet","advanced_availability_blocklist__title":"Blocklista för tillgänglighet","advanced_availability_passlist__description":"Aktivera endast tillgänglighetskontroll för vissa enheter","advanced_availability_passlist__title":"Tillgänglighetspasslista","advanced_availability_whitelist__title":"Tillgänglighetsvitlista (utfasad, använd passlista)","advanced_ext_pan_id__description":"Zigbee utökat pan-ID, förändring kräver reparation av alla enheter!","advanced_ext_pan_id__title":"Ext Pan ID","advanced_log_output__description":"Utdataplats för loggen, lämna tom för att undertrycka loggning","advanced_log_output__title":"Logg utdata","advanced_log_syslog-title":"Systemlogg","blocklist__description":"Blockera enheter från nätverket (av ieeeAddr)","blocklist__title":"Blockeringslista","experimental-title":"Experimentell","external_converters__description":"Du kan definiera externa omvandlare till t.ex. lägg till stöd för en gör-det-själv-enhet","external_converters__title":"Externa omvandlare","frontend-title":"Frontend","mqtt-title":"MQTT","ota-title":"OTA-uppdateringar","passlist__description":"Tillåt endast vissa enheter att gå med i nätverket (av ieeeAddr). Observera att alla enheter som inte finns med i passlistan kommer att tas bort från nätverket!","passlist__title":"Passlista","root__description":"Tillåt endast vissa enheter att gå med i nätverket (av ieeeAddr). Observera att alla enheter som inte finns med i passlistan kommer att tas bort från nätverket!","root_availability_blacklist__title":"Tillgänglighetssvartlista (utfasad, använd tillgänglighetsblocklista)","root_availability_blocklist__description":"Förhindra att enheter kontrolleras för tillgänglighet","root_availability_blocklist__title":"Blocklista för tillgänglighet","root_availability_passlist__description":"Aktivera endast tillgänglighetskontroll för vissa enheter","root_availability_passlist__title":"Tillgänglighetspasslista","root_availability_whitelist__title":"Tillgänglighetsvitlista (utfasad, använd passlista)","root_debounce_ignore__description":"Skyddar unika nyttolastvärden för specificerade nyttolastegenskaper från att åsidosättas inom avstudstiden","root_debounce_ignore__title":"Ignorera debounce","root_ext_pan_id__description":"Zigbee utökat pan-ID, förändring kräver reparation av alla enheter!","root_ext_pan_id__title":"Ext Pan ID","root_filtered_attributes__description":"Tillåter att förhindra att vissa attribut publiceras","root_filtered_attributes__title":"Filtrerade attribut","root_filtered_optimistic__description":"Filtrera attribut från optimistisk publiceringsnyttolast när du anropar /set. (Detta har ingen effekt om optimistisk är inställd på falsk).","root_filtered_optimistic__title":"Filtrerade optimistiska attribut","root_log_output__description":"Utdataplats för loggen, lämna tom för att undertrycka loggning","root_log_output__title":"Logg utdata","root_log_syslog-title":"systemlogg","serial-title":"Serienummer"},"touchlink":{"detected_devices_message":"Upptäckte {{count}} peklänksenheter.","rescan":"Skanna igen","scan":"Skanna"},"values":{"clear":"Rensa","closed":"Stängd","false":"Falsk","not_supported":"Stöds inte","occupied":"Upptagen","open":"Öppen","supported":"Stöds","true":"Sant","empty_string":"Tom sträng(\\"\\")","leaking":"Läckage","tampered":"Manipulerad"},"zigbee":{"actions":"Handlingar","attribute":"Attribut","battery":"Batteri","block_join":"Blockera från att gå med igen","cluster":"Kluster","dc_source":"DC-källa","description":"Beskrivning","device_type":"Enhetstyp","endpoint":"Slutpunkt","firmware_build_date":"Byggdatum för firmware","firmware_version":"Firmware version","force_remove":"Tvinga borttagning","friendly_name":"Vänligt namn","ieee_address":"IEEE-adress","input_clusters":"Ingångskluster","interview_completed":"Intervju avklarad","interview_failed":"Intervjun misslyckades","interviewing":"Intervjuar","last_seen":"Senast sedd","lqi":"LQI","mains_single_phase":"Elnät (enfas)","manufacturer":"Tillverkare","max_rep_interval":"max rep interval","min_rep_change":"Min rep change","min_rep_interval":"Min rep interval","model":"Model","network_address":"Nätverksadress","none":"Ingen","output_clusters":"Utgångskluster","pic":"Bild","power":"Kraft","power_level":"kraftnivå","reconfigure":"Konfigurera om","remove_device":"Ta bort enheten","rename_device":"Byt namn på enheten","select_attribute":"Välj attribut","select_cluster":"Välj kluster","support_status":"Supportstatus","unsupported":"Stöds inte","updating_firmware":"Uppdaterar firmware","update_Home_assistant_entity_id":"Uppdatera enhets-ID för Home Assistant","zigbee_manufacturer":"Zigbee-tillverkare","zigbee_model":"Zigbee-modell","device":"Enhet","channel":"Kanal"},"scene":{"scene_id":"Scen-ID","recall":"Återkalla","store":"Lagra","remove":"Ta bort","remove_all":"Ta bort alla","add":"Lägg till","select_scene":"Välj scen","scene_name":"scenens namn"},"stats":{"byType":"Efter enhetstyp","byPowerSource":"Efter strömkälla","byVendor":"Efter säljare","byModel":"Efter modell","total":"Totalt"},"avaliability":{"avaliability":"Tillgänglighet","offline":"Offline","online":"Online","disabled":"Inaktiverad"}}');
|
4964
5027
|
// EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/pl.js
|
4965
5028
|
var lang_pl = __webpack_require__(76854);
|
4966
5029
|
// EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/fr.js
|
@@ -4989,6 +5052,8 @@ var ko = __webpack_require__(52392);
|
|
4989
5052
|
var cs = __webpack_require__(26026);
|
4990
5053
|
// EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/fi.js
|
4991
5054
|
var lang_fi = __webpack_require__(31011);
|
5055
|
+
// EXTERNAL MODULE: ./node_modules/timeago.js/lib/lang/sv.js
|
5056
|
+
var lang_sv = __webpack_require__(36987);
|
4992
5057
|
;// CONCATENATED MODULE: ./src/i18n/index.ts
|
4993
5058
|
|
4994
5059
|
|
@@ -5022,6 +5087,8 @@ var lang_fi = __webpack_require__(31011);
|
|
5022
5087
|
|
5023
5088
|
|
5024
5089
|
|
5090
|
+
|
5091
|
+
|
5025
5092
|
|
5026
5093
|
|
5027
5094
|
|
@@ -5039,6 +5106,7 @@ var lang_fi = __webpack_require__(31011);
|
|
5039
5106
|
(0,esm/* register */.z2)("zh", zh_TW/* default */.Z);
|
5040
5107
|
(0,esm/* register */.z2)("cs", cs/* default */.Z);
|
5041
5108
|
(0,esm/* register */.z2)("fi", lang_fi/* default */.Z);
|
5109
|
+
(0,esm/* register */.z2)("sv", lang_sv/* default */.Z);
|
5042
5110
|
const resources = {
|
5043
5111
|
en: en_namespaceObject,
|
5044
5112
|
fr: locales_fr_namespaceObject,
|
@@ -5055,6 +5123,7 @@ const resources = {
|
|
5055
5123
|
ko: ko_namespaceObject,
|
5056
5124
|
cs: cs_namespaceObject,
|
5057
5125
|
fi: locales_fi_namespaceObject,
|
5126
|
+
sv: locales_sv_namespaceObject,
|
5058
5127
|
};
|
5059
5128
|
window.missing = {};
|
5060
5129
|
const blacklistedNamespaces = ['localeNames'];
|
@@ -5186,7 +5255,7 @@ module.exports = __webpack_require__.p + "bdac95fb9b6e1011ff13.png";
|
|
5186
5255
|
/***/ 28393:
|
5187
5256
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
5188
5257
|
|
5189
|
-
module.exports = __webpack_require__.p + "
|
5258
|
+
module.exports = __webpack_require__.p + "5ac6d54b958a2d75b1e5.png";
|
5190
5259
|
|
5191
5260
|
/***/ }),
|
5192
5261
|
|
@@ -5253,6 +5322,13 @@ module.exports = __webpack_require__.p + "b4fe9b31254ddc033cfc.png";
|
|
5253
5322
|
|
5254
5323
|
/***/ }),
|
5255
5324
|
|
5325
|
+
/***/ 98527:
|
5326
|
+
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
5327
|
+
|
5328
|
+
module.exports = __webpack_require__.p + "88b7e4e45fa10f98a458.png";
|
5329
|
+
|
5330
|
+
/***/ }),
|
5331
|
+
|
5256
5332
|
/***/ 47822:
|
5257
5333
|
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
5258
5334
|
|
@@ -5291,8 +5367,8 @@ module.exports = "class MyExampleExtension_TS_ {\n constructor(zigbee, mqtt,
|
|
5291
5367
|
},
|
5292
5368
|
/******/ __webpack_require__ => { // webpackRuntimeModules
|
5293
5369
|
/******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
|
5294
|
-
/******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(
|
5370
|
+
/******/ __webpack_require__.O(0, [718], () => (__webpack_exec__(37454)));
|
5295
5371
|
/******/ var __webpack_exports__ = __webpack_require__.O();
|
5296
5372
|
/******/ }
|
5297
5373
|
]);
|
5298
|
-
//# sourceMappingURL=main.
|
5374
|
+
//# sourceMappingURL=main.ca71116fd87916d05b29.js.map
|