mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 08:19:52 +03:00
Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev
This commit is contained in:
@@ -66,7 +66,7 @@
|
|||||||
"eslint-plugin-prettier": "^4.2.1",
|
"eslint-plugin-prettier": "^4.2.1",
|
||||||
"eslint-plugin-react": "^7.32.2",
|
"eslint-plugin-react": "^7.32.2",
|
||||||
"eslint-plugin-react-hooks": "^4.6.0",
|
"eslint-plugin-react-hooks": "^4.6.0",
|
||||||
"nodemon": "^2.0.21",
|
"nodemon": "^2.0.22",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all": "^4.1.5",
|
||||||
"prettier": "^2.8.6",
|
"prettier": "^2.8.6",
|
||||||
"rollup-plugin-visualizer": "^5.9.0",
|
"rollup-plugin-visualizer": "^5.9.0",
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
label={LL.ENABLE_MQTT()}
|
label={LL.ENABLE_MQTT()}
|
||||||
/>
|
/>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="host"
|
name="host"
|
||||||
@@ -69,7 +69,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="port"
|
name="port"
|
||||||
@@ -82,9 +82,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
<Grid item xs={12} sm={6}>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
|
||||||
<Grid item xs={6}>
|
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="base"
|
name="base"
|
||||||
@@ -96,7 +94,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="client_id"
|
name="client_id"
|
||||||
label={LL.ID_OF(LL.CLIENT()) + ' (' + LL.OPTIONAL() + ')'}
|
label={LL.ID_OF(LL.CLIENT()) + ' (' + LL.OPTIONAL() + ')'}
|
||||||
@@ -107,9 +105,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
<Grid item xs={12} sm={6}>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
|
||||||
<Grid item xs={6}>
|
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="username"
|
name="username"
|
||||||
label={LL.USERNAME(0)}
|
label={LL.USERNAME(0)}
|
||||||
@@ -120,7 +116,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedPasswordField
|
<ValidatedPasswordField
|
||||||
name="password"
|
name="password"
|
||||||
label={LL.PASSWORD()}
|
label={LL.PASSWORD()}
|
||||||
@@ -131,9 +127,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid>
|
<Grid item xs={12} sm={6}>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
|
||||||
<Grid item xs={6}>
|
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="keep_alive"
|
name="keep_alive"
|
||||||
@@ -149,7 +143,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="mqtt_qos"
|
name="mqtt_qos"
|
||||||
label="QoS"
|
label="QoS"
|
||||||
@@ -196,7 +190,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
label={LL.MQTT_RESPONSE()}
|
label={LL.MQTT_RESPONSE()}
|
||||||
/>
|
/>
|
||||||
{!data.ha_enabled && (
|
{!data.ha_enabled && (
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container rowSpacing={-1} spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<BlockFormControlLabel
|
<BlockFormControlLabel
|
||||||
control={<Checkbox name="publish_single" checked={data.publish_single} onChange={updateFormValue} />}
|
control={<Checkbox name="publish_single" checked={data.publish_single} onChange={updateFormValue} />}
|
||||||
@@ -219,58 +213,55 @@ const MqttSettingsForm: FC = () => {
|
|||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item>
|
<Grid item>
|
||||||
<BlockFormControlLabel
|
<BlockFormControlLabel
|
||||||
sx={{ pb: 1 }}
|
|
||||||
control={<Checkbox name="ha_enabled" checked={data.ha_enabled} onChange={updateFormValue} />}
|
control={<Checkbox name="ha_enabled" checked={data.ha_enabled} onChange={updateFormValue} />}
|
||||||
label={LL.MQTT_PUBLISH_TEXT_3()}
|
label={LL.MQTT_PUBLISH_TEXT_3()}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
{data.ha_enabled && (
|
{data.ha_enabled && (
|
||||||
<>
|
<Grid container sx={{ pl: 1 }} spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<Grid item>
|
<ValidatedTextField
|
||||||
<ValidatedTextField
|
name="discovery_type"
|
||||||
name="discovery_type"
|
label={LL.MQTT_PUBLISH_TEXT_5()}
|
||||||
label={LL.MQTT_PUBLISH_TEXT_5()}
|
value={data.discovery_type}
|
||||||
value={data.discovery_type}
|
fullWidth
|
||||||
fullWidth
|
variant="outlined"
|
||||||
variant="outlined"
|
onChange={updateFormValue}
|
||||||
onChange={updateFormValue}
|
margin="normal"
|
||||||
margin="normal"
|
select
|
||||||
select
|
>
|
||||||
>
|
<MenuItem value={0}>Home Assistant</MenuItem>
|
||||||
<MenuItem value={0}>Home Assistant</MenuItem>
|
<MenuItem value={1}>Domoticz</MenuItem>
|
||||||
<MenuItem value={1}>Domoticz</MenuItem>
|
</ValidatedTextField>
|
||||||
</ValidatedTextField>
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<ValidatedTextField
|
|
||||||
name="discovery_prefix"
|
|
||||||
label={LL.MQTT_PUBLISH_TEXT_4()}
|
|
||||||
fullWidth
|
|
||||||
variant="outlined"
|
|
||||||
value={data.discovery_prefix}
|
|
||||||
onChange={updateFormValue}
|
|
||||||
margin="normal"
|
|
||||||
/>
|
|
||||||
</Grid>
|
|
||||||
<Grid item>
|
|
||||||
<ValidatedTextField
|
|
||||||
name="entity_format"
|
|
||||||
label={LL.MQTT_ENTITY_FORMAT()}
|
|
||||||
value={data.entity_format}
|
|
||||||
fullWidth
|
|
||||||
variant="outlined"
|
|
||||||
onChange={updateFormValue}
|
|
||||||
margin="normal"
|
|
||||||
select
|
|
||||||
>
|
|
||||||
<MenuItem value={0}>{LL.MQTT_ENTITY_FORMAT_0()}</MenuItem>
|
|
||||||
<MenuItem value={1}>{LL.MQTT_ENTITY_FORMAT_1()}</MenuItem>
|
|
||||||
<MenuItem value={2}>{LL.MQTT_ENTITY_FORMAT_2()}</MenuItem>
|
|
||||||
</ValidatedTextField>
|
|
||||||
</Grid>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
|
<ValidatedTextField
|
||||||
|
name="discovery_prefix"
|
||||||
|
label={LL.MQTT_PUBLISH_TEXT_4()}
|
||||||
|
fullWidth
|
||||||
|
variant="outlined"
|
||||||
|
value={data.discovery_prefix}
|
||||||
|
onChange={updateFormValue}
|
||||||
|
margin="normal"
|
||||||
|
/>
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
|
<ValidatedTextField
|
||||||
|
name="entity_format"
|
||||||
|
label={LL.MQTT_ENTITY_FORMAT()}
|
||||||
|
value={data.entity_format}
|
||||||
|
fullWidth
|
||||||
|
variant="outlined"
|
||||||
|
onChange={updateFormValue}
|
||||||
|
margin="normal"
|
||||||
|
select
|
||||||
|
>
|
||||||
|
<MenuItem value={0}>{LL.MQTT_ENTITY_FORMAT_0()}</MenuItem>
|
||||||
|
<MenuItem value={1}>{LL.MQTT_ENTITY_FORMAT_1()}</MenuItem>
|
||||||
|
<MenuItem value={2}>{LL.MQTT_ENTITY_FORMAT_2()}</MenuItem>
|
||||||
|
</ValidatedTextField>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
)}
|
)}
|
||||||
</Grid>
|
</Grid>
|
||||||
)}
|
)}
|
||||||
@@ -278,7 +269,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
{LL.MQTT_PUBLISH_INTERVALS()} (0=auto)
|
{LL.MQTT_PUBLISH_INTERVALS()} (0=auto)
|
||||||
</Typography>
|
</Typography>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_heartbeat"
|
name="publish_time_heartbeat"
|
||||||
@@ -294,7 +285,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_boiler"
|
name="publish_time_boiler"
|
||||||
@@ -310,7 +301,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_thermostat"
|
name="publish_time_thermostat"
|
||||||
@@ -326,7 +317,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_solar"
|
name="publish_time_solar"
|
||||||
@@ -342,7 +333,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_mixer"
|
name="publish_time_mixer"
|
||||||
@@ -358,7 +349,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_sensor"
|
name="publish_time_sensor"
|
||||||
@@ -374,7 +365,7 @@ const MqttSettingsForm: FC = () => {
|
|||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="publish_time_other"
|
name="publish_time_other"
|
||||||
|
|||||||
@@ -16,11 +16,11 @@ const no: Translation = {
|
|||||||
SETTINGS_OF: '{0} Innstillinger',
|
SETTINGS_OF: '{0} Innstillinger',
|
||||||
HELP_OF: '{0} Hjelp',
|
HELP_OF: '{0} Hjelp',
|
||||||
LOGGED_IN: 'Logget in som {name}',
|
LOGGED_IN: 'Logget in som {name}',
|
||||||
PLEASE_SIGNIN: 'Venligst logge inn for å fortsette',
|
PLEASE_SIGNIN: 'Venligst logge inn for å fortsetta',
|
||||||
UPLOAD_SUCCESSFUL: 'Opplasting lykkes',
|
UPLOAD_SUCCESSFUL: 'Opplasting lykkes',
|
||||||
DOWNLOAD_SUCCESSFUL: 'Nedlasting lykkes',
|
DOWNLOAD_SUCCESSFUL: 'Nedlasting lykkes',
|
||||||
INVALID_LOGIN: 'Ugyldig innlogging',
|
INVALID_LOGIN: 'Ugyldig innlogging',
|
||||||
NETWORK: 'Nettverk1',
|
NETWORK: 'Nettverk',
|
||||||
SECURITY: 'Sikkerhet',
|
SECURITY: 'Sikkerhet',
|
||||||
ONOFF_CAP: 'PÅ/AV',
|
ONOFF_CAP: 'PÅ/AV',
|
||||||
ONOFF: 'på/av',
|
ONOFF: 'på/av',
|
||||||
@@ -46,7 +46,7 @@ const no: Translation = {
|
|||||||
CANCEL: 'Avbryt',
|
CANCEL: 'Avbryt',
|
||||||
RESET: 'Nullstill',
|
RESET: 'Nullstill',
|
||||||
SEND: 'Send',
|
SEND: 'Send',
|
||||||
APPLY_CHANGES: 'Bruk endringer ({0})',
|
APPLY_CHANGES: 'Utfør endringer({0})',
|
||||||
UPDATE: 'Oppdater',
|
UPDATE: 'Oppdater',
|
||||||
REMOVE: 'Fjern',
|
REMOVE: 'Fjern',
|
||||||
PROBLEM_UPDATING: 'Problem med oppdatering',
|
PROBLEM_UPDATING: 'Problem med oppdatering',
|
||||||
@@ -70,13 +70,13 @@ const no: Translation = {
|
|||||||
TEMP_SENSOR: 'Temperatursensor',
|
TEMP_SENSOR: 'Temperatursensor',
|
||||||
TEMP_SENSORS: 'Temperaturesensorer',
|
TEMP_SENSORS: 'Temperaturesensorer',
|
||||||
WRITE_CMD_SENT: 'Skriv kommando sent',
|
WRITE_CMD_SENT: 'Skriv kommando sent',
|
||||||
WRITE_CMD_FAILED: 'Skriv kommando failed',
|
WRITE_CMD_FAILED: 'Skriv kommando som har feilet',
|
||||||
EMS_BUS_WARNING: 'EMS bussen koblet ned. Hvis denne advarselen fortsetter etter noen få sekunder sjekk instillinger og prosessorkort',
|
EMS_BUS_WARNING: 'EMS bussen koblet ned. Hvis denne advarselen fortsetter etter noen f¨sekunder sjekk instillinger og prosessorkort',
|
||||||
EMS_BUS_SCANNING: 'Søker etter EMS enheter...',
|
EMS_BUS_SCANNING: 'Søker etter EMS enheter...',
|
||||||
CONNECTED: 'Tilkoblet',
|
CONNECTED: 'Tilkoblet',
|
||||||
TX_ISSUES: 'Tx problemer - prøv en annen Tx Modus',
|
TX_ISSUES: 'Tx problemer - prøv en annen Tx Modus',
|
||||||
DISCONNECTED: 'Frakoblet',
|
DISCONNECTED: 'Frakoblet',
|
||||||
EMS_SCAN: 'Er du sikker på du vil starte full søking av EMS bussen ?',
|
EMS_SCAN: 'Er du sikker på du vil starte full søking av EMS bussen?',
|
||||||
EMS_BUS_STATUS: 'EMS Buss Status',
|
EMS_BUS_STATUS: 'EMS Buss Status',
|
||||||
ACTIVE_DEVICES: 'Aktive Enheter og Sensorer',
|
ACTIVE_DEVICES: 'Aktive Enheter og Sensorer',
|
||||||
EMS_DEVICE: 'EMS Enhet',
|
EMS_DEVICE: 'EMS Enhet',
|
||||||
@@ -99,7 +99,7 @@ const no: Translation = {
|
|||||||
NUM_DEVICES: '{num} Enhet{{er}}',
|
NUM_DEVICES: '{num} Enhet{{er}}',
|
||||||
NUM_TEMP_SENSORS: '{num} Temperatursensor{{er}}',
|
NUM_TEMP_SENSORS: '{num} Temperatursensor{{er}}',
|
||||||
NUM_ANALOG_SENSORS: '{num} Analogsensor{{er}}',
|
NUM_ANALOG_SENSORS: '{num} Analogsensor{{er}}',
|
||||||
NUM_DAYS: '{num} sag{{er}}',
|
NUM_DAYS: '{num} Dag{{er}}',
|
||||||
NUM_SECONDS: '{num} Sekund{{er}}',
|
NUM_SECONDS: '{num} Sekund{{er}}',
|
||||||
NUM_HOURS: '{num} Time{{r}}',
|
NUM_HOURS: '{num} Time{{r}}',
|
||||||
NUM_MINUTES: '{num} Minutt{{er}}',
|
NUM_MINUTES: '{num} Minutt{{er}}',
|
||||||
@@ -157,7 +157,7 @@ const no: Translation = {
|
|||||||
CUSTOMIZATIONS_HELP_3: 'inaktiviser skriving',
|
CUSTOMIZATIONS_HELP_3: 'inaktiviser skriving',
|
||||||
CUSTOMIZATIONS_HELP_4: 'ekskludere fra MQTT og API',
|
CUSTOMIZATIONS_HELP_4: 'ekskludere fra MQTT og API',
|
||||||
CUSTOMIZATIONS_HELP_5: 'gjemme fra Dashboard',
|
CUSTOMIZATIONS_HELP_5: 'gjemme fra Dashboard',
|
||||||
CUSTOMIZATIONS_HELP_6: 'fjern fra minne',
|
CUSTOMIZATIONS_HELP_6: 'fjern fra minnet',
|
||||||
SELECT_DEVICE: 'Velg en enhet',
|
SELECT_DEVICE: 'Velg en enhet',
|
||||||
SET_ALL: 'sett alle',
|
SET_ALL: 'sett alle',
|
||||||
OPTIONS: 'Alternativ',
|
OPTIONS: 'Alternativ',
|
||||||
@@ -208,7 +208,7 @@ const no: Translation = {
|
|||||||
COMPACT: 'Komprimere',
|
COMPACT: 'Komprimere',
|
||||||
ENABLE_OTA: 'Aktiviser OTA oppdateringer',
|
ENABLE_OTA: 'Aktiviser OTA oppdateringer',
|
||||||
DOWNLOAD_CUSTOMIZATION_TEXT: 'Last ned objektstilpasninger',
|
DOWNLOAD_CUSTOMIZATION_TEXT: 'Last ned objektstilpasninger',
|
||||||
DOWNLOAD_SCHEDULE_TEXT: 'Last ned tidsplan',
|
DOWNLOAD_SCHEDULE_TEXT: 'Last ned planlagte oppgaver',
|
||||||
DOWNLOAD_SETTINGS_TEXT: 'Last ned applikasjonskonfigurasjon. Vær varsom med å dele fila da den inneholder passord og annen sensitiv system informasjon',
|
DOWNLOAD_SETTINGS_TEXT: 'Last ned applikasjonskonfigurasjon. Vær varsom med å dele fila da den inneholder passord og annen sensitiv system informasjon',
|
||||||
UPLOAD_TEXT: 'Last opp en ny firmware (.bin) fil, innstillinger eller tilpassninger (.json) fil nedenfor',
|
UPLOAD_TEXT: 'Last opp en ny firmware (.bin) fil, innstillinger eller tilpassninger (.json) fil nedenfor',
|
||||||
UPLOADING: 'Opplasting',
|
UPLOADING: 'Opplasting',
|
||||||
@@ -242,7 +242,7 @@ const no: Translation = {
|
|||||||
MQTT_PUBLISH_TEXT_2: 'Publiser til kommando topics (ioBroker)',
|
MQTT_PUBLISH_TEXT_2: 'Publiser til kommando topics (ioBroker)',
|
||||||
MQTT_PUBLISH_TEXT_3: 'Aktiver MQTT Discovery',
|
MQTT_PUBLISH_TEXT_3: 'Aktiver MQTT Discovery',
|
||||||
MQTT_PUBLISH_TEXT_4: 'Prefiks for Discovery topics',
|
MQTT_PUBLISH_TEXT_4: 'Prefiks for Discovery topics',
|
||||||
MQTT_PUBLISH_TEXT_5: 'Oppdagelsestype',
|
MQTT_PUBLISH_TEXT_5: 'Discovery type',
|
||||||
MQTT_PUBLISH_INTERVALS: 'Publiseringsintervall',
|
MQTT_PUBLISH_INTERVALS: 'Publiseringsintervall',
|
||||||
MQTT_INT_BOILER: 'Fyr/Varmepumpe',
|
MQTT_INT_BOILER: 'Fyr/Varmepumpe',
|
||||||
MQTT_INT_THERMOSTATS: 'Termostat',
|
MQTT_INT_THERMOSTATS: 'Termostat',
|
||||||
@@ -252,11 +252,11 @@ const no: Translation = {
|
|||||||
MQTT_QUEUE: 'MQTT Queue',
|
MQTT_QUEUE: 'MQTT Queue',
|
||||||
DEFAULT: 'Standard',
|
DEFAULT: 'Standard',
|
||||||
MQTT_ENTITY_FORMAT: 'Enhets ID format',
|
MQTT_ENTITY_FORMAT: 'Enhets ID format',
|
||||||
MQTT_ENTITY_FORMAT_0: 'Enkelt forekomst, langt navn (v3.4)',
|
MQTT_ENTITY_FORMAT_0: 'Enkel instans, fullt nane (v3.4)',
|
||||||
MQTT_ENTITY_FORMAT_1: 'Enkelt forekomst, kort navn',
|
MQTT_ENTITY_FORMAT_1: 'Enkel instans, kort nave',
|
||||||
MQTT_ENTITY_FORMAT_2: 'Flere forekomster, kort navn',
|
MQTT_ENTITY_FORMAT_2: 'Multiple instanser, kort name',
|
||||||
MQTT_CLEAN_SESSION: 'Benytt Clean Session',
|
MQTT_CLEAN_SESSION: 'Benytt Clean Session',
|
||||||
MQTT_RETAIN_FLAG: 'Alltid sett behold flagg',
|
MQTT_RETAIN_FLAG: 'Alltid sett Retain flag',
|
||||||
INACTIVE: 'Innaktiv',
|
INACTIVE: 'Innaktiv',
|
||||||
ACTIVE: 'Aktiv',
|
ACTIVE: 'Aktiv',
|
||||||
UNKNOWN: 'Ukjent',
|
UNKNOWN: 'Ukjent',
|
||||||
@@ -305,20 +305,20 @@ const no: Translation = {
|
|||||||
ENTITY: 'Entitet',
|
ENTITY: 'Entitet',
|
||||||
MIN: 'min',
|
MIN: 'min',
|
||||||
MAX: 'max',
|
MAX: 'max',
|
||||||
BLOCK_NAVIGATE_1: 'du har ulagrede endringer',
|
BLOCK_NAVIGATE_1: 'You har ulagrede endringer',
|
||||||
BLOCK_NAVIGATE_2: 'If you navigate to a different page, your unsaved changes will be lost. Are you sure you want to leave this page?', // TODO translate
|
BLOCK_NAVIGATE_2: 'Hvis du navigerer til en annen side blir dine ikke lagrede endringer gå tapt. Are du sikker på at du vil forlate denne siden ?',
|
||||||
STAY: 'Bli værende',
|
STAY: 'Bli her',
|
||||||
LEAVE: 'Logg ut',
|
LEAVE: 'Forlat',
|
||||||
SCHEDULER: 'Planlegger',
|
SCHEDULER: 'Planlegger',
|
||||||
SCHEDULER_HELP_1: 'Automatiser kommandoer ved å legge til planlagte hendelser nedenfor. Angi et unikt navn for å aktivere/deaktivere aktivering via API/MQTT',
|
SCHEDULER_HELP_1: 'Automatiser kommandoer ved å legge til skedulerte hendelser nedenfor. Sett et unikt navn for å slå på/av aktivering via API/MQTT.',
|
||||||
SCHEDULER_HELP_2: 'Bruk 00:00 for å utløse én gang ved oppstart',
|
SCHEDULER_HELP_2: 'Bruk 00:00 for å kjøre en gang ved oppstart',
|
||||||
SCHEDULE: 'Planlegg',
|
SCHEDULE: 'Planlegg',
|
||||||
TIME: 'Tid',
|
TIME: 'Tid',
|
||||||
TIMER: 'Timer',
|
TIMER: 'Timer',
|
||||||
SCHEDULE_SAVED: 'Tidsplanen er oppdatert',
|
SCHEDULE_SAVED: 'Planlegger er oppdatert',
|
||||||
SCHEDULE_TIMER_1: 'ved oppstart',
|
SCHEDULE_TIMER_1: 'ved oppstart',
|
||||||
SCHEDULE_TIMER_2: 'hvert minutt',
|
SCHEDULE_TIMER_2: 'hvert minutt',
|
||||||
SCHEDULE_TIMER_3: 'hver time',
|
SCHEDULE_TIMER_3: 'hver time'
|
||||||
};
|
};
|
||||||
|
|
||||||
export default no;
|
export default no;
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ const SettingsApplication: FC = () => {
|
|||||||
justifyContent="flex-start"
|
justifyContent="flex-start"
|
||||||
alignItems="flex-start"
|
alignItems="flex-start"
|
||||||
>
|
>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="rx_gpio"
|
name="rx_gpio"
|
||||||
@@ -176,7 +176,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="tx_gpio"
|
name="tx_gpio"
|
||||||
@@ -190,7 +190,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="pbutton_gpio"
|
name="pbutton_gpio"
|
||||||
@@ -204,7 +204,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="dallas_gpio"
|
name="dallas_gpio"
|
||||||
@@ -218,7 +218,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="led_gpio"
|
name="led_gpio"
|
||||||
@@ -232,7 +232,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="phy_type"
|
name="phy_type"
|
||||||
label={LL.PHY_TYPE()}
|
label={LL.PHY_TYPE()}
|
||||||
@@ -259,7 +259,7 @@ const SettingsApplication: FC = () => {
|
|||||||
justifyContent="flex-start"
|
justifyContent="flex-start"
|
||||||
alignItems="flex-start"
|
alignItems="flex-start"
|
||||||
>
|
>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="eth_power"
|
name="eth_power"
|
||||||
label={LL.GPIO_OF('PHY Power') + ' (-1=' + LL.DISABLED(1) + ')'}
|
label={LL.GPIO_OF('PHY Power') + ' (-1=' + LL.DISABLED(1) + ')'}
|
||||||
@@ -272,7 +272,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="eth_phy_addr"
|
name="eth_phy_addr"
|
||||||
label={LL.ADDRESS_OF('PHY I²C')}
|
label={LL.ADDRESS_OF('PHY I²C')}
|
||||||
@@ -285,7 +285,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="eth_clock_mode"
|
name="eth_clock_mode"
|
||||||
label="PHY Clk"
|
label="PHY Clk"
|
||||||
@@ -311,7 +311,7 @@ const SettingsApplication: FC = () => {
|
|||||||
{LL.SETTINGS_OF(LL.EMS_BUS(0))}
|
{LL.SETTINGS_OF(LL.EMS_BUS(0))}
|
||||||
</Typography>
|
</Typography>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="tx_mode"
|
name="tx_mode"
|
||||||
label={LL.TX_MODE()}
|
label={LL.TX_MODE()}
|
||||||
@@ -329,7 +329,7 @@ const SettingsApplication: FC = () => {
|
|||||||
<MenuItem value={4}>{LL.HARDWARE()}</MenuItem>
|
<MenuItem value={4}>{LL.HARDWARE()}</MenuItem>
|
||||||
</ValidatedTextField>
|
</ValidatedTextField>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="ems_bus_id"
|
name="ems_bus_id"
|
||||||
label={LL.ID_OF(LL.EMS_BUS(1))}
|
label={LL.ID_OF(LL.EMS_BUS(1))}
|
||||||
@@ -358,20 +358,16 @@ const SettingsApplication: FC = () => {
|
|||||||
<Typography sx={{ pt: 2 }} variant="h6" color="primary">
|
<Typography sx={{ pt: 2 }} variant="h6" color="primary">
|
||||||
{LL.GENERAL_OPTIONS()}
|
{LL.GENERAL_OPTIONS()}
|
||||||
</Typography>
|
</Typography>
|
||||||
<Box
|
<Grid item>
|
||||||
sx={{
|
|
||||||
'& .MuiTextField-root': { width: '25ch' }
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="locale"
|
name="locale"
|
||||||
label={LL.LANGUAGE_ENTITIES()}
|
label={LL.LANGUAGE_ENTITIES()}
|
||||||
disabled={saving}
|
disabled={saving}
|
||||||
value={data.locale}
|
value={data.locale}
|
||||||
|
fullWidth
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
onChange={updateFormValue}
|
onChange={updateFormValue}
|
||||||
margin="normal"
|
margin="normal"
|
||||||
size="small"
|
|
||||||
select
|
select
|
||||||
>
|
>
|
||||||
<MenuItem value="en">English (EN)</MenuItem>
|
<MenuItem value="en">English (EN)</MenuItem>
|
||||||
@@ -384,7 +380,7 @@ const SettingsApplication: FC = () => {
|
|||||||
<MenuItem value="sv">Svenska (SV)</MenuItem>
|
<MenuItem value="sv">Svenska (SV)</MenuItem>
|
||||||
<MenuItem value="tr">Türk (TR)</MenuItem>
|
<MenuItem value="tr">Türk (TR)</MenuItem>
|
||||||
</ValidatedTextField>
|
</ValidatedTextField>
|
||||||
</Box>
|
</Grid>
|
||||||
{data.led_gpio !== 0 && (
|
{data.led_gpio !== 0 && (
|
||||||
<BlockFormControlLabel
|
<BlockFormControlLabel
|
||||||
control={<Checkbox checked={data.hide_led} onChange={updateFormValue} name="hide_led" />}
|
control={<Checkbox checked={data.hide_led} onChange={updateFormValue} name="hide_led" />}
|
||||||
@@ -429,14 +425,15 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
<BlockFormControlLabel
|
<BlockFormControlLabel
|
||||||
sx={{ pb: 2 }}
|
|
||||||
control={<Checkbox checked={data.shower_alert} onChange={updateFormValue} name="shower_alert" />}
|
control={<Checkbox checked={data.shower_alert} onChange={updateFormValue} name="shower_alert" />}
|
||||||
label={LL.ENABLE_SHOWER_ALERT()}
|
label={LL.ENABLE_SHOWER_ALERT()}
|
||||||
disabled={!data.shower_timer}
|
disabled={!data.shower_timer}
|
||||||
/>
|
/>
|
||||||
|
</Grid>
|
||||||
|
<Grid container sx={{ pt: 2 }} rowSpacing={3} spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
{data.shower_alert && (
|
{data.shower_alert && (
|
||||||
<>
|
<>
|
||||||
<Grid item sx={{ pr: 1, pb: 2 }}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="shower_alert_trigger"
|
name="shower_alert_trigger"
|
||||||
@@ -446,13 +443,13 @@ const SettingsApplication: FC = () => {
|
|||||||
}}
|
}}
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
value={numberValue(data.shower_alert_trigger)}
|
value={numberValue(data.shower_alert_trigger)}
|
||||||
|
fullWidth
|
||||||
type="number"
|
type="number"
|
||||||
onChange={updateFormValue}
|
onChange={updateFormValue}
|
||||||
size="small"
|
|
||||||
disabled={!data.shower_timer}
|
disabled={!data.shower_timer}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item sx={{ pb: 3 }}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="shower_alert_coldshot"
|
name="shower_alert_coldshot"
|
||||||
@@ -462,20 +459,20 @@ const SettingsApplication: FC = () => {
|
|||||||
}}
|
}}
|
||||||
variant="outlined"
|
variant="outlined"
|
||||||
value={numberValue(data.shower_alert_coldshot)}
|
value={numberValue(data.shower_alert_coldshot)}
|
||||||
|
fullWidth
|
||||||
type="number"
|
type="number"
|
||||||
onChange={updateFormValue}
|
onChange={updateFormValue}
|
||||||
size="small"
|
|
||||||
disabled={!data.shower_timer}
|
disabled={!data.shower_timer}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</Grid>
|
</Grid>
|
||||||
<Typography variant="h6" color="primary">
|
<Typography sx={{ pt: 3 }} variant="h6" color="primary">
|
||||||
{LL.FORMATTING_OPTIONS()}
|
{LL.FORMATTING_OPTIONS()}
|
||||||
</Typography>
|
</Typography>
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="bool_dashboard"
|
name="bool_dashboard"
|
||||||
label={LL.BOOLEAN_FORMAT_DASHBOARD()}
|
label={LL.BOOLEAN_FORMAT_DASHBOARD()}
|
||||||
@@ -492,7 +489,7 @@ const SettingsApplication: FC = () => {
|
|||||||
<MenuItem value={5}>1/0</MenuItem>
|
<MenuItem value={5}>1/0</MenuItem>
|
||||||
</ValidatedTextField>
|
</ValidatedTextField>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="bool_format"
|
name="bool_format"
|
||||||
label={LL.BOOLEAN_FORMAT_API()}
|
label={LL.BOOLEAN_FORMAT_API()}
|
||||||
@@ -511,7 +508,7 @@ const SettingsApplication: FC = () => {
|
|||||||
<MenuItem value={6}>1/0</MenuItem>
|
<MenuItem value={6}>1/0</MenuItem>
|
||||||
</ValidatedTextField>
|
</ValidatedTextField>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={6} sm={4}>
|
<Grid item xs={12} sm={6} md={4}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="enum_format"
|
name="enum_format"
|
||||||
label={LL.ENUM_FORMAT()}
|
label={LL.ENUM_FORMAT()}
|
||||||
@@ -560,7 +557,7 @@ const SettingsApplication: FC = () => {
|
|||||||
/>
|
/>
|
||||||
{data.syslog_enabled && (
|
{data.syslog_enabled && (
|
||||||
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={1} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<Grid item xs={4}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="syslog_host"
|
name="syslog_host"
|
||||||
@@ -573,7 +570,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={4}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="syslog_port"
|
name="syslog_port"
|
||||||
@@ -587,7 +584,7 @@ const SettingsApplication: FC = () => {
|
|||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={4}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
name="syslog_level"
|
name="syslog_level"
|
||||||
label={LL.LOG_LEVEL()}
|
label={LL.LOG_LEVEL()}
|
||||||
@@ -607,7 +604,7 @@ const SettingsApplication: FC = () => {
|
|||||||
<MenuItem value={9}>ALL</MenuItem>
|
<MenuItem value={9}>ALL</MenuItem>
|
||||||
</ValidatedTextField>
|
</ValidatedTextField>
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid item xs={4}>
|
<Grid item xs={12} sm={6}>
|
||||||
<ValidatedTextField
|
<ValidatedTextField
|
||||||
fieldErrors={fieldErrors}
|
fieldErrors={fieldErrors}
|
||||||
name="syslog_mark_interval"
|
name="syslog_mark_interval"
|
||||||
|
|||||||
@@ -52,15 +52,7 @@ import { useI18nContext } from 'i18n/i18n-react';
|
|||||||
import * as EMSESP from './api';
|
import * as EMSESP from './api';
|
||||||
|
|
||||||
function makeid() {
|
function makeid() {
|
||||||
let result = '';
|
return Math.floor(Math.random() * (Math.floor(200) - 100) + 100);
|
||||||
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
||||||
const charactersLength = characters.length;
|
|
||||||
let counter = 0;
|
|
||||||
while (counter < 4) {
|
|
||||||
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
||||||
counter += 1;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const SettingsScheduler: FC = () => {
|
const SettingsScheduler: FC = () => {
|
||||||
@@ -70,7 +62,7 @@ const SettingsScheduler: FC = () => {
|
|||||||
const blocker = useBlocker(numChanges !== 0);
|
const blocker = useBlocker(numChanges !== 0);
|
||||||
|
|
||||||
const emptySchedule = {
|
const emptySchedule = {
|
||||||
id: '0',
|
id: 0,
|
||||||
active: false,
|
active: false,
|
||||||
deleted: false,
|
deleted: false,
|
||||||
flags: 0,
|
flags: 0,
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ export enum busConnectionStatus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface Stat {
|
export interface Stat {
|
||||||
id: string; // id - needs to be a string
|
id: number; // id
|
||||||
s: number; // success
|
s: number; // success
|
||||||
f: number; // fail
|
f: number; // fail
|
||||||
q: number; // quality
|
q: number; // quality
|
||||||
@@ -305,7 +305,7 @@ export enum DeviceEntityMask {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ScheduleItem {
|
export interface ScheduleItem {
|
||||||
id: string; // unique index
|
id: number; // unique index
|
||||||
active: boolean;
|
active: boolean;
|
||||||
deleted?: boolean; // optional
|
deleted?: boolean; // optional
|
||||||
flags: number;
|
flags: number;
|
||||||
@@ -313,7 +313,7 @@ export interface ScheduleItem {
|
|||||||
cmd: string;
|
cmd: string;
|
||||||
value: string;
|
value: string;
|
||||||
name?: string; // optional
|
name?: string; // optional
|
||||||
o_id?: string;
|
o_id?: number;
|
||||||
o_active?: boolean;
|
o_active?: boolean;
|
||||||
o_deleted?: boolean;
|
o_deleted?: boolean;
|
||||||
o_flags?: number;
|
o_flags?: number;
|
||||||
|
|||||||
@@ -1828,7 +1828,7 @@ __metadata:
|
|||||||
jwt-decode: ^3.1.2
|
jwt-decode: ^3.1.2
|
||||||
lodash-es: ^4.17.21
|
lodash-es: ^4.17.21
|
||||||
mime-types: ^2.1.35
|
mime-types: ^2.1.35
|
||||||
nodemon: ^2.0.21
|
nodemon: ^2.0.22
|
||||||
npm-run-all: ^4.1.5
|
npm-run-all: ^4.1.5
|
||||||
prettier: ^2.8.6
|
prettier: ^2.8.6
|
||||||
react: latest
|
react: latest
|
||||||
@@ -4830,9 +4830,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"nodemon@npm:^2.0.21":
|
"nodemon@npm:^2.0.22":
|
||||||
version: 2.0.21
|
version: 2.0.22
|
||||||
resolution: "nodemon@npm:2.0.21"
|
resolution: "nodemon@npm:2.0.22"
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: ^3.5.2
|
chokidar: ^3.5.2
|
||||||
debug: ^3.2.7
|
debug: ^3.2.7
|
||||||
@@ -4846,7 +4846,7 @@ __metadata:
|
|||||||
undefsafe: ^2.0.5
|
undefsafe: ^2.0.5
|
||||||
bin:
|
bin:
|
||||||
nodemon: bin/nodemon.js
|
nodemon: bin/nodemon.js
|
||||||
checksum: 0b9fe2d11fd95c51b66d61bd1ee85cddf579c9e674c9429752a74f445f1b98576235ae860858783728baa3666c87e4ef938ab67167cc34fe4bb8fcec74d6885b
|
checksum: 9c987e139748f5b5c480c6c9080bdc97304ee7d29172b7b3da1a7db590b1323ad57b96346304e9b522b0e445c336dc393ccd3f9f45c73b20d476d2347890dcd0
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -5656,8 +5656,8 @@ __metadata:
|
|||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"rollup@npm:^3.18.0":
|
"rollup@npm:^3.18.0":
|
||||||
version: 3.20.0
|
version: 3.19.1
|
||||||
resolution: "rollup@npm:3.20.0"
|
resolution: "rollup@npm:3.19.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
fsevents: ~2.3.2
|
fsevents: ~2.3.2
|
||||||
dependenciesMeta:
|
dependenciesMeta:
|
||||||
@@ -5665,7 +5665,7 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
rollup: dist/bin/rollup
|
rollup: dist/bin/rollup
|
||||||
checksum: ebf75f48eb81234f8233b4ed145b00841cefba26802d4f069f161247ffba085ca5bb165cc3cd662d9c36cfc135a67660dfff9088d3da2d2c6a70addc15f3233a
|
checksum: f78198c6de224b26650c70b16db156762d1fcceeb375d34fb2c76fc5b23a78f712c3c881d3248e6f277a511589e20d50c247bcf5c7920f1ddc0a43cadf9f0140
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
"@msgpack/msgpack": "^2.8.0",
|
"@msgpack/msgpack": "^2.8.0",
|
||||||
"compression": "^1.7.4",
|
"compression": "^1.7.4",
|
||||||
"express": "^4.18.2",
|
"express": "^4.18.2",
|
||||||
"nodemon": "^2.0.21"
|
"nodemon": "^2.0.22"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@3.4.1"
|
"packageManager": "yarn@3.4.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -450,13 +450,13 @@ const status = {
|
|||||||
num_sensors: 1,
|
num_sensors: 1,
|
||||||
num_analogs: 1,
|
num_analogs: 1,
|
||||||
stats: [
|
stats: [
|
||||||
{ id: '0', s: 56506, f: 11, q: 100 },
|
{ id: 0, s: 56506, f: 11, q: 100 },
|
||||||
{ id: '1', s: 9026, f: 0, q: 100 },
|
{ id: 1, s: 9026, f: 0, q: 100 },
|
||||||
{ id: '2', s: 33, f: 2, q: 95 },
|
{ id: 2, s: 33, f: 2, q: 95 },
|
||||||
{ id: '3', s: 56506, f: 11, q: 100 },
|
{ id: 3, s: 56506, f: 11, q: 100 },
|
||||||
{ id: '4', s: 0, f: 0, q: 100 },
|
{ id: 4, s: 0, f: 0, q: 100 },
|
||||||
{ id: '5', s: 12, f: 10, q: 20 },
|
{ id: 5, s: 12, f: 10, q: 20 },
|
||||||
{ id: '6', s: 0, f: 0, q: 0 }
|
{ id: 6, s: 0, f: 0, q: 0 }
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -603,7 +603,7 @@ const emsesp_devicedata_4 = {
|
|||||||
let emsesp_schedule = {
|
let emsesp_schedule = {
|
||||||
schedule: [
|
schedule: [
|
||||||
{
|
{
|
||||||
id: '1',
|
id: 1,
|
||||||
active: true,
|
active: true,
|
||||||
flags: 6,
|
flags: 6,
|
||||||
time: '07:30',
|
time: '07:30',
|
||||||
@@ -612,7 +612,7 @@ let emsesp_schedule = {
|
|||||||
name: 'day_mode'
|
name: 'day_mode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: '2',
|
id: 2,
|
||||||
active: true,
|
active: true,
|
||||||
flags: 31,
|
flags: 31,
|
||||||
time: '23:00',
|
time: '23:00',
|
||||||
@@ -621,7 +621,7 @@ let emsesp_schedule = {
|
|||||||
name: 'night_mode'
|
name: 'night_mode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: '3',
|
id: 3,
|
||||||
active: true,
|
active: true,
|
||||||
flags: 10,
|
flags: 10,
|
||||||
time: '00:00',
|
time: '00:00',
|
||||||
@@ -630,7 +630,7 @@ let emsesp_schedule = {
|
|||||||
name: 'temp_20'
|
name: 'temp_20'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: '4',
|
id: 4,
|
||||||
active: false,
|
active: false,
|
||||||
flags: 1,
|
flags: 1,
|
||||||
time: '04:00',
|
time: '04:00',
|
||||||
|
|||||||
@@ -117,7 +117,7 @@ __metadata:
|
|||||||
"@msgpack/msgpack": ^2.8.0
|
"@msgpack/msgpack": ^2.8.0
|
||||||
compression: ^1.7.4
|
compression: ^1.7.4
|
||||||
express: ^4.18.2
|
express: ^4.18.2
|
||||||
nodemon: ^2.0.21
|
nodemon: ^2.0.22
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
@@ -1120,9 +1120,9 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"nodemon@npm:^2.0.21":
|
"nodemon@npm:^2.0.22":
|
||||||
version: 2.0.21
|
version: 2.0.22
|
||||||
resolution: "nodemon@npm:2.0.21"
|
resolution: "nodemon@npm:2.0.22"
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: ^3.5.2
|
chokidar: ^3.5.2
|
||||||
debug: ^3.2.7
|
debug: ^3.2.7
|
||||||
@@ -1136,7 +1136,7 @@ __metadata:
|
|||||||
undefsafe: ^2.0.5
|
undefsafe: ^2.0.5
|
||||||
bin:
|
bin:
|
||||||
nodemon: bin/nodemon.js
|
nodemon: bin/nodemon.js
|
||||||
checksum: 0b9fe2d11fd95c51b66d61bd1ee85cddf579c9e674c9429752a74f445f1b98576235ae860858783728baa3666c87e4ef938ab67167cc34fe4bb8fcec74d6885b
|
checksum: 9c987e139748f5b5c480c6c9080bdc97304ee7d29172b7b3da1a7db590b1323ad57b96346304e9b522b0e445c336dc393ccd3f9f45c73b20d476d2347890dcd0
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* EMS-ESP - https://github.com/emsesp/EMS-ESP
|
* EMS-ESP - https://github.com/emsesp/EMS-ESP
|
||||||
* Copyright 2020-2023 Paul Derbyshire
|
* Copyright 2020-2023 Paul Derbyshire
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation, either version 3 of the License, or
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
@@ -35,35 +35,35 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
// device types, as display in Web and Console
|
// device types, as display in Web and Console
|
||||||
MAKE_WORD_TRANSLATION(boiler_device, "Boiler", "Kessel", "Boiler", "Värmepanna", "Kocioł", "Varmekjele", "", "Kazan") // TODO translate
|
MAKE_WORD_TRANSLATION(boiler_device, "Boiler", "Kessel", "Boiler", "Värmepanna", "Kocioł", "Varmekjele", "", "Kazan")
|
||||||
MAKE_WORD_TRANSLATION(thermostat_device, "Thermostat", "Thermostat", "Thermostaat", "Termostat", "Termostat", "Termostat", "", "Termostat") // TODO translate
|
MAKE_WORD_TRANSLATION(thermostat_device, "Thermostat", "Thermostat", "Thermostaat", "Termostat", "Termostat", "Termostat", "", "Termostat")
|
||||||
MAKE_WORD_TRANSLATION(heatpump_device, "Heat Pump", "Wärmepumpe", "Warmtepomp", "Värmepump", "Pompa ciepła", "Varmepumpe", "", "Isı Pompası") // TODO translate
|
MAKE_WORD_TRANSLATION(heatpump_device, "Heat Pump", "Wärmepumpe", "Warmtepomp", "Värmepump", "Pompa ciepła", "Varmepumpe", "", "Isı Pompası")
|
||||||
MAKE_WORD_TRANSLATION(solar_device, "Solar Module", "Solarmodul", "Solar Module", "Solmodul", "Moduł solarny", "Solmodul", "", "Güneş Enerjisi Cihazı") // TODO translate
|
MAKE_WORD_TRANSLATION(solar_device, "Solar Module", "Solarmodul", "Solar Module", "Solmodul", "Moduł solarny", "Solmodul", "", "Güneş Enerjisi Cihazı")
|
||||||
MAKE_WORD_TRANSLATION(connect_device, "Connect Module", "Verbindungsmodul", "Connect Module", "Uppkopplingsmodul", "Moduł przyłączeń", "Sammenkoblingsmodul", "", "Güneş Enerjisi Cihazı") // TODO translate
|
MAKE_WORD_TRANSLATION(connect_device, "Connect Module", "Verbindungsmodul", "Connect Module", "Uppkopplingsmodul", "Moduł przyłączeń", "Sammenkoblingsmodul", "", "Güneş Enerjisi Cihazı")
|
||||||
MAKE_WORD_TRANSLATION(mixer_device, "Mixer Module", "Mischermodul", "Mixer Module", "Blandningsmodul", "Moduł mieszacza", "Miksermodul", "", "Karışım Cihazı") // TODO translate
|
MAKE_WORD_TRANSLATION(mixer_device, "Mixer Module", "Mischermodul", "Mixer Module", "Blandningsmodul", "Moduł mieszacza", "Miksermodul", "", "Karışım Cihazı")
|
||||||
MAKE_WORD_TRANSLATION(controller_device, "Controller Module", "Kontrollmodul", "Controller Module", "Styrmodul", "Moduł sterujący", "Styremodul", "", "Kontrol Ünitesi") // TODO translate
|
MAKE_WORD_TRANSLATION(controller_device, "Controller Module", "Kontrollmodul", "Controller Module", "Styrmodul", "Moduł sterujący", "Styremodul", "", "Kontrol Ünitesi")
|
||||||
MAKE_WORD_TRANSLATION(switch_device, "Switch Module", "Schaltmodul", "Switch Module", "Relämodul", "Moduł przełączający", "Switch modul", "", "Anahtar") // TODO translate
|
MAKE_WORD_TRANSLATION(switch_device, "Switch Module", "Schaltmodul", "Switch Module", "Relämodul", "Moduł przełączający", "Switch modul", "", "Anahtar")
|
||||||
MAKE_WORD_TRANSLATION(gateway_device, "Gateway Module", "Gateway Modul", "Gateway Module", "Gateway", "Moduł IP", "Gateway", "", "Ağ Geçidi") // TODO translate
|
MAKE_WORD_TRANSLATION(gateway_device, "Gateway Module", "Gateway Modul", "Gateway Module", "Gateway", "Moduł IP", "Gateway", "", "Ağ Geçidi")
|
||||||
MAKE_WORD_TRANSLATION(alert_device, "Alert Module", "Alarmmodul", "Alert Module", "Larmmodul", "Moduł alarmowy", "Alarmmodul", "", "Alarm Cihazı") // TODO translate
|
MAKE_WORD_TRANSLATION(alert_device, "Alert Module", "Alarmmodul", "Alert Module", "Larmmodul", "Moduł alarmowy", "Alarmmodul", "", "Alarm Cihazı")
|
||||||
MAKE_WORD_TRANSLATION(pump_device, "Pump Module", "Pumpenmodul", "Pump Module", "Pumpmodul", "Moduł pompy", "Pumpemodul", "", "Pompa") // TODO translate
|
MAKE_WORD_TRANSLATION(pump_device, "Pump Module", "Pumpenmodul", "Pump Module", "Pumpmodul", "Moduł pompy", "Pumpemodul", "", "Pompa")
|
||||||
MAKE_WORD_TRANSLATION(heatsource_device, "Heatsource", "Heizquelle", "Heatsource", "Värmekälla", "Źródło ciepła", "Varmekilde", "", "Isı Kaynağı") // TODO translate
|
MAKE_WORD_TRANSLATION(heatsource_device, "Heatsource", "Heizquelle", "Heatsource", "Värmekälla", "Źródło ciepła", "Varmekilde", "", "Isı Kaynağı")
|
||||||
MAKE_WORD_TRANSLATION(sensors_device, "Sensors", "Sensoren", "Sensoren", "Sensorer", "Czujniki", "Sensorer", "Capteurs", "Sensör Cihazı")
|
MAKE_WORD_TRANSLATION(sensors_device, "Sensors", "Sensoren", "Sensoren", "Sensorer", "Czujniki", "Sensorer", "Capteurs", "Sensör Cihazı")
|
||||||
MAKE_WORD_TRANSLATION(unknown_device, "Unknown", "Unbekannt", "Onbekend", "Okänt", "Nieznane urządzenie", "Ukjent", "Inconnu", "") // TODO translate
|
MAKE_WORD_TRANSLATION(unknown_device, "Unknown", "Unbekannt", "Onbekend", "Okänt", "Nieznane urządzenie", "Ukjent", "Inconnu", "")
|
||||||
|
|
||||||
// commands
|
// commands
|
||||||
// TODO translate
|
// TODO translate
|
||||||
MAKE_WORD_TRANSLATION(info_cmd, "lists all values", "Liste aller Werte", "", "", "wyświetl wszystkie wartości", "Viser alle verdier", "", "Tüm değerleri listele") // TODO translate
|
MAKE_WORD_TRANSLATION(info_cmd, "lists all values", "Liste aller Werte", "", "", "wyświetl wszystkie wartości", "Viser alle verdier", "", "Tüm değerleri listele")
|
||||||
MAKE_WORD_TRANSLATION(commands_cmd, "lists all commands", "Liste aller Kommandos", "", "", "wyświetl wszystkie komendy", "Viser alle kommandoer", "", "Tüm komutları listele") // TODO translate
|
MAKE_WORD_TRANSLATION(commands_cmd, "lists all commands", "Liste aller Kommandos", "", "", "wyświetl wszystkie komendy", "Viser alle kommandoer", "", "Tüm komutları listele")
|
||||||
MAKE_WORD_TRANSLATION(entities_cmd, "lists all entities", "Liste aller Entitäten", "", "", "wyświetl wszsytkie encje", "Viser alle enheter", "", "Tüm varlıkları listele") // TODO translate
|
MAKE_WORD_TRANSLATION(entities_cmd, "lists all entities", "Liste aller Entitäten", "", "", "wyświetl wszsytkie encje", "Viser alle enheter", "", "Tüm varlıkları listele")
|
||||||
MAKE_WORD_TRANSLATION(send_cmd, "send a telegram", "Sende EMS-Telegramm", "", "", "wyślij telegram", "send et telegram", "", "Bir telegram gönder") // TODO translate
|
MAKE_WORD_TRANSLATION(send_cmd, "send a telegram", "Sende EMS-Telegramm", "", "", "wyślij telegram", "send et telegram", "", "Bir telegram gönder")
|
||||||
MAKE_WORD_TRANSLATION(setiovalue_cmd, "set io value", "Setze Wertevorgabe", "", "", "ustaw wartość", "sett en io verdi", "", "Giriş/Çıkış değerlerini ayarla") // TODO translate
|
MAKE_WORD_TRANSLATION(setiovalue_cmd, "set io value", "Setze Wertevorgabe", "", "", "ustaw wartość", "sett en io verdi", "", "Giriş/Çıkış değerlerini ayarla")
|
||||||
MAKE_WORD_TRANSLATION(changeloglevel_cmd, "change log level", "Ändere Sysloglevel", "", "", "zmień poziom log-u", "endre loggnivå", "", "Kayıt seviyesini değiştir") // TODO translate
|
MAKE_WORD_TRANSLATION(changeloglevel_cmd, "change log level", "Ändere Sysloglevel", "", "", "zmień poziom log-u", "endre loggnivå", "", "Kayıt seviyesini değiştir")
|
||||||
MAKE_WORD_TRANSLATION(fetch_cmd, "refresh all EMS values", "Lese alle EMS-Werte neu", "", "", "odśwież wszystkie wartości EMS", "oppfrisk alle EMS verdier", "", "Bütün EMS değerlerini yenile") // TODO translate
|
MAKE_WORD_TRANSLATION(fetch_cmd, "refresh all EMS values", "Lese alle EMS-Werte neu", "", "", "odśwież wszystkie wartości EMS", "oppfrisk alle EMS verdier", "", "Bütün EMS değerlerini yenile")
|
||||||
MAKE_WORD_TRANSLATION(restart_cmd, "restart EMS-ESP", "Neustart", "", "", "uruchom ponownie EMS-ESP", "restart EMS-ESP", "", "EMS-ESPyi yeniden başlat") // TODO translate
|
MAKE_WORD_TRANSLATION(restart_cmd, "restart EMS-ESP", "Neustart", "", "", "uruchom ponownie EMS-ESP", "restart EMS-ESP", "se innkommende telegrammer", "EMS-ESPyi yeniden başlat")
|
||||||
MAKE_WORD_TRANSLATION(watch_cmd, "watch incoming telegrams", "Watch auf eingehende Telegramme", "", "", "obserwuj przyczodzące telegramy", "se innkommende telegrammer", "", "Gelen telegramları ") // TODO translate
|
MAKE_WORD_TRANSLATION(watch_cmd, "watch incoming telegrams", "Watch auf eingehende Telegramme", "", "", "obserwuj przyczodzące telegramy", "se innkommende telegrammer", "", "Gelen telegramları ")
|
||||||
MAKE_WORD_TRANSLATION(publish_cmd, "publish all to MQTT", "Publiziere MQTT", "", "", "opublikuj wszystko na MQTT", "Publiser alt til MQTT", "", "Hepsini MQTTye gönder") // TODO translate
|
MAKE_WORD_TRANSLATION(publish_cmd, "publish all to MQTT", "Publiziere MQTT", "", "", "opublikuj wszystko na MQTT", "Publiser alt til MQTT", "", "Hepsini MQTTye gönder")
|
||||||
MAKE_WORD_TRANSLATION(system_info_cmd, "show system status", "Zeige System-Status", "", "", "pokaż status systemu", "vis system status", "", "Sistem Durumunu Göster") // TODO translate
|
MAKE_WORD_TRANSLATION(system_info_cmd, "show system status", "Zeige System-Status", "", "", "pokaż status systemu", "vis system status", "", "Sistem Durumunu Göster")
|
||||||
MAKE_WORD_TRANSLATION(schedule_cmd, "enable schedule item", "Aktiviere Zeitplan", "", "", "aktywuj wybrany harmonogram", "", "", "") // TODO translate
|
MAKE_WORD_TRANSLATION(schedule_cmd, "enable schedule item", "Aktiviere Zeitplan", "", "", "aktywuj wybrany harmonogram", "", "", "")
|
||||||
|
|
||||||
// tags
|
// tags
|
||||||
MAKE_WORD_TRANSLATION(tag_boiler_data_ww, "dhw", "WW", "dhw", "VV", "CWU", "dhw", "ecs", "SKS")
|
MAKE_WORD_TRANSLATION(tag_boiler_data_ww, "dhw", "WW", "dhw", "VV", "CWU", "dhw", "ecs", "SKS")
|
||||||
@@ -104,6 +104,7 @@ MAKE_WORD_TRANSLATION(tag_hs14, "hs14", "hs14", "hs14", "VK14", "ŹC14", "hs14",
|
|||||||
MAKE_WORD_TRANSLATION(tag_hs15, "hs15", "hs15", "hs15", "VK15", "ŹC15", "hs15", "hs15", "hs15")
|
MAKE_WORD_TRANSLATION(tag_hs15, "hs15", "hs15", "hs15", "VK15", "ŹC15", "hs15", "hs15", "hs15")
|
||||||
MAKE_WORD_TRANSLATION(tag_hs16, "hs16", "hs16", "hs16", "VK16", "ŹC16", "hs16", "hs16", "hs16")
|
MAKE_WORD_TRANSLATION(tag_hs16, "hs16", "hs16", "hs16", "VK16", "ŹC16", "hs16", "hs16", "hs16")
|
||||||
|
|
||||||
|
|
||||||
// General
|
// General
|
||||||
MAKE_WORD_TRANSLATION(on, "on", "an", "aan", "på", "włączono", "på", "on", "açık")
|
MAKE_WORD_TRANSLATION(on, "on", "an", "aan", "på", "włączono", "på", "on", "açık")
|
||||||
MAKE_WORD_TRANSLATION(off, "off", "aus", "uit", "av", "wyłączono", "av", "off", "kapalı")
|
MAKE_WORD_TRANSLATION(off, "off", "aus", "uit", "av", "wyłączono", "av", "off", "kapalı")
|
||||||
@@ -115,19 +116,19 @@ MAKE_WORD_TRANSLATION(OFF, "OFF", "AUS", "UIT", "AV", "wył.", "AV", "OFF", "KAP
|
|||||||
MAKE_WORD_TRANSLATION(minutes, "minutes", "Minuten", "Minuten", "Minuter", "minut", "Minutter", "minutes", "dakika")
|
MAKE_WORD_TRANSLATION(minutes, "minutes", "Minuten", "Minuten", "Minuter", "minut", "Minutter", "minutes", "dakika")
|
||||||
MAKE_WORD_TRANSLATION(hours, "hours", "Stunden", "Uren", "Timmar", "godzin", "Timer", "heures", "saat")
|
MAKE_WORD_TRANSLATION(hours, "hours", "Stunden", "Uren", "Timmar", "godzin", "Timer", "heures", "saat")
|
||||||
MAKE_WORD_TRANSLATION(days, "days", "Tage", "Dagen", "Dagar", "dni", "Dager", "jours", "gün")
|
MAKE_WORD_TRANSLATION(days, "days", "Tage", "Dagen", "Dagar", "dni", "Dager", "jours", "gün")
|
||||||
MAKE_WORD_TRANSLATION(seconds, "seconds", "Sekunden", "Seconden", "Sekunder", "sekund", "Sekunder", "secondes", "saniye")
|
MAKE_WORD_TRANSLATION(seconds, "seconds", "Sekunden", "Seconden", "Sekunder", "sekundy", "Sekunder", "secondes", "saniye")
|
||||||
|
|
||||||
// Enum translations
|
// Enum translations
|
||||||
// general
|
// general
|
||||||
MAKE_WORD_TRANSLATION(day_mo, "mo", "Mo", "Mo", "Må", "poniedziałek", "Ma", "lun", "pzt")
|
MAKE_WORD_TRANSLATION(day_mo, "mo", "Mo", "Mo", "Må", "poniedziałek", "ma", "lun", "pzt")
|
||||||
MAKE_WORD_TRANSLATION(day_tu, "tu", "Di", "Di", "Ti", "wtorek", "Ti", "mar", "sal")
|
MAKE_WORD_TRANSLATION(day_tu, "tu", "Di", "Di", "Ti", "wtorek", "ti", "mar", "sal")
|
||||||
MAKE_WORD_TRANSLATION(day_we, "we", "Mi", "Wo", "On", "środa", "On", "mer", "çar")
|
MAKE_WORD_TRANSLATION(day_we, "we", "Mi", "Wo", "On", "środa", "on", "mer", "çar")
|
||||||
MAKE_WORD_TRANSLATION(day_th, "th", "Do", "Do", "To", "czwartek", "To", "jeu", "per")
|
MAKE_WORD_TRANSLATION(day_th, "th", "Do", "Do", "To", "czwartek", "to", "jeu", "per")
|
||||||
MAKE_WORD_TRANSLATION(day_fr, "fr", "Fr", "Vr", "Fr", "piątek", "Fr", "ven", "cum")
|
MAKE_WORD_TRANSLATION(day_fr, "fr", "Fr", "Vr", "Fr", "piątek", "fr", "ven", "cum")
|
||||||
MAKE_WORD_TRANSLATION(day_sa, "sa", "Sa", "Za", "Lö", "sobota", "Lø", "sam", "cts")
|
MAKE_WORD_TRANSLATION(day_sa, "sa", "Sa", "Za", "Lö", "sobota", "lø", "sam", "cts")
|
||||||
MAKE_WORD_TRANSLATION(day_su, "su", "So", "Zo", "Sö", "niedziela", "Sø", "dim", "paz")
|
MAKE_WORD_TRANSLATION(day_su, "su", "So", "Zo", "Sö", "niedziela", "sø", "dim", "paz")
|
||||||
MAKE_WORD_TRANSLATION(all, "all", "Alle", "Alle", "Alla", "codziennie", "alle", "tous", "tüm")
|
MAKE_WORD_TRANSLATION(all, "all", "Alle", "Alle", "Alla", "codziennie", "alle", "tous", "tüm")
|
||||||
MAKE_WORD_TRANSLATION(own_1, "own 1", "Eigen 1", "Eigen 1", "Egen 1", "własny 1", "Egen 1", "propre 1", "kendi 1")
|
MAKE_WORD_TRANSLATION(own_1, "own 1", "Eigen 1", "Eigen 1", "Egen 1", "własny 1", "egen 1", "propre 1", "kendi 1")
|
||||||
MAKE_WORD_TRANSLATION(family, "family", "Familie", "Familie", "Familj", "rodzina", "familie", "famille", "aile")
|
MAKE_WORD_TRANSLATION(family, "family", "Familie", "Familie", "Familj", "rodzina", "familie", "famille", "aile")
|
||||||
MAKE_WORD_TRANSLATION(morning, "morning", "Morgends", "'s ochtends", "Morgon", "zmiana 1", "morgen", "matin", "sabah")
|
MAKE_WORD_TRANSLATION(morning, "morning", "Morgends", "'s ochtends", "Morgon", "zmiana 1", "morgen", "matin", "sabah")
|
||||||
MAKE_WORD_TRANSLATION(evening, "evening", "Abends", "'s avonds", "Kväll", "zmiana 2", "kveld", "soir", "akşam")
|
MAKE_WORD_TRANSLATION(evening, "evening", "Abends", "'s avonds", "Kväll", "zmiana 2", "kveld", "soir", "akşam")
|
||||||
@@ -212,6 +213,7 @@ MAKE_WORD_TRANSLATION(german, "german", "Deutsch", "Duits", "Tyska", "niemiecki"
|
|||||||
MAKE_WORD_TRANSLATION(dutch, "dutch", "Niederländisch", "Nederlands", "Nederländska", "niderlandzki", "nederlandsk", "néerlandais", "Flemenkçe")
|
MAKE_WORD_TRANSLATION(dutch, "dutch", "Niederländisch", "Nederlands", "Nederländska", "niderlandzki", "nederlandsk", "néerlandais", "Flemenkçe")
|
||||||
MAKE_WORD_TRANSLATION(french, "french", "Französisch", "Frans", "Franska", "francuski", "fransk", "français", "Fransızca")
|
MAKE_WORD_TRANSLATION(french, "french", "Französisch", "Frans", "Franska", "francuski", "fransk", "français", "Fransızca")
|
||||||
MAKE_WORD_TRANSLATION(italian, "italian", "Italienisch", "Italiaans", "Italienska", "włoski", "italiensk", "italien", "İtalyanca")
|
MAKE_WORD_TRANSLATION(italian, "italian", "Italienisch", "Italiaans", "Italienska", "włoski", "italiensk", "italien", "İtalyanca")
|
||||||
|
|
||||||
MAKE_WORD_TRANSLATION(high, "high", "hoch", "hoog", "Hög", "wysoki", "høy", "haut") // TODO translate
|
MAKE_WORD_TRANSLATION(high, "high", "hoch", "hoog", "Hög", "wysoki", "høy", "haut") // TODO translate
|
||||||
MAKE_WORD_TRANSLATION(low, "low", "niedrig", "laag", "Låg", "niski", "lav", "bas", "düşük")
|
MAKE_WORD_TRANSLATION(low, "low", "niedrig", "laag", "Låg", "niski", "lav", "bas", "düşük")
|
||||||
MAKE_WORD_TRANSLATION(radiator, "radiator", "Heizkörper", "Radiator", "Radiator", "grzejniki", "radiator", "radiateur", "radyatör")
|
MAKE_WORD_TRANSLATION(radiator, "radiator", "Heizkörper", "Radiator", "Radiator", "grzejniki", "radiator", "radiateur", "radyatör")
|
||||||
@@ -413,16 +415,16 @@ MAKE_TRANSLATION(manDefrost, "mandefrost", "manual defrost", "Manuelle Enteisung
|
|||||||
MAKE_TRANSLATION(pvCooling, "pvcooling", "Cooling only with PV", "Kühlen nur mit PV", "", "", "chłodzenie tylko z PV", "kjøling med solpanel", "", "") // TODO translate
|
MAKE_TRANSLATION(pvCooling, "pvcooling", "Cooling only with PV", "Kühlen nur mit PV", "", "", "chłodzenie tylko z PV", "kjøling med solpanel", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(hpCircPumpWw, "hpcircpumpww", "circulation pump available during dhw", "", "", "", "pompa cyrkulacji dostępna w trakcie c.w.u.", "sirkulasjonspumpe tilgjengelig under varmtvann", "", "") // TODO translate
|
MAKE_TRANSLATION(hpCircPumpWw, "hpcircpumpww", "circulation pump available during dhw", "", "", "", "pompa cyrkulacji dostępna w trakcie c.w.u.", "sirkulasjonspumpe tilgjengelig under varmtvann", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(vp_cooling, "vpcooling", "valve/pump cooling", "", "", "", "zawór/pompa chłodzenia", "varmepumpe kjøling", "", "") // TODO translate
|
MAKE_TRANSLATION(vp_cooling, "vpcooling", "valve/pump cooling", "", "", "", "zawór/pompa chłodzenia", "varmepumpe kjøling", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(VC0valve, "vc0valve", "VC0 valve", "VC0 Ventil", "", "", "zawór VC0", "vc0 ventil", "", "") // TODO translate
|
MAKE_TRANSLATION(VC0valve, "vc0valve", "VC0 valve", "", "", "", "zawór VC0", "vc0 ventil", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(primePump, "primepump", "primary heatpump", "Hauptpumpe", "", "", "główna pompa ciepła", "primærpumpe", "", "") // TODO translate
|
MAKE_TRANSLATION(primePump, "primepump", "primary heatpump", "", "", "", "główna pompa ciepła", "primærpumpe", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(primePumpMod, "primepumpmod", "primary heatpump modulation", "Modulation Hauptpumpe", "", "", "wysterowanie głównej pompy ciepła", "primærpumpelast", "", "") // TODO translate
|
MAKE_TRANSLATION(primePumpMod, "primepumpmod", "primary heatpump modulation", "", "", "", "wysterowanie głównej pompy ciepła", "primærpumpelast", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(hp3wayValve, "hp3way", "3-way valve", "3-Wege-Ventil", "", "", "zawór 3-drogowy pompy ciepła", "3-veisventil", "", "") // TODO translate
|
MAKE_TRANSLATION(hp3wayValve, "hp3way", "3-way valve", "", "", "", "zawór 3-drogowy pompy ciepła", "3-veisventil", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(elHeatStep1, "elheatstep1", "el. heater step 1", "El. Heizer Stufe 1", "", "", "dogrzewacz poziom 1", "el-kolbe steg 1", "", "") // TODO translate
|
MAKE_TRANSLATION(elHeatStep1, "elheatstep1", "el. heater step 1", "", "", "", "dogrzewacz poziom 1", "el-kolbe steg 1", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(elHeatStep2, "elheatstep2", "el. heater step 2", "El. Heizer Stufe 2", "", "", "dogrzewacz poziom 2", "el-kolbe steg 2", "", "") // TODO translate
|
MAKE_TRANSLATION(elHeatStep2, "elheatstep2", "el. heater step 2", "", "", "", "dogrzewacz poziom 2", "el-kolbe steg 2", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(elHeatStep3, "elheatstep3", "el. heater step 3", "El. Heizer Stufe 3", "", "", "dogrzewacz poziom 3", "el-kolbe steg 3", "", "") // TODO translate
|
MAKE_TRANSLATION(elHeatStep3, "elheatstep3", "el. heater step 3", "", "", "", "dogrzewacz poziom 3", "el-kolbe steg 3", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(wwAlternatingOper, "wwalternatingop", "alternating operation", "Wechselbetrieb", "", "", "praca naprzemienna", "alternativ drift", "") // TODO translate
|
MAKE_TRANSLATION(wwAlternatingOper, "wwalternatingop", "alternating operation", "", "", "", "praca naprzemienna", "alternativ drift", "") // TODO translate
|
||||||
MAKE_TRANSLATION(wwAltOpPrioHeat, "wwaltopprioheat", "prioritise heating during dhw", "Heizen bevorzugt vor WW", "", "", "czas na ogrzewanie w trakcie c.w.u", "prioritert oppvarmning", "", "") // TODO translate
|
MAKE_TRANSLATION(wwAltOpPrioHeat, "wwaltopprioheat", "prioritise heating during dhw", "", "", "", "czas na ogrzewanie w trakcie c.w.u", "prioritert oppvarmning", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(wwAltOpPrioWw, "wwaltopprioww", "prioritise dhw during heating", "WW bevorzugt vor Heizen", "", "", "czas na c.w.u w trakcie ogrzewania", "prioritert varmtvann", "", "") // TODO translate
|
MAKE_TRANSLATION(wwAltOpPrioWw, "wwaltopprioww", "prioritise dhw during heating", "", "", "", "czas na c.w.u w trakcie ogrzewania", "prioritert varmtvann", "", "") // TODO translate
|
||||||
|
|
||||||
// hybrid heatpump
|
// hybrid heatpump
|
||||||
MAKE_TRANSLATION(hybridStrategy, "hybridstrategy", "hybrid control strategy", "Hybrid Strategie", "Hybride strategie", "Hybrid kontrollstrategi", "strategia sterowania hybrydowego", "hybrid kontrollstrategi", "stratégie contrôle hybride", "")
|
MAKE_TRANSLATION(hybridStrategy, "hybridstrategy", "hybrid control strategy", "Hybrid Strategie", "Hybride strategie", "Hybrid kontrollstrategi", "strategia sterowania hybrydowego", "hybrid kontrollstrategi", "stratégie contrôle hybride", "")
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ void WebScheduler::read(WebScheduler & webScheduler, JsonObject & root) {
|
|||||||
char s[3];
|
char s[3];
|
||||||
for (const ScheduleItem & scheduleItem : webScheduler.scheduleItems) {
|
for (const ScheduleItem & scheduleItem : webScheduler.scheduleItems) {
|
||||||
JsonObject si = schedule.createNestedObject();
|
JsonObject si = schedule.createNestedObject();
|
||||||
si["id"] = Helpers::smallitoa(s, ++counter); // id is only used to render the table and must be unique
|
si["id"] = counter++; // id is only used to render the table and must be unique
|
||||||
si["active"] = scheduleItem.active;
|
si["active"] = scheduleItem.active;
|
||||||
si["flags"] = scheduleItem.flags;
|
si["flags"] = scheduleItem.flags;
|
||||||
si["time"] = scheduleItem.time;
|
si["time"] = scheduleItem.time;
|
||||||
|
|||||||
@@ -131,47 +131,47 @@ void WebStatusService::webStatusService(AsyncWebServerRequest * request) {
|
|||||||
JsonObject statJson;
|
JsonObject statJson;
|
||||||
|
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "0";
|
statJson["id"] = 0;
|
||||||
statJson["s"] = EMSESP::rxservice_.telegram_count();
|
statJson["s"] = EMSESP::rxservice_.telegram_count();
|
||||||
statJson["f"] = EMSESP::rxservice_.telegram_error_count();
|
statJson["f"] = EMSESP::rxservice_.telegram_error_count();
|
||||||
statJson["q"] = EMSESP::rxservice_.quality();
|
statJson["q"] = EMSESP::rxservice_.quality();
|
||||||
|
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "1";
|
statJson["id"] = 1;
|
||||||
statJson["s"] = EMSESP::txservice_.telegram_read_count();
|
statJson["s"] = EMSESP::txservice_.telegram_read_count();
|
||||||
statJson["f"] = EMSESP::txservice_.telegram_read_fail_count();
|
statJson["f"] = EMSESP::txservice_.telegram_read_fail_count();
|
||||||
statJson["q"] = EMSESP::txservice_.read_quality();
|
statJson["q"] = EMSESP::txservice_.read_quality();
|
||||||
|
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "2";
|
statJson["id"] = 2;
|
||||||
statJson["s"] = EMSESP::txservice_.telegram_write_count();
|
statJson["s"] = EMSESP::txservice_.telegram_write_count();
|
||||||
statJson["f"] = EMSESP::txservice_.telegram_write_fail_count();
|
statJson["f"] = EMSESP::txservice_.telegram_write_fail_count();
|
||||||
statJson["q"] = EMSESP::txservice_.write_quality();
|
statJson["q"] = EMSESP::txservice_.write_quality();
|
||||||
|
|
||||||
if (EMSESP::dallassensor_.dallas_enabled()) {
|
if (EMSESP::dallassensor_.dallas_enabled()) {
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "3";
|
statJson["id"] = 3;
|
||||||
statJson["s"] = EMSESP::dallassensor_.reads();
|
statJson["s"] = EMSESP::dallassensor_.reads();
|
||||||
statJson["f"] = EMSESP::dallassensor_.fails();
|
statJson["f"] = EMSESP::dallassensor_.fails();
|
||||||
statJson["q"] = EMSESP::dallassensor_.reads() == 0 ? 100 : 100 - (uint8_t)((100 * EMSESP::dallassensor_.fails()) / EMSESP::dallassensor_.reads());
|
statJson["q"] = EMSESP::dallassensor_.reads() == 0 ? 100 : 100 - (uint8_t)((100 * EMSESP::dallassensor_.fails()) / EMSESP::dallassensor_.reads());
|
||||||
}
|
}
|
||||||
if (EMSESP::analog_enabled()) {
|
if (EMSESP::analog_enabled()) {
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "4";
|
statJson["id"] = 4;
|
||||||
statJson["s"] = EMSESP::analogsensor_.reads();
|
statJson["s"] = EMSESP::analogsensor_.reads();
|
||||||
statJson["f"] = EMSESP::analogsensor_.fails();
|
statJson["f"] = EMSESP::analogsensor_.fails();
|
||||||
statJson["q"] = EMSESP::analogsensor_.reads() == 0 ? 100 : 100 - (uint8_t)((100 * EMSESP::analogsensor_.fails()) / EMSESP::analogsensor_.reads());
|
statJson["q"] = EMSESP::analogsensor_.reads() == 0 ? 100 : 100 - (uint8_t)((100 * EMSESP::analogsensor_.fails()) / EMSESP::analogsensor_.reads());
|
||||||
}
|
}
|
||||||
if (Mqtt::enabled()) {
|
if (Mqtt::enabled()) {
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "5";
|
statJson["id"] = 5;
|
||||||
statJson["s"] = Mqtt::publish_count();
|
statJson["s"] = Mqtt::publish_count();
|
||||||
statJson["f"] = Mqtt::publish_fails();
|
statJson["f"] = Mqtt::publish_fails();
|
||||||
statJson["q"] = Mqtt::publish_count() == 0 ? 100 : 100 - (uint8_t)((100 * Mqtt::publish_fails()) / (Mqtt::publish_count() + Mqtt::publish_fails()));
|
statJson["q"] = Mqtt::publish_count() == 0 ? 100 : 100 - (uint8_t)((100 * Mqtt::publish_fails()) / (Mqtt::publish_count() + Mqtt::publish_fails()));
|
||||||
}
|
}
|
||||||
|
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "6";
|
statJson["id"] = 6;
|
||||||
statJson["s"] = WebAPIService::api_count(); // + WebAPIService::api_fails();
|
statJson["s"] = WebAPIService::api_count(); // + WebAPIService::api_fails();
|
||||||
statJson["f"] = WebAPIService::api_fails();
|
statJson["f"] = WebAPIService::api_fails();
|
||||||
statJson["q"] =
|
statJson["q"] =
|
||||||
@@ -180,7 +180,7 @@ void WebStatusService::webStatusService(AsyncWebServerRequest * request) {
|
|||||||
#ifndef EMSESP_STANDALONE
|
#ifndef EMSESP_STANDALONE
|
||||||
if (EMSESP::system_.syslog_enabled()) {
|
if (EMSESP::system_.syslog_enabled()) {
|
||||||
statJson = statsJson.createNestedObject();
|
statJson = statsJson.createNestedObject();
|
||||||
statJson["id"] = "7";
|
statJson["id"] = 7;
|
||||||
statJson["s"] = EMSESP::system_.syslog_count();
|
statJson["s"] = EMSESP::system_.syslog_count();
|
||||||
statJson["f"] = EMSESP::system_.syslog_fails();
|
statJson["f"] = EMSESP::system_.syslog_fails();
|
||||||
statJson["q"] = EMSESP::system_.syslog_count() == 0
|
statJson["q"] = EMSESP::system_.syslog_count() == 0
|
||||||
|
|||||||
Reference in New Issue
Block a user