iobroker.parcelapp 0.1.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/LICENSE +21 -0
- package/README.md +128 -0
- package/admin/i18n/de/translations.json +27 -0
- package/admin/i18n/en/translations.json +27 -0
- package/admin/i18n/es/translations.json +27 -0
- package/admin/i18n/fr/translations.json +27 -0
- package/admin/i18n/it/translations.json +27 -0
- package/admin/i18n/nl/translations.json +27 -0
- package/admin/i18n/pl/translations.json +27 -0
- package/admin/i18n/pt/translations.json +27 -0
- package/admin/i18n/ru/translations.json +27 -0
- package/admin/i18n/uk/translations.json +27 -0
- package/admin/i18n/zh-cn/translations.json +27 -0
- package/admin/jsonConfig.json +131 -0
- package/admin/parcelapp.svg +20 -0
- package/build/lib/parcel-client.d.ts +43 -0
- package/build/lib/parcel-client.d.ts.map +1 -0
- package/build/lib/parcel-client.js +168 -0
- package/build/lib/state-manager.d.ts +82 -0
- package/build/lib/state-manager.d.ts.map +1 -0
- package/build/lib/state-manager.js +269 -0
- package/build/lib/types.d.ts +86 -0
- package/build/lib/types.d.ts.map +1 -0
- package/build/lib/types.js +27 -0
- package/build/main.d.ts +2 -0
- package/build/main.d.ts.map +1 -0
- package/build/main.js +174 -0
- package/io-package.json +125 -0
- package/package.json +73 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 krobi <krobi@power-dreams.com>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# ioBroker.parcelapp
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/iobroker.parcelapp)
|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://www.npmjs.com/package/iobroker.parcelapp)
|
|
8
|
+

|
|
9
|
+
[](https://ko-fi.com/krobipd)
|
|
10
|
+
[](https://paypal.me/krobipd)
|
|
11
|
+
|
|
12
|
+
<img src="https://raw.githubusercontent.com/krobipd/ioBroker.parcelapp/main/admin/parcelapp.svg" width="100" />
|
|
13
|
+
|
|
14
|
+
Track your packages from 300+ carriers in ioBroker via [parcel.app](https://parcelapp.net).
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Features
|
|
19
|
+
|
|
20
|
+
- Track deliveries from **300+ carriers** (DHL, FedEx, UPS, Amazon, Hermes, GLS, DPD, and many more)
|
|
21
|
+
- Automatic polling with configurable interval (5-60 minutes)
|
|
22
|
+
- Delivery time window and estimate (today, tomorrow, in X days)
|
|
23
|
+
- Combined delivery window for all packages arriving today
|
|
24
|
+
- Summary states (active count, today count, JSON data)
|
|
25
|
+
- Automatic cleanup of delivered packages
|
|
26
|
+
- Add deliveries via sendTo message
|
|
27
|
+
- Connection test in Admin UI
|
|
28
|
+
- Multilingual status labels (German/English)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Requirements
|
|
33
|
+
|
|
34
|
+
- **Node.js >= 20**
|
|
35
|
+
- **ioBroker js-controller >= 7.0.0**
|
|
36
|
+
- **ioBroker Admin >= 7.6.20**
|
|
37
|
+
- **parcel.app Premium subscription** — required for API access
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Configuration
|
|
42
|
+
|
|
43
|
+
| Option | Description | Default |
|
|
44
|
+
|--------|-------------|---------|
|
|
45
|
+
| **API Key** | Your parcel.app API key (get it at [web.parcelapp.net](https://web.parcelapp.net)) | — |
|
|
46
|
+
| **Poll Interval** | How often to fetch updates (minutes) | 10 |
|
|
47
|
+
| **Filter Mode** | Active (current only) or Recent (includes completed) | Active |
|
|
48
|
+
| **Status Language** | Language for status labels (German/English) | German |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## State Tree
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
parcelapp.0.
|
|
56
|
+
├── info.connection — Connection status (bool)
|
|
57
|
+
├── summary.
|
|
58
|
+
│ ├── activeCount — Number of active deliveries
|
|
59
|
+
│ ├── todayCount — Number of deliveries expected today
|
|
60
|
+
│ ├── deliveryWindow — Combined delivery window for today
|
|
61
|
+
│ └── json — All active deliveries as JSON
|
|
62
|
+
└── deliveries.
|
|
63
|
+
└── {packageId}. — One device per package
|
|
64
|
+
├── carrier — Carrier name (e.g. DHL Express)
|
|
65
|
+
├── status — Status text (e.g. In Transit)
|
|
66
|
+
├── statusCode — Status code (0-8)
|
|
67
|
+
├── description — Package description
|
|
68
|
+
├── trackingNumber — Tracking number
|
|
69
|
+
├── extraInfo — Extra information (postal code, email)
|
|
70
|
+
├── deliveryWindow — Expected delivery time window
|
|
71
|
+
├── deliveryEstimate — Human-readable estimate (today, tomorrow)
|
|
72
|
+
├── lastEvent — Latest tracking event
|
|
73
|
+
├── lastLocation — Last known location
|
|
74
|
+
└── lastUpdated — Last update timestamp
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Troubleshooting
|
|
80
|
+
|
|
81
|
+
### Connection test fails
|
|
82
|
+
- Verify your API key at [web.parcelapp.net](https://web.parcelapp.net)
|
|
83
|
+
- Ensure you have an active Premium subscription
|
|
84
|
+
- Check if your ioBroker instance has internet access
|
|
85
|
+
|
|
86
|
+
### No deliveries shown
|
|
87
|
+
- The API returns cached data — new deliveries may take a few minutes to appear
|
|
88
|
+
- Check if you have active deliveries in the parcel.app
|
|
89
|
+
- Try changing the filter mode to "Recent" to see completed deliveries
|
|
90
|
+
|
|
91
|
+
### Rate limit
|
|
92
|
+
- The parcel.app API allows 20 requests per hour
|
|
93
|
+
- The minimum poll interval is 5 minutes to stay within limits
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Changelog
|
|
98
|
+
|
|
99
|
+
### 0.1.0 (2026-03-23)
|
|
100
|
+
- Initial release
|
|
101
|
+
|
|
102
|
+
Older changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Support
|
|
107
|
+
|
|
108
|
+
- [ioBroker Forum](https://forum.iobroker.net/)
|
|
109
|
+
- [GitHub Issues](https://github.com/krobipd/ioBroker.parcelapp/issues)
|
|
110
|
+
|
|
111
|
+
### Support Development
|
|
112
|
+
|
|
113
|
+
This adapter is free and open source. If you find it useful, consider buying me a coffee:
|
|
114
|
+
|
|
115
|
+
[](https://ko-fi.com/krobipd)
|
|
116
|
+
[](https://paypal.me/krobipd)
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## License
|
|
121
|
+
|
|
122
|
+
MIT License - see [LICENSE](LICENSE)
|
|
123
|
+
|
|
124
|
+
Copyright (c) 2026 krobi <krobi@power-dreams.com>
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
*Developed with assistance from Claude.ai*
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Verbindung",
|
|
3
|
+
"tab_settings": "Einstellungen",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Gib deinen parcel.app API-Schlüssel ein. Ein Premium-Abo wird benötigt. Den Schlüssel findest du unter web.parcelapp.net → API-Bereich.",
|
|
6
|
+
"label_apiKey": "API-Schlüssel",
|
|
7
|
+
"btn_checkConnection": "Verbindung testen",
|
|
8
|
+
"msg_connectionOk": "Verbindung erfolgreich!",
|
|
9
|
+
"msg_connectionFailed": "Verbindung fehlgeschlagen!",
|
|
10
|
+
"header_polling": "Abfrage",
|
|
11
|
+
"label_pollInterval": "Abfrageintervall (Minuten)",
|
|
12
|
+
"tooltip_pollInterval": "Wie oft Lieferupdates abgefragt werden (5-60 Minuten, Standard: 10). Rate-Limit: 20 Anfragen/Stunde.",
|
|
13
|
+
"label_filterMode": "Filtermodus",
|
|
14
|
+
"tooltip_filterMode": "Aktiv: nur laufende Lieferungen. Kürzlich: inklusive kürzlich zugestellter.",
|
|
15
|
+
"filterMode_active": "Nur aktive Lieferungen",
|
|
16
|
+
"filterMode_recent": "Kürzliche Lieferungen",
|
|
17
|
+
"header_display": "Anzeige",
|
|
18
|
+
"label_language": "Status-Sprache",
|
|
19
|
+
"tooltip_language": "Sprache für Statusmeldungen (z.B. 'Unterwegs' vs 'In Transit')",
|
|
20
|
+
"lang_de": "Deutsch",
|
|
21
|
+
"lang_en": "Englisch",
|
|
22
|
+
"aboutTab": "Info",
|
|
23
|
+
"aboutHeader": "Unterstütze diesen Adapter",
|
|
24
|
+
"aboutInfo": "Dieser Adapter ist kostenlos und Open Source. Wenn du ihn nützlich findest, unterstütze die Entwicklung gerne mit einer kleinen Spende.",
|
|
25
|
+
"donateKofi": "Unterstützen auf Ko-fi",
|
|
26
|
+
"donatePaypal": "Spenden via PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Connection",
|
|
3
|
+
"tab_settings": "Settings",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Enter your parcel.app API key. A Premium subscription is required. Get your key at web.parcelapp.net → API panel.",
|
|
6
|
+
"label_apiKey": "API Key",
|
|
7
|
+
"btn_checkConnection": "Test Connection",
|
|
8
|
+
"msg_connectionOk": "Connection successful!",
|
|
9
|
+
"msg_connectionFailed": "Connection failed!",
|
|
10
|
+
"header_polling": "Polling",
|
|
11
|
+
"label_pollInterval": "Poll Interval (minutes)",
|
|
12
|
+
"tooltip_pollInterval": "How often to fetch delivery updates (5-60 minutes, default: 10). Rate limit: 20 requests/hour.",
|
|
13
|
+
"label_filterMode": "Filter Mode",
|
|
14
|
+
"tooltip_filterMode": "Active: only current deliveries. Recent: includes recently completed.",
|
|
15
|
+
"filterMode_active": "Active deliveries only",
|
|
16
|
+
"filterMode_recent": "Recent deliveries",
|
|
17
|
+
"header_display": "Display",
|
|
18
|
+
"label_language": "Status Language",
|
|
19
|
+
"tooltip_language": "Language for delivery status labels (e.g. 'In Transit' vs 'Unterwegs')",
|
|
20
|
+
"lang_de": "German",
|
|
21
|
+
"lang_en": "English",
|
|
22
|
+
"aboutTab": "About",
|
|
23
|
+
"aboutHeader": "Support this Adapter",
|
|
24
|
+
"aboutInfo": "This adapter is free and open source. If you find it useful, please consider supporting its development with a small donation.",
|
|
25
|
+
"donateKofi": "Support on Ko-fi",
|
|
26
|
+
"donatePaypal": "Donate via PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Conexión",
|
|
3
|
+
"tab_settings": "Configuración",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Introduce tu clave API de parcel.app. Se requiere una suscripción Premium. Obtén tu clave en web.parcelapp.net → panel API.",
|
|
6
|
+
"label_apiKey": "Clave API",
|
|
7
|
+
"btn_checkConnection": "Probar conexión",
|
|
8
|
+
"msg_connectionOk": "¡Conexión exitosa!",
|
|
9
|
+
"msg_connectionFailed": "¡Error de conexión!",
|
|
10
|
+
"header_polling": "Consulta",
|
|
11
|
+
"label_pollInterval": "Intervalo de consulta (minutos)",
|
|
12
|
+
"tooltip_pollInterval": "Con qué frecuencia obtener actualizaciones de entrega (5-60 minutos, predeterminado: 10). Límite: 20 solicitudes/hora.",
|
|
13
|
+
"label_filterMode": "Modo de filtro",
|
|
14
|
+
"tooltip_filterMode": "Activo: solo entregas actuales. Reciente: incluye entregas recientemente completadas.",
|
|
15
|
+
"filterMode_active": "Solo entregas activas",
|
|
16
|
+
"filterMode_recent": "Entregas recientes",
|
|
17
|
+
"header_display": "Visualización",
|
|
18
|
+
"label_language": "Idioma de estados",
|
|
19
|
+
"tooltip_language": "Idioma para las etiquetas de estado de entrega",
|
|
20
|
+
"lang_de": "Alemán",
|
|
21
|
+
"lang_en": "Inglés",
|
|
22
|
+
"aboutTab": "Acerca de",
|
|
23
|
+
"aboutHeader": "Apoya este adaptador",
|
|
24
|
+
"aboutInfo": "Este adaptador es gratuito y de código abierto. Si lo encuentras útil, considera apoyar el desarrollo con una pequeña donación.",
|
|
25
|
+
"donateKofi": "Apoyar en Ko-fi",
|
|
26
|
+
"donatePaypal": "Donar vía PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Connexion",
|
|
3
|
+
"tab_settings": "Paramètres",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Entrez votre clé API parcel.app. Un abonnement Premium est requis. Obtenez votre clé sur web.parcelapp.net → panneau API.",
|
|
6
|
+
"label_apiKey": "Clé API",
|
|
7
|
+
"btn_checkConnection": "Tester la connexion",
|
|
8
|
+
"msg_connectionOk": "Connexion réussie !",
|
|
9
|
+
"msg_connectionFailed": "Échec de la connexion !",
|
|
10
|
+
"header_polling": "Interrogation",
|
|
11
|
+
"label_pollInterval": "Intervalle d interrogation (minutes)",
|
|
12
|
+
"tooltip_pollInterval": "Fréquence de récupération des mises à jour de livraison (5-60 minutes, défaut : 10). Limite : 20 requêtes/heure.",
|
|
13
|
+
"label_filterMode": "Mode de filtrage",
|
|
14
|
+
"tooltip_filterMode": "Actif : uniquement les livraisons en cours. Récent : inclut les livraisons récemment terminées.",
|
|
15
|
+
"filterMode_active": "Livraisons actives uniquement",
|
|
16
|
+
"filterMode_recent": "Livraisons récentes",
|
|
17
|
+
"header_display": "Affichage",
|
|
18
|
+
"label_language": "Langue des statuts",
|
|
19
|
+
"tooltip_language": "Langue pour les libellés de statut de livraison",
|
|
20
|
+
"lang_de": "Allemand",
|
|
21
|
+
"lang_en": "Anglais",
|
|
22
|
+
"aboutTab": "À propos",
|
|
23
|
+
"aboutHeader": "Soutenez cet adaptateur",
|
|
24
|
+
"aboutInfo": "Cet adaptateur est gratuit et open source. Si vous le trouvez utile, pensez à soutenir son développement par un petit don.",
|
|
25
|
+
"donateKofi": "Soutenir sur Ko-fi",
|
|
26
|
+
"donatePaypal": "Faire un don via PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Connessione",
|
|
3
|
+
"tab_settings": "Impostazioni",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Inserisci la tua chiave API parcel.app. È necessario un abbonamento Premium. Ottieni la tua chiave su web.parcelapp.net → pannello API.",
|
|
6
|
+
"label_apiKey": "Chiave API",
|
|
7
|
+
"btn_checkConnection": "Testa connessione",
|
|
8
|
+
"msg_connectionOk": "Connessione riuscita!",
|
|
9
|
+
"msg_connectionFailed": "Connessione fallita!",
|
|
10
|
+
"header_polling": "Polling",
|
|
11
|
+
"label_pollInterval": "Intervallo di polling (minuti)",
|
|
12
|
+
"tooltip_pollInterval": "Frequenza di aggiornamento delle consegne (5-60 minuti, predefinito: 10). Limite: 20 richieste/ora.",
|
|
13
|
+
"label_filterMode": "Modalità filtro",
|
|
14
|
+
"tooltip_filterMode": "Attivo: solo consegne in corso. Recente: include consegne recentemente completate.",
|
|
15
|
+
"filterMode_active": "Solo consegne attive",
|
|
16
|
+
"filterMode_recent": "Consegne recenti",
|
|
17
|
+
"header_display": "Visualizzazione",
|
|
18
|
+
"label_language": "Lingua degli stati",
|
|
19
|
+
"tooltip_language": "Lingua per le etichette di stato della consegna",
|
|
20
|
+
"lang_de": "Tedesco",
|
|
21
|
+
"lang_en": "Inglese",
|
|
22
|
+
"aboutTab": "Info",
|
|
23
|
+
"aboutHeader": "Supporta questo adattatore",
|
|
24
|
+
"aboutInfo": "Questo adattatore è gratuito e open source. Se lo trovi utile, considera di supportare lo sviluppo con una piccola donazione.",
|
|
25
|
+
"donateKofi": "Supporta su Ko-fi",
|
|
26
|
+
"donatePaypal": "Dona tramite PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Verbinding",
|
|
3
|
+
"tab_settings": "Instellingen",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Voer je parcel.app API-sleutel in. Een Premium-abonnement is vereist. Haal je sleutel op via web.parcelapp.net → API-paneel.",
|
|
6
|
+
"label_apiKey": "API-sleutel",
|
|
7
|
+
"btn_checkConnection": "Verbinding testen",
|
|
8
|
+
"msg_connectionOk": "Verbinding succesvol!",
|
|
9
|
+
"msg_connectionFailed": "Verbinding mislukt!",
|
|
10
|
+
"header_polling": "Polling",
|
|
11
|
+
"label_pollInterval": "Polling-interval (minuten)",
|
|
12
|
+
"tooltip_pollInterval": "Hoe vaak bezorgingsupdates ophalen (5-60 minuten, standaard: 10). Limiet: 20 verzoeken/uur.",
|
|
13
|
+
"label_filterMode": "Filtermodus",
|
|
14
|
+
"tooltip_filterMode": "Actief: alleen huidige bezorgingen. Recent: inclusief recent afgeleverde.",
|
|
15
|
+
"filterMode_active": "Alleen actieve bezorgingen",
|
|
16
|
+
"filterMode_recent": "Recente bezorgingen",
|
|
17
|
+
"header_display": "Weergave",
|
|
18
|
+
"label_language": "Statustaal",
|
|
19
|
+
"tooltip_language": "Taal voor bezorgingsstatussen",
|
|
20
|
+
"lang_de": "Duits",
|
|
21
|
+
"lang_en": "Engels",
|
|
22
|
+
"aboutTab": "Over",
|
|
23
|
+
"aboutHeader": "Steun deze adapter",
|
|
24
|
+
"aboutInfo": "Deze adapter is gratis en open source. Als je hem nuttig vindt, overweeg dan de ontwikkeling te steunen met een kleine donatie.",
|
|
25
|
+
"donateKofi": "Steunen op Ko-fi",
|
|
26
|
+
"donatePaypal": "Doneren via PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Połączenie",
|
|
3
|
+
"tab_settings": "Ustawienia",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Wprowadź klucz API parcel.app. Wymagana subskrypcja Premium. Uzyskaj klucz na web.parcelapp.net → panel API.",
|
|
6
|
+
"label_apiKey": "Klucz API",
|
|
7
|
+
"btn_checkConnection": "Testuj połączenie",
|
|
8
|
+
"msg_connectionOk": "Połączenie udane!",
|
|
9
|
+
"msg_connectionFailed": "Połączenie nieudane!",
|
|
10
|
+
"header_polling": "Odpytywanie",
|
|
11
|
+
"label_pollInterval": "Interwał odpytywania (minuty)",
|
|
12
|
+
"tooltip_pollInterval": "Jak często pobierać aktualizacje dostaw (5-60 minut, domyślnie: 10). Limit: 20 zapytań/godzinę.",
|
|
13
|
+
"label_filterMode": "Tryb filtrowania",
|
|
14
|
+
"tooltip_filterMode": "Aktywne: tylko bieżące dostawy. Ostatnie: w tym niedawno ukończone.",
|
|
15
|
+
"filterMode_active": "Tylko aktywne dostawy",
|
|
16
|
+
"filterMode_recent": "Ostatnie dostawy",
|
|
17
|
+
"header_display": "Wyświetlanie",
|
|
18
|
+
"label_language": "Język statusów",
|
|
19
|
+
"tooltip_language": "Język dla etykiet statusu dostawy",
|
|
20
|
+
"lang_de": "Niemiecki",
|
|
21
|
+
"lang_en": "Angielski",
|
|
22
|
+
"aboutTab": "O programie",
|
|
23
|
+
"aboutHeader": "Wesprzyj ten adapter",
|
|
24
|
+
"aboutInfo": "Ten adapter jest darmowy i open source. Jeśli uważasz go za przydatny, rozważ wsparcie rozwoju niewielką darowizną.",
|
|
25
|
+
"donateKofi": "Wesprzyj na Ko-fi",
|
|
26
|
+
"donatePaypal": "Przekaż darowiznę przez PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Conexão",
|
|
3
|
+
"tab_settings": "Configurações",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Insira sua chave API do parcel.app. É necessária uma assinatura Premium. Obtenha sua chave em web.parcelapp.net → painel API.",
|
|
6
|
+
"label_apiKey": "Chave API",
|
|
7
|
+
"btn_checkConnection": "Testar Conexão",
|
|
8
|
+
"msg_connectionOk": "Conexão bem-sucedida!",
|
|
9
|
+
"msg_connectionFailed": "Falha na conexão!",
|
|
10
|
+
"header_polling": "Consulta",
|
|
11
|
+
"label_pollInterval": "Intervalo de consulta (minutos)",
|
|
12
|
+
"tooltip_pollInterval": "Com que frequência buscar atualizações de entrega (5-60 minutos, padrão: 10). Limite: 20 solicitações/hora.",
|
|
13
|
+
"label_filterMode": "Modo de filtro",
|
|
14
|
+
"tooltip_filterMode": "Ativo: apenas entregas atuais. Recente: inclui entregas recentemente concluídas.",
|
|
15
|
+
"filterMode_active": "Apenas entregas ativas",
|
|
16
|
+
"filterMode_recent": "Entregas recentes",
|
|
17
|
+
"header_display": "Exibição",
|
|
18
|
+
"label_language": "Idioma do status",
|
|
19
|
+
"tooltip_language": "Idioma para os rótulos de status de entrega",
|
|
20
|
+
"lang_de": "Alemão",
|
|
21
|
+
"lang_en": "Inglês",
|
|
22
|
+
"aboutTab": "Sobre",
|
|
23
|
+
"aboutHeader": "Apoie este adaptador",
|
|
24
|
+
"aboutInfo": "Este adaptador é gratuito e de código aberto. Se você o achar útil, considere apoiar o desenvolvimento com uma pequena doação.",
|
|
25
|
+
"donateKofi": "Apoiar no Ko-fi",
|
|
26
|
+
"donatePaypal": "Doar via PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "Соединение",
|
|
3
|
+
"tab_settings": "Настройки",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Введите API-ключ parcel.app. Требуется Premium-подписка. Получите ключ на web.parcelapp.net → раздел API.",
|
|
6
|
+
"label_apiKey": "API-ключ",
|
|
7
|
+
"btn_checkConnection": "Проверить соединение",
|
|
8
|
+
"msg_connectionOk": "Соединение успешно!",
|
|
9
|
+
"msg_connectionFailed": "Ошибка соединения!",
|
|
10
|
+
"header_polling": "Опрос",
|
|
11
|
+
"label_pollInterval": "Интервал опроса (минуты)",
|
|
12
|
+
"tooltip_pollInterval": "Как часто получать обновления доставки (5-60 минут, по умолчанию: 10). Лимит: 20 запросов/час.",
|
|
13
|
+
"label_filterMode": "Режим фильтра",
|
|
14
|
+
"tooltip_filterMode": "Активные: только текущие доставки. Недавние: включая недавно доставленные.",
|
|
15
|
+
"filterMode_active": "Только активные доставки",
|
|
16
|
+
"filterMode_recent": "Недавние доставки",
|
|
17
|
+
"header_display": "Отображение",
|
|
18
|
+
"label_language": "Язык статусов",
|
|
19
|
+
"tooltip_language": "Язык для статусов доставки",
|
|
20
|
+
"lang_de": "Немецкий",
|
|
21
|
+
"lang_en": "Английский",
|
|
22
|
+
"aboutTab": "О программе",
|
|
23
|
+
"aboutHeader": "Поддержите этот адаптер",
|
|
24
|
+
"aboutInfo": "Этот адаптер бесплатный и с открытым исходным кодом. Если он вам полезен, поддержите разработку небольшим пожертвованием.",
|
|
25
|
+
"donateKofi": "Поддержать на Ko-fi",
|
|
26
|
+
"donatePaypal": "Пожертвовать через PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "З'єднання",
|
|
3
|
+
"tab_settings": "Налаштування",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "Введіть ваш API-ключ parcel.app. Потрібна Premium-підписка. Отримайте ключ на web.parcelapp.net → панель API.",
|
|
6
|
+
"label_apiKey": "API-ключ",
|
|
7
|
+
"btn_checkConnection": "Перевірити з'єднання",
|
|
8
|
+
"msg_connectionOk": "З'єднання успішне!",
|
|
9
|
+
"msg_connectionFailed": "Помилка з'єднання!",
|
|
10
|
+
"header_polling": "Опитування",
|
|
11
|
+
"label_pollInterval": "Інтервал опитування (хвилини)",
|
|
12
|
+
"tooltip_pollInterval": "Як часто отримувати оновлення доставки (5-60 хвилин, за замовчуванням: 10). Ліміт: 20 запитів/годину.",
|
|
13
|
+
"label_filterMode": "Режим фільтрування",
|
|
14
|
+
"tooltip_filterMode": "Активні: лише поточні доставки. Нещодавні: включно з нещодавно завершеними.",
|
|
15
|
+
"filterMode_active": "Лише активні доставки",
|
|
16
|
+
"filterMode_recent": "Нещодавні доставки",
|
|
17
|
+
"header_display": "Відображення",
|
|
18
|
+
"label_language": "Мова статусів",
|
|
19
|
+
"tooltip_language": "Мова для міток статусу доставки",
|
|
20
|
+
"lang_de": "Німецька",
|
|
21
|
+
"lang_en": "Англійська",
|
|
22
|
+
"aboutTab": "Про програму",
|
|
23
|
+
"aboutHeader": "Підтримайте цей адаптер",
|
|
24
|
+
"aboutInfo": "Цей адаптер безкоштовний та з відкритим кодом. Якщо він вам корисний, підтримайте розробку невеликою пожертвою.",
|
|
25
|
+
"donateKofi": "Підтримати на Ko-fi",
|
|
26
|
+
"donatePaypal": "Пожертвувати через PayPal"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"tab_connection": "连接",
|
|
3
|
+
"tab_settings": "设置",
|
|
4
|
+
"header_connection": "parcel.app API",
|
|
5
|
+
"apiKeyInfo": "输入你的 parcel.app API 密钥。需要 Premium 订阅。在 web.parcelapp.net → API 面板获取密钥。",
|
|
6
|
+
"label_apiKey": "API 密钥",
|
|
7
|
+
"btn_checkConnection": "测试连接",
|
|
8
|
+
"msg_connectionOk": "连接成功!",
|
|
9
|
+
"msg_connectionFailed": "连接失败!",
|
|
10
|
+
"header_polling": "轮询",
|
|
11
|
+
"label_pollInterval": "轮询间隔(分钟)",
|
|
12
|
+
"tooltip_pollInterval": "多久获取一次快递更新(5-60分钟,默认:10)。速率限制:20次请求/小时。",
|
|
13
|
+
"label_filterMode": "过滤模式",
|
|
14
|
+
"tooltip_filterMode": "活跃:仅当前快递。最近:包括最近完成的。",
|
|
15
|
+
"filterMode_active": "仅活跃快递",
|
|
16
|
+
"filterMode_recent": "最近的快递",
|
|
17
|
+
"header_display": "显示",
|
|
18
|
+
"label_language": "状态语言",
|
|
19
|
+
"tooltip_language": "快递状态标签的语言",
|
|
20
|
+
"lang_de": "德语",
|
|
21
|
+
"lang_en": "英语",
|
|
22
|
+
"aboutTab": "关于",
|
|
23
|
+
"aboutHeader": "支持此适配器",
|
|
24
|
+
"aboutInfo": "此适配器免费且开源。如果您觉得有用,请考虑通过小额捐赠支持开发。",
|
|
25
|
+
"donateKofi": "在 Ko-fi 上支持",
|
|
26
|
+
"donatePaypal": "通过 PayPal 捐赠"
|
|
27
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"i18n": true,
|
|
3
|
+
"type": "tabs",
|
|
4
|
+
"items": {
|
|
5
|
+
"connectionTab": {
|
|
6
|
+
"type": "panel",
|
|
7
|
+
"label": "tab_connection",
|
|
8
|
+
"items": {
|
|
9
|
+
"connectionHeader": {
|
|
10
|
+
"type": "header",
|
|
11
|
+
"text": "header_connection",
|
|
12
|
+
"size": 4
|
|
13
|
+
},
|
|
14
|
+
"apiKeyInfo": {
|
|
15
|
+
"type": "staticText",
|
|
16
|
+
"text": "apiKeyInfo",
|
|
17
|
+
"xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12,
|
|
18
|
+
"style": {
|
|
19
|
+
"fontSize": 14,
|
|
20
|
+
"color": "#666",
|
|
21
|
+
"marginBottom": 16
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"apiKey": {
|
|
25
|
+
"type": "password",
|
|
26
|
+
"label": "label_apiKey",
|
|
27
|
+
"xs": 12, "sm": 12, "md": 8, "lg": 8, "xl": 8
|
|
28
|
+
},
|
|
29
|
+
"checkConnection": {
|
|
30
|
+
"newLine": true,
|
|
31
|
+
"type": "sendTo",
|
|
32
|
+
"label": "btn_checkConnection",
|
|
33
|
+
"command": "checkConnection",
|
|
34
|
+
"jsonData": "{\"apiKey\": \"${data.apiKey}\"}",
|
|
35
|
+
"result": {
|
|
36
|
+
"okText": "msg_connectionOk",
|
|
37
|
+
"errorText": "msg_connectionFailed"
|
|
38
|
+
},
|
|
39
|
+
"xs": 12, "sm": 12, "md": 4, "lg": 4, "xl": 4
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"settingsTab": {
|
|
44
|
+
"type": "panel",
|
|
45
|
+
"label": "tab_settings",
|
|
46
|
+
"items": {
|
|
47
|
+
"pollingHeader": {
|
|
48
|
+
"type": "header",
|
|
49
|
+
"text": "header_polling",
|
|
50
|
+
"size": 5
|
|
51
|
+
},
|
|
52
|
+
"pollInterval": {
|
|
53
|
+
"type": "number",
|
|
54
|
+
"label": "label_pollInterval",
|
|
55
|
+
"tooltip": "tooltip_pollInterval",
|
|
56
|
+
"min": 5,
|
|
57
|
+
"max": 60,
|
|
58
|
+
"default": 10,
|
|
59
|
+
"xs": 12, "sm": 12, "md": 6, "lg": 6, "xl": 6
|
|
60
|
+
},
|
|
61
|
+
"filterMode": {
|
|
62
|
+
"type": "select",
|
|
63
|
+
"label": "label_filterMode",
|
|
64
|
+
"tooltip": "tooltip_filterMode",
|
|
65
|
+
"default": "active",
|
|
66
|
+
"options": [
|
|
67
|
+
{ "label": "filterMode_active", "value": "active" },
|
|
68
|
+
{ "label": "filterMode_recent", "value": "recent" }
|
|
69
|
+
],
|
|
70
|
+
"xs": 12, "sm": 12, "md": 6, "lg": 6, "xl": 6
|
|
71
|
+
},
|
|
72
|
+
"displayHeader": {
|
|
73
|
+
"newLine": true,
|
|
74
|
+
"type": "header",
|
|
75
|
+
"text": "header_display",
|
|
76
|
+
"size": 5
|
|
77
|
+
},
|
|
78
|
+
"language": {
|
|
79
|
+
"type": "select",
|
|
80
|
+
"label": "label_language",
|
|
81
|
+
"tooltip": "tooltip_language",
|
|
82
|
+
"default": "de",
|
|
83
|
+
"options": [
|
|
84
|
+
{ "label": "lang_de", "value": "de" },
|
|
85
|
+
{ "label": "lang_en", "value": "en" }
|
|
86
|
+
],
|
|
87
|
+
"xs": 12, "sm": 12, "md": 6, "lg": 6, "xl": 6
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"aboutTab": {
|
|
92
|
+
"type": "panel",
|
|
93
|
+
"label": "aboutTab",
|
|
94
|
+
"items": {
|
|
95
|
+
"aboutHeader": {
|
|
96
|
+
"type": "header",
|
|
97
|
+
"text": "aboutHeader",
|
|
98
|
+
"size": 4
|
|
99
|
+
},
|
|
100
|
+
"aboutInfo": {
|
|
101
|
+
"type": "staticText",
|
|
102
|
+
"text": "aboutInfo",
|
|
103
|
+
"xs": 12, "sm": 12, "md": 12, "lg": 12, "xl": 12,
|
|
104
|
+
"style": {
|
|
105
|
+
"fontSize": 14,
|
|
106
|
+
"marginBottom": 16
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"_kofiLink": {
|
|
110
|
+
"type": "staticLink",
|
|
111
|
+
"href": "https://ko-fi.com/krobipd",
|
|
112
|
+
"label": "donateKofi",
|
|
113
|
+
"button": true,
|
|
114
|
+
"variant": "outlined",
|
|
115
|
+
"color": "primary",
|
|
116
|
+
"icon": "favorite",
|
|
117
|
+
"xs": 12, "sm": 6, "md": 4, "lg": 4, "xl": 4
|
|
118
|
+
},
|
|
119
|
+
"_paypalLink": {
|
|
120
|
+
"type": "staticLink",
|
|
121
|
+
"href": "https://paypal.me/krobipd",
|
|
122
|
+
"label": "donatePaypal",
|
|
123
|
+
"button": true,
|
|
124
|
+
"variant": "outlined",
|
|
125
|
+
"color": "primary",
|
|
126
|
+
"xs": 12, "sm": 6, "md": 4, "lg": 4, "xl": 4
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="boxGrad" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#4A90D9;stop-opacity:1" />
|
|
5
|
+
<stop offset="100%" style="stop-color:#2C5F8A;stop-opacity:1" />
|
|
6
|
+
</linearGradient>
|
|
7
|
+
</defs>
|
|
8
|
+
<!-- Box body -->
|
|
9
|
+
<rect x="15" y="35" width="70" height="50" rx="4" fill="url(#boxGrad)" />
|
|
10
|
+
<!-- Box lid -->
|
|
11
|
+
<polygon points="10,35 50,15 90,35 50,40" fill="#5BA3EC" />
|
|
12
|
+
<!-- Box tape vertical -->
|
|
13
|
+
<rect x="45" y="35" width="10" height="50" fill="#F5A623" opacity="0.9" />
|
|
14
|
+
<!-- Box tape horizontal -->
|
|
15
|
+
<rect x="10" y="32" width="80" height="8" rx="2" fill="#F5A623" opacity="0.9" />
|
|
16
|
+
<!-- Location pin -->
|
|
17
|
+
<circle cx="75" cy="25" r="10" fill="#E74C3C" />
|
|
18
|
+
<circle cx="75" cy="23" r="4" fill="white" />
|
|
19
|
+
<polygon points="75,35 71,27 79,27" fill="#E74C3C" />
|
|
20
|
+
</svg>
|