mirror of
https://github.com/Koenkk/zigbee-OTA.git
synced 2026-09-19 02:58:40 +00:00
Match Autodl metas to ZHC. Remove unneeded metas. (#590)
* Match Autodl metas to ZHC. Remove unneeded metas. * prettier
This commit is contained in:
@@ -21,19 +21,19 @@ type ImagesJson = {
|
||||
builds: ImagesJsonBuild[];
|
||||
};
|
||||
|
||||
const NAME = 'Gmmts';
|
||||
const NAME = 'GammaTroniques';
|
||||
// const LOG_PREFIX = `[${NAME}]`;
|
||||
const BASE_URL = 'https://update.gammatroniques.fr/';
|
||||
const MANIFEST_URL_PATH = `/manifest.json`;
|
||||
const MODEL_IDS = ['ticmeter'];
|
||||
const MODEL_IDS: [urlId: string, modelId: string][] = [['ticmeter', 'TICMeter']];
|
||||
|
||||
function isDifferent(newData: ImagesJson, cachedData?: ImagesJson): boolean {
|
||||
return Boolean(process.env.IGNORE_CACHE) || !cachedData || cachedData.version !== newData.version;
|
||||
}
|
||||
|
||||
export async function writeCache(): Promise<void> {
|
||||
for (const modelId of MODEL_IDS) {
|
||||
const url = `${BASE_URL}${modelId}${MANIFEST_URL_PATH}`;
|
||||
for (const [urlId, modelId] of MODEL_IDS) {
|
||||
const url = `${BASE_URL}${urlId}${MANIFEST_URL_PATH}`;
|
||||
const page = await getJson<ImagesJson>(NAME, url);
|
||||
|
||||
if (page?.builds?.length) {
|
||||
@@ -43,9 +43,9 @@ export async function writeCache(): Promise<void> {
|
||||
}
|
||||
|
||||
export async function download(): Promise<void> {
|
||||
for (const modelId of MODEL_IDS) {
|
||||
for (const [urlId, modelId] of MODEL_IDS) {
|
||||
const logPrefix = `[${NAME}:${modelId}]`;
|
||||
const url = `${BASE_URL}${modelId}${MANIFEST_URL_PATH}`;
|
||||
const url = `${BASE_URL}${urlId}${MANIFEST_URL_PATH}`;
|
||||
const page = await getJson<ImagesJson>(NAME, url);
|
||||
|
||||
if (!page?.builds?.length) {
|
||||
@@ -71,6 +71,6 @@ export async function download(): Promise<void> {
|
||||
|
||||
const firmwareFileName = appUrl.ota.split('/').pop()!;
|
||||
|
||||
await processFirmwareImage(NAME, firmwareFileName, appUrl.ota, {manufacturerName: [NAME]});
|
||||
await processFirmwareImage(NAME, firmwareFileName, appUrl.ota, {modelId});
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
import type {ExtraMetas} from '../types.js';
|
||||
|
||||
import {getJson, getLatestImage, readCacheJson, writeCacheJson} from '../common.js';
|
||||
import {processFirmwareImage} from '../process_firmware_image.js';
|
||||
|
||||
@@ -56,7 +58,7 @@ export async function writeCache(manufacturer: string, releasesUrl: string): Pro
|
||||
}
|
||||
}
|
||||
|
||||
export async function download(manufacturer: string, releasesUrl: string, assetFinders: AssetFindPredicate[]): Promise<void> {
|
||||
export async function download(manufacturer: string, releasesUrl: string, assetFinders: AssetFindPredicate[], extraMetas: ExtraMetas): Promise<void> {
|
||||
const logPrefix = `[${manufacturer}]`;
|
||||
const releases = await getJson<ReleasesJson>(manufacturer, releasesUrl);
|
||||
|
||||
@@ -79,8 +81,8 @@ export async function download(manufacturer: string, releasesUrl: string, assetF
|
||||
}
|
||||
|
||||
await processFirmwareImage(manufacturer, asset.name, asset.browser_download_url, {
|
||||
manufacturerName: [manufacturer],
|
||||
releaseNotes: release.html_url,
|
||||
...extraMetas,
|
||||
});
|
||||
} else {
|
||||
console.error(`${logPrefix} No image found.`);
|
||||
|
||||
+1
-1
@@ -74,7 +74,7 @@ export async function download(): Promise<void> {
|
||||
continue;
|
||||
}
|
||||
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.fw_binary_url, {manufacturerName: [NAME], releaseNotes: RELEASE_NOTES_URL});
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.fw_binary_url, {releaseNotes: RELEASE_NOTES_URL});
|
||||
}
|
||||
|
||||
writeCacheJson(NAME, images);
|
||||
|
||||
@@ -65,7 +65,7 @@ export async function download(): Promise<void> {
|
||||
continue;
|
||||
}
|
||||
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.fw_binary_url, {manufacturerName: [NAME], releaseNotes: RELEASE_NOTES_URL});
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.fw_binary_url, {releaseNotes: RELEASE_NOTES_URL});
|
||||
}
|
||||
|
||||
writeCacheJson(CACHE_FILENAME, images);
|
||||
|
||||
@@ -62,7 +62,7 @@ export async function download(): Promise<void> {
|
||||
continue;
|
||||
}
|
||||
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.firmware, {manufacturerName: [NAME]});
|
||||
await processFirmwareImage(NAME, firmwareFileName, image.firmware);
|
||||
}
|
||||
|
||||
writeCacheJson(NAME, models);
|
||||
|
||||
@@ -29,7 +29,7 @@ type ImageJson = {
|
||||
};
|
||||
};
|
||||
|
||||
const NAME = 'Jethome';
|
||||
const NAME = 'JetHome';
|
||||
const LOG_PREFIX = `[${NAME}]`;
|
||||
const BASE_URL = 'https://fw.jethome.ru';
|
||||
const DEVICE_URL = `${BASE_URL}/api/devices/`;
|
||||
|
||||
@@ -34,7 +34,7 @@ type ImagesJson = {
|
||||
};
|
||||
type GroupedImagesJson = Record<string, FirmwareJson[]>;
|
||||
|
||||
const NAME = 'Ledvance';
|
||||
const NAME = 'LEDVANCE';
|
||||
const LOG_PREFIX = `[${NAME}]`;
|
||||
const FIRMWARE_URL = 'https://api.update.ledvance.com/v1/zigbee/firmwares/';
|
||||
// const UPDATE_CHECK_URL = 'https://api.update.ledvance.com/v1/zigbee/firmwares/newer';
|
||||
@@ -107,7 +107,6 @@ export async function download(): Promise<void> {
|
||||
|
||||
for (let i = 0; i < FETCH_FAILED_RETRIES; i++) {
|
||||
const status = await processFirmwareImage(NAME, firmwareFileName, firmwareUrl, {
|
||||
manufacturerName: [NAME],
|
||||
// workflow automatically computes sha512
|
||||
// sha256: firmware.shA256,
|
||||
releaseNotes: firmware.releaseNotes,
|
||||
|
||||
+4
-2
@@ -1,6 +1,6 @@
|
||||
import * as github from './github.js';
|
||||
|
||||
const NAME = 'Lixee';
|
||||
const NAME = 'LiXee';
|
||||
const FIRMWARE_URL = 'https://api.github.com/repos/fairecasoimeme/Zlinky_TIC/releases';
|
||||
/** @see https://github.com/fairecasoimeme/Zlinky_TIC?tab=readme-ov-file#route-or-limited-route-from-v7 */
|
||||
const FIRMWARE_EXT = '.ota';
|
||||
@@ -11,5 +11,7 @@ export async function writeCache(): Promise<void> {
|
||||
}
|
||||
|
||||
export async function download(): Promise<void> {
|
||||
await github.download(NAME, FIRMWARE_URL, [(a): boolean => a.name.endsWith(FIRMWARE_EXT), (a): boolean => a.name.endsWith(FIRMWARE_LIMITED)]);
|
||||
await github.download(NAME, FIRMWARE_URL, [(a): boolean => a.name.endsWith(FIRMWARE_EXT), (a): boolean => a.name.endsWith(FIRMWARE_LIMITED)], {
|
||||
manufacturerName: [NAME],
|
||||
});
|
||||
}
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ type ImagesJson = {
|
||||
versions: ImageJson[];
|
||||
};
|
||||
|
||||
const NAME = 'Salus';
|
||||
const NAME = 'SalusControls';
|
||||
const LOG_PREFIX = `[${NAME}]`;
|
||||
const FIRMWARE_URL = 'https://eu.salusconnect.io/demo/default/status/firmware?timestamp=0';
|
||||
|
||||
|
||||
@@ -91,7 +91,6 @@ export async function download(): Promise<void> {
|
||||
const firmwareUrl = url.resolve(FIRMWARE_HTML_URL, image.fileName);
|
||||
|
||||
await processFirmwareImage(NAME, image.fileName, firmwareUrl, {
|
||||
manufacturerName: [NAME],
|
||||
hardwareVersionMin: image.hardwareVersionMin,
|
||||
hardwareVersionMax: image.hardwareVersionMax,
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as github from './github.js';
|
||||
|
||||
const NAME = 'Xyzroe';
|
||||
const NAME = 'xyzroe';
|
||||
const FIRMWARE_URL = 'https://api.github.com/repos/xyzroe/ZigUSB_C6/releases';
|
||||
const FIRMWARE_EXT = '.ota';
|
||||
|
||||
@@ -9,5 +9,5 @@ export async function writeCache(): Promise<void> {
|
||||
}
|
||||
|
||||
export async function download(): Promise<void> {
|
||||
await github.download(NAME, FIRMWARE_URL, [(a): boolean => a.name.endsWith(FIRMWARE_EXT)]);
|
||||
await github.download(NAME, FIRMWARE_URL, [(a): boolean => a.name.endsWith(FIRMWARE_EXT)], {modelId: 'ZigUSB_C6'});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user