zigbee-herdsman-converters 20.44.0 → 21.0.0-pre.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.
- package/converters/fromZigbee.d.ts +4 -6
- package/converters/fromZigbee.d.ts.map +1 -1
- package/converters/fromZigbee.js +3 -32
- package/converters/fromZigbee.js.map +1 -1
- package/converters/toZigbee.d.ts +1 -49
- package/converters/toZigbee.d.ts.map +1 -1
- package/converters/toZigbee.js +38 -46
- package/converters/toZigbee.js.map +1 -1
- package/devices/adeo.d.ts.map +1 -1
- package/devices/adeo.js +1 -2
- package/devices/adeo.js.map +1 -1
- package/devices/adurosmart.d.ts.map +1 -1
- package/devices/adurosmart.js +1 -2
- package/devices/adurosmart.js.map +1 -1
- package/devices/aeotec.js +1 -1
- package/devices/aeotec.js.map +1 -1
- package/devices/airam.d.ts.map +1 -1
- package/devices/airam.js +1 -13
- package/devices/airam.js.map +1 -1
- package/devices/amina.d.ts.map +1 -1
- package/devices/amina.js +1 -2
- package/devices/amina.js.map +1 -1
- package/devices/aurora_lighting.d.ts.map +1 -1
- package/devices/aurora_lighting.js +2 -3
- package/devices/aurora_lighting.js.map +1 -1
- package/devices/bitron.d.ts.map +1 -1
- package/devices/bitron.js +1 -2
- package/devices/bitron.js.map +1 -1
- package/devices/bosch.d.ts.map +1 -1
- package/devices/bosch.js +10 -9
- package/devices/bosch.js.map +1 -1
- package/devices/bticino.d.ts.map +1 -1
- package/devices/bticino.js +2 -3
- package/devices/bticino.js.map +1 -1
- package/devices/busch_jaeger.d.ts.map +1 -1
- package/devices/busch_jaeger.js +1 -11
- package/devices/busch_jaeger.js.map +1 -1
- package/devices/chacon.js +1 -1
- package/devices/chacon.js.map +1 -1
- package/devices/ctm.d.ts.map +1 -1
- package/devices/ctm.js +5 -8
- package/devices/ctm.js.map +1 -1
- package/devices/custom_devices_diy.d.ts.map +1 -1
- package/devices/custom_devices_diy.js +6 -10
- package/devices/custom_devices_diy.js.map +1 -1
- package/devices/danalock.d.ts.map +1 -1
- package/devices/danalock.js +1 -2
- package/devices/danalock.js.map +1 -1
- package/devices/danfoss.d.ts.map +1 -1
- package/devices/danfoss.js +1 -2
- package/devices/danfoss.js.map +1 -1
- package/devices/datek.d.ts.map +1 -1
- package/devices/datek.js +2 -5
- package/devices/datek.js.map +1 -1
- package/devices/develco.d.ts.map +1 -1
- package/devices/develco.js +19 -20
- package/devices/develco.js.map +1 -1
- package/devices/diyruz.d.ts.map +1 -1
- package/devices/diyruz.js +1 -2
- package/devices/diyruz.js.map +1 -1
- package/devices/dresden_elektronik.d.ts.map +1 -1
- package/devices/dresden_elektronik.js +3 -27
- package/devices/dresden_elektronik.js.map +1 -1
- package/devices/ecodim.d.ts.map +1 -1
- package/devices/ecodim.js +1 -2
- package/devices/ecodim.js.map +1 -1
- package/devices/ecozy.d.ts.map +1 -1
- package/devices/ecozy.js +1 -2
- package/devices/ecozy.js.map +1 -1
- package/devices/eurotronic.d.ts.map +1 -1
- package/devices/eurotronic.js +1 -2
- package/devices/eurotronic.js.map +1 -1
- package/devices/fantem.d.ts.map +1 -1
- package/devices/fantem.js +0 -1
- package/devices/fantem.js.map +1 -1
- package/devices/frient.js +1 -1
- package/devices/frient.js.map +1 -1
- package/devices/futurehome.d.ts.map +1 -1
- package/devices/futurehome.js +1 -2
- package/devices/futurehome.js.map +1 -1
- package/devices/gledopto.d.ts.map +1 -1
- package/devices/gledopto.js +30 -31
- package/devices/gledopto.js.map +1 -1
- package/devices/gmmts.d.ts.map +1 -1
- package/devices/gmmts.js +1 -2
- package/devices/gmmts.js.map +1 -1
- package/devices/heiman.d.ts.map +1 -1
- package/devices/heiman.js +3 -4
- package/devices/heiman.js.map +1 -1
- package/devices/heimgard_technologies.d.ts.map +1 -1
- package/devices/heimgard_technologies.js +5 -6
- package/devices/heimgard_technologies.js.map +1 -1
- package/devices/icasa.d.ts.map +1 -1
- package/devices/icasa.js +2 -25
- package/devices/icasa.js.map +1 -1
- package/devices/ikea.d.ts.map +1 -1
- package/devices/ikea.js +37 -51
- package/devices/ikea.js.map +1 -1
- package/devices/iluminize.d.ts.map +1 -1
- package/devices/iluminize.js +1 -2
- package/devices/iluminize.js.map +1 -1
- package/devices/immax.d.ts.map +1 -1
- package/devices/immax.js +3 -4
- package/devices/immax.js.map +1 -1
- package/devices/index.d.ts +1 -0
- package/devices/index.d.ts.map +1 -1
- package/devices/innr.d.ts.map +1 -1
- package/devices/innr.js +34 -35
- package/devices/innr.js.map +1 -1
- package/devices/inovelli.d.ts.map +1 -1
- package/devices/inovelli.js +3 -11
- package/devices/inovelli.js.map +1 -1
- package/devices/insta.d.ts.map +1 -1
- package/devices/insta.js +3 -12
- package/devices/insta.js.map +1 -1
- package/devices/javis.js +1 -1
- package/devices/javis.js.map +1 -1
- package/devices/jethome.d.ts.map +1 -1
- package/devices/jethome.js +1 -2
- package/devices/jethome.js.map +1 -1
- package/devices/kmpcil.d.ts.map +1 -1
- package/devices/kmpcil.js +1 -10
- package/devices/kmpcil.js.map +1 -1
- package/devices/konke.d.ts.map +1 -1
- package/devices/konke.js +2 -3
- package/devices/konke.js.map +1 -1
- package/devices/leedarson.d.ts.map +1 -1
- package/devices/leedarson.js +3 -11
- package/devices/leedarson.js.map +1 -1
- package/devices/legrand.d.ts.map +1 -1
- package/devices/legrand.js +30 -32
- package/devices/legrand.js.map +1 -1
- package/devices/leviton.d.ts.map +1 -1
- package/devices/leviton.js +1 -2
- package/devices/leviton.js.map +1 -1
- package/devices/lidl.d.ts.map +1 -1
- package/devices/lidl.js +1 -2
- package/devices/lidl.js.map +1 -1
- package/devices/lixee.d.ts.map +1 -1
- package/devices/lixee.js +1 -2
- package/devices/lixee.js.map +1 -1
- package/devices/lumi.d.ts.map +1 -1
- package/devices/lumi.js +19 -82
- package/devices/lumi.js.map +1 -1
- package/devices/lupus.d.ts.map +1 -1
- package/devices/lupus.js +3 -4
- package/devices/lupus.js.map +1 -1
- package/devices/lutron.d.ts.map +1 -1
- package/devices/lutron.js +7 -5
- package/devices/lutron.js.map +1 -1
- package/devices/lytko.d.ts.map +1 -1
- package/devices/lytko.js +6 -7
- package/devices/lytko.js.map +1 -1
- package/devices/meazon.d.ts.map +1 -1
- package/devices/meazon.js +2 -3
- package/devices/meazon.js.map +1 -1
- package/devices/moes.js +2 -2
- package/devices/moes.js.map +1 -1
- package/devices/muller_licht.d.ts.map +1 -1
- package/devices/muller_licht.js +5 -6
- package/devices/muller_licht.js.map +1 -1
- package/devices/namron.d.ts.map +1 -1
- package/devices/namron.js +17 -18
- package/devices/namron.js.map +1 -1
- package/devices/net2grid.d.ts.map +1 -1
- package/devices/net2grid.js +1 -2
- package/devices/net2grid.js.map +1 -1
- package/devices/nodon.d.ts.map +1 -1
- package/devices/nodon.js +13 -14
- package/devices/nodon.js.map +1 -1
- package/devices/nue_3a.d.ts.map +1 -1
- package/devices/nue_3a.js +3 -4
- package/devices/nue_3a.js.map +1 -1
- package/devices/osram.d.ts.map +1 -1
- package/devices/osram.js +20 -27
- package/devices/osram.js.map +1 -1
- package/devices/owon.d.ts.map +1 -1
- package/devices/owon.js +2 -3
- package/devices/owon.js.map +1 -1
- package/devices/perenio.d.ts.map +1 -1
- package/devices/perenio.js +3 -4
- package/devices/perenio.js.map +1 -1
- package/devices/philips.d.ts.map +1 -1
- package/devices/philips.js +10 -16
- package/devices/philips.js.map +1 -1
- package/devices/pushok.d.ts.map +1 -1
- package/devices/pushok.js +13 -11
- package/devices/pushok.js.map +1 -1
- package/devices/salus_controls.d.ts.map +1 -1
- package/devices/salus_controls.js +9 -10
- package/devices/salus_controls.js.map +1 -1
- package/devices/saswell.js +1 -1
- package/devices/schneider_electric.d.ts.map +1 -1
- package/devices/schneider_electric.js +14 -17
- package/devices/schneider_electric.js.map +1 -1
- package/devices/securifi.d.ts.map +1 -1
- package/devices/securifi.js +1 -2
- package/devices/securifi.js.map +1 -1
- package/devices/sengled.d.ts.map +1 -1
- package/devices/sengled.js +46 -27
- package/devices/sengled.js.map +1 -1
- package/devices/shinasystem.d.ts.map +1 -1
- package/devices/shinasystem.js +22 -23
- package/devices/shinasystem.js.map +1 -1
- package/devices/sinope.d.ts.map +1 -1
- package/devices/sinope.js +17 -19
- package/devices/sinope.js.map +1 -1
- package/devices/smartthings.d.ts.map +1 -1
- package/devices/smartthings.js +3 -10
- package/devices/smartthings.js.map +1 -1
- package/devices/sonoff.d.ts.map +1 -1
- package/devices/sonoff.js +14 -11
- package/devices/sonoff.js.map +1 -1
- package/devices/stelpro.d.ts.map +1 -1
- package/devices/stelpro.js +4 -5
- package/devices/stelpro.js.map +1 -1
- package/devices/sunricher.d.ts.map +1 -1
- package/devices/sunricher.js +1 -14
- package/devices/sunricher.js.map +1 -1
- package/devices/swann.d.ts.map +1 -1
- package/devices/swann.js +1 -2
- package/devices/swann.js.map +1 -1
- package/devices/sylvania.d.ts.map +1 -1
- package/devices/sylvania.js +2 -11
- package/devices/sylvania.js.map +1 -1
- package/devices/terncy.d.ts.map +1 -1
- package/devices/terncy.js +5 -7
- package/devices/terncy.js.map +1 -1
- package/devices/third_reality.d.ts.map +1 -1
- package/devices/third_reality.js +18 -19
- package/devices/third_reality.js.map +1 -1
- package/devices/tplink.js +1 -1
- package/devices/tplink.js.map +1 -1
- package/devices/trust.d.ts.map +1 -1
- package/devices/trust.js +1 -2
- package/devices/trust.js.map +1 -1
- package/devices/tuya.d.ts.map +1 -1
- package/devices/tuya.js +61 -63
- package/devices/tuya.js.map +1 -1
- package/devices/ubisys.d.ts.map +1 -1
- package/devices/ubisys.js +8 -9
- package/devices/ubisys.js.map +1 -1
- package/devices/uhome.d.ts.map +1 -1
- package/devices/uhome.js +1 -2
- package/devices/uhome.js.map +1 -1
- package/devices/viessmann.d.ts.map +1 -1
- package/devices/viessmann.js +1 -2
- package/devices/viessmann.js.map +1 -1
- package/devices/weiser.d.ts.map +1 -1
- package/devices/weiser.js +0 -2
- package/devices/weiser.js.map +1 -1
- package/devices/wirenboard.d.ts.map +1 -1
- package/devices/wirenboard.js +3 -4
- package/devices/wirenboard.js.map +1 -1
- package/devices/xyzroe.d.ts.map +1 -1
- package/devices/xyzroe.js +1 -4
- package/devices/xyzroe.js.map +1 -1
- package/devices/zen.d.ts.map +1 -1
- package/devices/zen.js +2 -4
- package/devices/zen.js.map +1 -1
- package/devices/zigbeetlc.d.ts +1 -0
- package/devices/zigbeetlc.d.ts.map +1 -1
- package/devices/zigbeetlc.js +3 -3
- package/devices/zigbeetlc.js.map +1 -1
- package/index.d.ts +4 -3
- package/index.d.ts.map +1 -1
- package/index.js +15 -13
- package/index.js.map +1 -1
- package/lib/exposes.d.ts +2 -5
- package/lib/exposes.d.ts.map +1 -1
- package/lib/exposes.js +4 -9
- package/lib/exposes.js.map +1 -1
- package/lib/ikea.d.ts +1 -49
- package/lib/ikea.d.ts.map +1 -1
- package/lib/ikea.js +3 -72
- package/lib/ikea.js.map +1 -1
- package/lib/ledvance.d.ts.map +1 -1
- package/lib/ledvance.js +5 -3
- package/lib/ledvance.js.map +1 -1
- package/lib/legacy.d.ts +182 -915
- package/lib/legacy.d.ts.map +1 -1
- package/lib/legacy.js +177 -1924
- package/lib/legacy.js.map +1 -1
- package/lib/lumi.d.ts +0 -142
- package/lib/lumi.d.ts.map +1 -1
- package/lib/lumi.js +7 -293
- package/lib/lumi.js.map +1 -1
- package/lib/modernExtend.d.ts +3 -7
- package/lib/modernExtend.d.ts.map +1 -1
- package/lib/modernExtend.js +4 -73
- package/lib/modernExtend.js.map +1 -1
- package/lib/ota.d.ts +71 -0
- package/lib/ota.d.ts.map +1 -0
- package/lib/ota.js +663 -0
- package/lib/ota.js.map +1 -0
- package/lib/philips.d.ts.map +1 -1
- package/lib/philips.js +2 -3
- package/lib/philips.js.map +1 -1
- package/lib/types.d.ts +41 -30
- package/lib/types.d.ts.map +1 -1
- package/lib/utils.d.ts +0 -1
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +1 -7
- package/lib/utils.js.map +1 -1
- package/package.json +23 -9
- package/lib/ota/common.d.ts +0 -31
- package/lib/ota/common.d.ts.map +0 -1
- package/lib/ota/common.js +0 -630
- package/lib/ota/common.js.map +0 -1
- package/lib/ota/gmmts.d.ts +0 -8
- package/lib/ota/gmmts.d.ts.map +0 -1
- package/lib/ota/gmmts.js +0 -62
- package/lib/ota/gmmts.js.map +0 -1
- package/lib/ota/index.d.ts +0 -15
- package/lib/ota/index.d.ts.map +0 -1
- package/lib/ota/index.js +0 -48
- package/lib/ota/index.js.map +0 -1
- package/lib/ota/inovelli.d.ts +0 -8
- package/lib/ota/inovelli.d.ts.map +0 -1
- package/lib/ota/inovelli.js +0 -91
- package/lib/ota/inovelli.js.map +0 -1
- package/lib/ota/jethome.d.ts +0 -9
- package/lib/ota/jethome.d.ts.map +0 -1
- package/lib/ota/jethome.js +0 -92
- package/lib/ota/jethome.js.map +0 -1
- package/lib/ota/ledvance.d.ts +0 -11
- package/lib/ota/ledvance.d.ts.map +0 -1
- package/lib/ota/ledvance.js +0 -75
- package/lib/ota/ledvance.js.map +0 -1
- package/lib/ota/salus.d.ts +0 -11
- package/lib/ota/salus.d.ts.map +0 -1
- package/lib/ota/salus.js +0 -99
- package/lib/ota/salus.js.map +0 -1
- package/lib/ota/securifi.d.ts +0 -4
- package/lib/ota/securifi.d.ts.map +0 -1
- package/lib/ota/securifi.js +0 -48
- package/lib/ota/securifi.js.map +0 -1
- package/lib/ota/tradfri.d.ts +0 -13
- package/lib/ota/tradfri.d.ts.map +0 -1
- package/lib/ota/tradfri.js +0 -72
- package/lib/ota/tradfri.js.map +0 -1
- package/lib/ota/ubisys.d.ts +0 -20
- package/lib/ota/ubisys.d.ts.map +0 -1
- package/lib/ota/ubisys.js +0 -93
- package/lib/ota/ubisys.js.map +0 -1
- package/lib/ota/zigbeeOTA.d.ts +0 -12
- package/lib/ota/zigbeeOTA.d.ts.map +0 -1
- package/lib/ota/zigbeeOTA.js +0 -143
- package/lib/ota/zigbeeOTA.js.map +0 -1
package/lib/ota/salus.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getImageMeta = getImageMeta;
|
|
30
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
31
|
-
exports.updateToLatest = updateToLatest;
|
|
32
|
-
const tar_stream_1 = __importDefault(require("tar-stream"));
|
|
33
|
-
const logger_1 = require("../logger");
|
|
34
|
-
const common = __importStar(require("./common"));
|
|
35
|
-
const url = 'https://eu.salusconnect.io/demo/default/status/firmware?timestamp=0';
|
|
36
|
-
const NS = 'zhc:ota:salus';
|
|
37
|
-
const axios = common.getAxios();
|
|
38
|
-
/**
|
|
39
|
-
* Helper functions
|
|
40
|
-
*/
|
|
41
|
-
async function getImageMeta(current, device) {
|
|
42
|
-
logger_1.logger.debug(`Call getImageMeta for ${device.modelID}`, NS);
|
|
43
|
-
const { data } = await axios.get(url);
|
|
44
|
-
if (!data?.versions?.length) {
|
|
45
|
-
throw new Error(`SalusOTA: Error getting firmware page at ${url}`);
|
|
46
|
-
}
|
|
47
|
-
const image = data.versions.find((i) => i.model === device.modelID);
|
|
48
|
-
if (!image) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
fileVersion: parseInt(image.version, 16),
|
|
53
|
-
url: image.url.replace(/^http:\/\//, 'https://'),
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
async function untar(tarStream) {
|
|
57
|
-
return await new Promise((resolve, reject) => {
|
|
58
|
-
const extract = tar_stream_1.default.extract();
|
|
59
|
-
const result = [];
|
|
60
|
-
extract.on('error', reject);
|
|
61
|
-
extract.on('entry', (headers, stream, next) => {
|
|
62
|
-
const buffers = [];
|
|
63
|
-
stream.on('data', function (data) {
|
|
64
|
-
buffers.push(data);
|
|
65
|
-
});
|
|
66
|
-
stream.on('end', function () {
|
|
67
|
-
result.push({
|
|
68
|
-
headers,
|
|
69
|
-
data: Buffer.concat(buffers),
|
|
70
|
-
});
|
|
71
|
-
next();
|
|
72
|
-
});
|
|
73
|
-
stream.resume();
|
|
74
|
-
});
|
|
75
|
-
extract.on('finish', () => {
|
|
76
|
-
resolve(result);
|
|
77
|
-
});
|
|
78
|
-
tarStream.pipe(extract);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
async function downloadImage(meta) {
|
|
82
|
-
const download = await axios.get(meta.url, { responseType: 'stream' });
|
|
83
|
-
const files = await untar(download.data);
|
|
84
|
-
// @ts-expect-error ignore
|
|
85
|
-
const imageFile = files.find((file) => file.headers.name.endsWith('.ota'));
|
|
86
|
-
return imageFile;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Interface implementation
|
|
90
|
-
*/
|
|
91
|
-
async function isUpdateAvailable(device, requestPayload = null) {
|
|
92
|
-
return await common.isUpdateAvailable(device, requestPayload, common.isNewImageAvailable, getImageMeta);
|
|
93
|
-
}
|
|
94
|
-
async function updateToLatest(device, onProgress) {
|
|
95
|
-
return await common.updateToLatest(device, onProgress, common.getNewImage, getImageMeta, downloadImage);
|
|
96
|
-
}
|
|
97
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
98
|
-
exports.updateToLatest = updateToLatest;
|
|
99
|
-
//# sourceMappingURL=salus.js.map
|
package/lib/ota/salus.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"salus.js","sourceRoot":"","sources":["../../src/lib/ota/salus.ts"],"names":[],"mappings":"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"}
|
package/lib/ota/securifi.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { Ota, Zh } from '../types';
|
|
2
|
-
export declare function isUpdateAvailable(device: Zh.Device, requestPayload?: Ota.ImageInfo): Promise<import("../types").OtaUpdateAvailableResult>;
|
|
3
|
-
export declare function updateToLatest(device: Zh.Device, onProgress: Ota.OnProgress): Promise<number>;
|
|
4
|
-
//# sourceMappingURL=securifi.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"securifi.d.ts","sourceRoot":"","sources":["../../src/lib/ota/securifi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,EAAE,EAAC,MAAM,UAAU,CAAC;AAIjC,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,GAAE,GAAG,CAAC,SAAgB,wDAO9F;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,mBAOjF"}
|
package/lib/ota/securifi.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
27
|
-
exports.updateToLatest = updateToLatest;
|
|
28
|
-
const common = __importStar(require("./common"));
|
|
29
|
-
const zigbeeOTA = __importStar(require("./zigbeeOTA"));
|
|
30
|
-
async function isUpdateAvailable(device, requestPayload = null) {
|
|
31
|
-
if (device.modelID === 'PP-WHT-US') {
|
|
32
|
-
// see https://github.com/Koenkk/zigbee-OTA/pull/14
|
|
33
|
-
const scenesEndpoint = device.endpoints.find((e) => e.supportsOutputCluster('genScenes'));
|
|
34
|
-
await scenesEndpoint.write('genScenes', { currentGroup: 49502 });
|
|
35
|
-
}
|
|
36
|
-
return await common.isUpdateAvailable(device, requestPayload, common.isNewImageAvailable, zigbeeOTA.getImageMeta);
|
|
37
|
-
}
|
|
38
|
-
async function updateToLatest(device, onProgress) {
|
|
39
|
-
if (device.modelID === 'PP-WHT-US') {
|
|
40
|
-
// see https://github.com/Koenkk/zigbee-OTA/pull/14
|
|
41
|
-
const scenesEndpoint = device.endpoints.find((e) => e.supportsOutputCluster('genScenes'));
|
|
42
|
-
await scenesEndpoint.write('genScenes', { currentGroup: 49502 });
|
|
43
|
-
}
|
|
44
|
-
return await common.updateToLatest(device, onProgress, common.getNewImage, zigbeeOTA.getImageMeta);
|
|
45
|
-
}
|
|
46
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
47
|
-
exports.updateToLatest = updateToLatest;
|
|
48
|
-
//# sourceMappingURL=securifi.js.map
|
package/lib/ota/securifi.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"securifi.js","sourceRoot":"","sources":["../../src/lib/ota/securifi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,8CAOC;AAED,wCAOC;AAnBD,iDAAmC;AACnC,uDAAyC;AAElC,KAAK,UAAU,iBAAiB,CAAC,MAAiB,EAAE,iBAAgC,IAAI;IAC3F,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,mDAAmD;QACnD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1F,MAAM,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;AACtH,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,UAA0B;IAC9E,IAAI,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACjC,mDAAmD;QACnD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1F,MAAM,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;AACvG,CAAC;AAED,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC9C,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC"}
|
package/lib/ota/tradfri.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Ota, Zh } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Helper functions
|
|
4
|
-
*/
|
|
5
|
-
export declare function getImageMeta(current: Ota.ImageInfo, device: Zh.Device): Promise<Ota.ImageMeta>;
|
|
6
|
-
/**
|
|
7
|
-
* Interface implementation
|
|
8
|
-
*/
|
|
9
|
-
export declare function isUpdateAvailable(device: Zh.Device, requestPayload?: Ota.ImageInfo): Promise<import("../types").OtaUpdateAvailableResult>;
|
|
10
|
-
export declare function updateToLatest(device: Zh.Device, onProgress: Ota.OnProgress): Promise<number>;
|
|
11
|
-
declare const useTestURL_: () => void;
|
|
12
|
-
export { useTestURL_ as useTestURL };
|
|
13
|
-
//# sourceMappingURL=tradfri.d.ts.map
|
package/lib/ota/tradfri.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tradfri.d.ts","sourceRoot":"","sources":["../../src/lib/ota/tradfri.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,GAAG,EAAE,EAAE,EAAC,MAAM,UAAU,CAAC;AAU3C;;GAEG;AAEH,wBAAsB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAmBpG;AAED;;GAEG;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,GAAE,GAAG,CAAC,SAAgB,wDAE9F;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,mBAEjF;AAED,QAAA,MAAM,WAAW,YAEhB,CAAC;AAEF,OAAO,EAAC,WAAW,IAAI,UAAU,EAAC,CAAC"}
|
package/lib/ota/tradfri.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.useTestURL = void 0;
|
|
27
|
-
exports.getImageMeta = getImageMeta;
|
|
28
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
29
|
-
exports.updateToLatest = updateToLatest;
|
|
30
|
-
const logger_1 = require("../logger");
|
|
31
|
-
const common = __importStar(require("./common"));
|
|
32
|
-
const productionURL = 'http://fw.ota.homesmart.ikea.net/feed/version_info.json';
|
|
33
|
-
const testURL = 'http://fw.test.ota.homesmart.ikea.net/feed/version_info.json';
|
|
34
|
-
const NS = 'zhc:ota:tradfri';
|
|
35
|
-
const axios = common.getAxios();
|
|
36
|
-
let useTestURL = false;
|
|
37
|
-
/**
|
|
38
|
-
* Helper functions
|
|
39
|
-
*/
|
|
40
|
-
async function getImageMeta(current, device) {
|
|
41
|
-
logger_1.logger.debug(`Call getImageMeta for ${device.modelID}`, NS);
|
|
42
|
-
const url = useTestURL ? testURL : productionURL;
|
|
43
|
-
const { data: images } = await axios.get(url);
|
|
44
|
-
if (!images?.length) {
|
|
45
|
-
throw new Error(`TradfriOTA: Error getting firmware page at ${url}`);
|
|
46
|
-
}
|
|
47
|
-
const image = images.find((i) => i.fw_image_type === current.imageType);
|
|
48
|
-
if (!image) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
fileVersion: (image.fw_file_version_MSB << 16) | image.fw_file_version_LSB,
|
|
53
|
-
url: image.fw_binary_url,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Interface implementation
|
|
58
|
-
*/
|
|
59
|
-
async function isUpdateAvailable(device, requestPayload = null) {
|
|
60
|
-
return await common.isUpdateAvailable(device, requestPayload, common.isNewImageAvailable, getImageMeta);
|
|
61
|
-
}
|
|
62
|
-
async function updateToLatest(device, onProgress) {
|
|
63
|
-
return await common.updateToLatest(device, onProgress, common.getNewImage, getImageMeta);
|
|
64
|
-
}
|
|
65
|
-
const useTestURL_ = () => {
|
|
66
|
-
useTestURL = true;
|
|
67
|
-
};
|
|
68
|
-
exports.useTestURL = useTestURL_;
|
|
69
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
70
|
-
exports.updateToLatest = updateToLatest;
|
|
71
|
-
exports.useTestURL = useTestURL_;
|
|
72
|
-
//# sourceMappingURL=tradfri.js.map
|
package/lib/ota/tradfri.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tradfri.js","sourceRoot":"","sources":["../../src/lib/ota/tradfri.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oCAmBC;AAMD,8CAEC;AAED,wCAEC;AA9CD,sCAAiC;AAEjC,iDAAmC;AAEnC,MAAM,aAAa,GAAG,yDAAyD,CAAC;AAChF,MAAM,OAAO,GAAG,8DAA8D,CAAC;AAE/E,MAAM,EAAE,GAAG,iBAAiB,CAAC;AAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;AAChC,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;GAEG;AAEI,KAAK,UAAU,YAAY,CAAC,OAAsB,EAAE,MAAiB;IACxE,eAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,MAAM,EAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;IAElF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,WAAW,EAAE,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,mBAAmB;QAC1E,GAAG,EAAE,KAAK,CAAC,aAAa;KAC3B,CAAC;AACN,CAAC;AAED;;GAEG;AAEI,KAAK,UAAU,iBAAiB,CAAC,MAAiB,EAAE,iBAAgC,IAAI;IAC3F,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAC5G,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,UAA0B;IAC9E,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,WAAW,GAAG,GAAG,EAAE;IACrB,UAAU,GAAG,IAAI,CAAC;AACtB,CAAC,CAAC;AAEqB,iCAAU;AAEjC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC9C,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;AACxC,OAAO,CAAC,UAAU,GAAG,WAAW,CAAC"}
|
package/lib/ota/ubisys.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Ota, Zh } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* Ubisys switched firmware format when the switched to their newer
|
|
4
|
-
* `Ubisys Compact7B Stack` (I think it was 7B, could have bene earlier)
|
|
5
|
-
*
|
|
6
|
-
* Their firmware index lists a *.ota1.zigbee firmware for those devices that
|
|
7
|
-
* is in the old firmware format that will update the device to use the new
|
|
8
|
-
* format. The matching logisch seems to generally work, however as reported in
|
|
9
|
-
* Koenkk/zigbee-OTA#329 there still seems to be a bug lurking somewhere.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Helper functions
|
|
13
|
-
*/
|
|
14
|
-
export declare function getImageMeta(current: Ota.ImageInfo, device: Zh.Device): Promise<Ota.ImageMeta>;
|
|
15
|
-
/**
|
|
16
|
-
* Interface implementation
|
|
17
|
-
*/
|
|
18
|
-
export declare function isUpdateAvailable(device: Zh.Device, requestPayload?: Ota.ImageInfo): Promise<import("../types").OtaUpdateAvailableResult>;
|
|
19
|
-
export declare function updateToLatest(device: Zh.Device, onProgress: Ota.OnProgress): Promise<number>;
|
|
20
|
-
//# sourceMappingURL=ubisys.d.ts.map
|
package/lib/ota/ubisys.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ubisys.d.ts","sourceRoot":"","sources":["../../src/lib/ota/ubisys.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,GAAG,EAAE,EAAE,EAAC,MAAM,UAAU,CAAC;AASjC;;;;;;;;GAQG;AAEH;;GAEG;AAEH,wBAAsB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAsCpG;AAED;;GAEG;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,GAAE,GAAG,CAAC,SAAgB,wDAE9F;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,mBAEjF"}
|
package/lib/ota/ubisys.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.getImageMeta = getImageMeta;
|
|
30
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
31
|
-
exports.updateToLatest = updateToLatest;
|
|
32
|
-
const url_1 = __importDefault(require("url"));
|
|
33
|
-
const logger_1 = require("../logger");
|
|
34
|
-
const common = __importStar(require("./common"));
|
|
35
|
-
const firmwareHtmlPageUrl = 'http://fwu.ubisys.de/smarthome/OTA/release/index';
|
|
36
|
-
const imageRegex = /10F2-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{8})\S*ota1?\.zigbee/gi;
|
|
37
|
-
const NS = 'zhc:ota:ubisys';
|
|
38
|
-
const axios = common.getAxios();
|
|
39
|
-
/**
|
|
40
|
-
* Ubisys switched firmware format when the switched to their newer
|
|
41
|
-
* `Ubisys Compact7B Stack` (I think it was 7B, could have bene earlier)
|
|
42
|
-
*
|
|
43
|
-
* Their firmware index lists a *.ota1.zigbee firmware for those devices that
|
|
44
|
-
* is in the old firmware format that will update the device to use the new
|
|
45
|
-
* format. The matching logisch seems to generally work, however as reported in
|
|
46
|
-
* Koenkk/zigbee-OTA#329 there still seems to be a bug lurking somewhere.
|
|
47
|
-
*/
|
|
48
|
-
/**
|
|
49
|
-
* Helper functions
|
|
50
|
-
*/
|
|
51
|
-
async function getImageMeta(current, device) {
|
|
52
|
-
logger_1.logger.debug(`Call getImageMeta for ${device.modelID}`, NS);
|
|
53
|
-
const { status, data: pageHtml } = await axios.get(firmwareHtmlPageUrl, { maxContentLength: -1 });
|
|
54
|
-
if (status !== 200 || !pageHtml?.length) {
|
|
55
|
-
throw new Error(`UbisysOTA: Error getting firmware page at ${firmwareHtmlPageUrl}`);
|
|
56
|
-
}
|
|
57
|
-
logger_1.logger.debug(`Got firmware page, status: ${status}, data.length: ${pageHtml.length}`, NS);
|
|
58
|
-
imageRegex.lastIndex = 0; // reset (global) regex for next exec to match from the beginning again
|
|
59
|
-
let imageMatch = imageRegex.exec(pageHtml);
|
|
60
|
-
let highestMatch = null;
|
|
61
|
-
while (imageMatch != null) {
|
|
62
|
-
logger_1.logger.debug(`Image found: ${imageMatch[0]}`, NS);
|
|
63
|
-
if (parseInt(imageMatch[1], 16) === current.imageType &&
|
|
64
|
-
parseInt(imageMatch[2], 16) <= device.hardwareVersion &&
|
|
65
|
-
device.hardwareVersion <= parseInt(imageMatch[3], 16)) {
|
|
66
|
-
if (highestMatch === null || parseInt(highestMatch[4], 16) < parseInt(imageMatch[4], 16)) {
|
|
67
|
-
highestMatch = imageMatch;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
imageMatch = imageRegex.exec(pageHtml);
|
|
71
|
-
}
|
|
72
|
-
if (!highestMatch) {
|
|
73
|
-
return null;
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
hardwareVersionMin: parseInt(highestMatch[2], 16),
|
|
77
|
-
hardwareVersionMax: parseInt(highestMatch[3], 16),
|
|
78
|
-
fileVersion: parseInt(highestMatch[4], 16),
|
|
79
|
-
url: url_1.default.resolve(firmwareHtmlPageUrl, highestMatch[0]),
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Interface implementation
|
|
84
|
-
*/
|
|
85
|
-
async function isUpdateAvailable(device, requestPayload = null) {
|
|
86
|
-
return await common.isUpdateAvailable(device, requestPayload, common.isNewImageAvailable, getImageMeta);
|
|
87
|
-
}
|
|
88
|
-
async function updateToLatest(device, onProgress) {
|
|
89
|
-
return await common.updateToLatest(device, onProgress, common.getNewImage, getImageMeta);
|
|
90
|
-
}
|
|
91
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
92
|
-
exports.updateToLatest = updateToLatest;
|
|
93
|
-
//# sourceMappingURL=ubisys.js.map
|
package/lib/ota/ubisys.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ubisys.js","sourceRoot":"","sources":["../../src/lib/ota/ubisys.ts"],"names":[],"mappings":"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"}
|
package/lib/ota/zigbeeOTA.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { KeyValueAny, Ota, Zh } from '../types';
|
|
2
|
-
export declare function getImageMeta(current: Ota.ImageInfo, device: Zh.Device): Promise<Ota.ImageMeta>;
|
|
3
|
-
export declare function getFirmwareFile(image: KeyValueAny): Promise<import("axios").AxiosResponse<any, any> | {
|
|
4
|
-
data: Buffer;
|
|
5
|
-
}>;
|
|
6
|
-
/**
|
|
7
|
-
* Interface implementation
|
|
8
|
-
*/
|
|
9
|
-
export declare function isUpdateAvailable(device: Zh.Device, requestPayload?: Ota.ImageInfo): Promise<import("../types").OtaUpdateAvailableResult>;
|
|
10
|
-
export declare function updateToLatest(device: Zh.Device, onProgress: Ota.OnProgress): Promise<number>;
|
|
11
|
-
export declare const useIndexOverride: (indexFileName: string) => void;
|
|
12
|
-
//# sourceMappingURL=zigbeeOTA.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zigbeeOTA.d.ts","sourceRoot":"","sources":["../../src/lib/ota/zigbeeOTA.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,UAAU,CAAC;AAwD9C,wBAAsB,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CA4BpG;AAgBD,wBAAsB,eAAe,CAAC,KAAK,EAAE,WAAW;;GAavD;AAED;;GAEG;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,GAAE,GAAG,CAAC,SAAgB,wDAE9F;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,mBAEjF;AAED,eAAO,MAAM,gBAAgB,kBAAmB,MAAM,SAErD,CAAC"}
|
package/lib/ota/zigbeeOTA.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.useIndexOverride = void 0;
|
|
27
|
-
exports.getImageMeta = getImageMeta;
|
|
28
|
-
exports.getFirmwareFile = getFirmwareFile;
|
|
29
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
30
|
-
exports.updateToLatest = updateToLatest;
|
|
31
|
-
const logger_1 = require("../logger");
|
|
32
|
-
const common = __importStar(require("./common"));
|
|
33
|
-
const url = 'https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json';
|
|
34
|
-
const caBundleUrl = 'https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/cacerts.pem';
|
|
35
|
-
const NS = 'zhc:ota';
|
|
36
|
-
const axios = common.getAxios();
|
|
37
|
-
let overrideIndexFileName = null;
|
|
38
|
-
/**
|
|
39
|
-
* Helper functions
|
|
40
|
-
*/
|
|
41
|
-
function fillImageInfo(meta) {
|
|
42
|
-
// Web-hosted images must come with all fields filled already
|
|
43
|
-
if (common.isValidUrl(meta.url)) {
|
|
44
|
-
return meta;
|
|
45
|
-
}
|
|
46
|
-
// Nothing to do if needed fields were filled already
|
|
47
|
-
if (meta.imageType !== undefined && meta.manufacturerCode !== undefined && meta.fileVersion !== undefined) {
|
|
48
|
-
return meta;
|
|
49
|
-
}
|
|
50
|
-
// If no fields provided - get them from the image file
|
|
51
|
-
const buffer = common.readLocalFile(meta.url);
|
|
52
|
-
const start = buffer.indexOf(common.UPGRADE_FILE_IDENTIFIER);
|
|
53
|
-
const image = common.parseImage(buffer.subarray(start));
|
|
54
|
-
// Will fill only those fields that were absent
|
|
55
|
-
if (meta.imageType === undefined)
|
|
56
|
-
meta.imageType = image.header.imageType;
|
|
57
|
-
if (meta.manufacturerCode === undefined)
|
|
58
|
-
meta.manufacturerCode = image.header.manufacturerCode;
|
|
59
|
-
if (meta.fileVersion === undefined)
|
|
60
|
-
meta.fileVersion = image.header.fileVersion;
|
|
61
|
-
return meta;
|
|
62
|
-
}
|
|
63
|
-
async function getIndex() {
|
|
64
|
-
const { data: mainIndex } = await axios.get(url);
|
|
65
|
-
if (!mainIndex) {
|
|
66
|
-
throw new Error(`ZigbeeOTA: Error getting firmware page at '${url}'`);
|
|
67
|
-
}
|
|
68
|
-
logger_1.logger.debug(`Downloaded main index`, NS);
|
|
69
|
-
if (overrideIndexFileName) {
|
|
70
|
-
logger_1.logger.debug(`Loading override index '${overrideIndexFileName}'`, NS);
|
|
71
|
-
const localIndex = await common.getOverrideIndexFile(overrideIndexFileName);
|
|
72
|
-
// Resulting index will have overridden items first
|
|
73
|
-
return localIndex.concat(mainIndex).map((item) => (common.isValidUrl(item.url) ? item : fillImageInfo(item)));
|
|
74
|
-
}
|
|
75
|
-
return mainIndex;
|
|
76
|
-
}
|
|
77
|
-
async function getImageMeta(current, device) {
|
|
78
|
-
logger_1.logger.debug(`Getting image metadata for '${device.modelID}'`, NS);
|
|
79
|
-
const images = await getIndex();
|
|
80
|
-
// NOTE: Officially an image can be determined with a combination of manufacturerCode and imageType.
|
|
81
|
-
// However Gledopto pro products use the same imageType (0) for every device while the image is different.
|
|
82
|
-
// For this case additional identification through the modelId is done.
|
|
83
|
-
// In the case of Tuya and Moes, additional identification is carried out through the manufacturerName.
|
|
84
|
-
const image = images.find((i) => i.imageType === current.imageType &&
|
|
85
|
-
i.manufacturerCode === current.manufacturerCode &&
|
|
86
|
-
(!i.minFileVersion || current.fileVersion >= i.minFileVersion) &&
|
|
87
|
-
(!i.maxFileVersion || current.fileVersion <= i.maxFileVersion) &&
|
|
88
|
-
(!i.modelId || i.modelId === device.modelID) &&
|
|
89
|
-
(!i.manufacturerName || i.manufacturerName.includes(device.manufacturerName)));
|
|
90
|
-
if (!image) {
|
|
91
|
-
return null;
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
fileVersion: image.fileVersion,
|
|
95
|
-
fileSize: image.fileSize,
|
|
96
|
-
url: image.url,
|
|
97
|
-
sha512: image.sha512,
|
|
98
|
-
force: image.force,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
async function isNewImageAvailable(current, device, getImageMeta) {
|
|
102
|
-
if (['lumi.airrtc.agl001', 'lumi.curtain.acn003', 'lumi.curtain.agl001'].includes(device.modelID)) {
|
|
103
|
-
// The current.fileVersion which comes from the device is wrong.
|
|
104
|
-
// Use the `lumiFileVersion` which comes from the manuSpecificLumi.attributeReport instead.
|
|
105
|
-
// https://github.com/Koenkk/zigbee2mqtt/issues/16345#issuecomment-1454835056
|
|
106
|
-
// https://github.com/Koenkk/zigbee2mqtt/issues/16345 doesn't seem to be needed for all
|
|
107
|
-
// https://github.com/Koenkk/zigbee2mqtt/issues/15745
|
|
108
|
-
if (device.meta.lumiFileVersion) {
|
|
109
|
-
current = { ...current, fileVersion: device.meta.lumiFileVersion };
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return await common.isNewImageAvailable(current, device, getImageMeta);
|
|
113
|
-
}
|
|
114
|
-
async function getFirmwareFile(image) {
|
|
115
|
-
const urlOrName = image.url;
|
|
116
|
-
// First try to download firmware file with the URL provided
|
|
117
|
-
if (common.isValidUrl(urlOrName)) {
|
|
118
|
-
logger_1.logger.debug(`Downloading firmware image from '${urlOrName}' using the zigbeeOTA custom CA certificates`, NS);
|
|
119
|
-
const otaCaBundle = await common.processCustomCaBundle(caBundleUrl);
|
|
120
|
-
const response = await common.getAxios(otaCaBundle).get(urlOrName, { responseType: 'arraybuffer' });
|
|
121
|
-
return response;
|
|
122
|
-
}
|
|
123
|
-
logger_1.logger.debug(`Trying to read firmware image from local file '${urlOrName}'`, NS);
|
|
124
|
-
return { data: common.readLocalFile(urlOrName) };
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Interface implementation
|
|
128
|
-
*/
|
|
129
|
-
async function isUpdateAvailable(device, requestPayload = null) {
|
|
130
|
-
return await common.isUpdateAvailable(device, requestPayload, isNewImageAvailable, getImageMeta);
|
|
131
|
-
}
|
|
132
|
-
async function updateToLatest(device, onProgress) {
|
|
133
|
-
return await common.updateToLatest(device, onProgress, common.getNewImage, getImageMeta, getFirmwareFile);
|
|
134
|
-
}
|
|
135
|
-
const useIndexOverride = (indexFileName) => {
|
|
136
|
-
overrideIndexFileName = indexFileName;
|
|
137
|
-
};
|
|
138
|
-
exports.useIndexOverride = useIndexOverride;
|
|
139
|
-
exports.getImageMeta = getImageMeta;
|
|
140
|
-
exports.isUpdateAvailable = isUpdateAvailable;
|
|
141
|
-
exports.updateToLatest = updateToLatest;
|
|
142
|
-
exports.useIndexOverride = exports.useIndexOverride;
|
|
143
|
-
//# sourceMappingURL=zigbeeOTA.js.map
|
package/lib/ota/zigbeeOTA.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zigbeeOTA.js","sourceRoot":"","sources":["../../src/lib/ota/zigbeeOTA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,oCA4BC;AAgBD,0CAaC;AAMD,8CAEC;AAED,wCAEC;AA9HD,sCAAiC;AAEjC,iDAAmC;AAEnC,MAAM,GAAG,GAAG,uEAAuE,CAAC;AACpF,MAAM,WAAW,GAAG,wEAAwE,CAAC;AAE7F,MAAM,EAAE,GAAG,SAAS,CAAC;AACrB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;AAEhC,IAAI,qBAAqB,GAAW,IAAI,CAAC;AAEzC;;GAEG;AAEH,SAAS,aAAa,CAAC,IAAiB;IACpC,6DAA6D;IAC7D,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qDAAqD;IACrD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACxG,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uDAAuD;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAExD,+CAA+C;IAC/C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1E,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;QAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC/F,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;IAChF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,QAAQ;IACnB,MAAM,EAAC,IAAI,EAAE,SAAS,EAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,eAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IAE1C,IAAI,qBAAqB,EAAE,CAAC;QACxB,eAAM,CAAC,KAAK,CAAC,2BAA2B,qBAAqB,GAAG,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;QAE5E,mDAAmD;QACnD,OAAO,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/H,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,OAAsB,EAAE,MAAiB;IACxE,eAAM,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;IAChC,oGAAoG;IACpG,0GAA0G;IAC1G,uEAAuE;IACvE,uGAAuG;IACvG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAc,EAAE,EAAE,CACf,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS;QACjC,CAAC,CAAC,gBAAgB,KAAK,OAAO,CAAC,gBAAgB;QAC/C,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;QAC5C,CAAC,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CACpF,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;KACrB,CAAC;AACN,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAsB,EAAE,MAAiB,EAAE,YAA8B;IACxG,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAChG,gEAAgE;QAChE,2FAA2F;QAC3F,6EAA6E;QAC7E,uFAAuF;QACvF,qDAAqD;QACrD,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,GAAG,EAAC,GAAG,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,EAAC,CAAC;QACrE,CAAC;IACL,CAAC;IACD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC3E,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,KAAkB;IACpD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC;IAE5B,4DAA4D;IAC5D,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,eAAM,CAAC,KAAK,CAAC,oCAAoC,SAAS,8CAA8C,EAAE,EAAE,CAAC,CAAC;QAC9G,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC,YAAY,EAAE,aAAa,EAAC,CAAC,CAAC;QAClG,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,eAAM,CAAC,KAAK,CAAC,kDAAkD,SAAS,GAAG,EAAE,EAAE,CAAC,CAAC;IACjF,OAAO,EAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AAEI,KAAK,UAAU,iBAAiB,CAAC,MAAiB,EAAE,iBAAgC,IAAI;IAC3F,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;AACrG,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,MAAiB,EAAE,UAA0B;IAC9E,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAC9G,CAAC;AAEM,MAAM,gBAAgB,GAAG,CAAC,aAAqB,EAAE,EAAE;IACtD,qBAAqB,GAAG,aAAa,CAAC;AAC1C,CAAC,CAAC;AAFW,QAAA,gBAAgB,oBAE3B;AAEF,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;AACpC,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC9C,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;AACxC,OAAO,CAAC,gBAAgB,GAAG,wBAAgB,CAAC"}
|