mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 16:29:51 +03:00
autodetect, download and install firmware upgrades
This commit is contained in:
@@ -48,3 +48,6 @@ export const uploadFile = (file: File) => {
|
||||
|
||||
export const uploadURL = (data: { url: string }) =>
|
||||
alovaInstance.Post('/rest/uploadURL', data);
|
||||
|
||||
export const checkUpgrade = (data: { version: string }) =>
|
||||
alovaInstance.Post('/rest/checkUpgrade', data);
|
||||
|
||||
@@ -1,10 +1,21 @@
|
||||
import { useState } from 'react';
|
||||
import { toast } from 'react-toastify';
|
||||
|
||||
import CancelIcon from '@mui/icons-material/Cancel';
|
||||
import DownloadIcon from '@mui/icons-material/GetApp';
|
||||
import InfoOutlinedIcon from '@mui/icons-material/InfoOutlined';
|
||||
import PowerSettingsNewIcon from '@mui/icons-material/PowerSettingsNew';
|
||||
import WarningIcon from '@mui/icons-material/Warning';
|
||||
import { Box, Button, Divider, Link, Typography } from '@mui/material';
|
||||
import {
|
||||
Box,
|
||||
Button,
|
||||
Dialog,
|
||||
DialogActions,
|
||||
DialogContent,
|
||||
DialogTitle,
|
||||
Link,
|
||||
Typography
|
||||
} from '@mui/material';
|
||||
|
||||
import * as SystemApi from 'api/system';
|
||||
import {
|
||||
@@ -14,7 +25,7 @@ import {
|
||||
getSchedule,
|
||||
getSettings
|
||||
} from 'api/app';
|
||||
import { getDevVersion, getStableVersion } from 'api/system';
|
||||
import { checkUpgrade, getDevVersion, getStableVersion } from 'api/system';
|
||||
|
||||
import { dialogStyle } from 'CustomTheme';
|
||||
import { useRequest } from 'alova/client';
|
||||
@@ -34,6 +45,9 @@ const DownloadUpload = () => {
|
||||
|
||||
const [restarting, setRestarting] = useState<boolean>(false);
|
||||
const [restartNeeded, setRestartNeeded] = useState<boolean>(false);
|
||||
const [openDialog, setOpenDialog] = useState<boolean>(false);
|
||||
const [useDev, setUseDev] = useState<boolean>(false);
|
||||
const [upgradeAvailable, setUpgradeAvailable] = useState<boolean>(false);
|
||||
|
||||
const { send: sendSettings } = useRequest(getSettings(), {
|
||||
immediate: false
|
||||
@@ -95,20 +109,24 @@ const DownloadUpload = () => {
|
||||
});
|
||||
};
|
||||
|
||||
const { send: sendCheckUpgrade } = useRequest(checkUpgrade, {
|
||||
immediate: false
|
||||
}).onSuccess((event) => {
|
||||
setUpgradeAvailable(event.data.upgradeable);
|
||||
});
|
||||
|
||||
// called immediately to get the latest version, on page load
|
||||
const { data: latestVersion } = useRequest(getStableVersion, {
|
||||
immediate: true
|
||||
// uncomment for testing
|
||||
// https://github.com/emsesp/EMS-ESP32/releases/download/v3.6.5/EMS-ESP-3_6_5-ESP32-16MB+.bin
|
||||
// uncomment next 2 lines for testing, uses https://github.com/emsesp/EMS-ESP32/releases/download/v3.6.5/EMS-ESP-3_6_5-ESP32-16MB+.bin
|
||||
// immediate: false,
|
||||
// initialData: '3.6.5'
|
||||
});
|
||||
const { data: latestDevVersion } = useRequest(getDevVersion, {
|
||||
immediate: true
|
||||
// uncomment for testing
|
||||
// https://github.com/emsesp/EMS-ESP32/releases/download/latest/EMS-ESP-3_7_0-dev_31-ESP32-16MB+.bin
|
||||
// uncomment next 2 lines for testing, uses https://github.com/emsesp/EMS-ESP32/releases/download/latest/EMS-ESP-3_7_0-dev_31-ESP32-16MB+.bin
|
||||
// immediate: false,
|
||||
// initialData: '3.7.0-dev.31'
|
||||
// initialData: '3.7.0-dev.32'
|
||||
}).onSuccess((event) => {
|
||||
void sendCheckUpgrade({ version: event.data });
|
||||
});
|
||||
|
||||
const STABLE_URL = 'https://github.com/emsesp/EMS-ESP32/releases/download/';
|
||||
@@ -119,8 +137,17 @@ const DownloadUpload = () => {
|
||||
const DEV_RELNOTES_URL =
|
||||
'https://github.com/emsesp/EMS-ESP32/blob/dev/CHANGELOG_LATEST.md';
|
||||
|
||||
const getBinURL = (v: string) =>
|
||||
'EMS-ESP-' + v.replaceAll('.', '_') + '-' + getPlatform() + '.bin';
|
||||
const getBinURL = (useDev: boolean) => {
|
||||
const filename =
|
||||
'EMS-ESP-' +
|
||||
(useDev ? latestDevVersion : latestVersion).replaceAll('.', '_') +
|
||||
'-' +
|
||||
getPlatform() +
|
||||
'.bin';
|
||||
return useDev
|
||||
? DEV_URL + filename
|
||||
: STABLE_URL + 'v' + latestVersion + '/' + filename;
|
||||
};
|
||||
|
||||
const getPlatform = () => {
|
||||
return (
|
||||
@@ -181,11 +208,72 @@ const DownloadUpload = () => {
|
||||
|
||||
useLayoutTitle(LL.DOWNLOAD_UPLOAD());
|
||||
|
||||
const renderUploadDialog = () => {
|
||||
if (latestDevVersion === undefined || latestVersion === undefined) {
|
||||
return null;
|
||||
}
|
||||
return (
|
||||
<Dialog
|
||||
sx={dialogStyle}
|
||||
open={openDialog}
|
||||
onClose={() => setOpenDialog(false)}
|
||||
>
|
||||
<DialogTitle>
|
||||
{LL.INSTALL('') +
|
||||
' ' +
|
||||
(useDev ? LL.DEVELOPMENT() : LL.STABLE()) +
|
||||
' Firmware'}
|
||||
</DialogTitle>
|
||||
<DialogContent dividers>
|
||||
<Typography mb={2}>
|
||||
{LL.INSTALL_VERSION(useDev ? latestDevVersion : latestVersion)}
|
||||
</Typography>
|
||||
<Link
|
||||
target="_blank"
|
||||
href={useDev ? DEV_RELNOTES_URL : STABLE_RELNOTES_URL}
|
||||
color="primary"
|
||||
>
|
||||
{LL.RELEASE_NOTES()}
|
||||
</Link>
|
||||
|
|
||||
<Link target="_blank" href={getBinURL(useDev)} color="primary">
|
||||
{LL.DOWNLOAD(1)}
|
||||
</Link>
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
<Button
|
||||
startIcon={<CancelIcon />}
|
||||
variant="outlined"
|
||||
onClick={() => setOpenDialog(false)}
|
||||
color="secondary"
|
||||
>
|
||||
{LL.CANCEL()}
|
||||
</Button>
|
||||
<Button
|
||||
startIcon={<WarningIcon color="warning" />}
|
||||
variant="outlined"
|
||||
onClick={() => installFirmwareURL(getBinURL(useDev))}
|
||||
color="primary"
|
||||
>
|
||||
{LL.INSTALL('')}
|
||||
</Button>
|
||||
</DialogActions>
|
||||
</Dialog>
|
||||
);
|
||||
};
|
||||
|
||||
const showFirmwareDialog = (useDev: boolean) => {
|
||||
setUseDev(useDev);
|
||||
setOpenDialog(true);
|
||||
};
|
||||
|
||||
const content = () => {
|
||||
if (!data) {
|
||||
return <FormLoader onRetry={loadData} errorMessage={error?.message} />;
|
||||
}
|
||||
|
||||
const isDev = data.emsesp_version.includes('dev');
|
||||
|
||||
return (
|
||||
<>
|
||||
<Typography sx={{ pb: 2 }} variant="h6" color="primary">
|
||||
@@ -274,76 +362,49 @@ const DownloadUpload = () => {
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box p={2} mt={2} border="1px solid grey" borderRadius={2}>
|
||||
{LL.VERSION_ON() + ' '}
|
||||
<b>{data.emsesp_version}</b> ({getPlatform()})
|
||||
<Divider />
|
||||
{latestVersion && (
|
||||
<Box mt={2}>
|
||||
{LL.THE_LATEST()} {LL.OFFICIAL()} {LL.RELEASE_IS()}
|
||||
<b>{latestVersion}</b>
|
||||
(
|
||||
<Link target="_blank" href={STABLE_RELNOTES_URL} color="primary">
|
||||
{LL.RELEASE_NOTES()}
|
||||
</Link>
|
||||
) (
|
||||
<Link
|
||||
target="_blank"
|
||||
href={
|
||||
STABLE_URL + 'v' + latestVersion + '/' + getBinURL(latestVersion)
|
||||
}
|
||||
color="primary"
|
||||
>
|
||||
{LL.DOWNLOAD(1)}
|
||||
</Link>
|
||||
)
|
||||
<Typography>
|
||||
<b>{LL.VERSION() + ':'}</b> {data.emsesp_version}
|
||||
{data.build_flags && (
|
||||
<Typography variant="caption">
|
||||
({data.build_flags})
|
||||
</Typography>
|
||||
)}
|
||||
</Typography>
|
||||
<Typography>
|
||||
<b>Platform:</b> {getPlatform()}
|
||||
</Typography>
|
||||
<Typography>
|
||||
<b>Release:</b> {isDev ? LL.DEVELOPMENT() : LL.STABLE()}
|
||||
{!isDev && (
|
||||
<Button
|
||||
sx={{ ml: 2 }}
|
||||
size="small"
|
||||
startIcon={<WarningIcon color="warning" />}
|
||||
variant="outlined"
|
||||
color="primary"
|
||||
onClick={() =>
|
||||
installFirmwareURL(
|
||||
STABLE_URL + 'v' + latestVersion + '/' + getBinURL(latestVersion)
|
||||
)
|
||||
}
|
||||
onClick={() => showFirmwareDialog(true)}
|
||||
>
|
||||
{LL.INSTALL(0)}
|
||||
{LL.SWITCH_DEV()}
|
||||
</Button>
|
||||
</Box>
|
||||
)}
|
||||
{latestDevVersion && (
|
||||
<Box mt={2}>
|
||||
{LL.THE_LATEST()} {LL.DEVELOPMENT()} {LL.RELEASE_IS()}
|
||||
|
||||
<b>{latestDevVersion}</b>
|
||||
(
|
||||
<Link target="_blank" href={DEV_RELNOTES_URL} color="primary">
|
||||
{LL.RELEASE_NOTES()}
|
||||
</Link>
|
||||
) (
|
||||
<Link
|
||||
target="_blank"
|
||||
href={DEV_URL + getBinURL(latestDevVersion)}
|
||||
color="primary"
|
||||
>
|
||||
{LL.DOWNLOAD(1)}
|
||||
</Link>
|
||||
)
|
||||
)}
|
||||
</Typography>
|
||||
{upgradeAvailable ? (
|
||||
<Typography mt={2} color="secondary">
|
||||
<InfoOutlinedIcon color="secondary" sx={{ verticalAlign: 'middle' }} />
|
||||
{LL.UPGRADE_AVAILABLE()}
|
||||
<Button
|
||||
sx={{ ml: 2 }}
|
||||
size="small"
|
||||
startIcon={<WarningIcon color="warning" />}
|
||||
variant="outlined"
|
||||
color="primary"
|
||||
onClick={() =>
|
||||
installFirmwareURL(DEV_URL + getBinURL(latestDevVersion))
|
||||
}
|
||||
onClick={() => showFirmwareDialog(true)}
|
||||
>
|
||||
{LL.INSTALL(0)}
|
||||
{LL.INSTALL('v' + isDev ? latestDevVersion : latestVersion)}
|
||||
</Button>
|
||||
</Box>
|
||||
</Typography>
|
||||
) : (
|
||||
<Typography mt={2}>{LL.LATEST_VERSION()}</Typography>
|
||||
)}
|
||||
{renderUploadDialog()}
|
||||
</Box>
|
||||
|
||||
<Typography sx={{ pt: 2, pb: 2 }} variant="h6" color="primary">
|
||||
@@ -374,11 +435,7 @@ const DownloadUpload = () => {
|
||||
|
||||
return (
|
||||
<SectionContent>
|
||||
{restarting ? (
|
||||
<RestartMonitor message="Please wait while the firmware is being uploaded and installed. This can take a few minutes. EMS-ESP will automatically restart when completed." />
|
||||
) : (
|
||||
content()
|
||||
)}
|
||||
{restarting ? <RestartMonitor message={LL.WAIT_FIRMWARE()} /> : content()}
|
||||
</SectionContent>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -145,7 +145,7 @@ const de: Translation = {
|
||||
CUSTOMIZATIONS_HELP_1: 'Wählen Sie ein Gerät aus und passen Sie die Entitäten mithilfe der Optionen an',
|
||||
CUSTOMIZATIONS_HELP_2: 'Als Favorit markieren',
|
||||
CUSTOMIZATIONS_HELP_3: 'Schreibaktion deaktivieren',
|
||||
CUSTOMIZATIONS_HELP_4: 'von MQTT und API ausschließen',
|
||||
CUSTOMIZATIONS_HELP_4: 'Von MQTT und API ausschließen',
|
||||
CUSTOMIZATIONS_HELP_5: 'Aus dem Kontrollzentrum ausblenden',
|
||||
CUSTOMIZATIONS_HELP_6: 'Aus dem Speicher löschen',
|
||||
SELECT_DEVICE: 'Wählen Sie ein Gerät aus',
|
||||
@@ -161,7 +161,7 @@ const de: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP ist ein freies Open-Source Projekt. Bitte unterstützen Sie die zukünftige Entwicklung mit einem "Star" auf GitHub!',
|
||||
UPLOAD: 'Hochladen',
|
||||
DOWNLOAD: '{{H|h|h}}erunterladen',
|
||||
INSTALL: 'Installieren',
|
||||
INSTALL: 'Installieren {0}',
|
||||
ABORTED: 'abgebrochen',
|
||||
FAILED: 'gescheitert',
|
||||
SUCCESSFUL: 'erfolgreich',
|
||||
@@ -169,16 +169,13 @@ const de: Translation = {
|
||||
LOG_OF: '{0}protokoll',
|
||||
STATUS_OF: '{0} Status',
|
||||
DOWNLOAD_UPLOAD: 'Herunterladen/Hochladen',
|
||||
VERSION_ON: 'Sie verwenden derzeit',
|
||||
CLOSE: 'Schließen',
|
||||
USE: 'Verwenden Sie',
|
||||
FACTORY_RESET: 'Werkseinstellung',
|
||||
SYSTEM_FACTORY_TEXT: 'EMS-ESP wurde auf Werkseinstellung gesetzt und startet als Zugangspunkt neu',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Sind Sie sicher alle Einstellungen auf Werkseinstellung zu setzen?',
|
||||
THE_LATEST: 'Die neueste',
|
||||
OFFICIAL: 'offizielle',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Entwicklungs',
|
||||
RELEASE_IS: 'Release ist',
|
||||
RELEASE_NOTES: 'Versionshinweise',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
UPTIME: 'System Betriebszeit',
|
||||
@@ -333,9 +330,14 @@ const de: Translation = {
|
||||
ENABLE_MODBUS: 'Modbus aktivieren',
|
||||
VIEW_LOG: 'Sehen Sie sich das Protokoll an, um Probleme zu diagnostizieren',
|
||||
UPLOAD_DRAG: 'Ziehen Sie eine Datei hierher oder klicken Sie, um eine auszuwählen',
|
||||
SERVICES: 'Dienstleistungen',
|
||||
SERVICES: 'Dienste',
|
||||
ALLVALUES: 'Alle Werte',
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Sonderfunktionen',
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default de;
|
||||
|
||||
@@ -161,7 +161,7 @@ const en: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP is a free and open-source project. Please support its future development by giving it a star on GitHub!',
|
||||
UPLOAD: 'Upload',
|
||||
DOWNLOAD: '{{D|d|d}}ownload',
|
||||
INSTALL: 'Install',
|
||||
INSTALL: 'Install {0}',
|
||||
ABORTED: 'aborted',
|
||||
FAILED: 'failed',
|
||||
SUCCESSFUL: 'successful',
|
||||
@@ -169,16 +169,13 @@ const en: Translation = {
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Status',
|
||||
DOWNLOAD_UPLOAD: 'Download/Upload',
|
||||
VERSION_ON: 'You are currently on version',
|
||||
CLOSE: 'Close',
|
||||
USE: 'Use',
|
||||
FACTORY_RESET: 'Factory Reset',
|
||||
SYSTEM_FACTORY_TEXT: 'Device has been factory reset and will now restart',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Are you sure you want to reset EMS-ESP to its factory defaults?',
|
||||
THE_LATEST: 'The latest',
|
||||
OFFICIAL: 'official',
|
||||
DEVELOPMENT: 'development',
|
||||
RELEASE_IS: 'release is',
|
||||
STABLE: 'Stable',
|
||||
DEVELOPMENT: 'Development',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
UPTIME: 'System Uptime',
|
||||
@@ -335,7 +332,12 @@ const en: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one',
|
||||
SERVICES: 'Services',
|
||||
ALLVALUES: 'All Values',
|
||||
SPECIAL_FUNCTIONS: 'Special Functions'
|
||||
SPECIAL_FUNCTIONS: 'Special Functions',
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default en;
|
||||
|
||||
@@ -161,7 +161,7 @@ const fr: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP est un projet libre et open-source. Merci de soutenir son développement futur en lui donnant une étoile sur GitHub !',
|
||||
UPLOAD: 'Upload',
|
||||
DOWNLOAD: '{{D|d|d}}ownload',
|
||||
INSTALL: 'Installer',
|
||||
INSTALL: 'Installer {0}',
|
||||
ABORTED: 'annulé',
|
||||
FAILED: 'échoué',
|
||||
SUCCESSFUL: 'réussi',
|
||||
@@ -169,16 +169,13 @@ const fr: Translation = {
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: 'Statut {0}',
|
||||
DOWNLOAD_UPLOAD: 'Download/Upload', // TODO translate
|
||||
VERSION_ON: 'You are currently on', // TODO translate
|
||||
CLOSE: 'Fermer',
|
||||
USE: 'Utiliser',
|
||||
FACTORY_RESET: 'Réinitialisation',
|
||||
SYSTEM_FACTORY_TEXT: "L'appareil a été réinitialisé et va maintenant redémarrer",
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: "Êtes-vous sûr de vouloir réinitialiser l'appareil à ses paramètres d'usine ?",
|
||||
THE_LATEST: 'La dernière',
|
||||
OFFICIAL: 'officielle',
|
||||
DEVELOPMENT: 'développement',
|
||||
RELEASE_IS: 'release est', // TODO translate
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Développement',
|
||||
RELEASE_NOTES: 'notes de version',
|
||||
EMS_ESP_VER: 'Version EMS-ESP',
|
||||
UPTIME: 'Durée de fonctionnement du système',
|
||||
@@ -335,7 +332,12 @@ const fr: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions',
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate // TODO translate
|
||||
};
|
||||
|
||||
export default fr;
|
||||
|
||||
@@ -161,7 +161,7 @@ const it: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP è un progetto gratuito e open-source. Supporta il suo sviluppo futuro assegnandogli una stella su GitHub!',
|
||||
UPLOAD: 'Carica',
|
||||
DOWNLOAD: 'Scarica',
|
||||
INSTALL: 'Installare',
|
||||
INSTALL: 'Installare {0}',
|
||||
ABORTED: 'Annullato',
|
||||
FAILED: 'Fallito',
|
||||
SUCCESSFUL: 'Riuscito',
|
||||
@@ -169,16 +169,13 @@ const it: Translation = {
|
||||
LOG_OF: 'Registro {0}',
|
||||
STATUS_OF: 'Stato {0}',
|
||||
DOWNLOAD_UPLOAD: 'Scaricamento/Caricamento',
|
||||
VERSION_ON: 'Attualmente stai eseguendo la versione',
|
||||
CLOSE: 'Chiudere',
|
||||
USE: 'Usa',
|
||||
FACTORY_RESET: 'Impostazioni di fabbrica',
|
||||
SYSTEM_FACTORY_TEXT: 'Il dispositivo è stato ripristinato alle impostazioni di fabbrica e ora verrà riavviato',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Sei sicuro di voler ripristinare il dispositivo alle impostazioni di fabbrica??',
|
||||
THE_LATEST: 'Ultima',
|
||||
OFFICIAL: 'ufficiale',
|
||||
DEVELOPMENT: 'sviluppo',
|
||||
RELEASE_IS: 'rilascio é',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Sviluppo',
|
||||
RELEASE_NOTES: 'note rilascio',
|
||||
EMS_ESP_VER: 'Versione EMS-ESP',
|
||||
UPTIME: 'Tempo di attività del sistema',
|
||||
@@ -335,7 +332,12 @@ const it: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default it;
|
||||
|
||||
@@ -161,7 +161,7 @@ const nl: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP is een gratis en open source project. Steun ons met een Star op GitHub!',
|
||||
UPLOAD: 'Upload',
|
||||
DOWNLOAD: '{{D|d|d}}ownload',
|
||||
INSTALL: 'Installeren',
|
||||
INSTALL: 'Installeren {0}',
|
||||
ABORTED: 'afgebroken',
|
||||
FAILED: 'mislukt',
|
||||
SUCCESSFUL: 'successvol',
|
||||
@@ -169,16 +169,13 @@ const nl: Translation = {
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Status',
|
||||
DOWNLOAD_UPLOAD: 'Download/Upload',
|
||||
VERSION_ON: 'U bevindt zich momenteel op versie',
|
||||
CLOSE: 'Sluiten',
|
||||
USE: 'Gebruik',
|
||||
FACTORY_RESET: 'Fabrieksinstellingen',
|
||||
SYSTEM_FACTORY_TEXT: 'Gateway is gereset en start nu weer op met fabrieksinstellingen',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Weet je zeker dat je een reset naar fabrieksinstellingen uit wilt voeren?',
|
||||
THE_LATEST: 'De laatste',
|
||||
OFFICIAL: 'official',
|
||||
DEVELOPMENT: 'development',
|
||||
RELEASE_IS: 'release is',
|
||||
STABLE: 'Stable',
|
||||
DEVELOPMENT: 'Development',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Versie',
|
||||
UPTIME: 'Systeem Uptime',
|
||||
@@ -335,7 +332,12 @@ const nl: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default nl;
|
||||
|
||||
@@ -161,7 +161,7 @@ const no: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP er gratis og åpen kildekode. Bidra til utviklingen ved å gi oss en stjerne på GitHub!',
|
||||
UPLOAD: 'Opplasning',
|
||||
DOWNLOAD: '{{N|n|n}}edlasting',
|
||||
INSTALL: 'Installer',
|
||||
INSTALL: 'Installer {0}',
|
||||
ABORTED: 'avbrutt',
|
||||
FAILED: 'feilet',
|
||||
SUCCESSFUL: 'vellykket',
|
||||
@@ -169,16 +169,13 @@ const no: Translation = {
|
||||
LOG_OF: '{0} Logg',
|
||||
STATUS_OF: '{0} Status',
|
||||
DOWNLOAD_UPLOAD: 'Nedlasting/Opp',
|
||||
VERSION_ON: 'You are currently on', // TODO translate
|
||||
CLOSE: 'Steng',
|
||||
USE: 'Bruk',
|
||||
FACTORY_RESET: 'Sett tilbake til fabrikkinstilling',
|
||||
SYSTEM_FACTORY_TEXT: 'Enhet har blitt satt tilbake til fabrikkinstilling og vil restarte',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Er du sikker på at du vil resette enheten til fabrikkinstillinger?',
|
||||
THE_LATEST: 'Den nyeste',
|
||||
OFFICIAL: 'official',
|
||||
DEVELOPMENT: 'development',
|
||||
RELEASE_IS: 'release er',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Development',
|
||||
RELEASE_NOTES: 'release notes',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
UPTIME: 'System Oppetid',
|
||||
@@ -335,7 +332,12 @@ const no: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default no;
|
||||
|
||||
@@ -161,7 +161,7 @@ const pl: BaseTranslation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP jest darmowym projektem typu open-source. Aby go wesprzeć, rozważ przyznanie nam gwiazdki na GitHub!',
|
||||
UPLOAD: 'Wysyłanie',
|
||||
DOWNLOAD: '{{P|p||P}}obier{{anie|z||z}}',
|
||||
INSTALL: 'Zainstalować',
|
||||
INSTALL: 'Zainstalować {0}',
|
||||
ABORTED: 'zostało przerwane!',
|
||||
FAILED: 'nie powiodł{{o|a|}} się!',
|
||||
SUCCESSFUL: 'powiodło się.',
|
||||
@@ -169,16 +169,13 @@ const pl: BaseTranslation = {
|
||||
LOG_OF: 'Log {0}',
|
||||
STATUS_OF: 'Status {0}',
|
||||
DOWNLOAD_UPLOAD: 'Plików przesyłanie',
|
||||
VERSION_ON: 'Aktualnie używasz',
|
||||
CLOSE: 'Zamknij',
|
||||
USE: 'Aby zaktualizować firmware skorzystaj z funkcji',
|
||||
FACTORY_RESET: 'Ustawienia fabryczne',
|
||||
SYSTEM_FACTORY_TEXT: 'Interfejs EMS-ESP został przywrócony do ustawień fabrycznych i zostanie teraz ponownie uruchomiony.',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Na pewno chcesz przywrócić ustawienia fabryczne interfejsu EMS-ESP? ',
|
||||
THE_LATEST: 'Najnowsze',
|
||||
OFFICIAL: 'oficjalne',
|
||||
DEVELOPMENT: 'testowe',
|
||||
RELEASE_IS: 'wydanie to',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Testowe',
|
||||
RELEASE_NOTES: 'lista zmian',
|
||||
EMS_ESP_VER: 'Wersja EMS-ESP',
|
||||
UPTIME: 'Czas działania systemu',
|
||||
@@ -335,7 +332,12 @@ const pl: BaseTranslation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default pl;
|
||||
|
||||
@@ -161,7 +161,7 @@ const sk: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP je bezplatný a open source projekt. Podporte jeho budúci vývoj tým, že mu dáte hviezdičku na GitHub!',
|
||||
UPLOAD: 'Nahrať',
|
||||
DOWNLOAD: '{{S|s|s}}tiahnuť',
|
||||
INSTALL: 'Inštalovať',
|
||||
INSTALL: 'Inštalovať {0}',
|
||||
ABORTED: 'zrušené',
|
||||
FAILED: 'chybné',
|
||||
SUCCESSFUL: 'úspešné',
|
||||
@@ -169,16 +169,13 @@ const sk: Translation = {
|
||||
LOG_OF: '{0} Log',
|
||||
STATUS_OF: '{0} Stav',
|
||||
DOWNLOAD_UPLOAD: 'Stiahnuť/Nahrať',
|
||||
VERSION_ON: 'Momentálne nainštalovaná verzia: ',
|
||||
CLOSE: 'Zatvoriť',
|
||||
USE: 'Použiť',
|
||||
FACTORY_RESET: 'Továrenské nastavenia',
|
||||
SYSTEM_FACTORY_TEXT: 'Zariadenie bolo obnovené z výroby a teraz sa reštartuje',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Naozaj chcete resetovať EMS-ESP na predvolené výrobné nastavenia?',
|
||||
THE_LATEST: 'Posledná',
|
||||
OFFICIAL: 'officiálna',
|
||||
DEVELOPMENT: 'vývojárska',
|
||||
RELEASE_IS: 'verzia je',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Vývojárska',
|
||||
RELEASE_NOTES: 'poznámky k verzii',
|
||||
EMS_ESP_VER: 'EMS-ESP verzia',
|
||||
UPTIME: 'Beh systému',
|
||||
@@ -335,7 +332,12 @@ const sk: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default sk;
|
||||
|
||||
@@ -161,7 +161,7 @@ const sv: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP är gratis och är öppen källkod. Bidra till utvecklingen genom att ge oss en stjärna på GitHub!',
|
||||
UPLOAD: 'Uppladdning',
|
||||
DOWNLOAD: '{{N|n|n}}edladdning',
|
||||
INSTALL: 'Installera',
|
||||
INSTALL: 'Installera {0}',
|
||||
ABORTED: 'Avbruten',
|
||||
FAILED: 'Misslyckades',
|
||||
SUCCESSFUL: 'Lyckades',
|
||||
@@ -169,16 +169,13 @@ const sv: Translation = {
|
||||
LOG_OF: '{0} Logg',
|
||||
STATUS_OF: '{0} Status',
|
||||
DOWNLOAD_UPLOAD: 'Nedladdning/Upp',
|
||||
VERSION_ON: 'You are currently on', // TODO translate
|
||||
CLOSE: 'Stäng',
|
||||
USE: 'Använd',
|
||||
FACTORY_RESET: 'Fabriksåterställning',
|
||||
SYSTEM_FACTORY_TEXT: 'Enheten har blivit fabriksåterställd och startar nu om',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Är du säker att du vill fabriksåterställa enheten?',
|
||||
THE_LATEST: 'Den senaste',
|
||||
OFFICIAL: 'officiell',
|
||||
DEVELOPMENT: 'utveckling',
|
||||
RELEASE_IS: 'release är',
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Utveckling',
|
||||
RELEASE_NOTES: 'release-logg',
|
||||
EMS_ESP_VER: 'EMS-ESP Version',
|
||||
UPTIME: 'Systemets Upptid',
|
||||
@@ -335,7 +332,12 @@ const sv: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default sv;
|
||||
|
||||
@@ -161,7 +161,7 @@ const tr: Translation = {
|
||||
HELP_INFORMATION_5: 'EMS-ESP ücretsiz ve açık kaynaklı bir projedir. Lütfen geliştirmeyi desteklemek için GitHubda projeye yıldız verin!',
|
||||
UPLOAD: 'Yükleme',
|
||||
DOWNLOAD: '{{İ|i|i}}İndirme',
|
||||
INSTALL: 'Düzenlemek',
|
||||
INSTALL: 'Düzenlemek {0}',
|
||||
ABORTED: 'iptal edildi',
|
||||
FAILED: 'başarısız',
|
||||
SUCCESSFUL: 'başarılı',
|
||||
@@ -169,16 +169,13 @@ const tr: Translation = {
|
||||
LOG_OF: '{0} Kaydı',
|
||||
STATUS_OF: '{0} Durumu',
|
||||
DOWNLOAD_UPLOAD: 'İndirme/Yükleme',
|
||||
VERSION_ON: 'You are currently on', // TODO translate
|
||||
CLOSE: 'Kapat',
|
||||
USE: 'KUllan',
|
||||
FACTORY_RESET: 'Fabrika ayarına dönme',
|
||||
SYSTEM_FACTORY_TEXT: 'Cihaz fabrika ayarlarına döndü ve şimdi yendiden başlatılacak',
|
||||
SYSTEM_FACTORY_TEXT_DIALOG: 'Cihazı fabrika ayarlarına döndürmek istediğinize emin misiniz?',
|
||||
THE_LATEST: 'En son',
|
||||
OFFICIAL: 'resmi',
|
||||
DEVELOPMENT: 'geliştirme',
|
||||
RELEASE_IS: 'release is', // TODO translate
|
||||
STABLE: 'Stable', // TODO translate
|
||||
DEVELOPMENT: 'Geliştirme',
|
||||
RELEASE_NOTES: 'yayınlanma notları',
|
||||
EMS_ESP_VER: 'EMS-ESP Sürümü',
|
||||
UPTIME: 'Sistem Çalışma Süresi',
|
||||
@@ -335,7 +332,12 @@ const tr: Translation = {
|
||||
UPLOAD_DRAG: 'drag and drop a file here or click to select one', // TODO translate
|
||||
SERVICES: 'Services', // TODO translate
|
||||
ALLVALUES: 'All Values', // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions' // TODO translate
|
||||
SPECIAL_FUNCTIONS: 'Special Functions', // TODO translate
|
||||
WAIT_FIRMWARE: 'Please wait while the firmware is being uploaded. The device will restart automatically.', // TODO translate
|
||||
INSTALL_VERSION: 'This will install vesion {0}. Are you sure?', // TODO translate
|
||||
SWITCH_DEV: 'Switch to development version', // TODO translate
|
||||
UPGRADE_AVAILABLE: 'There is a firmware upgrade available!', // TODO translate
|
||||
LATEST_VERSION: 'You are using the latest version.' // TODO translate
|
||||
};
|
||||
|
||||
export default tr;
|
||||
|
||||
@@ -4,6 +4,7 @@ import type { NetworkConnectionStatus } from './network';
|
||||
|
||||
export interface HardwareStatus {
|
||||
emsesp_version: string;
|
||||
build_flags: string;
|
||||
esp_platform: string;
|
||||
max_alloc_heap: number;
|
||||
cpu_type: string;
|
||||
@@ -30,7 +31,6 @@ export interface HardwareStatus {
|
||||
|
||||
export interface SystemStatus {
|
||||
emsesp_version: string;
|
||||
esp_platform: string;
|
||||
status: busConnectionStatus;
|
||||
uptime: number;
|
||||
bus_uptime: number;
|
||||
|
||||
Reference in New Issue
Block a user