iobroker.tr-064 5.1.0 → 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -28
- package/admin/custom/.vite/manifest.json +68 -76
- package/admin/custom/assets/Components-BZCHs6EJ.js +1 -0
- package/admin/custom/assets/MeshTopology-BAbAoHI2.js +4 -0
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomTr064Set__mf_owner__1-Cenjta-f.js +1 -0
- package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-Dd7LAjq2.js → _virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js} +90 -90
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js +2 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DEVnYCRU.js +122 -0
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__-BInMjdwk.js +9 -0
- package/admin/custom/assets/{dist-3rrF2kvV.js → dist-DaURp8MG.js} +1 -1
- package/admin/custom/assets/helpers-B6m49UKI.js +1 -0
- package/admin/custom/assets/hostInit-C4-y6noJ.js +1 -0
- package/admin/custom/assets/{lib-4OPRvXhM.js → lib-Bz6IScan.js} +2 -2
- package/admin/custom/assets/pendingShares-_Lyy3-xQ.js +2 -0
- package/admin/custom/assets/utils-sDCNnUxL.js +4 -0
- package/admin/custom/assets/vite-preload-helper-DjNwdemH.js +1 -0
- package/admin/custom/customComponents.js +2 -2
- package/admin/custom/i18n/de.json +16 -1
- package/admin/custom/i18n/en.json +16 -1
- package/admin/custom/i18n/es.json +16 -1
- package/admin/custom/i18n/fr.json +16 -1
- package/admin/custom/i18n/it.json +16 -1
- package/admin/custom/i18n/nl.json +16 -1
- package/admin/custom/i18n/pl.json +16 -1
- package/admin/custom/i18n/pt.json +16 -1
- package/admin/custom/i18n/ru.json +16 -1
- package/admin/custom/i18n/uk.json +16 -1
- package/admin/custom/i18n/zh-cn.json +16 -1
- package/admin/custom/mf-manifest.json +1 -1
- package/admin/dm-widgets/.vite/manifest.json +43 -43
- package/admin/dm-widgets/assets/Components-Bh-mXe3F.js +4 -0
- package/admin/dm-widgets/assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-BF5b7ZEP.js +1 -0
- package/admin/dm-widgets/assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__loadShare__shared-8564RYVs.js +2 -0
- package/admin/dm-widgets/assets/{dist-FhHpT0VB.js → dist-DAUjjciP.js} +1 -1
- package/admin/dm-widgets/assets/helpers-LL3aTdF3.js +1 -0
- package/admin/dm-widgets/assets/hostInit-DQpykEkM.js +1 -0
- package/admin/dm-widgets/assets/{no-page-fzExEvxc.js → no-page-C-g_PIyM.js} +2 -2
- package/admin/dm-widgets/assets/pendingShares-CNny_2LZ.js +2 -0
- package/admin/dm-widgets/assets/translations-CZMfeIvV.js +1 -0
- package/admin/dm-widgets/assets/utils-DEUY4RDL.js +4 -0
- package/admin/dm-widgets/assets/vite-preload-helper-DjNwdemH.js +1 -0
- package/admin/dm-widgets/customDevices.js +2 -2
- package/admin/dm-widgets/mf-manifest.json +1 -1
- package/build/lib/mesh.js +93 -16
- package/build/lib/mesh.js.map +1 -1
- package/build/lib/oui.js +128 -0
- package/build/lib/oui.js.map +1 -0
- package/build/lib/tr064.js +29 -0
- package/build/lib/tr064.js.map +1 -1
- package/build/main.js +48 -3
- package/build/main.js.map +1 -1
- package/data/oui.txt +53430 -0
- package/io-package.json +60 -54
- package/package.json +11 -7
- package/widgets/tr-064/.vite/manifest.json +146 -236
- package/widgets/tr-064/assets/Generic-CB13arWC.js +1 -0
- package/widgets/tr-064/assets/MeshView-Bi3Tqv5B.js +4 -0
- package/widgets/tr-064/assets/Tr064FritzBox-DyWkO-Eq.js +1 -0
- package/widgets/tr-064/assets/Tr064Mesh-DhOz-cyO.js +1 -0
- package/widgets/tr-064/assets/Tr064Presence-Br3Z1Vay.js +1 -0
- package/widgets/tr-064/assets/_virtual_mf-localSharedImportMap___mfe_internal__vis2Tr064Widgets__mf_owner__1-mmPQI-0W.js +1 -0
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__loadShare__shared-Db_nfl79.js +2 -0
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild___mf_0_emotion_mf_1_react__prebuild__-BdRMcX2u.js +1 -0
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild___mf_0_mui_mf_1_material__prebuild__-DxKWlQDg.js +245 -0
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild___mf_0_mui_mf_1_private_mf_2_theming__prebuild__-CimLpZsS.js +1 -0
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild__react__prebuild__-BfR62PXi.js +1 -0
- package/widgets/tr-064/assets/{_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild__react_mf_2_dom__prebuild__-CwDi_M7l.js → _virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild__react_mf_2_dom__prebuild__-C80Z9tvh.js} +1 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild__react_mf_2_dom_mf_1_client__prebuild__-DIVBnK0o.js +9 -0
- package/widgets/tr-064/assets/defineProperty-DeZ0csto.js +10 -0
- package/widgets/tr-064/assets/{dist-FhHpT0VB.js → dist-DAUjjciP.js} +1 -1
- package/widgets/tr-064/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-Bsd24U4Y.js +1 -0
- package/widgets/tr-064/assets/helpers-LL3aTdF3.js +1 -0
- package/widgets/tr-064/assets/hostInit-CaekyPEZ.js +1 -0
- package/widgets/tr-064/assets/pendingShares-D9r9YlHr.js +2 -0
- package/widgets/tr-064/assets/{react.production-DPSSDlXY.js → react-Cvdyeg_0.js} +1 -1
- package/widgets/tr-064/assets/react-dom-B-VxWsjA.js +1 -0
- package/widgets/tr-064/assets/translations-CqowGBNV.js +1 -0
- package/widgets/tr-064/assets/utils-DEUY4RDL.js +4 -0
- package/widgets/tr-064/assets/vite-preload-helper-DjNwdemH.js +1 -0
- package/widgets/tr-064/customWidgets.js +2 -2
- package/widgets/tr-064/mf-manifest.json +1 -1
- package/admin/custom/assets/Components-BoWcMYSS.js +0 -1
- package/admin/custom/assets/MeshTopology-NPCeKKsE.js +0 -3
- package/admin/custom/assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomTr064Set__mf_owner__1-CEI0I6ae.js +0 -1
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-e4Fscg68.js +0 -2
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BM_WxSUd.js +0 -1
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DET9_feo.js +0 -1489
- package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__prebuild__react_mf_2_dom_mf_1_client__prebuild__-BIVeLrp5.js +0 -9
- package/admin/custom/assets/helpers-BxmIxGMO.js +0 -1
- package/admin/custom/assets/hostInit-DSOwaVi-.js +0 -1
- package/admin/custom/assets/pendingShares-T1G0jiVV.js +0 -2
- package/admin/custom/assets/utils-DxtAVvdK.js +0 -4
- package/admin/custom/assets/vite-preload-helper-CaC3yEL3.js +0 -1
- package/admin/dm-widgets/assets/Components-xqQWnYOT.js +0 -3
- package/admin/dm-widgets/assets/_virtual_mf-localSharedImportMap___mfe_internal__DevicesWidgetTr064Set__mf_owner__1-ULiXi9yv.js +0 -1
- package/admin/dm-widgets/assets/_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__14264094198548__loadShare___mf_0_iobroker_mf_1_dm_mf_2_widgets__loadShare__.js-C8vWIM5I.js +0 -2
- package/admin/dm-widgets/assets/helpers-DTPosF_X.js +0 -1
- package/admin/dm-widgets/assets/hostInit-JmMt7dnU.js +0 -1
- package/admin/dm-widgets/assets/pendingShares-CEv6kRoK.js +0 -2
- package/admin/dm-widgets/assets/translations-yVA7ZGpf.js +0 -1
- package/admin/dm-widgets/assets/utils-CJGuRvLL.js +0 -4
- package/admin/dm-widgets/assets/vite-preload-helper-CaC3yEL3.js +0 -1
- package/widgets/tr-064/assets/Generic-CIzmRpeI.js +0 -1
- package/widgets/tr-064/assets/MeshView-340Nx-Yr.js +0 -3
- package/widgets/tr-064/assets/Tr064FritzBox-DdODZruN.js +0 -1
- package/widgets/tr-064/assets/Tr064Mesh-CQf54WE0.js +0 -1
- package/widgets/tr-064/assets/Tr064Presence--G7eM1F-.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf-localSharedImportMap___mfe_internal__vis2Tr064Widgets__mf_owner__1-D7nylM3Z.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-CBUuPkFA.js +0 -2
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare___mf_0_mui_mf_1_material__loadShare__.js-ub-5ZQs3.js +0 -2
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare___mf_0_mui_mf_1_private_mf_2_theming__loadShare__.js-BKa066ny.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare__react__loadShare__.js-CcVuD-II.js +0 -2
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare__react_mf_1_jsx_mf_2_dev_mf_2_runtime__loadShare__.js-xgh8ZgUb.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-CRKteJto.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare__react_mf_2_dom__loadShare__.js-Bq-33FtC.js +0 -2
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-BEZyUUG0.js +0 -2
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild___mf_0_emotion_mf_1_react__prebuild__-BFtS0SC_.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild___mf_0_mui_mf_1_material__prebuild__-Ba3YBPHm.js +0 -245
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild___mf_0_mui_mf_1_private_mf_2_theming__prebuild__-BQqNvxi1.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild__react__prebuild__-DMwD2vWI.js +0 -1
- package/widgets/tr-064/assets/_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild__react_mf_2_dom_mf_1_client__prebuild__-DoImG-wh.js +0 -9
- package/widgets/tr-064/assets/defineProperty-CfKsT8I7.js +0 -10
- package/widgets/tr-064/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-CilgCtis.js +0 -1
- package/widgets/tr-064/assets/helpers-DTPosF_X.js +0 -1
- package/widgets/tr-064/assets/hostInit-BrwRSewP.js +0 -1
- package/widgets/tr-064/assets/pendingShares-CDDxKtx8.js +0 -2
- package/widgets/tr-064/assets/react-dom-CzGJkh8d.js +0 -1
- package/widgets/tr-064/assets/translations-CXDgEVIh.js +0 -1
- package/widgets/tr-064/assets/utils-CJGuRvLL.js +0 -4
- package/widgets/tr-064/assets/vite-preload-helper-CaC3yEL3.js +0 -1
- /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-B_v57Qfr.js → _virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-B_v57Qfr.js} +0 -0
- /package/admin/dm-widgets/assets/{_virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__14264094198548__prebuild___mf_0_iobroker_mf_1_dm_mf_2_widgets__prebuild__-CiYX8DhF.js → _virtual_mf___mfe_internal__DevicesWidgetTr064Set__mf_owner__212620212104624__prebuild___mf_0_iobroker_mf_1_dm_mf_2_widgets__prebuild__-CiYX8DhF.js} +0 -0
- /package/widgets/tr-064/assets/{_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild__react_mf_1_jsx_mf_2_dev_mf_2_runtime__prebuild__-Cbwz_BNS.js → _virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild__react_mf_1_jsx_mf_2_dev_mf_2_runtime__prebuild__-Cbwz_BNS.js} +0 -0
- /package/widgets/tr-064/assets/{_virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__228572001985851__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-ls7Ro8xU.js → _virtual_mf___mfe_internal__vis2Tr064Widgets__mf_owner__105226804110546__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-ls7Ro8xU.js} +0 -0
package/README.md
CHANGED
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
[](https://weblate.iobroker.net/engage/adapters/?utm_source=widget)
|
|
11
11
|
[](https://www.npmjs.com/package/iobroker.tr-064)
|
|
12
12
|
|
|
13
|
+
> [!IMPORTANT]
|
|
14
|
+
> This adapter cannot be installed from github
|
|
15
|
+
|
|
13
16
|
**This adapter uses the Sentry libraries. These libraries report exceptions and code errors automatically to the developers.** For more details, and for information about how to switch off the error reporting, see the [documentation of the Sentry plugin](https://github.com/ioBroker/plugin-sentry#plugin-sentry). The Sentry reporting is used from js-controller 3.0 on.
|
|
14
17
|
|
|
15
18
|
## Info
|
|
@@ -195,15 +198,36 @@ If you switch from the adapter tr-064-community, you can copy the complete devic
|
|
|
195
198
|
Placeholder for the next version (at the beginning of the line):
|
|
196
199
|
### **WORK IN PROGRESS**
|
|
197
200
|
-->
|
|
201
|
+
### 5.1.5 (2026-10-07)
|
|
202
|
+
- (@GermanBluefox) Updated packages
|
|
203
|
+
|
|
204
|
+
### 5.1.4 (2026-10-02)
|
|
205
|
+
- (@GermanBluefox) New look of the devices in the mesh topology: every device carries the symbol of its kind (computer, smartphone, camera, lamp, printer, ...) next to its name, below it the manufacturer and the IP address, and on the right side the band and the signal. The kind comes from the FRITZ!Box (`device_class`, or the kind which was set for the device in the box), an unknown one gets a generic symbol
|
|
206
|
+
- (@GermanBluefox) `common.localLink` of `io-package.json`, the link to the web interface of the FRITZ!Box, is replaced by `common.localLinks` - the js-controller has removed the old attribute from its schema, which made the package test fail
|
|
207
|
+
- (@GermanBluefox) A card of the mesh topology whose devices have no signal - a switch, a repeater with LAN devices only - uses compact devices: the manufacturer and the IP address stand next to each other below the name instead of below each other
|
|
208
|
+
- (@GermanBluefox) The table of the mesh topology shows the same symbol in front of the name, and the bars of the signal carry the color of the band - only a signal below -80 dBm, or one which the box itself calls too far away, turns red
|
|
209
|
+
|
|
210
|
+
### 5.1.2 (2026-10-01)
|
|
211
|
+
- (@GermanBluefox) The mesh topology shows the signal strength of a WLAN device: four bars and the value in dBm (`rx_rcpi`/`tx_rcpi` of the mesh list), the signal to noise and the rating of the FRITZ!Box itself ("too far away from the access point", `client_position`) in the tooltip and in the new column "Signal" of the table
|
|
212
|
+
- (@GermanBluefox) A device which is not connected any more shows when it was connected last (`last_connected`)
|
|
213
|
+
- (@GermanBluefox) The manufacturer of a device is taken from the FRITZ!Box (`device_manufacturer`, which it knows from LLDP or the DHCP request) and only looked up in the IEEE registries if the box does not name one
|
|
214
|
+
- (@GermanBluefox) The data rates of the mesh topology were shown as download and upload the wrong way round for every link whose first node is the access point - the FRITZ!Box reports `rx`/`tx` from the view of its own node 1, which is not always the upstream side
|
|
215
|
+
- (@GermanBluefox) A click on the missed calls of the tiles ("FRITZ!Box" widget of vis-2 and of `ioBroker.devices`) asks whether the counter is reset and sets `calllists.missed.count` to 0. The counter belongs to the adapter, not to the FRITZ!Box - it counts every missed call since the installation, including the complete call list which is read on the first start. The adapter now confirms a written counter right away instead of at the next poll
|
|
216
|
+
|
|
217
|
+
### 5.1.1 (2026-09-29)
|
|
218
|
+
- (@GermanBluefox) The mesh topology shows the manufacturer of a device below its name. It is resolved from the MAC address with the registries of the IEEE, which the adapter brings with it - no request leaves the network. A device with a randomized (locally administered) address, as many phones use it, is marked as such. The manufacturer can be switched off in the toolbar and in the attributes of the vis-2 widget
|
|
219
|
+
- (@GermanBluefox) A device can be renamed in the mesh topology: a click on its name asks for the new name and writes it into the FRITZ!Box (`X_AVM-DE_SetHostNameByMACAddress`), which uses it everywhere. A firmware without that action says so. Note: the objects below `devices` follow the name of the box, as long as the option "Use the configured names" is switched off
|
|
220
|
+
- (@GermanBluefox) New message `setHostName` (`sendTo('tr-064.0', 'setHostName', { mac, name })`) which renames a device in the FRITZ!Box
|
|
221
|
+
|
|
198
222
|
### 5.1.0 (2026-09-19)
|
|
199
|
-
- (@GermanBluefox) New widgets for vis-2 ("FRITZ!Box", "Mesh topology", "Presence") and for ioBroker.devices ("FRITZ!Box"): the state of the box as a tile, a click shows the mesh topology
|
|
223
|
+
- (@GermanBluefox) New widgets for vis-2 ("FRITZ!Box", "Mesh topology", "Presence") and for `ioBroker.devices` ("FRITZ!Box"): the state of the box as a tile, a click shows the mesh topology
|
|
200
224
|
- (@GermanBluefox) New states `boxModel` and `boxFirmware`
|
|
201
225
|
- (@GermanBluefox) The table in the tab "Devices" uses the whole width again: in 5.0.2 it was so narrow that name, IP and MAC could not be read
|
|
202
226
|
- (@GermanBluefox) "Search for devices" works with many devices: the adapter reads the list of all devices in one request (`X_AVM-DE_GetHostListPath`) instead of one request per device, which took longer than the 20 seconds of the button. The search is always answered, also when a request fails, the box has no devices or the adapter is not connected
|
|
203
227
|
- (@GermanBluefox) Fixed the crash `systemData.save is not a function` on start when a call list is generated: installations which ran an adapter version from 2017 to 2020 still had an invalid attribute `save` in the object `tr-064.<instance>`, which is removed now
|
|
204
228
|
- (@GermanBluefox) `wlanGuest` switches the guest WLAN again on boxes with three bands (e.g. FRITZ!Box 5690 Pro, 4060) instead of the third band: the guest WLAN is always the last WLAN configuration of the box
|
|
205
229
|
- (@GermanBluefox) New states `wlan60` and `wlan60Password` for the 6 GHz WLAN, and `wlan52` and `wlan52Password` for the second 5 GHz WLAN (e.g. FRITZ!Box 4060). The adapter asks the box which band its third WLAN uses
|
|
206
|
-
- (@GermanBluefox) The call lists do not stop updating after some hours
|
|
230
|
+
- (@GermanBluefox) The call lists do not stop updating after some hours anymore: the call monitor detects a connection which the box dropped unnoticed (e.g. by a restart) with TCP keepalive and reconnects, and the call lists are also read once a minute - that way they are updated without call monitor, too
|
|
207
231
|
- (@GermanBluefox) A call list download which the box does not answer is given up after 10 seconds with a warning
|
|
208
232
|
- (@GermanBluefox) `states.wlan` switches all WLANs like the WLAN button of the FRITZ!Box (`X_AVM-DE_SetWLANGlobalEnable`) and shows its state: switching on does not switch on the guest WLAN and bands which were off any more
|
|
209
233
|
- (@GermanBluefox) New states for the internet connection: `wanAccessType` (e.g. `LTE` during a fallback to a mobile connection), `wanLinkStatus`, `wanProvider`, `wanDownstreamMax`, `wanUpstreamMax`, and the traffic `wanBytesSent`, `wanBytesReceived` (64 bit counters), `wanSendRate`, `wanReceiveRate`
|
|
@@ -227,32 +251,6 @@ If you switch from the adapter tr-064-community, you can copy the complete devic
|
|
|
227
251
|
- (@GermanBluefox) The debug log does not contain sensitive data any more, so it can be shared to analyze problems: phone numbers, names, phone book and call data, host names, MAC and IP addresses, values of states and results of `states.command` are only logged with level `silly`, and the session ID in URLs of the box is never logged. The result of `states.command` is no longer logged with level info - it is still written into `states.commandResult`
|
|
228
252
|
- (@GermanBluefox) The call monitor does not stop any more when the FRITZ!Box refuses the connection, e.g. while it restarts after a firmware update: it retries every 60 seconds and reconnects on its own. The hint to open port 1012 with `#96*5*` is only logged if the call monitor was never connected
|
|
229
253
|
|
|
230
|
-
### 5.0.2 (2026-09-10)
|
|
231
|
-
- (@GermanBluefox) Fixed the crash `Cannot read properties of undefined (reading 'safe')` in `getWLAN` right after the start: the WLAN states are read again in every poll cycle
|
|
232
|
-
- (@GermanBluefox) A box without a separate 5 GHz configuration does not delay the polling by 3 seconds any more
|
|
233
|
-
|
|
234
|
-
### 5.0.1 (2026-09-09)
|
|
235
|
-
- (@GermanBluefox) **Breaking change:** the adapter requires node.js >= 22 now
|
|
236
|
-
- (@GermanBluefox) Adapter requires admin >= 7.7.22 now
|
|
237
|
-
- (@GermanBluefox) Adapter requires js-controller >= 6.0.11 now
|
|
238
|
-
- (@GermanBluefox) The adapter does not stop any more if the Fritz!Box cannot be reached. The connection is retried every 30 seconds, and the new state `info.connection` shows whether the box answers
|
|
239
|
-
- (@justr1) Expected disconnects of the call monitor (`ETIMEDOUT`, `ECONNRESET`, `EPIPE`) are logged as info now, because the adapter reconnects on its own
|
|
240
|
-
- (@GermanBluefox) The mDNS socket is closed when the adapter stops, so a restart does not leave a listener behind
|
|
241
|
-
- (@GermanBluefox) A phone book with only one contact is read now
|
|
242
|
-
- (@GermanBluefox) The hint how to open port 1012 is shown again if the call monitor is refused by the Fritz!Box
|
|
243
|
-
- (@GermanBluefox) The adapter was refactored to TypeScript. The sources are in `src/`, the adapter runs from `build/`
|
|
244
|
-
- (@GermanBluefox) The configuration dialog was rewritten as JsonConfig. Admin 7.7.22 or newer is required for it
|
|
245
|
-
- (@GermanBluefox) The adapter can only be installed from npm now, no longer directly from GitHub (`common.nogit`)
|
|
246
|
-
- (@GermanBluefox) The options "Use call forwarding options", "Use mDNS" and "Create JSON device list" have a default value in `io-package.json` now
|
|
247
|
-
- (@GermanBluefox) The command `dumpservices.fs` writes the file again instead of stopping the adapter
|
|
248
|
-
|
|
249
|
-
### 4.3.0 (2024-04-30)
|
|
250
|
-
* (mcm1957) Adapter requires node.js >= 18 and js-controller >= 5 now
|
|
251
|
-
* (mcm1957) Dependencies have been updated
|
|
252
|
-
|
|
253
|
-
### 4.2.18 (2023-01-04)
|
|
254
|
-
* (Apollon77) Prepare for future js-controller versions
|
|
255
|
-
|
|
256
254
|
[Older changelogs can be found there](CHANGELOG_OLD.md)
|
|
257
255
|
|
|
258
256
|
## License
|
|
@@ -1,83 +1,75 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_MeshTopology-
|
|
3
|
-
"file": "assets/MeshTopology-
|
|
2
|
+
"_MeshTopology-BAbAoHI2.js": {
|
|
3
|
+
"file": "assets/MeshTopology-BAbAoHI2.js",
|
|
4
4
|
"name": "MeshTopology",
|
|
5
5
|
"imports": [
|
|
6
|
-
"
|
|
7
|
-
"
|
|
6
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
7
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js"
|
|
8
8
|
]
|
|
9
9
|
},
|
|
10
|
-
"
|
|
11
|
-
"file": "assets/
|
|
12
|
-
"name": "
|
|
10
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js": {
|
|
11
|
+
"file": "assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
12
|
+
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js",
|
|
13
13
|
"imports": [
|
|
14
14
|
"_rolldown-runtime-Dd_uD5pT.js",
|
|
15
|
-
"_vite-preload-helper-
|
|
15
|
+
"_vite-preload-helper-DjNwdemH.js"
|
|
16
16
|
],
|
|
17
17
|
"dynamicImports": [
|
|
18
|
-
"virtual:mf:
|
|
18
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
|
|
19
19
|
"node_modules/@iobroker/gui-components/build/Components/IconLibrary/iconLibraryData.js"
|
|
20
20
|
]
|
|
21
21
|
},
|
|
22
|
-
"
|
|
23
|
-
"file": "assets/
|
|
24
|
-
"name": "
|
|
22
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js": {
|
|
23
|
+
"file": "assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js",
|
|
24
|
+
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared",
|
|
25
25
|
"imports": [
|
|
26
26
|
"_rolldown-runtime-Dd_uD5pT.js",
|
|
27
|
-
"
|
|
27
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
28
|
+
"_vite-preload-helper-DjNwdemH.js"
|
|
28
29
|
],
|
|
29
30
|
"dynamicImports": [
|
|
30
|
-
"virtual:mf:
|
|
31
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__.js",
|
|
32
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
|
|
31
33
|
]
|
|
32
34
|
},
|
|
33
|
-
"
|
|
34
|
-
"file": "assets/
|
|
35
|
-
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js",
|
|
36
|
-
"imports": [
|
|
37
|
-
"_vite-preload-helper-CaC3yEL3.js"
|
|
38
|
-
],
|
|
39
|
-
"dynamicImports": [
|
|
40
|
-
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__242138799280374__prebuild__react_mf_2_dom_mf_1_client__prebuild__.js"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"_dist-3rrF2kvV.js": {
|
|
44
|
-
"file": "assets/dist-3rrF2kvV.js",
|
|
35
|
+
"_dist-DaURp8MG.js": {
|
|
36
|
+
"file": "assets/dist-DaURp8MG.js",
|
|
45
37
|
"name": "dist",
|
|
46
38
|
"imports": [
|
|
47
|
-
"_utils-
|
|
39
|
+
"_utils-sDCNnUxL.js"
|
|
48
40
|
]
|
|
49
41
|
},
|
|
50
|
-
"_helpers-
|
|
51
|
-
"file": "assets/helpers-
|
|
42
|
+
"_helpers-B6m49UKI.js": {
|
|
43
|
+
"file": "assets/helpers-B6m49UKI.js",
|
|
52
44
|
"name": "helpers",
|
|
53
45
|
"imports": [
|
|
54
|
-
"_utils-
|
|
46
|
+
"_utils-sDCNnUxL.js"
|
|
55
47
|
]
|
|
56
48
|
},
|
|
57
49
|
"_rolldown-runtime-Dd_uD5pT.js": {
|
|
58
50
|
"file": "assets/rolldown-runtime-Dd_uD5pT.js",
|
|
59
51
|
"name": "rolldown-runtime"
|
|
60
52
|
},
|
|
61
|
-
"_utils-
|
|
62
|
-
"file": "assets/utils-
|
|
53
|
+
"_utils-sDCNnUxL.js": {
|
|
54
|
+
"file": "assets/utils-sDCNnUxL.js",
|
|
63
55
|
"name": "utils",
|
|
64
56
|
"imports": [
|
|
65
|
-
"_vite-preload-helper-
|
|
57
|
+
"_vite-preload-helper-DjNwdemH.js"
|
|
66
58
|
]
|
|
67
59
|
},
|
|
68
|
-
"_vite-preload-helper-
|
|
69
|
-
"file": "assets/vite-preload-helper-
|
|
60
|
+
"_vite-preload-helper-DjNwdemH.js": {
|
|
61
|
+
"file": "assets/vite-preload-helper-DjNwdemH.js",
|
|
70
62
|
"name": "vite-preload-helper"
|
|
71
63
|
},
|
|
72
64
|
"index.html": {
|
|
73
|
-
"file": "assets/index-
|
|
65
|
+
"file": "assets/index-CWQ2FLQK.js",
|
|
74
66
|
"name": "index",
|
|
75
67
|
"src": "index.html",
|
|
76
68
|
"isEntry": true,
|
|
77
69
|
"imports": [
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"_MeshTopology-
|
|
70
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
71
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js",
|
|
72
|
+
"_MeshTopology-BAbAoHI2.js"
|
|
81
73
|
]
|
|
82
74
|
},
|
|
83
75
|
"node_modules/@iobroker/gui-components/build/Components/IconLibrary/iconLibraryData.js": {
|
|
@@ -87,22 +79,22 @@
|
|
|
87
79
|
"isDynamicEntry": true
|
|
88
80
|
},
|
|
89
81
|
"node_modules/react-qr-code/lib/index.mjs": {
|
|
90
|
-
"file": "assets/lib-
|
|
82
|
+
"file": "assets/lib-Bz6IScan.js",
|
|
91
83
|
"name": "lib",
|
|
92
84
|
"src": "node_modules/react-qr-code/lib/index.mjs",
|
|
93
85
|
"isDynamicEntry": true,
|
|
94
86
|
"imports": [
|
|
95
87
|
"_rolldown-runtime-Dd_uD5pT.js",
|
|
96
|
-
"
|
|
88
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js"
|
|
97
89
|
]
|
|
98
90
|
},
|
|
99
91
|
"src/Components.tsx": {
|
|
100
|
-
"file": "assets/Components-
|
|
92
|
+
"file": "assets/Components-BZCHs6EJ.js",
|
|
101
93
|
"name": "Components",
|
|
102
94
|
"src": "src/Components.tsx",
|
|
103
95
|
"isEntry": true,
|
|
104
96
|
"imports": [
|
|
105
|
-
"_MeshTopology-
|
|
97
|
+
"_MeshTopology-BAbAoHI2.js"
|
|
106
98
|
]
|
|
107
99
|
},
|
|
108
100
|
"virtual:mf-REMOTE_ENTRY_ID:__mfe_internal__ConfigCustomTr064Set__customComponents_js": {
|
|
@@ -110,9 +102,9 @@
|
|
|
110
102
|
"name": "remoteEntry",
|
|
111
103
|
"src": "virtual:mf-REMOTE_ENTRY_ID:__mfe_internal__ConfigCustomTr064Set__customComponents_js",
|
|
112
104
|
"imports": [
|
|
113
|
-
"_vite-preload-helper-
|
|
114
|
-
"_dist-
|
|
115
|
-
"_helpers-
|
|
105
|
+
"_vite-preload-helper-DjNwdemH.js",
|
|
106
|
+
"_dist-DaURp8MG.js",
|
|
107
|
+
"_helpers-B6m49UKI.js"
|
|
116
108
|
],
|
|
117
109
|
"dynamicImports": [
|
|
118
110
|
"src/Components.tsx",
|
|
@@ -120,28 +112,28 @@
|
|
|
120
112
|
]
|
|
121
113
|
},
|
|
122
114
|
"virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomTr064Set__mf_owner__1": {
|
|
123
|
-
"file": "assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomTr064Set__mf_owner__1-
|
|
115
|
+
"file": "assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomTr064Set__mf_owner__1-Cenjta-f.js",
|
|
124
116
|
"name": "_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomTr064Set__mf_owner__1",
|
|
125
117
|
"src": "virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomTr064Set__mf_owner__1",
|
|
126
118
|
"isDynamicEntry": true,
|
|
127
119
|
"imports": [
|
|
128
|
-
"_vite-preload-helper-
|
|
129
|
-
"_dist-
|
|
120
|
+
"_vite-preload-helper-DjNwdemH.js",
|
|
121
|
+
"_dist-DaURp8MG.js"
|
|
130
122
|
],
|
|
131
123
|
"dynamicImports": [
|
|
132
|
-
"
|
|
133
|
-
"virtual:mf:
|
|
134
|
-
"virtual:mf:
|
|
135
|
-
"virtual:mf:
|
|
124
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
125
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
|
|
126
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__.js",
|
|
127
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
|
|
136
128
|
]
|
|
137
129
|
},
|
|
138
130
|
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__1__H_A_I__hostAutoInit__H_A_I__.js": {
|
|
139
|
-
"file": "assets/hostInit-
|
|
131
|
+
"file": "assets/hostInit-C4-y6noJ.js",
|
|
140
132
|
"name": "hostInit",
|
|
141
133
|
"src": "virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__1__H_A_I__hostAutoInit__H_A_I__.js",
|
|
142
134
|
"imports": [
|
|
143
|
-
"_vite-preload-helper-
|
|
144
|
-
"_helpers-
|
|
135
|
+
"_vite-preload-helper-DjNwdemH.js",
|
|
136
|
+
"_helpers-B6m49UKI.js"
|
|
145
137
|
],
|
|
146
138
|
"dynamicImports": [
|
|
147
139
|
"virtual:mf-REMOTE_ENTRY_ID:__mfe_internal__ConfigCustomTr064Set__customComponents_js",
|
|
@@ -149,50 +141,50 @@
|
|
|
149
141
|
]
|
|
150
142
|
},
|
|
151
143
|
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__1__P_S__pendingShares__P_S__.js": {
|
|
152
|
-
"file": "assets/pendingShares-
|
|
144
|
+
"file": "assets/pendingShares-_Lyy3-xQ.js",
|
|
153
145
|
"name": "pendingShares",
|
|
154
146
|
"src": "virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__1__P_S__pendingShares__P_S__.js",
|
|
155
147
|
"imports": [
|
|
156
|
-
"_vite-preload-helper-
|
|
148
|
+
"_vite-preload-helper-DjNwdemH.js"
|
|
157
149
|
],
|
|
158
150
|
"dynamicImports": [
|
|
159
|
-
"
|
|
160
|
-
"
|
|
151
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
152
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js",
|
|
161
153
|
"virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomTr064Set__mf_owner__1"
|
|
162
154
|
]
|
|
163
155
|
},
|
|
164
|
-
"virtual:mf:
|
|
165
|
-
"file": "assets/
|
|
166
|
-
"name": "
|
|
167
|
-
"src": "virtual:mf:
|
|
156
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js": {
|
|
157
|
+
"file": "assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DEVnYCRU.js",
|
|
158
|
+
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__",
|
|
159
|
+
"src": "virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js",
|
|
168
160
|
"isDynamicEntry": true,
|
|
169
161
|
"imports": [
|
|
170
162
|
"_rolldown-runtime-Dd_uD5pT.js",
|
|
171
|
-
"
|
|
172
|
-
"_vite-preload-helper-
|
|
173
|
-
"_dist-
|
|
163
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js",
|
|
164
|
+
"_vite-preload-helper-DjNwdemH.js",
|
|
165
|
+
"_dist-DaURp8MG.js"
|
|
174
166
|
],
|
|
175
167
|
"dynamicImports": [
|
|
176
168
|
"node_modules/react-qr-code/lib/index.mjs"
|
|
177
169
|
]
|
|
178
170
|
},
|
|
179
|
-
"virtual:mf:
|
|
180
|
-
"file": "assets/
|
|
181
|
-
"name": "
|
|
182
|
-
"src": "virtual:mf:
|
|
171
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js": {
|
|
172
|
+
"file": "assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-B_v57Qfr.js",
|
|
173
|
+
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__",
|
|
174
|
+
"src": "virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
|
|
183
175
|
"isDynamicEntry": true,
|
|
184
176
|
"imports": [
|
|
185
177
|
"_rolldown-runtime-Dd_uD5pT.js"
|
|
186
178
|
]
|
|
187
179
|
},
|
|
188
|
-
"virtual:mf:
|
|
189
|
-
"file": "assets/
|
|
190
|
-
"name": "
|
|
191
|
-
"src": "virtual:mf:
|
|
180
|
+
"virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__.js": {
|
|
181
|
+
"file": "assets/_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__-BInMjdwk.js",
|
|
182
|
+
"name": "_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__",
|
|
183
|
+
"src": "virtual:mf:__mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__.js",
|
|
192
184
|
"isDynamicEntry": true,
|
|
193
185
|
"imports": [
|
|
194
186
|
"_rolldown-runtime-Dd_uD5pT.js",
|
|
195
|
-
"
|
|
187
|
+
"__virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js"
|
|
196
188
|
]
|
|
197
189
|
}
|
|
198
190
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./MeshTopology-BAbAoHI2.js";var t={MeshTopology:e};export{t as default};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{$t as e,An as t,Bn as n,C as r,Cn as i,Dn as a,Dt as o,E as s,En as c,G as l,H as u,Hi as d,Hn as f,Ht as p,It as m,Jt as h,Kr as g,Li as _,Mn as ee,Mt as v,O as y,On as b,Ot as x,Pn as S,Qn as C,Qt as te,R as ne,Rn as re,Rt as ie,Tn as w,U as ae,V as T,Vi as oe,Xt as E,Yt as D,Zn as O,_i as se,_n as k,bn as ce,bt as A,ct as j,d as M,dn as N,dt as P,en as le,fn as ue,gt as F,jt as I,kn as L,kt as de,ln as fe,lt as pe,mn as me,nn as he,pn as ge,qn as _e,qt as ve,rn as ye,tn as be,un as xe,vi as R,yi as z,yn as Se,zi as B,zn as Ce}from"./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js";import{t as we}from"./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare__shared-C-z_ew1q.js";function V(e){if(!e)return`other`;if(e.band)return e.band;let t=(e.interface||``).toUpperCase();return/(^|:)2(G|,4|\.4)/.test(t)?`2.4`:/(^|:)5G/.test(t)?`5`:/(^|:)6G/.test(t)?`6`:(e.type||``).toUpperCase()===`LAN`||t.startsWith(`LAN`)||t.startsWith(`ETH`)?`LAN`:`other`}function H(e){return!!e&&(e.state||``).toUpperCase()===`CONNECTED`}function U(e,t){return e?!H(e)&&H(t)?t:e:t}function W(e){return e.configured||e.name||e.mac||e.uid}function Te(e,t){return!!e.node.configured==!!t.node.configured?e.connected===t.connected?W(e.node).localeCompare(W(t.node)):e.connected?-1:1:e.node.configured?-1:1}function Ee(e){return{...e,from:e.to,to:e.from,curDown:e.curUp,curUp:e.curDown,maxDown:e.maxUp,maxUp:e.maxDown,rcpiFrom:e.rcpiTo,rcpiTo:e.rcpiFrom,rsniFrom:e.rsniTo,rsniTo:e.rsniFrom}}function G(e){return(e==null?void 0:e.rcpiTo)??(e==null?void 0:e.rcpiFrom)}function De(e){return e>=-60?4:e>=-70?3:e>=-80?2:1}function Oe(e,t){let n=(e==null?void 0:e.nodes)||[],r=(e==null?void 0:e.links)||[],i=new Map;n.forEach(e=>i.set(e.uid,e));let a=e=>{var t;let n=(t=i.get(e))==null?void 0:t.role;return!!n&&n!==`client`},o=new Map,s=new Map;for(let e of r)i.has(e.from)&&i.has(e.to)&&e.from!==e.to&&(a(e.from)&&a(e.to)?o.set(e.to,U(o.get(e.to),e)):a(e.from)?s.set(e.to,U(s.get(e.to),e)):a(e.to)&&s.set(e.from,U(s.get(e.from),Ee(e))));let c=n.filter(e=>e.role!==`client`);c.forEach(e=>e.role===`master`&&o.delete(e.uid));let l=new Map;c.forEach(e=>l.set(e.uid,{node:e,uplink:o.get(e.uid),clients:[],children:[]}));let u=0,d=[],f=[];for(let e of n){var p;if(e.role!==`client`)continue;u++;let n=s.get(e.uid),r=H(n);if(t.onlyConfigured&&!e.configured||!r&&!t.showDisconnected&&!e.configured)continue;let i={node:e,link:n,connected:r},a=n?l.get(n.from):void 0;a?a.clients.push(i):d.push(i);let o=n?V(n):``;f.push({uid:e.uid,name:W(e),hostName:e.name,vendor:e.vendor,randomMac:e.randomMac,configured:!!e.configured,accessPoint:(a==null||(p=a.node)==null?void 0:p.name)||``,kind:o,type:(n==null?void 0:n.type)||``,connected:r,curDown:n==null?void 0:n.curDown,curUp:n==null?void 0:n.curUp,rcpi:G(n),position:e.position,deviceClass:e.deviceClass,lastConnected:r||n==null?void 0:n.lastConnected,mac:e.mac,ip:e.ip})}l.forEach(e=>e.clients.sort(Te)),d.sort(Te),f.sort((e,t)=>e.configured===t.configured?e.connected===t.connected?e.name.localeCompare(t.name):e.connected?-1:1:e.configured?-1:1);let m=[...c].sort((e,t)=>{let n=e=>e.role===`master`?0:e.role===`slave`?1:2;return n(e)-n(t)||e.name.localeCompare(t.name)}),h=new Set,g=[],_=e=>{h.add(e.node.uid);for(let n of m){var t;let r=l.get(n.uid);!h.has(n.uid)&&((t=r.uplink)==null?void 0:t.from)===e.node.uid&&(e.children.push(r),_(r))}};for(let e of m){let t=l.get(e.uid),n=t.uplink&&l.get(t.uplink.from);!h.has(e.uid)&&(!n||e.role===`master`)&&(g.push(t),_(t))}for(let e of m)if(!h.has(e.uid)){let t=l.get(e.uid);g.push(t),_(t)}return{roots:g,unassigned:d,rows:f,total:u}}function K(e,t){return t&&ke(e)?56:40}function ke(e){return e.clients.some(e=>e.connected&&G(e.link)!==void 0)}function Ae(e){return e<=8?1:e<=20?2:e<=48?3:4}function je(e,t,n){let r=Math.ceil(e/t);return 60+(e?r*(n+6)-6+10:0)}function Me(e,t=!1){let n=[],r=[],i=new Map,a=e=>{let n=e.clients.length,r=Ae(n);return{w:Math.max(240,r*340+(r-1)*6+20),h:je(n,r,K(e,t)),columns:r}},o=e=>{let t=a(e).w,n=e.children.reduce((e,t)=>e+o(t),0),r=Math.max(t,n+32*Math.max(0,e.children.length-1));return i.set(e,r),r},s=0,c=(e,o,l)=>{let u=a(e),d=i.get(e),f={view:e,x:o+(d-u.w)/2,y:l,w:u.w,h:u.h,columns:u.columns,chipW:340,chipH:K(e,t)};n.push(f),s=Math.max(s,l+u.h);let p=o+(d-(e.children.reduce((e,t)=>e+i.get(t),0)+32*Math.max(0,e.children.length-1)))/2;for(let t of e.children){let e=c(t,p,l+u.h+76);if(t.uplink){let n=f.x+f.w/2,i=f.y+f.h,a=e.x+e.w/2,o=e.y,s=i+(o-i)/2;r.push({link:t.uplink,d:`M ${n} ${i} V ${s} H ${a} V ${o}`,labelX:a+6,labelY:o-10})}p+=i.get(t)+32}return f},l=16;for(let t of e)o(t),c(t,l,16),l+=i.get(t)+64;return{kind:`tree`,cards:n,edges:r,width:Math.max(l-64+16,0),height:s+16}}function Ne(e,t,n=!1){let r=[],i=[],a=8,o=(e,s)=>{let c=8+s*22,l=Math.max(232,t-8-c),u=l-20,d=e.clients.length,f=Math.max(1,Math.min(d||1,Math.floor((u+6)/218))),p=Math.min(420,(u-(f-1)*6)/f),m=K(e,n),h={view:e,x:c,y:a,w:l,h:je(d,f,m),columns:f,chipW:p,chipH:m};r.push(h),a+=h.h+30;let g=h.x+11,_=h.y+h.h;for(let t of e.children){let e=o(t,s+1);if(t.uplink){let n=e.y+24;i.push({link:t.uplink,d:`M ${g} ${_} V ${n} H ${e.x}`,labelX:e.x+4,labelY:e.y-8}),_=n}}return h};for(let t of e)o(t,0);return{kind:`stack`,cards:r,edges:i,width:t,height:Math.max(a-30+8,0)}}function Pe(e,t,n=!1){let r=Me(e,n);return r.width<=t?r:Ne(e,t,n)}function q(e,t,n=!1){return Math.max(3,Math.floor(e/(t*(n?.62:.56))))}function J(e,t){return e.length>t?`${e.substring(0,Math.max(1,t-1))}…`:e}function Y(e){if(!e)return`–`;let t=e/1e3;return t>=10?Math.round(t).toString():t.toFixed(1)}var Fe={COMPUTER:ne,STORAGE:te,SMARTPHONE:h,TABLET:le,GAMING_DEVICE:E,SET_TOP_BOX:ye,PRINTER:v,NETWORK_SWITCH:pe,SPEAKER:D,ROBOT:ve,PHONE:o,IP_PHONE:x,CIRCUIT_BOARD:T,CAMERA:r,DOOR_LOCK:F,DOOR_BELL:ae,SHUTTER:s,AIR_CONDITIONER:j,LAMP:P,THERMOSTAT:be,BUTTON:he,SOCKET:I,SENSOR:p,MONITOR:A,SMART_WATCH:y,ROUTER:ie};function Ie(e){return e&&Fe[e]||u}function Le(e){let t=Ie(e.deviceClass);return R(t,{x:e.x,y:e.y,width:e.size,height:e.size,sx:{width:e.size,height:e.size,color:e.color}})}var Re=`not alive`,ze=`not connected`,Be=`not supported`,X=`timeout`;async function Ve(e,t,n=2e4){try{let r=await e.getState(`system.adapter.${t}.alive`);if(!(r!=null&&r.val))return{error:Re,nodes:[],links:[]};let i,a=new Promise(e=>{i=setTimeout(()=>e(X),n)}),o=e.sendTo(t,`mesh`,{}),s=await Promise.race([o,a]);return clearTimeout(i),s===`timeout`||!s||typeof s!=`object`?{error:X,nodes:[],links:[]}:{error:s.error,ts:s.ts,nodes:Array.isArray(s.nodes)?s.nodes:[],links:Array.isArray(s.links)?s.links:[],canRename:!!s.canRename}}catch(e){return{error:(e==null?void 0:e.message)||String(e),nodes:[],links:[]}}}async function He(e,t,n,r,i=2e4){try{let a=await e.getState(`system.adapter.${t}.alive`);if(!(a!=null&&a.val))return Re;let o,s=new Promise(e=>{o=setTimeout(()=>e(X),i)}),c=e.sendTo(t,`setHostName`,{mac:n,name:r}),l=await Promise.race([c,s]);return clearTimeout(o),l===`timeout`||!l||typeof l!=`object`?X:l.error||void 0}catch(e){return(e==null?void 0:e.message)||String(e)}}var Ue=class{constructor(e){g(this,`options`,void 0),g(this,`timer`,null),g(this,`running`,!1),g(this,`stopped`,!0),g(this,`current`,{data:null,loading:!1,error:null}),this.options=e}get state(){return this.current}start(){this.stop(),this.stopped=!1,this.refresh();let e=this.options.interval??30;e>0&&(this.timer=setInterval(()=>void this.refresh(),e*1e3))}stop(){this.stopped=!0,this.timer&&=(clearInterval(this.timer),null)}async refresh(){if(this.running||this.stopped)return;this.running=!0,this.update({loading:!0});let e=await Ve(this.options.socket,this.options.instanceId,this.options.timeout);this.running=!1,!this.stopped&&(e.error?e.error===`not alive`?this.update({data:null,loading:!1,error:e.error}):this.update({loading:!1,error:e.error}):this.update({data:e,loading:!1,error:null}))}async rename(e,t){let n=await He(this.options.socket,this.options.instanceId,e,t,this.options.timeout);return!n&&!this.stopped&&await this.refresh(),n}update(e){this.current={...this.current,...e},this.stopped||this.options.onChange(this.current)}},Z={2.4:`#f59e0b`,5:`#3b82f6`,6:`#8b5cf6`,LAN:`#10b981`,other:`#9ca3af`},We=13,Ge=26,Ke=16,qe=63,Je=600,Ye=63,Xe=760,Ze=480;function Qe(e){let t={onlyConfigured:!1,showDisconnected:!1,showVendor:!0,viewMode:`graph`};try{let n=JSON.parse(window.localStorage.getItem(e)||`{}`);t.onlyConfigured=!!n.onlyConfigured,t.showDisconnected=!!n.showDisconnected,t.showVendor=n.showVendor!==!1,t.viewMode=n.viewMode===`table`?`table`:`graph`}catch{}return t}function $e(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}}function Q(e,t){return e.vendor||(e.randomMac?t(`tr064_randomMac`):``)}function $(e){switch(e){case`2.4`:case`5`:case`6`:return`${e} GHz`;case`LAN`:return`LAN`;default:return``}}function et(e,t){switch(e){case Re:return{severity:`info`,text:t(`tr064_startInstance`)};case ze:return{severity:`warning`,text:t(`tr064_notConnected`)};case Be:return{severity:`warning`,text:t(`tr064_notSupported`)};case X:return{severity:`warning`,text:t(`tr064_timeout`)};default:return{severity:`warning`,text:t(`tr064_error`,e)}}}function tt(e){return e.connected&&(e.curDown||e.curUp)?`↓ ${Y(e.curDown)} / ↑ ${Y(e.curUp)}`:``}var nt=`#ef4444`;function rt(e,t,n){return De(t)===1||n===`too_far`?nt:Z[e||`other`]}function it(e){let t=De(e.rcpi);return R(`g`,{transform:`translate(${e.x}, ${e.y})`,children:[0,1,2,3].map(n=>{let r=3+n*2.5;return R(`rect`,{x:n*3.3,y:-r,width:2.4,height:r,rx:.8,fill:e.color,opacity:n<t?1:.22},n)})})}function at(e){return e===void 0?``:`${e} dBm`}function ot(e,t){return e?t(`tr064_lastSeen`,new Date(e).toLocaleString()):``}function st(e,t,n){let r=[];return((e==null?void 0:e.rcpiTo)!==void 0||(e==null?void 0:e.rcpiFrom)!==void 0)&&r.push(n(`tr064_signalTooltip`,e.rcpiTo===void 0?`–`:String(e.rcpiTo),e.rcpiFrom===void 0?`–`:String(e.rcpiFrom))),((e==null?void 0:e.rsniTo)!==void 0||(e==null?void 0:e.rsniFrom)!==void 0)&&r.push(n(`tr064_noiseTooltip`,e.rsniTo===void 0?`–`:String(e.rsniTo),e.rsniFrom===void 0?`–`:String(e.rsniFrom))),(t===`too_far`||t===`too_close`)&&r.push(n(`tr064_position_${t}`)),r}function ct(e){return R(w,{component:`span`,sx:{display:`inline-block`,flexShrink:0,width:10,height:10,borderRadius:`2px`,backgroundColor:Z[e.kind]}})}function lt(){return R(w,{sx:{display:`flex`,gap:1.5,alignItems:`center`,flexWrap:`wrap`},children:[`2.4`,`5`,`6`,`LAN`].map(e=>z(w,{sx:{display:`flex`,alignItems:`center`,gap:.5},children:[R(ct,{kind:e}),R(i,{variant:`caption`,children:$(e)})]},e))})}function ut(e,t,n,r){var i;let a=V(e.link),o=((i=e.link.state)==null?void 0:i.toUpperCase())===`CONNECTED`,s=[$(a)||e.link.type,o&&e.link.curDown?`${Y(e.link.curDown)} Mbit/s`:``].filter(Boolean).join(` · `),c=[`${e.link.interface||e.link.type} - ${r(o?`tr064_connected`:`tr064_disconnected`)}`,e.link.curDown||e.link.curUp?r(`tr064_rateTooltip`,Y(e.link.curDown),Y(e.link.curUp)):``,...st(e.link,void 0,r),o?``:ot(e.link.lastConnected,r)].filter(Boolean);return z(`g`,{children:[R(`title`,{children:c.join(`
|
|
2
|
+
`)}),R(`path`,{d:e.d,fill:`none`,stroke:Z[a],strokeWidth:2.5,strokeDasharray:o?void 0:`6 4`}),R(`text`,{x:e.labelX,y:e.labelY,fontSize:11,fill:n.palette.text.secondary,children:s})]},`edge-${t}`)}function dt(e,t,n,r){let i=t.palette,a=e.view.node,o=a?a.name||a.mac:n(`tr064_notAssigned`),s=a?n(`tr064_role_${a.role}`):``,l=a!=null&&a.model&&a.model!==a.name?a.model:``,u=a&&r.showVendor?Q(a,n):``,d=[l||u,(a==null?void 0:a.ip)||``,s].filter(Boolean).join(` · `),f=a&&a.role!==`master`&&a.mac&&r.onRename?a.uid:``,p=e.view.clients.length,m=p===1?n(`tr064_oneDevice`):p?n(`tr064_devices`,p):``,h=q(e.w-20-(m?m.length*6.2+8:0),14,!0),g=q(e.w-20,11);return z(`g`,{transform:`translate(${e.x}, ${e.y})`,children:[R(`title`,{children:[o,a==null?void 0:a.model,a?Q(a,n):``,a==null?void 0:a.mac,a==null?void 0:a.ip,f?n(`tr064_clickToRename`):``].filter(Boolean).join(`
|
|
3
|
+
`)}),R(`rect`,{width:e.w,height:e.h,rx:8,fill:i.background.paper,stroke:(a==null?void 0:a.role)===`master`?i.primary.main:i.divider,strokeWidth:(a==null?void 0:a.role)===`master`?2:1,strokeDasharray:a?void 0:`5 4`}),R(`text`,{x:10,y:24,fontSize:14,fontWeight:600,fill:i.text.primary,style:f?{cursor:`pointer`}:void 0,onClick:f?()=>r.onRename(f):void 0,children:J(o,h)}),R(`text`,{x:10,y:42,fontSize:11,fill:i.text.secondary,children:J(d,g)}),R(`text`,{x:e.w-10,y:24,fontSize:11,textAnchor:`end`,fill:i.text.secondary,children:m}),e.view.clients.map((t,a)=>{var o;let s=a%e.columns,l=Math.floor(a/e.columns),u=10+s*(e.chipW+6),d=60+l*(e.chipH+6),f=V(t.link),p=!!t.node.configured,m=t.node.configured||t.node.name||t.node.mac,h=r.showVendor?Q(t.node,n):``,g=e.chipH>=56&&!!h,_=t.connected?G(t.link):void 0,ee=Math.max($(f)?34:0,_===void 0?0:qe),v=e.chipW-47-ee-6,y=_===void 0?e.chipW-47-8:v,b=t.node.ip?`IP: ${t.node.ip}`:``,x=!g&&b&&h?b.length*5.7+10:0,S=_===void 0?``:rt(f,_,t.node.position),C=[p?n(`tr064_configuredAs`,t.node.configured):``,t.node.name,Q(t.node,n),t.node.mac,t.node.ip,t.link?t.link.interface||t.link.type:``,t.connected?n(`tr064_connected`):n(`tr064_disconnected`),t.link&&(t.link.curDown||t.link.curUp)?n(`tr064_rateTooltip`,Y(t.link.curDown),Y(t.link.curUp)):``,...t.connected?st(t.link,t.node.position,n):[],t.connected?``:ot((o=t.link)==null?void 0:o.lastConnected,n),r.onRename?n(`tr064_clickToRename`):``].filter(Boolean);return z(`g`,{transform:`translate(${u}, ${d})`,opacity:t.connected?1:p?.85:.6,style:r.onRename?{cursor:`pointer`}:void 0,onClick:r.onRename?()=>r.onRename(t.node.uid):void 0,children:[R(`title`,{children:C.join(`
|
|
4
|
+
`)}),R(`rect`,{width:e.chipW,height:e.chipH,rx:7,fill:i.action.hover,stroke:p?i.primary.main:i.divider,strokeWidth:p?2:1,strokeDasharray:t.connected?void 0:`4 3`}),R(`path`,{d:`M 7 0.5 H 7 A 6.5 6.5 0 0 0 0.5 7 V ${e.chipH-7} A 6.5 6.5 0 0 0 7 ${e.chipH-.5} V 0.5 Z`,fill:Z[f]}),R(`rect`,{x:We,y:(e.chipH-Ge)/2,width:Ge,height:Ge,rx:6,fill:c(Z[f],.14)}),R(Le,{deviceClass:t.node.deviceClass,x:18,y:(e.chipH-Ke)/2,size:Ke,color:Z[f]}),R(`text`,{x:47,y:g?19:17,fontSize:12.5,fontWeight:p?700:600,fill:p?i.primary.main:i.text.primary,children:J(m,q(v,12.5,!0))}),h?R(`text`,{x:47,y:g?34:31,fontSize:10,fontStyle:`italic`,opacity:.75,fill:i.text.secondary,children:J(h,q(y-x,10))}):null,b?R(`text`,{x:x?47+y:47,y:g?48:31,fontSize:10,textAnchor:x?`end`:`start`,fill:i.text.secondary,children:J(b,q(y,10))}):null,R(`text`,{x:e.chipW-8,y:g?19:16,fontSize:10,textAnchor:`end`,fill:i.text.secondary,children:$(f)}),_===void 0?null:z(se,{children:[R(it,{rcpi:_,x:e.chipW-8-qe,y:g?41:34,color:S}),R(`text`,{x:e.chipW-8,y:g?41:34,fontSize:10.5,textAnchor:`end`,fill:S,children:at(_)})]})]},t.node.uid)})]},`card-${(a==null?void 0:a.uid)||`unassigned`}`)}function ft(e){let{tree:t,width:n,t:r,theme:a,showVendor:o,onRename:s}=e,c=n>=Xe,u=n>=Ze,d=u?void 0:{px:1};return z(fe,{size:`small`,stickyHeader:!0,children:[R(ge,{children:z(me,{children:[R(N,{sx:d,children:r(`tr064_device`)}),u?R(N,{children:r(`tr064_accessPoint`)}):null,R(N,{sx:d,children:r(`tr064_connection`)}),u?R(N,{children:r(`tr064_state`)}):null,u?R(N,{children:r(`tr064_signal`)}):null,u?R(N,{children:r(`tr064_rate`)}):null,c?R(N,{children:r(`tr064_mac`)}):null,c?R(N,{children:r(`tr064_ip`)}):null,s?R(N,{sx:{width:40}}):null]})}),R(xe,{children:t.rows.map(e=>z(me,{sx:{opacity:e.connected?1:.6},children:[z(N,{sx:{...d,fontWeight:e.configured?700:400,color:e.configured?a.palette.primary.main:void 0,overflowWrap:`anywhere`},title:e.configured&&e.hostName!==e.name?e.hostName:void 0,children:[z(w,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[R(w,{component:Ie(e.deviceClass),sx:{fontSize:17,flex:`0 0 auto`,color:e.kind?Z[e.kind]:`text.secondary`}}),R(`span`,{children:e.name})]}),o&&Q(e,r)?R(i,{variant:`caption`,component:`div`,color:`text.secondary`,sx:{fontStyle:`italic`,opacity:.7,fontWeight:400},children:Q(e,r)}):null,u?null:R(i,{variant:`caption`,component:`div`,color:`text.secondary`,sx:{fontWeight:400},children:[e.accessPoint||r(`tr064_notAssigned`),e.connected?``:r(`tr064_disconnected`)].filter(Boolean).join(` · `)})]}),u?R(N,{children:e.accessPoint||r(`tr064_notAssigned`)}):null,R(N,{sx:{...d,whiteSpace:`nowrap`},children:e.kind?z(w,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[R(ct,{kind:e.kind}),$(e.kind)||e.type]}):null}),u?z(N,{children:[e.connected?r(`tr064_connected`):r(`tr064_disconnected`),!e.connected&&e.lastConnected?R(i,{variant:`caption`,component:`div`,color:`text.secondary`,children:ot(e.lastConnected,r)}):null]}):null,u?z(N,{sx:{whiteSpace:`nowrap`},children:[e.connected&&e.rcpi!==void 0?z(w,{sx:{display:`flex`,alignItems:`center`,gap:.75},children:[R(w,{component:`svg`,viewBox:`0 0 13 11`,sx:{width:13,height:11,flex:`0 0 auto`},children:R(it,{rcpi:e.rcpi,x:0,y:11,color:rt(e.kind,e.rcpi,e.position)})}),at(e.rcpi)]}):null,e.connected&&(e.position===`too_far`||e.position===`too_close`)?R(i,{variant:`caption`,component:`div`,color:e.position===`too_far`?`warning.main`:`text.secondary`,children:r(`tr064_position_${e.position}`)}):null]}):null,u?R(N,{sx:{whiteSpace:`nowrap`},children:tt(e)}):null,c?R(N,{sx:{fontFamily:`monospace`},children:e.mac}):null,c?R(N,{children:e.ip||``}):null,s?R(N,{sx:{...d,width:40},children:R(C,{size:`small`,title:r(`tr064_rename`),onClick:()=>s(e.uid),children:R(l,{fontSize:`small`})})}):null]},e.uid))})]})}function pt(e){let{node:t,t:r,onClose:a,onRename:o}=e,[s,c]=d(t.name||``),[u,p]=d(!1),[m,h]=d(null),g=s.trim()&&s.trim()!==t.name,_=()=>{g&&!u&&(p(!0),h(null),o(t.mac,s.trim()).then(e=>{p(!1),e?h(e):a()}))};return z(re,{open:!0,fullWidth:!0,maxWidth:`sm`,onClose:u?void 0:a,children:[R(f,{children:r(`tr064_renameTitle`)}),z(n,{children:[R(i,{variant:`body2`,color:`text.secondary`,sx:{mb:2},children:[t.mac,Q(t,r),t.ip].filter(Boolean).join(` · `)}),R(k,{fullWidth:!0,autoFocus:!0,variant:`standard`,label:r(`tr064_newName`),value:s,disabled:u,error:!!m,slotProps:{htmlInput:{maxLength:Ye}},onChange:e=>c(e.target.value),onKeyUp:e=>{e.key===`Enter`&&_()}}),R(O,{severity:`info`,sx:{mt:2},children:r(`tr064_renameHint`)}),m?R(O,{severity:`error`,sx:{mt:1},children:r(`tr064_renameFailed`,m)}):null]}),z(Ce,{children:[R(L,{disabled:u,onClick:a,children:r(`tr064_cancel`)}),R(L,{variant:`contained`,disabled:u||!g,startIcon:u?R(S,{size:16}):R(l,{}),onClick:_,children:r(`tr064_rename`)})]})]})}function mt(n){let{data:r,loading:o,error:s,onRefresh:c,onRename:l,t:u,compact:f,height:p}=n,h=n.storageKey||`tr064.meshTopology`,g=b(),v=B(()=>n.themeType&&n.themeType!==g.palette.mode?a({palette:{mode:n.themeType}}):g,[g,n.themeType]),[y,x]=d(()=>Qe(h)),te=e=>{let t={...y,...e};x(t),$e(h,t)},[ne,re]=d(null),ie=ne?((r==null?void 0:r.nodes)||[]).find(e=>e.uid===ne):void 0,ae=l&&r!=null&&r.canRename?e=>re(e):void 0,T=oe(null),[E,D]=d(0);_(()=>{let e=T.current;if(!e||(D(Math.floor(e.getBoundingClientRect().width)),typeof ResizeObserver>`u`))return;let t=new ResizeObserver(e=>{var t;let n=Math.floor(((t=e[0])==null?void 0:t.contentRect.width)||0);D(e=>e===n?e:n)});return t.observe(e),()=>t.disconnect()},[]);let k=B(()=>r?Oe(r,{onlyConfigured:y.onlyConfigured,showDisconnected:y.showDisconnected}):null,[r,y.onlyConfigured,y.showDisconnected]),A=Math.max(0,E-2),j=B(()=>{if(!k||!A)return null;let e=[...k.roots];return k.unassigned.length&&e.push({clients:k.unassigned,children:[]}),Pe(e,A,y.showVendor)},[k,A,y.showVendor]),M=!!f||E>0&&E<Je,N=p!=null&&p!==``,P={overflow:`auto`,minHeight:0,border:`1px solid ${v.palette.divider}`,borderRadius:1,...N?{flex:`1 1 auto`}:{maxHeight:`75vh`}},le=z(w,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,columnGap:M?.5:1,rowGap:.5,mb:1,flex:`0 0 auto`},children:[M?R(C,{size:`small`,title:u(`tr064_refresh`),disabled:o,onClick:()=>c(),children:o?R(S,{size:18}):R(m,{fontSize:`small`})}):R(L,{variant:`outlined`,size:`small`,startIcon:o?R(S,{size:16}):R(m,{}),disabled:o,onClick:()=>c(),children:u(`tr064_refresh`)}),[{key:`onlyConfigured`,label:u(`tr064_onlyConfigured`)},{key:`showDisconnected`,label:u(`tr064_showDisconnected`)},{key:`showVendor`,label:u(`tr064_showVendor`)}].map(e=>R(_e,{sx:M?{mr:.5,ml:0}:void 0,control:R(ee,{size:`small`,sx:M?{p:.5}:void 0,checked:y[e.key],onChange:t=>te({[e.key]:t.target.checked})}),label:R(i,{variant:M?`body2`:`body1`,children:e.label})},e.key)),z(ce,{size:`small`,exclusive:!0,value:y.viewMode,onChange:(e,t)=>t&&te({viewMode:t}),children:[R(Se,{value:`graph`,title:u(`tr064_graph`),sx:M?{p:.5}:void 0,children:R(de,{fontSize:`small`})}),R(Se,{value:`table`,title:u(`tr064_table`),sx:M?{p:.5}:void 0,children:R(e,{fontSize:`small`})})]}),R(w,{sx:{flexGrow:1}}),z(w,{sx:{display:`flex`,alignItems:`center`,flexWrap:`wrap`,columnGap:1.5,rowGap:.5},children:[R(lt,{}),r!=null&&r.ts?R(i,{variant:`caption`,color:`text.secondary`,children:u(`tr064_updated`,new Date(r.ts).toLocaleTimeString())}):null]})]}),F;if(s&&(s===`not alive`||!r)){let e=et(s,u);F=R(O,{severity:e.severity,children:e.text})}else if(!r||!k)F=z(w,{sx:{display:`flex`,alignItems:`center`,gap:1,p:2},children:[R(S,{size:20}),R(i,{children:u(`tr064_loading`)})]});else{let e=s?et(s,u):null;F=z(se,{children:[e?R(O,{severity:e.severity,sx:{mb:1,flex:`0 0 auto`},children:e.text}):null,!k.roots.length&&!k.unassigned.length?R(O,{severity:`info`,children:u(`tr064_noData`)}):y.viewMode===`table`?R(ue,{sx:P,children:R(ft,{tree:k,width:A,t:u,theme:v,showVendor:y.showVendor,onRename:ae})}):R(w,{sx:{...P,backgroundColor:v.palette.background.default},children:j?z(`svg`,{width:j.width,height:j.height,style:{display:`block`,fontFamily:v.typography.fontFamily},children:[j.edges.map((e,t)=>ut(e,t,v,u)),j.cards.map(e=>dt(e,v,u,{showVendor:y.showVendor,onRename:ae}))]}):null})]})}let I=z(w,{ref:T,sx:{width:`100%`,minWidth:0,display:`flex`,flexDirection:`column`,...N?{height:p}:{}},children:[le,F,ie&&l?R(pt,{node:ie,t:u,onClose:()=>re(null),onRename:l}):null]});return v===g?I:R(t,{theme:v,children:I})}var ht=class e extends we{constructor(e){super(e),g(this,`loader`,null),this.state={...this.state,data:null,loading:!1,error:null}}async componentDidMount(){await super.componentDidMount(),this.loader=new Ue({socket:this.props.oContext.socket,instanceId:`${this.props.oContext.adapterName}.${this.props.oContext.instance}`,onChange:e=>this.setState(e)}),this.loader.start()}componentWillUnmount(){var e;(e=this.loader)==null||e.stop(),this.loader=null,super.componentWillUnmount()}renderItem(t,n,r){return R(mt,{data:this.state.data,loading:this.state.loading,error:this.state.error,onRefresh:()=>{var e;(e=this.loader)==null||e.refresh()},onRename:async(e,t)=>this.loader?this.loader.rename(e,t):`not alive`,t:e.t,themeType:this.props.oContext.themeType===`dark`?`dark`:`light`,storageKey:`tr064.meshTopology`})}};g(ht,`t`,(e,...t)=>M.t(e,...t));export{ht as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./vite-preload-helper-DjNwdemH.js";import"./dist-DaURp8MG.js";var t=e=>{let t=e;for(let e=0;e<5;e++){let e=t==null?void 0:t.default;if(!e||typeof e!=`object`||Object.keys(e).length===0)break;let n=Object.getPrototypeOf(e);if(n!==null&&n!==Object.prototype)break;let r=Object.keys(t).filter(e=>e!=="default").map(e=>t[e]);if(r.length>0&&r.some(e=>e!==void 0))break;t=e}return t},n=(e,t,n,r)=>{var i,a;let o=(i=globalThis.__mf_module_cache__)==null?void 0:i.share,s=t.map(e=>o==null?void 0:o[e]).find(e=>e!==void 0),c=e=>{let t=String(e||``).split(/[^0-9]+/).map(Number),r=String(n||``).split(/[^0-9]+/).map(Number);for(let e=0;e<Math.max(t.length,r.length);e++){if((t[e]||0)<(r[e]||0))return!0;if((t[e]||0)>(r[e]||0))return!1}return!1};if(!c((s==null?void 0:s.version)??(s==null||(a=s.default)==null?void 0:a.version)))for(let t of e){var l,u;let e=o==null?void 0:o[t];if(e===void 0)continue;let n=(e==null?void 0:e.version)??(e==null||(l=e.default)==null?void 0:l.version);if(!(n!==void 0&&c(n))&&(!r||typeof(e==null?void 0:e[r])==`function`||typeof(e==null||(u=e.default)==null?void 0:u[r])==`function`))return e}},r={react:async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js`).then(e=>e.Wi),[],import.meta.url),"react/jsx-runtime":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-B_v57Qfr.js`),[],import.meta.url),"react-dom":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js`).then(e=>e.zr),[],import.meta.url),"react-dom/client":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild__react_mf_2_dom_mf_1_client__prebuild__-BInMjdwk.js`),[],import.meta.url),"@mui/material":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js`).then(e=>e.gr),[],import.meta.url),"@mui/icons-material":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js`).then(e=>e.an),[],import.meta.url),"@iobroker/gui-components":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DdhKfc_O.js`).then(e=>e.b),[],import.meta.url),"@iobroker/json-config":async()=>await e(()=>import(`./_virtual_mf___mfe_internal__ConfigCustomTr064Set__mf_owner__259378411809170__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-DEVnYCRU.js`),[],import.meta.url)},i={react:{name:`react`,version:`19.3.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i.react;return e.lib?e.lib:(e.loading||=(async()=>{try{let{react:n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react/jsx-runtime":{name:`react/jsx-runtime`,version:`19.3.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`react/jsx-runtime`];if(e.lib)return e.lib;if(e.loading)return e.loading;let a=n([`default:react/jsx-runtime`,`react/jsx-runtime`],[`default:react`,`react`],`19.3.0`,void 0);return a===void 0?(e.loading=(async()=>{try{let{"react/jsx-runtime":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading):(e.lib=function(){return a},e.loaded=!0,e.lib)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react-dom":{name:`react-dom`,version:`19.3.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`react-dom`];return e.lib?e.lib:(e.loading||=(async()=>{try{let{"react-dom":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"react-dom/client":{name:`react-dom/client`,version:`19.3.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`react-dom/client`];if(e.lib)return e.lib;if(e.loading)return e.loading;let a=n([`default:react-dom/client`,`react-dom/client`,`default:react-dom`,`react-dom`],[`default:react`,`react`],`19.3.0`,`createRoot`);return a===void 0?(e.loading=(async()=>{try{let{"react-dom/client":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading):(e.lib=function(){return a},e.loaded=!0,e.lib)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@mui/material":{name:`@mui/material`,version:`9.4.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`@mui/material`];return e.lib?e.lib:(e.loading||=(async()=>{try{let{"@mui/material":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@mui/icons-material":{name:`@mui/icons-material`,version:`9.4.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`@mui/icons-material`];return e.lib?e.lib:(e.loading||=(async()=>{try{let{"@mui/icons-material":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@iobroker/gui-components":{name:`@iobroker/gui-components`,version:`10.3.9`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`@iobroker/gui-components`];return e.lib?e.lib:(e.loading||=(async()=>{try{let{"@iobroker/gui-components":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}},"@iobroker/json-config":{name:`@iobroker/json-config`,version:`10.1.0`,scope:[`default`],loaded:!1,materialize:!0,eager:!1,from:`ConfigCustomTr064Set`,canLiveRebind:!0,get(){let e=i[`@iobroker/json-config`];return e.lib?e.lib:(e.loading||=(async()=>{try{let{"@iobroker/json-config":n}=r,i=t({...await n()});return i.__esModule!==!0&&Object.defineProperty(i,"__esModule",{value:!0,enumerable:!1}),e.lib=function(){return i},e.loaded=!0,e.lib}finally{e.loading=void 0}})(),e.loading)},shareConfig:{singleton:!0,requiredVersion:`*`,strictVersion:!1,eager:!1}}},a=[];export{a as usedRemotes,i as usedShared};
|