iobroker.utility-monitor 1.4.6 → 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.
- package/README.md +98 -55
- package/admin/custom/.vite/manifest.json +90 -0
- package/admin/custom/@mf-types/Components.d.ts +2 -0
- package/admin/custom/@mf-types/compiled-types/Components/CSVImporter.d.ts +11 -0
- package/admin/custom/@mf-types/compiled-types/Components.d.ts +2 -0
- package/admin/custom/@mf-types.d.ts +3 -0
- package/admin/custom/@mf-types.zip +0 -0
- package/admin/custom/CSVImporter_v15_11.js +4415 -0
- package/admin/custom/assets/Components-i0AZ59nl.js +18887 -0
- package/admin/custom/assets/UtilityMonitor__loadShare__react__loadShare__-Da99Mak4.js +42 -0
- package/admin/custom/assets/UtilityMonitor__mf_v__runtimeInit__mf_v__-BmC4OGk6.js +16 -0
- package/admin/custom/assets/_commonjsHelpers-Dj2_voLF.js +30 -0
- package/admin/custom/assets/hostInit-DEXfeB0W.js +10 -0
- package/admin/custom/assets/index-B3WVNJTz.js +401 -0
- package/admin/custom/assets/index-VBwl8x_k.js +64 -0
- package/admin/custom/assets/preload-helper-BelkbqnE.js +61 -0
- package/admin/custom/assets/virtualExposes-CqCLUNLT.js +19 -0
- package/admin/custom/index.html +12 -0
- package/admin/custom/mf-manifest.json +1 -0
- package/admin/jsonConfig.json +90 -31
- package/io-package.json +39 -3
- package/lib/billingManager.js +235 -123
- package/lib/calculator.js +19 -138
- package/lib/consumptionManager.js +9 -252
- package/lib/importManager.js +300 -0
- package/lib/messagingHandler.js +4 -2
- package/lib/meter/MeterRegistry.js +110 -0
- package/lib/multiMeterManager.js +397 -174
- package/lib/stateManager.js +502 -31
- package/lib/utils/billingHelper.js +69 -0
- package/lib/utils/consumptionHelper.js +47 -0
- package/lib/utils/helpers.js +178 -0
- package/lib/utils/typeMapper.js +19 -0
- package/main.js +71 -8
- 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
|
-
|
|
94
|
-
|
|
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
|
|
140
|
-
| ------------- | ------------------------------------------------------------- |
|
|
141
|
-
| `daily` | Kosten **heute** | daily × Arbeitspreis
|
|
142
|
-
| `monthly` | Kosten **diesen Monat** | monthly × Arbeitspreis
|
|
143
|
-
| `yearly` | **Verbrauchskosten** seit Vertragsbeginn | yearly × Arbeitspreis
|
|
144
|
-
| `totalYearly` | **Gesamtkosten Jahr** (Verbrauch + alle Fixkosten) | yearly-cost + basicCharge + annualFee
|
|
145
|
-
| `basicCharge` | **Grundgebühr akkumuliert** | Grundgebühr × Monate
|
|
146
|
-
| `annualFee` | **Jahresgebühr** (fester Wert pro Jahr) | Jahresgebühr (aus Config)
|
|
147
|
-
| `paidTotal` | **Bezahlt** via Abschlag | Abschlag × Monate
|
|
148
|
-
| `balance` | **🎯 WICHTIGSTER Wert!**<br>Nachzahlung (+) oder Guthaben (-) | totalYearly - paidTotal
|
|
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
|
|
|
@@ -187,7 +216,11 @@ Balance: +62,64 € → Nachzahlung
|
|
|
187
216
|
| ---------------- | ------------------------------------ |
|
|
188
217
|
| `averageDaily` | Durchschnittlicher Tagesverbrauch |
|
|
189
218
|
| `averageMonthly` | Durchschnittlicher Monatsverbrauch |
|
|
219
|
+
| `lastDay` | Verbrauch **gesten** (Vortag) |
|
|
220
|
+
| `lastWeek` | Verbrauch **letzte Woche** |
|
|
221
|
+
| `lastMonth` | Verbrauch **letzter Monat** |
|
|
190
222
|
| `lastDayStart` | Letzter Tages-Reset (00:00 Uhr) |
|
|
223
|
+
| `lastWeekStart` | Letzter Wochen-Reset (Montag) |
|
|
191
224
|
| `lastMonthStart` | Letzter Monats-Reset (1. des Monats) |
|
|
192
225
|
| `lastYearStart` | Vertragsbeginn / Jahresstart |
|
|
193
226
|
|
|
@@ -266,35 +299,48 @@ Der Adapter setzt Zähler automatisch zurück:
|
|
|
266
299
|
|
|
267
300
|
| Zeitpunkt | Was passiert | Beispiel |
|
|
268
301
|
| --------------------- | ------------- | ------------------- |
|
|
269
|
-
| **
|
|
270
|
-
| **
|
|
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.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
|
+
|
|
277
323
|
### 1.4.6 (2026-01-20)
|
|
278
324
|
|
|
279
|
-
- **⚠️ BREAKING CHANGE:** 🔄 **
|
|
325
|
+
- **⚠️ BREAKING CHANGE:** 🔄 **Hauptzähler-Benennung** - Hauptzähler benötigt jetzt einen Namen:
|
|
280
326
|
- **State-Pfade geändert**: `gas.*` → `gas.METER_NAME.*` (z.B. `gas.main.*`)
|
|
281
327
|
- **Neue Config-Felder**: "Name des Hauptzählers" für Gas/Wasser/Strom/PV
|
|
282
328
|
- **Default-Name**: "main" (wird automatisch verwendet wenn leer gelassen)
|
|
283
329
|
- **Konsistente Struktur**: Alle Zähler (Haupt + Zusätzlich) verwenden jetzt `type.meterName.*`
|
|
284
330
|
- **Flexibilität**: Hauptzähler kann jetzt frei benannt werden (z.B. "wohnung", "erdgeschoss", "gesamt")
|
|
285
|
-
- **Keine Special-Cases**:
|
|
286
|
-
- **
|
|
331
|
+
- **Keine Special-Cases**: Vereinfachte Logik im Code
|
|
332
|
+
- **NEU:** 🔔 **Smart Notifications** - Zählerauswahl für Benachrichtigungen:
|
|
287
333
|
- Wähle pro Utility-Typ aus, welche Zähler benachrichtigt werden sollen
|
|
288
334
|
- Multi-Select Dropdown zeigt alle konfigurierten Zähler
|
|
289
335
|
- Wenn leer: Alle Zähler werden benachrichtigt (Standard)
|
|
290
336
|
- Wenn ausgewählt: Nur gewählte Zähler erhalten Benachrichtigungen
|
|
291
337
|
- Gilt für Abrechnungsende, Vertragswechsel und monatliche Berichte
|
|
292
|
-
- **
|
|
338
|
+
- **VERBESSERT:** 🏗️ **Code-Architektur** - Entfernung von 19 Special-Case Checks in 7 Dateien:
|
|
293
339
|
- Vereinfachte basePath-Berechnungen in multiMeterManager, billingManager, stateManager
|
|
294
340
|
- Vereinheitlichter Config-Zugriff (alle Meter nutzen `meter.config.contractStart`)
|
|
295
341
|
- HT/NT-Logik basiert jetzt auf `config.htNtEnabled` statt Meter-Name
|
|
296
342
|
- Button-Trigger erkennt nur noch einheitliche Pfadstruktur
|
|
297
|
-
- Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt
|
|
343
|
+
- Legacy-Code entfernt: updateBillingCountdown, updateCurrentPrice jetzt pro Zähler
|
|
298
344
|
- **MIGRATION:** 📋 **Upgrade-Hinweise**:
|
|
299
345
|
- Bei Neuinstallation: Namen für Hauptzähler eingeben (oder "main" akzeptieren)
|
|
300
346
|
- Bei Upgrade: Adapter neu konfigurieren + Skripte/Visualisierungen anpassen
|
|
@@ -303,40 +349,37 @@ Der Adapter setzt Zähler automatisch zurück:
|
|
|
303
349
|
|
|
304
350
|
### 1.4.5 (2026-01-20)
|
|
305
351
|
|
|
306
|
-
- **FIX:** 🐛 **
|
|
307
|
-
- **
|
|
308
|
-
- **basicCharge
|
|
309
|
-
- **paidTotal
|
|
310
|
-
- **
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
- **Balance
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
- **
|
|
317
|
-
- **CLEANUP:** 🧹 **Repository Compliance**:
|
|
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)
|
|
318
364
|
|
|
319
365
|
### 1.4.2 (2026-01-18)
|
|
320
366
|
|
|
321
|
-
- **FIX:** 🔧 **TypeScript
|
|
322
|
-
-
|
|
323
|
-
-
|
|
324
|
-
-
|
|
325
|
-
- **FIX:** 🐛 **
|
|
326
|
-
- `totalYearly`
|
|
327
|
-
-
|
|
328
|
-
|
|
329
|
-
-
|
|
330
|
-
- `
|
|
331
|
-
- `
|
|
332
|
-
|
|
333
|
-
-
|
|
334
|
-
|
|
335
|
-
-
|
|
336
|
-
- **
|
|
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)
|
|
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)
|
|
340
383
|
|
|
341
384
|
---
|
|
342
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,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;
|
|
Binary file
|