iobroker.utility-monitor 1.4.6 → 1.5.1

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 (36) hide show
  1. package/README.md +110 -62
  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 +90 -31
  21. package/io-package.json +15 -31
  22. package/lib/billingManager.js +382 -137
  23. package/lib/calculator.js +41 -146
  24. package/lib/consumptionManager.js +9 -252
  25. package/lib/importManager.js +300 -0
  26. package/lib/messagingHandler.js +4 -2
  27. package/lib/meter/MeterRegistry.js +110 -0
  28. package/lib/multiMeterManager.js +580 -173
  29. package/lib/stateManager.js +502 -31
  30. package/lib/utils/billingHelper.js +69 -0
  31. package/lib/utils/consumptionHelper.js +47 -0
  32. package/lib/utils/helpers.js +234 -0
  33. package/lib/utils/stateCache.js +147 -0
  34. package/lib/utils/typeMapper.js +19 -0
  35. package/main.js +67 -8
  36. 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
  ---
@@ -68,6 +70,7 @@ Gefällt dir dieser Adapter? Du kannst mich gerne mit einem Kaffee unterstützen
68
70
  ### Was hat sich geändert?
69
71
 
70
72
  **Vorher (bis 1.4.5):**
73
+
71
74
  ```
72
75
  gas.consumption.daily
73
76
  gas.costs.monthly
@@ -75,6 +78,7 @@ wasser.consumption.daily
75
78
  ```
76
79
 
77
80
  **Jetzt (ab 1.4.6):**
81
+
78
82
  ```
79
83
  gas.main.consumption.daily ← Hauptzähler mit Namen "main"
80
84
  gas.main.costs.monthly
@@ -86,13 +90,15 @@ wasser.main.consumption.daily
86
90
  1. **Config öffnen**: Neue Felder "Name des Hauptzählers" für Gas/Wasser/Strom/PV
87
91
  2. **Namen eingeben**: Standard ist "main" (empfohlen), oder eigener Name wie "wohnung", "haus"
88
92
  3. **Skripte anpassen**: Alle Verweise auf States müssen angepasst werden
89
- ```javascript
90
- // Alt:
91
- getState('utility-monitor.0.gas.consumption.daily')
92
93
 
93
- // Neu:
94
- getState('utility-monitor.0.gas.main.consumption.daily')
95
- ```
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
+
96
102
  4. **Visualisierungen updaten**: VIS, Grafana, etc. auf neue Pfade anpassen
97
103
 
98
104
  ### 💡 Warum diese Änderung?
@@ -101,6 +107,25 @@ wasser.main.consumption.daily
101
107
  - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "erdgeschoss", "gesamt")
102
108
  - **Klarheit**: Keine Special-Case Logik mehr im Code
103
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**
104
129
 
105
130
  ---
106
131
 
@@ -116,12 +141,16 @@ Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner
116
141
  | --------------- | ----------------------------------------------------- | ---------------- |
117
142
  | `daily` | Verbrauch **heute** (seit 00:00 Uhr) | 12,02 kWh |
118
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³ |
119
146
  | `monthly` | Verbrauch **diesen Monat** (seit 1. des Monats) | 117,77 kWh |
120
147
  | `monthlyVolume` | Monatlicher Verbrauch in m³ | 10,69 m³ |
121
148
  | `yearly` | Verbrauch **seit Vertragsbeginn** (this billing year) | 730,01 kWh |
122
149
  | `yearlyVolume` | Jahresverbrauch in m³ | 66,82 m³ |
123
150
  | `dailyHT` | Tagesverbrauch im **Haupttarif** (HT) | 8,40 kWh |
124
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 |
125
154
  | `monthlyHT` | Monatsverbrauch im HT | 82,15 kWh |
126
155
  | `monthlyNT` | Monatsverbrauch im NT | 35,62 kWh |
127
156
  | `yearlyHT` | Jahresverbrauch im HT | 511,00 kWh |
@@ -136,16 +165,16 @@ Für jede aktivierte Verbrauchsart (Gas/Wasser/Strom/PV) werden folgende Ordner
136
165
 
137
166
  ### 💰 **costs** (Kosten)
138
167
 
139
- | Datenpunkt | Was ist das? | Berechnung | Beispiel |
140
- | ------------- | ------------------------------------------------------------- | ------------------------------------------ | ------------------------------ |
141
- | `daily` | Kosten **heute** | daily × Arbeitspreis | 2,27 € |
142
- | `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis | 21,61 € |
143
- | `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis | 137,61 € |
144
- | `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee | 212,64 € |
145
- | `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate | 15,03 € |
146
- | `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config) | 60,00 € |
147
- | `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate | 150,00 € |
148
- | `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! |
149
178
 
150
179
  #### 🔍 **balance** genauer erklärt:
151
180
 
@@ -183,13 +212,17 @@ Balance: +62,64 € → Nachzahlung
183
212
 
184
213
  ### 📈 **statistics** (Statistiken)
185
214
 
186
- | Datenpunkt | Beschreibung |
187
- | ---------------- | ------------------------------------ |
188
- | `averageDaily` | Durchschnittlicher Tagesverbrauch |
189
- | `averageMonthly` | Durchschnittlicher Monatsverbrauch |
190
- | `lastDayStart` | Letzter Tages-Reset (00:00 Uhr) |
191
- | `lastMonthStart` | Letzter Monats-Reset (1. des Monats) |
192
- | `lastYearStart` | Vertragsbeginn / Jahresstart |
215
+ | Datenpunkt | Beschreibung |
216
+ | ---------------- | ---------------------------------------- |
217
+ | `averageDaily` | Durchschnittlicher Tagesverbrauch |
218
+ | `averageMonthly` | Durchschnittlicher Monatsverbrauch |
219
+ | `lastDay` | Verbrauch **gestern** (Vortag) |
220
+ | `lastWeek` | Verbrauch **letzte Woche** |
221
+ | `lastMonth` | Verbrauch **letzter Monat** |
222
+ | `lastDayStart` | Letzter Tages-Reset (23:59 Uhr) |
223
+ | `lastWeekStart` | Letzter Wochen-Reset (Sonntag 23:59) |
224
+ | `lastMonthStart` | Letzter Monats-Reset (letzter Tag 23:59) |
225
+ | `lastYearStart` | Vertragsbeginn / Jahresstart |
193
226
 
194
227
  ---
195
228
 
@@ -266,35 +299,53 @@ Der Adapter setzt Zähler automatisch zurück:
266
299
 
267
300
  | Zeitpunkt | Was passiert | Beispiel |
268
301
  | --------------------- | ------------- | ------------------- |
269
- | **00:00 Uhr** täglich | `daily` → 0 | Neuer Tag beginnt |
270
- | **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 |
271
305
  | **Vertragsjubiläum** | `yearly` → 0 | Abrechnungsjahr neu |
272
306
 
273
307
  ---
274
308
 
275
309
  ## Changelog
276
310
 
311
+ ### 1.5.1 (2026-01-26)
312
+
313
+ - **FIX:** 🕛 **Reset-Timing** - Automatische Resets werden nun um 23:59 Uhr ausgeführt (statt 00:00 Uhr)
314
+ - **FIX:** Utopische Werte in Monthly/MonthlyVolume (DP Monthly)
315
+
316
+ ### 1.5.0 (2026-01-25)
317
+
318
+ - **NEU:** 📥 **CSV Import** - Importiere historische Zählerstände einfach per Drag-and-Drop:
319
+ - Neuer "Import"-Tab in der Konfiguration
320
+ - Modulare Backend-Struktur für CSV-Parsing
321
+ - Unterstützung für generische und EhB+-Formate
322
+ - Moderne React-basierte UI-Komponente für eine flüssige Bedienung
323
+ - **NEU:** 📊 **Wöchentliches Tracking** - Verbrauchsüberwachung nun auch auf Wochenbasis möglich
324
+ - **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
325
+ - **ARCHITEKTUR:** 🏗️ **Verbesserte Backend-Modularisierung**:
326
+ - `ImportManager` eingeführt, um die Logik von `main.js` zu trennen
327
+
277
328
  ### 1.4.6 (2026-01-20)
278
329
 
279
- - **⚠️ BREAKING CHANGE:** 🔄 **Main Meter Naming** - Hauptzähler benötigt jetzt einen Namen:
330
+ - **⚠️ BREAKING CHANGE:** 🔄 **Hauptzähler-Benennung** - Hauptzähler benötigt jetzt einen Namen:
280
331
  - **State-Pfade geändert**: `gas.*` → `gas.METER_NAME.*` (z.B. `gas.main.*`)
281
332
  - **Neue Config-Felder**: "Name des Hauptzählers" für Gas/Wasser/Strom/PV
282
333
  - **Default-Name**: "main" (wird automatisch verwendet wenn leer gelassen)
283
334
  - **Konsistente Struktur**: Alle Zähler (Haupt + Zusätzlich) verwenden jetzt `type.meterName.*`
284
335
  - **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "wohnung", "erdgeschoss", "gesamt")
285
- - **Keine Special-Cases**: Vereinfachter Code ohne `meterName === 'main'` Bedingungen
286
- - **NEW:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
336
+ - **Keine Special-Cases**: Vereinfachte Logik im Code
337
+ - **NEU:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
287
338
  - Wähle pro Utility-Typ aus, welche Zähler benachrichtigt werden sollen
288
339
  - Multi-Select Dropdown zeigt alle konfigurierten Zähler
289
340
  - Wenn leer: Alle Zähler werden benachrichtigt (Standard)
290
341
  - Wenn ausgewählt: Nur gewählte Zähler erhalten Benachrichtigungen
291
342
  - Gilt für Abrechnungsende, Vertragswechsel und monatliche Berichte
292
- - **IMPROVED:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
343
+ - **VERBESSERT:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
293
344
  - Vereinfachte basePath-Berechnungen in multiMeterManager, billingManager, stateManager
294
345
  - Vereinheitlichter Config-Zugriff (alle Meter nutzen `meter.config.contractStart`)
295
346
  - HT/NT-Logik basiert jetzt auf `config.htNtEnabled` statt Meter-Name
296
347
  - Button-Trigger erkennt nur noch einheitliche Pfadstruktur
297
- - Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt per-meter
348
+ - Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt pro Zähler
298
349
  - **MIGRATION:** 📋 **Upgrade-Hinweise**:
299
350
  - Bei Neuinstallation: Namen für Hauptzähler eingeben (oder "main" akzeptieren)
300
351
  - Bei Upgrade: Adapter neu konfigurieren + Skripte/Visualisierungen anpassen
@@ -303,40 +354,37 @@ Der Adapter setzt Zähler automatisch zurück:
303
354
 
304
355
  ### 1.4.5 (2026-01-20)
305
356
 
306
- - **FIX:** 🐛 **Critical Multi-Meter Cost Calculation Bugs** - Comprehensive fixes for multi-meter functionality:
307
- - **Main Meter Sync Issue**: Removed duplicate initialization that prevented `lastSync` updates on main meter
308
- - **basicCharge Accumulation**: Now correctly calculates `basicCharge = grundgebuehr × months` (was showing only 1 month)
309
- - **paidTotal Accumulation**: Now correctly calculates `paidTotal = abschlag × months` (was showing only 1 month)
310
- - **annualFee as Fixed Value**: Jahresgebühr is now used as fixed yearly value (e.g., 60€ stays 60€)
311
- - Previously incorrectly treated as monthly fee and multiplied by months
312
- - User-entered value in config (e.g., 60€) is now used directly as intended
313
- - **Balance Formula Corrected**: Fixed reversed formula `balance = totalYearly - paidTotal`
314
- - Positive balance = Nachzahlung (you owe money)
315
- - Negative balance = Guthaben (you get money back)
316
- - **IMPROVED:** 📦 **Dev-Dependencies**: Updated from tilde (~) to caret (^) versioning for better security updates
317
- - **CLEANUP:** 🧹 **Repository Compliance**: Removed unpublished versions from changelog (resolves ioBroker Bot Issue #1)
357
+ - **FIX:** 🐛 **Kritische Multi-Meter Kostenberechnungsfehler** - Umfassende Korrekturen für Multi-Meter Funktionalität:
358
+ - **Hauptzähler Sync-Problem**: Doppelte Initialisierung entfernt, die `lastSync` Updates verhinderte
359
+ - **basicCharge Akkumulation**: Berechnet jetzt korrekt `basicCharge = Grundgebühr × Monate` (vorher nur 1 Monat)
360
+ - **paidTotal Akkumulation**: Berechnet jetzt korrekt `paidTotal = Abschlag × Monate` (vorher nur 1 Monat)
361
+ - **Jahresgebühr als fester Wert**: Jahresgebühr wird jetzt als fester jährlicher Wert genutzt (z.B. 60€ bleibt 60€)
362
+ - Vorher fälschlicherweise als monatlich behandelt
363
+ - Eingegebener Wert wird nun direkt wie vorgesehen genutzt
364
+ - **Balance-Formel korrigiert**: Formel `balance = totalYearly - paidTotal` korrigiert
365
+ - Positive Balance = Nachzahlung (Schuldner)
366
+ - Negative Balance = Guthaben (Rückerstattung)
367
+ - **VERBESSERT:** 📦 **Entwickler-Abhängigkeiten**: Umstellung von Tilde (~) auf Caret (^) Versionierung für bessere Sicherheitsupdates
368
+ - **CLEANUP:** 🧹 **Repository Compliance**: Unveröffentlichte Versionen aus dem Changelog entfernt (löst ioBroker Bot Issue #1)
318
369
 
319
370
  ### 1.4.2 (2026-01-18)
320
371
 
321
- - **FIX:** 🔧 **TypeScript Errors Resolved** - All TypeScript compilation errors fixed:
322
- - Fixed `formatDateString()` missing argument in multiMeterManager
323
- - Fixed Date arithmetic type errors (explicit timestamp conversion)
324
- - Added `@ts-ignore` comments for intentional error tests
325
- - **FIX:** 🐛 **Critical Multi-Meter Balance Bug** - Fixed incorrect balance calculation:
326
- - `totalYearly` was using hardcoded 12 months for `basicCharge` instead of actual months since contract start
327
- - Now correctly calculates `basicChargeAccumulated = grundgebuehr × monthsSinceYearStart`
328
- - Fixes incorrect high balance values for users with mid-year contract start dates
329
- - **NEW:** **Enhanced Input Validation** - Robust validation for configuration values:
330
- - `isValidSensorDP()` - Validates sensor datapoint IDs
331
- - `parseConfigDate()` - Validates German and ISO date formats
332
- - `parseConfigPrice()` - Ensures prices are non-negative
333
- - **NEW:** 📋 **Extended Constants** - Centralized constant definitions:
334
- - Rounding precision, time constants, validation constraints
335
- - Better maintainability and consistency across modules
336
- - **NEW:** 🛡️ **Error Handling** - Safe wrapper for state creation:
337
- - `safeSetObjectNotExists()` catches and logs state creation failures
338
- - Prevents silent failures in StateManager
339
- - **IMPROVED:** 🧪 **Code Quality** - All tests passing (31 unit + 57 package tests)
372
+ - **FIX:** 🔧 **TypeScript Fehler behoben** - Alle Kompilierungsfehler behoben:
373
+ - `formatDateString()` fehlendes Argument im multiMeterManager korrigiert
374
+ - Datums-Arithmetik Typfehler behoben
375
+ - `@ts-ignore` Kommentare für absichtliche Fehlertests hinzugefügt
376
+ - **FIX:** 🐛 **Kritischer Multi-Meter Balance-Bug** - Korrektur fehlerhafter Bilanzberechnung:
377
+ - `totalYearly` nutzte hartcodierte 12 Monate für die Grundgebühr statt der tatsächlichen Monate seit Vertragsstart
378
+ - Berechnet nun korrekt `basicChargeAccumulated = Grundgebühr × MonateSeitJahresstart`
379
+ - **NEU:** **Erweiterte Eingabevalidierung** - Robuste Validierung von Konfigurationswerten:
380
+ - `isValidSensorDP()` - Validiert Sensor-Datenpunkt-IDs
381
+ - `parseConfigDate()` - Validiert deutsche und ISO Datumsformate
382
+ - `parseConfigPrice()` - Stellt sicher, dass Preise nicht negativ sind
383
+ - **NEU:** 📋 **Zentrale Konstanten** - Zentralisierte Konstantendefinitionen:
384
+ - Rundungspräzision, Zeitkonstanten, Validierungsregeln
385
+ - **NEU:** 🛡️ **Fehlerbehandlung** - Sicherer Wrapper für State-Erstellung:
386
+ - `safeSetObjectNotExists()` fängt Fehler bei der State-Erstellung ab
387
+ - **VERBESSERT:** 🧪 **Code-Qualität** - Alle Tests erfolgreich (31 Unit + 57 Paket-Tests)
340
388
 
341
389
  ---
342
390
 
@@ -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