iobroker.utility-monitor 1.4.5 → 1.5.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 (35) hide show
  1. package/README.md +159 -44
  2. package/admin/custom/.vite/manifest.json +90 -0
  3. package/admin/custom/@mf-types/Components.d.ts +2 -0
  4. package/admin/custom/@mf-types/compiled-types/Components/CSVImporter.d.ts +11 -0
  5. package/admin/custom/@mf-types/compiled-types/Components.d.ts +2 -0
  6. package/admin/custom/@mf-types.d.ts +3 -0
  7. package/admin/custom/@mf-types.zip +0 -0
  8. package/admin/custom/CSVImporter_v15_11.js +4415 -0
  9. package/admin/custom/assets/Components-i0AZ59nl.js +18887 -0
  10. package/admin/custom/assets/UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js +42 -0
  11. package/admin/custom/assets/UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js +16 -0
  12. package/admin/custom/assets/_commonjsHelpers-Dj2_voLF.js +30 -0
  13. package/admin/custom/assets/hostInit-DEXfeB0W.js +10 -0
  14. package/admin/custom/assets/index-B3WVNJTz.js +401 -0
  15. package/admin/custom/assets/index-VBwl8x_k.js +64 -0
  16. package/admin/custom/assets/preload-helper-BelkbqnE.js +61 -0
  17. package/admin/custom/assets/virtualExposes-CqCLUNLT.js +19 -0
  18. package/admin/custom/index.html +12 -0
  19. package/admin/custom/mf-manifest.json +1 -0
  20. package/admin/jsonConfig.json +219 -35
  21. package/io-package.json +51 -2
  22. package/lib/billingManager.js +276 -170
  23. package/lib/calculator.js +19 -138
  24. package/lib/consumptionManager.js +48 -331
  25. package/lib/importManager.js +300 -0
  26. package/lib/messagingHandler.js +112 -49
  27. package/lib/meter/MeterRegistry.js +110 -0
  28. package/lib/multiMeterManager.js +410 -181
  29. package/lib/stateManager.js +508 -36
  30. package/lib/utils/billingHelper.js +69 -0
  31. package/lib/utils/consumptionHelper.js +47 -0
  32. package/lib/utils/helpers.js +178 -0
  33. package/lib/utils/typeMapper.js +19 -0
  34. package/main.js +99 -36
  35. package/package.json +10 -4
package/README.md CHANGED
@@ -21,8 +21,10 @@ Monitor gas, water, and electricity consumption with automatic cost calculation,
21
21
  - 🔄 **Flexible Sensoren** - Nutzt vorhandene Sensoren (Shelly, Tasmota, Homematic, etc.)
22
22
  - ⚡ **HT/NT-Tarife** - Volle Unterstützung für Hoch- und Nebentarife (Tag/Nacht)
23
23
  - 🔄 **Gas-Spezial** - Automatische Umrechnung von m³ in kWh
24
- - 🕛 **Automatische Resets** - Täglich, monatlich und jährlich (Vertragsjubiläum)
24
+ - 🕛 **Automatische Resets** - Täglich, wöchentlich, monatlich und jährlich (Vertragsjubiläum)
25
25
  - 🔔 **Intelligente Benachrichtigungen** - Getrennte Erinnerungen für Abrechnungsende (Zählerstand) und Vertragswechsel (Tarif-Check) mit einstellbaren Vorlaufzeiten
26
+ - � **Wöchentliche Auswertung** _(NEU in 1.5.0)_ - Verfolge deinen Verbrauch auch auf Wochenbasis
27
+ - �📥 **CSV Import** _(NEU in 1.5.0)_ - Importiere historische Zählerstände einfach per Drag-and-Drop
26
28
  - ⌨️ **Komma-Support** - Admin UI akzeptiert `12,50` oder `12.50` für Dezimalzahlen
27
29
 
28
30
  ---
@@ -61,22 +63,94 @@ Gefällt dir dieser Adapter? Du kannst mich gerne mit einem Kaffee unterstützen
61
63
 
62
64
  ---
63
65
 
66
+ ## ⚠️ Breaking Changes in Version 1.4.6
67
+
68
+ **WICHTIG:** Version 1.4.6 ändert die State-Struktur grundlegend!
69
+
70
+ ### Was hat sich geändert?
71
+
72
+ **Vorher (bis 1.4.5):**
73
+
74
+ ```
75
+ gas.consumption.daily
76
+ gas.costs.monthly
77
+ wasser.consumption.daily
78
+ ```
79
+
80
+ **Jetzt (ab 1.4.6):**
81
+
82
+ ```
83
+ gas.main.consumption.daily ← Hauptzähler mit Namen "main"
84
+ gas.main.costs.monthly
85
+ wasser.main.consumption.daily
86
+ ```
87
+
88
+ ### 🔧 Migration erforderlich
89
+
90
+ 1. **Config öffnen**: Neue Felder "Name des Hauptzählers" für Gas/Wasser/Strom/PV
91
+ 2. **Namen eingeben**: Standard ist "main" (empfohlen), oder eigener Name wie "wohnung", "haus"
92
+ 3. **Skripte anpassen**: Alle Verweise auf States müssen angepasst werden
93
+
94
+ ```javascript
95
+ // Alt:
96
+ getState('utility-monitor.0.gas.consumption.daily');
97
+
98
+ // Neu:
99
+ getState('utility-monitor.0.gas.main.consumption.daily');
100
+ ```
101
+
102
+ 4. **Visualisierungen updaten**: VIS, Grafana, etc. auf neue Pfade anpassen
103
+
104
+ ### 💡 Warum diese Änderung?
105
+
106
+ - **Konsistenz**: Alle Zähler (Haupt + Zusätzlich) verwenden jetzt die gleiche Struktur
107
+ - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "erdgeschoss", "gesamt")
108
+ - **Klarheit**: Keine Special-Case Logik mehr im Code
109
+ - **Multi-Meter**: Bessere Unterstützung für mehrere Zähler pro Typ
110
+ - **CSV Import**: Einfaches Nachpflegen von historischen Daten via Drag-and-Drop im Admin-Interface
111
+
112
+ ---
113
+
114
+ ## 📥 CSV Import (v1.5.0)
115
+
116
+ Der neue Import-Tab ermöglicht es dir, historische Zählerstände bequem hochzuladen.
117
+
118
+ ### Unterstützte Formate
119
+
120
+ - **Generic CSV**: Datum (DD.MM.YYYY), Zählerstand
121
+ - **EhB+ App**: Direkter Import aus der EhB+ App möglich
122
+
123
+ ### So funktioniert's
124
+
125
+ 1. Gehe zum Tab **Import**
126
+ 2. Wähle den **Zählertyp** (Gas/Wasser/Strom) und den **Zähler** aus
127
+ 3. Ziehe deine CSV-Datei in das Upload-Feld
128
+ 4. Klicke auf **Daten importieren**
129
+
130
+ ---
131
+
64
132
  ## 📊 Datenpunkte erklärt
65
133
 
66
134
  Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner angelegt:
67
135
 
136
+ **Wichtig:** Seit Version 1.4.6 beinhalten alle Pfade den Zähler-Namen (z.B. `gas.main.*` statt `gas.*`)
137
+
68
138
  ### 🗂️ **consumption** (Verbrauch)
69
139
 
70
140
  | Datenpunkt | Beschreibung | Beispiel |
71
141
  | --------------- | ----------------------------------------------------- | ---------------- |
72
142
  | `daily` | Verbrauch **heute** (seit 00:00 Uhr) | 12,02 kWh |
73
143
  | `dailyVolume` | Verbrauch heute in m³ | 1,092 m³ |
144
+ | `weekly` | Verbrauch **diese Woche** (seit Montag) | 84,12 kWh |
145
+ | `weeklyVolume` | Wöchentlicher Verbrauch in m³ | 7,65 m³ |
74
146
  | `monthly` | Verbrauch **diesen Monat** (seit 1. des Monats) | 117,77 kWh |
75
147
  | `monthlyVolume` | Monatlicher Verbrauch in m³ | 10,69 m³ |
76
148
  | `yearly` | Verbrauch **seit Vertragsbeginn** (this billing year) | 730,01 kWh |
77
149
  | `yearlyVolume` | Jahresverbrauch in m³ | 66,82 m³ |
78
150
  | `dailyHT` | Tagesverbrauch im **Haupttarif** (HT) | 8,40 kWh |
79
151
  | `dailyNT` | Tagesverbrauch im **Nebentarif** (NT) | 3,62 kWh |
152
+ | `weeklyHT` | Wochenverbrauch im HT | 58,15 kWh |
153
+ | `weeklyNT` | Wochenverbrauch im NT | 25,62 kWh |
80
154
  | `monthlyHT` | Monatsverbrauch im HT | 82,15 kWh |
81
155
  | `monthlyNT` | Monatsverbrauch im NT | 35,62 kWh |
82
156
  | `yearlyHT` | Jahresverbrauch im HT | 511,00 kWh |
@@ -91,16 +165,16 @@ Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner
91
165
 
92
166
  ### 💰 **costs** (Kosten)
93
167
 
94
- | Datenpunkt | Was ist das? | Berechnung | Beispiel |
95
- | ------------- | ------------------------------------------------------------- | ------------------------------------------ | ------------------------------ |
96
- | `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
97
- | `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
98
- | `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
99
- | `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 212,64 € |
100
- | `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate | 15,03 € |
101
- | `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config) | 60,00 € |
102
- | `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
103
- | `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal | **+62,64 €**<br>→ Nachzahlung! |
168
+ | Datenpunkt | Was ist das? | Berechnung | Beispiel |
169
+ | ------------- | ------------------------------------------------------------- | ------------------------------------- | ------------------------------ |
170
+ | `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
171
+ | `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
172
+ | `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
173
+ | `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 212,64 € |
174
+ | `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate | 15,03 € |
175
+ | `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config) | 60,00 € |
176
+ | `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
177
+ | `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal | **+62,64 €**<br>→ Nachzahlung! |
104
178
 
105
179
  #### 🔍 **balance** genauer erklärt:
106
180
 
@@ -142,7 +216,11 @@ Balance: +62,64 € → Nachzahlung
142
216
  | ---------------- | ------------------------------------ |
143
217
  | `averageDaily` | Durchschnittlicher Tagesverbrauch |
144
218
  | `averageMonthly` | Durchschnittlicher Monatsverbrauch |
219
+ | `lastDay` | Verbrauch **gesten** (Vortag) |
220
+ | `lastWeek` | Verbrauch **letzte Woche** |
221
+ | `lastMonth` | Verbrauch **letzter Monat** |
145
222
  | `lastDayStart` | Letzter Tages-Reset (00:00 Uhr) |
223
+ | `lastWeekStart` | Letzter Wochen-Reset (Montag) |
146
224
  | `lastMonthStart` | Letzter Monats-Reset (1. des Monats) |
147
225
  | `lastYearStart` | Vertragsbeginn / Jahresstart |
148
226
 
@@ -221,50 +299,87 @@ Der Adapter setzt Zähler automatisch zurück:
221
299
 
222
300
  | Zeitpunkt | Was passiert | Beispiel |
223
301
  | --------------------- | ------------- | ------------------- |
224
- | **00:00 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
225
- | **1. des Monats** | `monthly` → 0 | Neuer Monat beginnt |
302
+ | **23:59 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
303
+ | **Sonntag 23:59** | `weekly` → 0 | Neue Woche beginnt |
304
+ | **Monatsende 23:59** | `monthly` → 0 | Neuer Monat beginnt |
226
305
  | **Vertragsjubiläum** | `yearly` → 0 | Abrechnungsjahr neu |
227
306
 
228
307
  ---
229
308
 
230
309
  ## Changelog
231
310
 
311
+ ### 1.5.0 (2026-01-23)
312
+
313
+ - **NEU:** 📥 **CSV Import** - Importiere historische Zählerstände einfach per Drag-and-Drop:
314
+ - Neuer "Import"-Tab in der Konfiguration
315
+ - Modulare Backend-Struktur für CSV-Parsing
316
+ - Unterstützung für generische und EhB+-Formate
317
+ - Moderne React-basierte UI-Komponente für eine flüssige Bedienung
318
+ - **NEU:** 📊 **Wöchentliches Tracking** - Verbrauchsüberwachung nun auch auf Wochenbasis möglich
319
+ - **FIX:** 🕛 **Reset-Timing** - Automatische Resets werden nun um 23:59 Uhr ausgeführt (statt 00:00 Uhr), um Datenverluste am Ende des Zeitraums zu vermeiden
320
+ - **ARCHITEKTUR:** 🏗️ **Verbesserte Backend-Modularisierung**:
321
+ - `ImportManager` eingeführt, um die Logik von `main.js` zu trennen
322
+
323
+ ### 1.4.6 (2026-01-20)
324
+
325
+ - **⚠️ BREAKING CHANGE:** 🔄 **Hauptzähler-Benennung** - Hauptzähler benötigt jetzt einen Namen:
326
+ - **State-Pfade geändert**: `gas.*` → `gas.METER_NAME.*` (z.B. `gas.main.*`)
327
+ - **Neue Config-Felder**: "Name des Hauptzählers" für Gas/Wasser/Strom/PV
328
+ - **Default-Name**: "main" (wird automatisch verwendet wenn leer gelassen)
329
+ - **Konsistente Struktur**: Alle Zähler (Haupt + Zusätzlich) verwenden jetzt `type.meterName.*`
330
+ - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "wohnung", "erdgeschoss", "gesamt")
331
+ - **Keine Special-Cases**: Vereinfachte Logik im Code
332
+ - **NEU:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
333
+ - Wähle pro Utility-Typ aus, welche Zähler benachrichtigt werden sollen
334
+ - Multi-Select Dropdown zeigt alle konfigurierten Zähler
335
+ - Wenn leer: Alle Zähler werden benachrichtigt (Standard)
336
+ - Wenn ausgewählt: Nur gewählte Zähler erhalten Benachrichtigungen
337
+ - Gilt für Abrechnungsende, Vertragswechsel und monatliche Berichte
338
+ - **VERBESSERT:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
339
+ - Vereinfachte basePath-Berechnungen in multiMeterManager, billingManager, stateManager
340
+ - Vereinheitlichter Config-Zugriff (alle Meter nutzen `meter.config.contractStart`)
341
+ - HT/NT-Logik basiert jetzt auf `config.htNtEnabled` statt Meter-Name
342
+ - Button-Trigger erkennt nur noch einheitliche Pfadstruktur
343
+ - Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt pro Zähler
344
+ - **MIGRATION:** 📋 **Upgrade-Hinweise**:
345
+ - Bei Neuinstallation: Namen für Hauptzähler eingeben (oder "main" akzeptieren)
346
+ - Bei Upgrade: Adapter neu konfigurieren + Skripte/Visualisierungen anpassen
347
+ - History: Alte States bleiben erhalten, neue States werden parallel erstellt
348
+ - Empfehlung: "main" als Namen verwenden für einfachere Migration
349
+
232
350
  ### 1.4.5 (2026-01-20)
233
351
 
234
- - **FIX:** 🐛 **Critical Multi-Meter Cost Calculation Bugs** - Comprehensive fixes for multi-meter functionality:
235
- - **Main Meter Sync Issue**: Removed duplicate initialization that prevented `lastSync` updates on main meter
236
- - **basicCharge Accumulation**: Now correctly calculates `basicCharge = grundgebuehr × months` (was showing only 1 month)
237
- - **paidTotal Accumulation**: Now correctly calculates `paidTotal = abschlag × months` (was showing only 1 month)
238
- - **annualFee as Fixed Value**: Jahresgebühr is now used as fixed yearly value (e.g., 60€ stays 60€)
239
- - Previously incorrectly treated as monthly fee and multiplied by months
240
- - User-entered value in config (e.g., 60€) is now used directly as intended
241
- - **Balance Formula Corrected**: Fixed reversed formula `balance = totalYearly - paidTotal`
242
- - Positive balance = Nachzahlung (you owe money)
243
- - Negative balance = Guthaben (you get money back)
244
- - **IMPROVED:** 📦 **Dev-Dependencies**: Updated from tilde (~) to caret (^) versioning for better security updates
245
- - **CLEANUP:** 🧹 **Repository Compliance**: Removed unpublished versions from changelog (resolves ioBroker Bot Issue #1)
352
+ - **FIX:** 🐛 **Kritische Multi-Meter Kostenberechnungsfehler** - Umfassende Korrekturen für Multi-Meter Funktionalität:
353
+ - **Hauptzähler Sync-Problem**: Doppelte Initialisierung entfernt, die `lastSync` Updates verhinderte
354
+ - **basicCharge Akkumulation**: Berechnet jetzt korrekt `basicCharge = Grundgebühr × Monate` (vorher nur 1 Monat)
355
+ - **paidTotal Akkumulation**: Berechnet jetzt korrekt `paidTotal = Abschlag × Monate` (vorher nur 1 Monat)
356
+ - **Jahresgebühr als fester Wert**: Jahresgebühr wird jetzt als fester jährlicher Wert genutzt (z.B. 60€ bleibt 60€)
357
+ - Vorher fälschlicherweise als monatlich behandelt
358
+ - Eingegebener Wert wird nun direkt wie vorgesehen genutzt
359
+ - **Balance-Formel korrigiert**: Formel `balance = totalYearly - paidTotal` korrigiert
360
+ - Positive Balance = Nachzahlung (Schuldner)
361
+ - Negative Balance = Guthaben (Rückerstattung)
362
+ - **VERBESSERT:** 📦 **Entwickler-Abhängigkeiten**: Umstellung von Tilde (~) auf Caret (^) Versionierung für bessere Sicherheitsupdates
363
+ - **CLEANUP:** 🧹 **Repository Compliance**: Unveröffentlichte Versionen aus dem Changelog entfernt (löst ioBroker Bot Issue #1)
246
364
 
247
365
  ### 1.4.2 (2026-01-18)
248
366
 
249
- - **FIX:** 🔧 **TypeScript Errors Resolved** - All TypeScript compilation errors fixed:
250
- - Fixed `formatDateString()` missing argument in multiMeterManager
251
- - Fixed Date arithmetic type errors (explicit timestamp conversion)
252
- - Added `@ts-ignore` comments for intentional error tests
253
- - **FIX:** 🐛 **Critical Multi-Meter Balance Bug** - Fixed incorrect balance calculation:
254
- - `totalYearly` was using hardcoded 12 months for `basicCharge` instead of actual months since contract start
255
- - Now correctly calculates `basicChargeAccumulated = grundgebuehr × monthsSinceYearStart`
256
- - Fixes incorrect high balance values for users with mid-year contract start dates
257
- - **NEW:** **Enhanced Input Validation** - Robust validation for configuration values:
258
- - `isValidSensorDP()` - Validates sensor datapoint IDs
259
- - `parseConfigDate()` - Validates German and ISO date formats
260
- - `parseConfigPrice()` - Ensures prices are non-negative
261
- - **NEW:** 📋 **Extended Constants** - Centralized constant definitions:
262
- - Rounding precision, time constants, validation constraints
263
- - Better maintainability and consistency across modules
264
- - **NEW:** 🛡️ **Error Handling** - Safe wrapper for state creation:
265
- - `safeSetObjectNotExists()` catches and logs state creation failures
266
- - Prevents silent failures in StateManager
267
- - **IMPROVED:** 🧪 **Code Quality** - All tests passing (31 unit + 57 package tests)
367
+ - **FIX:** 🔧 **TypeScript Fehler behoben** - Alle Kompilierungsfehler behoben:
368
+ - `formatDateString()` fehlendes Argument im multiMeterManager korrigiert
369
+ - Datums-Arithmetik Typfehler behoben
370
+ - `@ts-ignore` Kommentare für absichtliche Fehlertests hinzugefügt
371
+ - **FIX:** 🐛 **Kritischer Multi-Meter Balance-Bug** - Korrektur fehlerhafter Bilanzberechnung:
372
+ - `totalYearly` nutzte hartcodierte 12 Monate für die Grundgebühr statt der tatsächlichen Monate seit Vertragsstart
373
+ - Berechnet nun korrekt `basicChargeAccumulated = Grundgebühr × MonateSeitJahresstart`
374
+ - **NEU:** **Erweiterte Eingabevalidierung** - Robuste Validierung von Konfigurationswerten:
375
+ - `isValidSensorDP()` - Validiert Sensor-Datenpunkt-IDs
376
+ - `parseConfigDate()` - Validiert deutsche und ISO Datumsformate
377
+ - `parseConfigPrice()` - Stellt sicher, dass Preise nicht negativ sind
378
+ - **NEU:** 📋 **Zentrale Konstanten** - Zentralisierte Konstantendefinitionen:
379
+ - Rundungspräzision, Zeitkonstanten, Validierungsregeln
380
+ - **NEU:** 🛡️ **Fehlerbehandlung** - Sicherer Wrapper für State-Erstellung:
381
+ - `safeSetObjectNotExists()` fängt Fehler bei der State-Erstellung ab
382
+ - **VERBESSERT:** 🧪 **Code-Qualität** - Alle Tests erfolgreich (31 Unit + 57 Paket-Tests)
268
383
 
269
384
  ---
270
385
 
@@ -0,0 +1,90 @@
1
+ {
2
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js": {
3
+ "file": "assets/UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js",
4
+ "name": "UtilityMonitor__loadShare__react__loadShare__",
5
+ "imports": [
6
+ "__commonjsHelpers-Dj2_voLF.js",
7
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
8
+ ]
9
+ },
10
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js": {
11
+ "file": "assets/UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js",
12
+ "name": "UtilityMonitor__mf_v__runtimeInit__mf_v__"
13
+ },
14
+ "__commonjsHelpers-Dj2_voLF.js": {
15
+ "file": "assets/_commonjsHelpers-Dj2_voLF.js",
16
+ "name": "_commonjsHelpers"
17
+ },
18
+ "_index-B3WVNJTz.js": {
19
+ "file": "assets/index-B3WVNJTz.js",
20
+ "name": "index",
21
+ "isDynamicEntry": true,
22
+ "imports": [
23
+ "__commonjsHelpers-Dj2_voLF.js",
24
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js"
25
+ ]
26
+ },
27
+ "_index-VBwl8x_k.js": {
28
+ "file": "assets/index-VBwl8x_k.js",
29
+ "name": "index",
30
+ "isDynamicEntry": true,
31
+ "imports": [
32
+ "__commonjsHelpers-Dj2_voLF.js"
33
+ ]
34
+ },
35
+ "_preload-helper-BelkbqnE.js": {
36
+ "file": "assets/preload-helper-BelkbqnE.js",
37
+ "name": "preload-helper"
38
+ },
39
+ "node_modules/__mf__virtual/UtilityMonitor__H_A_I__hostAutoInit__H_A_I__.js": {
40
+ "file": "assets/hostInit-DEXfeB0W.js",
41
+ "name": "hostInit",
42
+ "src": "node_modules/__mf__virtual/UtilityMonitor__H_A_I__hostAutoInit__H_A_I__.js",
43
+ "isEntry": true,
44
+ "imports": [
45
+ "_preload-helper-BelkbqnE.js"
46
+ ],
47
+ "dynamicImports": [
48
+ "virtual:mf-REMOTE_ENTRY_ID"
49
+ ]
50
+ },
51
+ "src/Components.tsx": {
52
+ "file": "assets/Components-i0AZ59nl.js",
53
+ "name": "Components",
54
+ "src": "src/Components.tsx",
55
+ "isDynamicEntry": true,
56
+ "imports": [
57
+ "_UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js",
58
+ "__commonjsHelpers-Dj2_voLF.js",
59
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
60
+ ]
61
+ },
62
+ "virtual:mf-REMOTE_ENTRY_ID": {
63
+ "file": "CSVImporter_v15_11.js",
64
+ "name": "CSVImporter_v15_11",
65
+ "src": "virtual:mf-REMOTE_ENTRY_ID",
66
+ "isEntry": true,
67
+ "isDynamicEntry": true,
68
+ "imports": [
69
+ "virtual:mf-exposes",
70
+ "_preload-helper-BelkbqnE.js",
71
+ "_UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js"
72
+ ],
73
+ "dynamicImports": [
74
+ "_index-VBwl8x_k.js",
75
+ "_index-B3WVNJTz.js"
76
+ ]
77
+ },
78
+ "virtual:mf-exposes": {
79
+ "file": "assets/virtualExposes-CqCLUNLT.js",
80
+ "name": "virtualExposes",
81
+ "src": "virtual:mf-exposes",
82
+ "isEntry": true,
83
+ "imports": [
84
+ "_preload-helper-BelkbqnE.js"
85
+ ],
86
+ "dynamicImports": [
87
+ "src/Components.tsx"
88
+ ]
89
+ }
90
+ }
@@ -0,0 +1,2 @@
1
+ export * from './compiled-types/Components';
2
+ export { default } from './compiled-types/Components';
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ interface CSVImporterProps {
3
+ socket: any;
4
+ data?: any;
5
+ onError?: (error: string) => void;
6
+ onChange?: (data: any) => void;
7
+ instance: number;
8
+ adapterName: string;
9
+ }
10
+ declare const CSVImporter: React.FC<CSVImporterProps>;
11
+ export default CSVImporter;
@@ -0,0 +1,2 @@
1
+ declare const components: Record<string, any>;
2
+ export default components;
@@ -0,0 +1,3 @@
1
+
2
+ export type RemoteKeys = 'REMOTE_ALIAS_IDENTIFIER/Components';
3
+ type PackageType<T> = T extends 'REMOTE_ALIAS_IDENTIFIER/Components' ? typeof import('REMOTE_ALIAS_IDENTIFIER/Components') :any;
Binary file