iobroker.parcel 0.2.2 → 0.2.6
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/io-package.json +5 -1
- package/main.js +56 -5
- package/package.json +7 -7
package/io-package.json
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "parcel",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.6",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.2.6": {
|
|
7
|
+
"en": "Improve DHL Status and add link to shipment in the telegram notification",
|
|
8
|
+
"de": "Verbesserung des DHL Status und Link zur Sendung in der Telegram Benachrichtigung hinzugefügt"
|
|
9
|
+
},
|
|
6
10
|
"0.2.2": {
|
|
7
11
|
"en": "Improvment for Amazon Login and fix for Briefaanündigung Image",
|
|
8
12
|
"de": "Verbesserung für Amazon Login und Fix für Briefankündigung Image State"
|
package/main.js
CHANGED
|
@@ -1708,11 +1708,13 @@ class Parcel extends utils.Adapter {
|
|
|
1708
1708
|
if (sendung.sendungsdetails && sendung.sendungsdetails.sendungsverlauf && sendung.sendungsdetails.sendungsverlauf.kurzStatus) {
|
|
1709
1709
|
status = sendung.sendungsdetails.sendungsverlauf.kurzStatus;
|
|
1710
1710
|
}
|
|
1711
|
-
if (sendung.sendungsdetails && sendung.sendungsdetails.
|
|
1711
|
+
if (sendung.sendungsdetails && sendung.sendungsdetails.liveTracking) {
|
|
1712
1712
|
status = status + ' ' + sendung.sendungsdetails.liveTracking.countdown + ' Stopps';
|
|
1713
1713
|
}
|
|
1714
|
-
if (
|
|
1715
|
-
|
|
1714
|
+
if (sendung.sendungsdetails && sendung.sendungsdetails.zustellung && sendung.sendungsdetails.zustellung.zustellzeitfensterBis) {
|
|
1715
|
+
const bisDate = new Date(sendung.sendungsdetails.zustellung.zustellzeitfensterBis).toLocaleTimeString('de-DE');
|
|
1716
|
+
const vonDate = new Date(sendung.sendungsdetails.zustellung.zustellzeitfensterVon).toLocaleTimeString('de-DE');
|
|
1717
|
+
status = status + ' ' + vonDate + '-' + bisDate;
|
|
1716
1718
|
}
|
|
1717
1719
|
const name = sendung.sendungsinfo.sendungsname || 'Unbekannt';
|
|
1718
1720
|
|
|
@@ -1778,6 +1780,7 @@ class Parcel extends utils.Adapter {
|
|
|
1778
1780
|
}
|
|
1779
1781
|
const sendungsObject = {
|
|
1780
1782
|
id: sendung.id,
|
|
1783
|
+
tracking: sendung.order,
|
|
1781
1784
|
name: name,
|
|
1782
1785
|
status: sendung.status.text.longText || '',
|
|
1783
1786
|
source: 'Hermes',
|
|
@@ -1821,7 +1824,13 @@ class Parcel extends utils.Adapter {
|
|
|
1821
1824
|
}
|
|
1822
1825
|
if (id === 'amz' && data && data.sendungen) {
|
|
1823
1826
|
const sendungsArray = data.sendungen.map((sendung) => {
|
|
1824
|
-
const sendungsObject = {
|
|
1827
|
+
const sendungsObject = {
|
|
1828
|
+
id: sendung.id,
|
|
1829
|
+
name: sendung.name,
|
|
1830
|
+
status: sendung.status,
|
|
1831
|
+
source: 'AMZ',
|
|
1832
|
+
tracking: sendung.detailedState.signInRedirectUrl,
|
|
1833
|
+
};
|
|
1825
1834
|
|
|
1826
1835
|
sendungsObject.delivery_status = this.deliveryStatusCheck(sendung, id, sendungsObject);
|
|
1827
1836
|
if (sendungsObject.delivery_status === this.delivery_status.OUT_FOR_DELIVERY) {
|
|
@@ -1899,7 +1908,7 @@ class Parcel extends utils.Adapter {
|
|
|
1899
1908
|
const sendInstances = this.config.sendToInstance.replace(/ /g, '').split(',');
|
|
1900
1909
|
const sendUser = this.config.sendToUser.replace(/ /g, '').split(',');
|
|
1901
1910
|
for (const sendInstance of sendInstances) {
|
|
1902
|
-
|
|
1911
|
+
let text = '📦 ' + sendungen[id].source + ' ' + sendungen[id].name + '\n' + sendungen[id].status;
|
|
1903
1912
|
if (sendUser.length > 0) {
|
|
1904
1913
|
for (const user of sendUser) {
|
|
1905
1914
|
if (sendInstance.includes('pushover')) {
|
|
@@ -1913,6 +1922,37 @@ class Parcel extends utils.Adapter {
|
|
|
1913
1922
|
text: text,
|
|
1914
1923
|
phone: user,
|
|
1915
1924
|
});
|
|
1925
|
+
} else if (sendInstance.includes('telegram')) {
|
|
1926
|
+
let url = '';
|
|
1927
|
+
let trackingId = sendungen[id].tracking || id;
|
|
1928
|
+
if (sendungen[id].source === 'DHL') {
|
|
1929
|
+
url = 'https://www.dhl.de/de/privatkunden/dhl-sendungsverfolgung.html?piececode=' + trackingId;
|
|
1930
|
+
}
|
|
1931
|
+
if (sendungen[id].source === 'AMZ') {
|
|
1932
|
+
url = 'https://www.amazon.de' + trackingId;
|
|
1933
|
+
}
|
|
1934
|
+
if (sendungen[id].source === 'GLS') {
|
|
1935
|
+
url = 'https://gls-group.eu/DE/de/paketverfolgung?match=' + trackingId;
|
|
1936
|
+
}
|
|
1937
|
+
if (sendungen[id].source === 'DPD') {
|
|
1938
|
+
url = 'https://tracking.dpd.de/parcelstatus?query=' + trackingId;
|
|
1939
|
+
}
|
|
1940
|
+
if (sendungen[id].source === 'UPS') {
|
|
1941
|
+
url = 'https://www.ups.com/track?loc=de_DE&tracknum=' + trackingId;
|
|
1942
|
+
}
|
|
1943
|
+
if (sendungen[id].source === 'Hermes') {
|
|
1944
|
+
url = 'https://www.myhermes.de/empfangen/sendungsverfolgung/sendungsinformation/?trackingnumber=' + trackingId;
|
|
1945
|
+
}
|
|
1946
|
+
let name = sendungen[id].name;
|
|
1947
|
+
if (name != null && name.replace) {
|
|
1948
|
+
name = name.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
1949
|
+
}
|
|
1950
|
+
let status = sendungen[id].status;
|
|
1951
|
+
if (status != null && status.replace) {
|
|
1952
|
+
status = status.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
1953
|
+
}
|
|
1954
|
+
text = '📦 <a href="' + url + '">' + sendungen[id].source + '</a> ' + name + '\n' + status;
|
|
1955
|
+
await this.sendToAsync(sendInstance, { user: user, text: text, disable_web_page_preview: true, parse_mode: 'HTML' });
|
|
1916
1956
|
} else {
|
|
1917
1957
|
await this.sendToAsync(sendInstance, { user: user, text: text });
|
|
1918
1958
|
}
|
|
@@ -2741,6 +2781,17 @@ class Parcel extends utils.Adapter {
|
|
|
2741
2781
|
}
|
|
2742
2782
|
}
|
|
2743
2783
|
} else {
|
|
2784
|
+
await this.extendObjectAsync(id.replace('image_url', 'image'), {
|
|
2785
|
+
type: 'state',
|
|
2786
|
+
common: {
|
|
2787
|
+
name: 'Image Base64 Decrypted from URL',
|
|
2788
|
+
write: false,
|
|
2789
|
+
read: true,
|
|
2790
|
+
type: 'string',
|
|
2791
|
+
role: 'state',
|
|
2792
|
+
},
|
|
2793
|
+
native: {},
|
|
2794
|
+
});
|
|
2744
2795
|
this.setState(id.replace('image_url', 'image'), imageBase64, true);
|
|
2745
2796
|
}
|
|
2746
2797
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.parcel",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.6",
|
|
4
4
|
"description": "Parcel tracking",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "TA2k",
|
|
@@ -29,28 +29,28 @@
|
|
|
29
29
|
"axios": "^1.6.2",
|
|
30
30
|
"http-cookie-agent": "^5.0.4",
|
|
31
31
|
"jsdom": "^21.1.2",
|
|
32
|
-
"json2iob": "^2.4.
|
|
32
|
+
"json2iob": "^2.4.11",
|
|
33
33
|
"qs": "^6.11.2",
|
|
34
34
|
"tough-cookie": "^4.1.3",
|
|
35
35
|
"uuid": "^9.0.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@iobroker/testing": "^4.1.0",
|
|
39
|
-
"@types/chai": "^4.3.
|
|
39
|
+
"@types/chai": "^4.3.11",
|
|
40
40
|
"@types/chai-as-promised": "^7.1.8",
|
|
41
|
-
"@types/mocha": "^10.0.
|
|
42
|
-
"@types/node": "^20.
|
|
41
|
+
"@types/mocha": "^10.0.6",
|
|
42
|
+
"@types/node": "^20.10.4",
|
|
43
43
|
"@types/proxyquire": "^1.3.31",
|
|
44
44
|
"@types/sinon": "^10.0.20",
|
|
45
45
|
"@types/sinon-chai": "^3.2.12",
|
|
46
46
|
"chai": "^4.3.10",
|
|
47
47
|
"chai-as-promised": "^7.1.1",
|
|
48
|
-
"eslint": "^8.
|
|
48
|
+
"eslint": "^8.55.0",
|
|
49
49
|
"mocha": "^10.2.0",
|
|
50
50
|
"proxyquire": "^2.1.3",
|
|
51
51
|
"sinon": "^15.2.0",
|
|
52
52
|
"sinon-chai": "^3.7.0",
|
|
53
|
-
"typescript": "~5.
|
|
53
|
+
"typescript": "~5.3.3"
|
|
54
54
|
},
|
|
55
55
|
"main": "main.js",
|
|
56
56
|
"files": [
|