iobroker.assistant 1.1.0 → 1.3.0

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.
Files changed (81) hide show
  1. package/README.md +74 -1
  2. package/admin/custom/.vite/manifest.json +62 -62
  3. package/admin/custom/assets/Components-x2Dfv8qE.js +2 -0
  4. package/admin/custom/assets/{_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-A4gakomR.js → _virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-B4YbqhBb.js} +1 -1
  5. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js} +1 -1
  6. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js} +39 -39
  7. package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared-BxjZmnpc.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared--be2hWbV.js} +1 -1
  8. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-BsTz_EWE.js +122 -0
  9. package/admin/custom/assets/{hostInit-4roC4hEj.js → hostInit-Blh7a-Qe.js} +1 -1
  10. package/admin/custom/assets/{lib-CchzgTUs.js → lib-DBbNtolG.js} +1 -1
  11. package/admin/custom/assets/{mf-entry-bootstrap-0-4806bbe4.js → mf-entry-bootstrap-0-7abd30d3.js} +2 -2
  12. package/admin/custom/assets/{pendingShares-DLlv8yFY.js → pendingShares-U0D1MYK4.js} +1 -1
  13. package/admin/custom/customComponents.js +2 -2
  14. package/admin/custom/i18n/de.json +56 -0
  15. package/admin/custom/i18n/en.json +56 -0
  16. package/admin/custom/i18n/es.json +56 -0
  17. package/admin/custom/i18n/fr.json +56 -0
  18. package/admin/custom/i18n/it.json +56 -0
  19. package/admin/custom/i18n/nl.json +56 -0
  20. package/admin/custom/i18n/pl.json +56 -0
  21. package/admin/custom/i18n/pt.json +56 -0
  22. package/admin/custom/i18n/ru.json +56 -0
  23. package/admin/custom/i18n/uk.json +56 -0
  24. package/admin/custom/i18n/zh-cn.json +56 -0
  25. package/admin/custom/index.html +2 -2
  26. package/admin/custom/mf-manifest.json +1 -1
  27. package/admin/custom/mf-stats.json +1 -1
  28. package/admin/i18n/de.json +31 -4
  29. package/admin/i18n/en.json +31 -4
  30. package/admin/i18n/es.json +31 -4
  31. package/admin/i18n/fr.json +31 -4
  32. package/admin/i18n/it.json +31 -4
  33. package/admin/i18n/nl.json +31 -4
  34. package/admin/i18n/pl.json +31 -4
  35. package/admin/i18n/pt.json +31 -4
  36. package/admin/i18n/ru.json +31 -4
  37. package/admin/i18n/uk.json +31 -4
  38. package/admin/i18n/zh-cn.json +31 -4
  39. package/admin/jsonConfig.json +226 -15
  40. package/build/lib/credentials.js +11 -5
  41. package/build/lib/credentials.js.map +1 -1
  42. package/build/lib/journal.js +298 -2
  43. package/build/lib/journal.js.map +1 -1
  44. package/build/lib/llm.js +122 -7
  45. package/build/lib/llm.js.map +1 -1
  46. package/build/lib/localLlm.js +47 -10
  47. package/build/lib/localLlm.js.map +1 -1
  48. package/build/lib/nlu.js +372 -13
  49. package/build/lib/nlu.js.map +1 -1
  50. package/build/lib/piAgent.js +89 -0
  51. package/build/lib/piAgent.js.map +1 -0
  52. package/build/lib/systemAi.js +124 -0
  53. package/build/lib/systemAi.js.map +1 -0
  54. package/build/lib/tools.js +3 -0
  55. package/build/lib/tools.js.map +1 -1
  56. package/build/lib/voice/engines.js +31 -3
  57. package/build/lib/voice/engines.js.map +1 -1
  58. package/build/lib/voice/esphome.js +81 -7
  59. package/build/lib/voice/esphome.js.map +1 -1
  60. package/build/lib/voice/esphomeProto.js.map +1 -1
  61. package/build/lib/voice/mediaServer.js +29 -1
  62. package/build/lib/voice/mediaServer.js.map +1 -1
  63. package/build/lib/voice/openrouter.js +220 -0
  64. package/build/lib/voice/openrouter.js.map +1 -0
  65. package/build/lib/voice/protocol.js.map +1 -1
  66. package/build/lib/voice/voiceServer.js +81 -7
  67. package/build/lib/voice/voiceServer.js.map +1 -1
  68. package/build/lib/voice/wakeWords.js +284 -0
  69. package/build/lib/voice/wakeWords.js.map +1 -0
  70. package/build/lib/voice/wyoming.js +12 -4
  71. package/build/lib/voice/wyoming.js.map +1 -1
  72. package/build/lib/weather.js +160 -0
  73. package/build/lib/weather.js.map +1 -1
  74. package/build/main.js +1282 -126
  75. package/build/main.js.map +1 -1
  76. package/io-package.json +53 -41
  77. package/package.json +5 -5
  78. package/admin/custom/assets/Components-C6qcpaRC.js +0 -1
  79. package/admin/custom/assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-TM4l0OYm.js +0 -122
  80. /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js} +0 -0
  81. /package/admin/custom/assets/{_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-M61rjtmp.js → _virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-M61rjtmp.js} +0 -0
package/README.md CHANGED
@@ -167,6 +167,59 @@ each one shows up under `assistant.0.satellites.*` like any other.
167
167
  > Developed against the ThirdReality speaker's firmware sources and covered by a loopback test
168
168
  > against a fake device; feedback from real hardware is welcome.
169
169
 
170
+ ### Wake words: which model for which satellite
171
+
172
+ The wake word is always detected **on the satellite**, so the model format depends on the satellite
173
+ type. There are two model families, and both can come as `.tflite` — they are **not interchangeable**:
174
+ a model trained for one does not run on the other. To use the same phrase on both kinds of satellites,
175
+ train it twice.
176
+
177
+ | Satellite | Engine | Custom model | Where it goes |
178
+ |-----------------------------------------------------------------------------------|------------------------------------------------------------|-----------------------------------------------------------------------|-----------------------------------------------------------------------------------|
179
+ | ESPHome (ThirdReality speaker) | [microWakeWord](https://github.com/kahrendt/microWakeWord) | `.tflite`, optionally with its `.json` | this adapter: **Satellites** tab → ⚙ → *Upload own wake word* |
180
+ | Native satellite (`assistant-satellite` adapter, `@iobroker/assistant-satellite`) | [openWakeWord](https://github.com/dscripka/openWakeWord) | one self-contained `.onnx` | the satellite's settings: upload, then pick it in `wakewordModel` (or a URL/path) |
181
+ | Hannah Pi satellite (UDP) | openWakeWord | `.onnx` (`.tflite` only with `inference_framework: tflite` on armv7l) | `--wakeword-model <path>` |
182
+ | Wyoming clients | whatever the client runs | — | on the client; not managed by this adapter |
183
+
184
+ **microWakeWord (ESPHome)**
185
+
186
+ - The model takes 40 spectrogram features per frame: input `[1, n, 40]`, **quantized** (int8 in, uint8
187
+ out) — like the official models in
188
+ [esphome/micro-wake-word-models](https://github.com/esphome/micro-wake-word-models).
189
+ - Train your own with microWakeWord's `notebooks/basic_training_notebook.ipynb` (Python 3.10, a GPU
190
+ helps a lot). The result is
191
+ `trained_models/wakeword/tflite_stream_state_internal_quant/stream_state_internal_quant.tflite` —
192
+ rename it after the phrase, e.g. `vita_nova.tflite` becomes "Vita Nova".
193
+ - The `.json` is optional. Without it the adapter takes the phrase from the file name, the language from
194
+ `voiceLanguage`, the cutoff `0.97` and a sliding window of `5`. Provide one to set a different
195
+ `micro.probability_cutoff`:
196
+
197
+ ```json
198
+ {
199
+ "type": "micro",
200
+ "wake_word": "Vita Nova",
201
+ "model": "vita_nova.tflite",
202
+ "trained_languages": ["de"],
203
+ "version": 2,
204
+ "micro": { "probability_cutoff": 0.97, "sliding_window_size": 5 }
205
+ }
206
+ ```
207
+
208
+ - The upload checks the model and rejects anything the device cannot run, with the reason — an
209
+ openWakeWord model is named as such.
210
+ - The device downloads the model from the media server when you **activate** the chip; at most two wake
211
+ words are active at a time. A downloaded model stays on the device (the API cannot delete it).
212
+ A device whose firmware does not take external wake words does not list the uploaded one.
213
+
214
+ **openWakeWord (native and Hannah satellites)**
215
+
216
+ - The model takes speech embeddings of 96 values, e.g. input `[1, 16, 96]`, float — which is why it
217
+ does not run on ESPHome devices.
218
+ - openWakeWord's training notebook exports `.onnx` and `.tflite`. The native satellite needs the
219
+ `.onnx` as **one** file — a model split into `.onnx` + `.onnx.data` is not supported.
220
+ - Built into the native satellite: `hey_jarvis`, `alexa`, `hey_mycroft`, `hey_rhasspy`; up to three
221
+ wake words at once.
222
+
170
223
  ## Roadmap
171
224
 
172
225
  1. **Text assistant (done)** — LLM + tool-calling over ioBroker states.
@@ -182,8 +235,28 @@ each one shows up under `assistant.0.satellites.*` like any other.
182
235
  Placeholder for the next version (at the beginning of the line):
183
236
  ### **WORK IN PROGRESS**
184
237
  -->
238
+ ### 1.3.0 (2026-10-28)
239
+ * (@GermanBluefox) Commands for later: "turn off the light in 2 hours" or "blinds to 50 % at 10 pm" becomes an event in the calendar (fullcalendar adapter) instead of running now; the AI can plan, list and cancel events. Before, the rule engine switched such commands at once. Needs a fullcalendar version with the new event API (after 3.0.5)
240
+ * (@GermanBluefox) Settings: the state of a presence row is picked with the object browser, the kind of a presence row or announcement target is a dropdown
241
+ * (@GermanBluefox) New provider "System-wide AI settings (admin)", the default for new instances: provider, model and key come from the AI settings of the admin system settings, a change there restarts the instance. An instance without a key of its own takes them too
242
+ * (@GermanBluefox) New provider OpenRouter
243
+ * (@GermanBluefox) OpenRouter for speech recognition and voice: one key for the speech models of many vendors (Whisper, Deepgram, ElevenLabs, Gemini TTS, …), models and voices are listed in the settings (default voice model: ElevenLabs Flash v2.5)
244
+ * (@GermanBluefox) Voice test on the Voice tab: speak a test sentence, and test speech recognition with the browser microphone, an audio file or a round trip, all with the unsaved settings
245
+ * (@GermanBluefox) "Confirm switch commands with a tone" now also covers commands the AI (or pi-agent) carried out
246
+ * (@GermanBluefox) Spelled-out numbers up to 100 in commands ("Lautstärke auf fünfzig Prozent", "twenty five percent", "двадцать пять процентов"), and the AI sees the volume of each voice satellite, so it no longer turns up a media device of the room instead
247
+ * (@GermanBluefox) New provider "Adapter pi-agent": the durable agent of the pi-agent adapter answers what the local tiers cannot, with one conversation per satellite/chat
248
+
249
+ ### 1.2.0 (2026-10-26)
250
+ * (@GermanBluefox) Own wake words for ESPHome satellites: upload a microWakeWord model in the satellite settings, the device downloads it when it is activated. Models the device cannot run (e.g. openWakeWord) are rejected on upload with the reason
251
+ * (@GermanBluefox) Voice answers come faster: the device list for the offline rule engine is built once and shared for a minute instead of up to three times per spoken command
252
+ * (@GermanBluefox) The local LLM is now the fallback for when the cloud LLM fails; "Ask the local model first" restores the old order. It is stopped after a configurable timeout, answers shorter and leaves one CPU core free
253
+ * (@GermanBluefox) When an answer asks back, UDP satellites now keep the microphone open for the reply too (needs `@iobroker/assistant-satellite` 0.2.0)
254
+ * (@GermanBluefox) "Louder", "quieter", "volume 5" change the volume of the satellite that heard it - ESPHome, ioBroker-native and UDP satellites
255
+ * (@GermanBluefox) "How's the weather tomorrow?" is answered from the weather adapter without an LLM
256
+ * (@GermanBluefox) Fixed: Russian questions with "будет" ("will it be …") were taken for alarm queries
257
+
185
258
  ### 1.1.0 (2026-10-25)
186
- * (@GermanBluefox) YouTube on the TV: "play the channel Sailing OceanAir" finds the channel, video or playlist on YouTube (no API key needed), switches the TV on if it is off and plays it over the youtube-remote adapter. The players are set in a table in the settings; the first one is used when no player is named. Pause, skip, volume and "what is playing" work too
259
+ * (@GermanBluefox) YouTube on the TV: "play the channel XY" finds the channel, video or playlist on YouTube (no API key needed)
187
260
 
188
261
  ### 1.0.3 (2026-10-23)
189
262
  * (@GermanBluefox) The Chat tab now shows every request of the last hours live - from satellites, Telegram, scripts and the chat itself - with the satellite, the detected wake word, which stage answered (rule-based NLU, routine, local LLM, cloud LLM), the tool calls and the state ids that were read and written. How many hours are kept is set in the settings (0 = record nothing)
@@ -1,44 +1,44 @@
1
1
  {
2
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js": {
3
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
4
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js",
2
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js": {
3
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
4
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js",
5
5
  "imports": [
6
6
  "_rolldown-runtime-COiEfhsA.js"
7
7
  ]
8
8
  },
9
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js": {
10
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js",
11
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js",
9
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js": {
10
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js",
11
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js",
12
12
  "imports": [
13
13
  "_rolldown-runtime-COiEfhsA.js",
14
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js"
14
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js"
15
15
  ]
16
16
  },
17
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js": {
18
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js",
19
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js",
17
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js": {
18
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js",
19
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js",
20
20
  "imports": [
21
21
  "_rolldown-runtime-COiEfhsA.js",
22
22
  "_vite-preload-helper-BbbETgeG.js",
23
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
24
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js"
23
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
24
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js"
25
25
  ],
26
26
  "dynamicImports": [
27
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
27
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
28
28
  "node_modules/@sentry/browser/build/npm/esm/prod/index.js",
29
29
  "node_modules/@iobroker/gui-components/build/Components/IconLibrary/iconLibraryData.js"
30
30
  ]
31
31
  },
32
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared-BxjZmnpc.js": {
33
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared-BxjZmnpc.js",
34
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared",
32
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared--be2hWbV.js": {
33
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared--be2hWbV.js",
34
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared",
35
35
  "imports": [
36
36
  "_rolldown-runtime-COiEfhsA.js",
37
37
  "_vite-preload-helper-BbbETgeG.js",
38
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js"
38
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js"
39
39
  ],
40
40
  "dynamicImports": [
41
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
41
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
42
42
  ]
43
43
  },
44
44
  "_dist-B3E7IYuQ.js": {
@@ -86,26 +86,26 @@
86
86
  "isDynamicEntry": true
87
87
  },
88
88
  "node_modules/react-qr-code/lib/index.mjs": {
89
- "file": "assets/lib-CchzgTUs.js",
89
+ "file": "assets/lib-DBbNtolG.js",
90
90
  "name": "lib",
91
91
  "src": "node_modules/react-qr-code/lib/index.mjs",
92
92
  "isDynamicEntry": true,
93
93
  "imports": [
94
94
  "_rolldown-runtime-COiEfhsA.js",
95
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
96
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js"
95
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
96
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js"
97
97
  ]
98
98
  },
99
99
  "src/Components.tsx": {
100
- "file": "assets/Components-C6qcpaRC.js",
100
+ "file": "assets/Components-x2Dfv8qE.js",
101
101
  "name": "Components",
102
102
  "src": "src/Components.tsx",
103
103
  "isEntry": true,
104
104
  "imports": [
105
105
  "_rolldown-runtime-COiEfhsA.js",
106
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
107
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js",
108
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared-BxjZmnpc.js"
106
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
107
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js",
108
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared--be2hWbV.js"
109
109
  ]
110
110
  },
111
111
  "virtual:mf-REMOTE_ENTRY_ID:__mfe_internal__ConfigCustomAssistant__customComponents_js": {
@@ -123,7 +123,7 @@
123
123
  ]
124
124
  },
125
125
  "virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomAssistant__mf_owner__1": {
126
- "file": "assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-A4gakomR.js",
126
+ "file": "assets/_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1-B4YbqhBb.js",
127
127
  "name": "_virtual_mf-localSharedImportMap___mfe_internal__ConfigCustomAssistant__mf_owner__1",
128
128
  "src": "virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomAssistant__mf_owner__1",
129
129
  "isDynamicEntry": true,
@@ -132,15 +132,40 @@
132
132
  "_vite-preload-helper-BbbETgeG.js"
133
133
  ],
134
134
  "dynamicImports": [
135
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
136
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
137
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js",
138
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js",
139
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
135
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
136
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
137
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js",
138
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js",
139
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js"
140
+ ]
141
+ },
142
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js": {
143
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-BsTz_EWE.js",
144
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__",
145
+ "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js",
146
+ "isDynamicEntry": true,
147
+ "imports": [
148
+ "_rolldown-runtime-COiEfhsA.js",
149
+ "_dist-B3E7IYuQ.js",
150
+ "_vite-preload-helper-BbbETgeG.js",
151
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
152
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js"
153
+ ],
154
+ "dynamicImports": [
155
+ "node_modules/react-qr-code/lib/index.mjs"
156
+ ]
157
+ },
158
+ "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js": {
159
+ "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-M61rjtmp.js",
160
+ "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__",
161
+ "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
162
+ "isDynamicEntry": true,
163
+ "imports": [
164
+ "_rolldown-runtime-COiEfhsA.js"
140
165
  ]
141
166
  },
142
167
  "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__1__H_A_I__hostAutoInit__H_A_I__.js": {
143
- "file": "assets/hostInit-4roC4hEj.js",
168
+ "file": "assets/hostInit-Blh7a-Qe.js",
144
169
  "name": "hostInit",
145
170
  "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__1__H_A_I__hostAutoInit__H_A_I__.js",
146
171
  "imports": [
@@ -153,43 +178,18 @@
153
178
  ]
154
179
  },
155
180
  "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__1__P_S__pendingShares__P_S__.js": {
156
- "file": "assets/pendingShares-DLlv8yFY.js",
181
+ "file": "assets/pendingShares-U0D1MYK4.js",
157
182
  "name": "pendingShares",
158
183
  "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__1__P_S__pendingShares__P_S__.js",
159
184
  "imports": [
160
185
  "_vite-preload-helper-BbbETgeG.js"
161
186
  ],
162
187
  "dynamicImports": [
163
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
164
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js",
165
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-CwqmfMvn.js",
166
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare__shared-BxjZmnpc.js",
188
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
189
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-o4EU_Ut5.js",
190
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare___mf_0_emotion_mf_1_styled__loadShare__.js-IaosaymG.js",
191
+ "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__163539842885036__loadShare__shared--be2hWbV.js",
167
192
  "virtual:mf-localSharedImportMap:__mfe_internal__ConfigCustomAssistant__mf_owner__1"
168
193
  ]
169
- },
170
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js": {
171
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__-TM4l0OYm.js",
172
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__",
173
- "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild___mf_0_iobroker_mf_1_json_mf_2_config__prebuild__.js",
174
- "isDynamicEntry": true,
175
- "imports": [
176
- "_rolldown-runtime-COiEfhsA.js",
177
- "_dist-B3E7IYuQ.js",
178
- "_vite-preload-helper-BbbETgeG.js",
179
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-BkH7fzDw.js",
180
- "__virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-BMuLYe6f.js"
181
- ],
182
- "dynamicImports": [
183
- "node_modules/react-qr-code/lib/index.mjs"
184
- ]
185
- },
186
- "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js": {
187
- "file": "assets/_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__-M61rjtmp.js",
188
- "name": "_virtual_mf___mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__",
189
- "src": "virtual:mf:__mfe_internal__ConfigCustomAssistant__mf_owner__201375093093590__prebuild__react_mf_1_jsx_mf_2_runtime__prebuild__.js",
190
- "isDynamicEntry": true,
191
- "imports": [
192
- "_rolldown-runtime-COiEfhsA.js"
193
- ]
194
194
  }
195
195
  }