mirror of
https://github.com/Laxilef/OTGateway.git
synced 2026-03-21 09:48:39 +05:00
Adding ext device support
This commit is contained in:
@@ -104,6 +104,7 @@
|
||||
"mMqttConnected": "MQTT服务器连接状态",
|
||||
"mEmergencyState": "应急模式",
|
||||
"mExtPumpState": "外置循环泵",
|
||||
"mExtDevState": "外置设备",
|
||||
"mCascadeControlInput": "Cascade 控制 (input)",
|
||||
"mCascadeControlOutput": "Cascade 控制 (output)",
|
||||
|
||||
@@ -289,6 +290,7 @@
|
||||
"ot": "OpenTherm协议设置",
|
||||
"mqtt": "MQTT 服务器设置",
|
||||
"extPump": "外置循环泵设置",
|
||||
"extDev": "外置设备设置",
|
||||
"cascadeControl": "Cascade 级联控制设置"
|
||||
},
|
||||
|
||||
@@ -459,6 +461,13 @@
|
||||
"antiStuckTime": "防卡死运行时长<small>(分钟)</small>"
|
||||
},
|
||||
|
||||
"extDev": {
|
||||
"use": "使用外置设备",
|
||||
"gpio": "GPIO 继电器",
|
||||
"state": "状态",
|
||||
"caption": "说明"
|
||||
},
|
||||
|
||||
"cascadeControl": {
|
||||
"input": {
|
||||
"desc": "仅当另一台锅炉发生故障时启用本锅炉加热。另一台锅炉的控制器需在故障发生时切换GPIO输入状态以触发本功能。",
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
"mMqttConnected": "MQTT connection",
|
||||
"mEmergencyState": "Emergency mode",
|
||||
"mExtPumpState": "External pump",
|
||||
"mExtDevState": "External device",
|
||||
"mCascadeControlInput": "Cascade control (input)",
|
||||
"mCascadeControlOutput": "Cascade control (output)",
|
||||
|
||||
@@ -289,6 +290,7 @@
|
||||
"ot": "OpenTherm settings",
|
||||
"mqtt": "MQTT settings",
|
||||
"extPump": "External pump settings",
|
||||
"extDev": "External device settings",
|
||||
"cascadeControl": "Cascade control settings"
|
||||
},
|
||||
|
||||
@@ -458,6 +460,13 @@
|
||||
"antiStuckInterval": "Anti stuck interval <small>(days)</small>",
|
||||
"antiStuckTime": "Anti stuck time <small>(min)</small>"
|
||||
},
|
||||
|
||||
"extDev": {
|
||||
"use": "Use external device",
|
||||
"gpio": "Relay GPIO",
|
||||
"state": "State",
|
||||
"caption": "Caption"
|
||||
},
|
||||
|
||||
"cascadeControl": {
|
||||
"input": {
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
"mMqttConnected": "Connessione MQTT",
|
||||
"mEmergencyState": "Modo Emergenza",
|
||||
"mExtPumpState": "Pompa esterna",
|
||||
"mExtDevState": "Dispositivo esterno",
|
||||
"mCascadeControlInput": "Controllo a cascata (input)",
|
||||
"mCascadeControlOutput": "Controllo a cascata (output)",
|
||||
|
||||
@@ -289,6 +290,7 @@
|
||||
"ot": "Impostazioni OpenTherm",
|
||||
"mqtt": "Impostazioni MQTT",
|
||||
"extPump": "Impostazioni pompa esterna",
|
||||
"extDev": "Impostazioni dispositivo esterno",
|
||||
"cascadeControl": "Impostazioni controllo a cascata"
|
||||
},
|
||||
|
||||
@@ -459,6 +461,13 @@
|
||||
"antiStuckTime": "Tempo antiblocco <small>(min)</small>"
|
||||
},
|
||||
|
||||
"extDev": {
|
||||
"use": "Usa dispositivo esterno",
|
||||
"gpio": "GPIO relè",
|
||||
"state": "Stato",
|
||||
"caption": "Didascalia"
|
||||
},
|
||||
|
||||
"cascadeControl": {
|
||||
"input": {
|
||||
"desc": "Può essere attivata la caldaia se un'altra ha fallito. Il controllo dell'altra caldaia cambia lo stato dell'ingresso del GPIO in caso di errore.",
|
||||
|
||||
@@ -104,6 +104,7 @@
|
||||
"mMqttConnected": "Подключение к MQTT",
|
||||
"mEmergencyState": "Аварийный режим",
|
||||
"mExtPumpState": "Внешний насос",
|
||||
"mExtDevState": "Внешнее устройство",
|
||||
"mCascadeControlInput": "Каскадное управление (вход)",
|
||||
"mCascadeControlOutput": "Каскадное управление (выход)",
|
||||
|
||||
@@ -289,6 +290,7 @@
|
||||
"ot": "Настройки OpenTherm",
|
||||
"mqtt": "Настройки MQTT",
|
||||
"extPump": "Настройки дополнительного насоса",
|
||||
"extDev": "Настройки внешнего устройства",
|
||||
"cascadeControl": "Настройки каскадного управления"
|
||||
},
|
||||
|
||||
@@ -459,6 +461,13 @@
|
||||
"antiStuckTime": "Время работы насоса <small>(в минутах)</small>"
|
||||
},
|
||||
|
||||
"extDev": {
|
||||
"use": "Использовать внешнее устройство",
|
||||
"gpio": "GPIO реле",
|
||||
"state": "Состояние",
|
||||
"caption": "Назначение"
|
||||
},
|
||||
|
||||
"cascadeControl": {
|
||||
"input": {
|
||||
"desc": "Может использоваться для включения отопления только при неисправности другого котла. Контроллер другого котла должен изменить состояние входа GPIO в случае неисправности.",
|
||||
|
||||
@@ -135,6 +135,10 @@
|
||||
<th scope="row" data-i18n>dashboard.states.mExtPumpState</th>
|
||||
<td><i class="mExtPumpState"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" data-i18n>dashboard.states.mExtDevState</th>
|
||||
<td><i class="mExtDevState"></i></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" data-i18n>dashboard.states.mCascadeControlInput</th>
|
||||
<td><i class="mCascadeControlInput"></i></td>
|
||||
@@ -658,6 +662,7 @@
|
||||
result.master.emergency.state ? "red" : "green"
|
||||
);
|
||||
setState('.mExtPumpState', result.master.externalPump.state);
|
||||
setState('.mExtDevState', result.master.externalDev.state);
|
||||
setState('.mCascadeControlInput', result.master.cascadeControl.input);
|
||||
setState('.mCascadeControlOutput', result.master.cascadeControl.output);
|
||||
|
||||
|
||||
@@ -763,6 +763,42 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<details>
|
||||
<summary><b data-i18n>settings.section.extDev</b></summary>
|
||||
<div>
|
||||
<div id="extdev-settings-busy" aria-busy="true"></div>
|
||||
<form action="/api/settings" id="extdev-settings" class="hidden">
|
||||
<fieldset>
|
||||
<label for="extdev-use">
|
||||
<input type="checkbox" id="extdev-use" name="externalDev[use]" value="false">
|
||||
<span data-i18n>settings.extDev.use</span>
|
||||
</label>
|
||||
|
||||
<label for="extdev-state">
|
||||
<input type="checkbox" id="extdev-state" name="externalDev[state]" value="false">
|
||||
<span data-i18n>settings.extDev.state</span>
|
||||
</label>
|
||||
</fieldset>
|
||||
|
||||
<div class="grid">
|
||||
<label for="extdev-gpio">
|
||||
<span data-i18n>settings.extDev.gpio</span>
|
||||
<input type="number" inputmode="numeric" id="extdev-gpio" name="externalDev[gpio]" min="0" max="254" step="1">
|
||||
</label>
|
||||
|
||||
<label for="extdev-caption">
|
||||
<span data-i18n>settings.extDev.caption</span>
|
||||
<input type="text" id="extdev-caption" name="externalDev[caption]" maxlength="40" required>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button type="submit" data-i18n>button.save</button>
|
||||
</form>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<hr />
|
||||
|
||||
<details>
|
||||
<summary><b data-i18n>settings.section.cascadeControl</b></summary>
|
||||
<div>
|
||||
@@ -932,6 +968,13 @@
|
||||
setInputValue("[name='externalPump[antiStuckTime]']", data.externalPump.antiStuckTime);
|
||||
setBusy('#extpump-settings-busy', '#extpump-settings', false);
|
||||
|
||||
// Extdev
|
||||
setCheckboxValue('#extdev-use', data.externalDev.use);
|
||||
setInputValue('#extdev-gpio', data.externalDev.gpio < 255 ? data.externalDev.gpio : '');
|
||||
setInputValue('#extdev-caption', data.externalDev.caption);
|
||||
setCheckboxValue('#extdev-state', data.externalDev.state);
|
||||
setBusy('#extdev-settings-busy', '#extdev-settings', false);
|
||||
|
||||
// Cascade control
|
||||
setCheckboxValue("[name='cascadeControl[input][enabled]']", data.cascadeControl.input.enabled);
|
||||
setInputValue("[name='cascadeControl[input][gpio]']", data.cascadeControl.input.gpio < 255 ? data.cascadeControl.input.gpio : '');
|
||||
@@ -1085,6 +1128,7 @@
|
||||
setupForm('#ot-settings', fillData);
|
||||
setupForm('#mqtt-settings', fillData, ['mqtt.user', 'mqtt.password', 'mqtt.prefix']);
|
||||
setupForm('#extpump-settings', fillData);
|
||||
setupForm('#extdev-settings', fillData);
|
||||
setupForm('#cc-settings', fillData);
|
||||
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user