web interface changed

This commit is contained in:
Dmitry Borisenko
2020-06-11 22:51:34 +02:00
parent e79be004b9
commit be5bd3ede4
67 changed files with 718 additions and 720 deletions

View File

@@ -1,10 +1,10 @@
{
"name": "IoTmanager",
"chipID": "",
"ssidAP": "WiFi2",
"passwordAP": "",
"ssid": "rise",
"password": "hostel3333",
"apssid": "IoTmanager",
"appass": "",
"routerssid": "rise",
"routerpass": "hostel3333",
"timezone": 2,
"ntp": "pool.ntp.org",
"mqttServer": "91.204.228.124",
@@ -13,8 +13,8 @@
"mqttUser": "test",
"mqttPass": "test",
"scen": "1",
"pushingbox_id": "v7C133E426B0C69E",
"web_login": "admin",
"web_pass": "admin",
"pushingboxid": "v7C133E426B0C69E",
"weblogin": "admin",
"webpass": "admin",
"udponoff": "1"
}

View File

@@ -1,3 +0,0 @@
switch 1 0 10
//физическая кнопка номер 1 подключенная к пину 0, задержка от дребезга 10 мс

View File

@@ -1,3 +0,0 @@
switch1 = 1
mqtt 3233662-1589489 buttonChange_1
end

BIN
data/icon.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,7 +1,8 @@
{
"configs": [
"/config.live.json",
"/config.setup.json"
"/config.setup.json",
"/lang/lang.ru.json"
],
"title": "Главная",
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
@@ -12,41 +13,16 @@
"class": "alert-default"
},
{
"type": "h4",
"title": "Device ID: {{chipID}}"
},
{
"type": "h4",
"title": "IP address: {{ip}}"
},
{
"type": "h4",
"title": "Uptime: {{uptime}}"
},
{
"type": "h4",
"title": "Time: {{time}}"
},
{
"type": "h4",
"title": "Build version: {{firmware_version}}"
},
{
"type": "h4",
"title": "SPIFFS version: 2.3.3"
},
{
"type": "hr"
},
"type": "text",
"class": "alert alert-light",
"title": "<center><img src='/icon.jpeg' alt='IoT Manager'></center>"
},
{
"type": "link",
"title": "Конфигурация устройства",
"action": "/?set.device",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Список других устройств в сети",
@@ -77,25 +53,6 @@
"action": "/?set.utilities",
"class": "btn btn-block btn-default"
},
{
"type": "h3",
"name": "my-block",
"style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
{
"type": "hr"
},
{
"type": "button",
"title": "Обновить прошивку",
"action": "/check",
"response": "[[my-block]]",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Скачать приложение IoT Manager для android",

View File

@@ -7,14 +7,32 @@
"SetUDPList": "Список других устройств в сети:",
"SetUDPWarn1": "После нажатия на кнопку ереформировать список устройств' ждите примерно минуту, а затем обновите страницу и список появится вновь",
"SetUDPWarn1": "После нажатия на кнопку <b>переформировать список устройств</b> ждите примерно минуту, а затем обновите страницу и список появится вновь",
"SetUDPUpdateList":"Переформировать список устройств",
"SetUDPUpdatePage":"Обновить страницу",
"SetUDPNameOfDev":"Имя этого устройства:",
"SetUDPDateExchange":"Включить обмен данными между устройствами",
"SetUDPWarn2":"Если обмен данными включен, то устройства будут обмениваться широковещательными пакетами udp для формирования списка устройств и для осуществления посылки настроек mqtt. Данный обмен создает дополнительную нагрузку на wifi сеть."
"SetUDPWarn2":"Если обмен данными включен, то устройства будут обмениваться широковещательными пакетами udp для формирования списка устройств и для осуществления посылки настроек mqtt. Данный обмен создает дополнительную нагрузку на wifi сеть.",
"SetWiFiNameOfDev":"Имя устройства:",
"SetWiFiRouterConnect":"Подключение к WiFi роутеру:",
"SetWiFiAccessPoint":"Точка доступа:",
"SetWiFiWeb":"Логин и пароль web interface:",
"SetWiFiTimeZone":"Временная зона:",
"SetWiFiNTP":"Сервер NTP:",
"SetWiFiWarn1":"Имя устройства должно состоять из английских букв и иметь длинну от 6 до 12 символов",
"SetWiFiWarn2":"После того как вы введете логин пароль от вашего wifi роутера необходимо нажать кнопку сохранить, а затем обязательно нажать кнопку <b>перезагрузить устройство</b> внизу этой страницы",
"SetWiFiWarn3":"Устройство постоянно сканирует сеть на наличие wifi. Если роутер отключен, то устройство автоматически перейдет в режим точки доступа. Когда wifi появится устройство автоматически подключится к роутеру снова, и выключит точку доступа",
"SetWiFiWarn4":"После изменения поля <b>NTP сервер</b> необходимо перезагрузить устройство",
"SetMQTTServerName":"Имя сервера:",
"SetMQTTPort":"Номер порта:",
"SetMQTTPrefix":"Префикс:",
"SetMQTTUserName":"Имя пользователя:",
"SetMQTTPassword":"Пароль:",
"SetMQTTSendSettings":"Отправить настройки MQTT с этого устройства на все остальные",
"SetMQTTWarn1":"Обратите внимание что поле префикс может состоять только из одного слова и одного разделителя: <b>/prefix</b>, вариант вида: <b>/prefix1/prefix2</b> работать не будет. После изменения поля prefix необходимо перезагрузить устройство",
"SetMQTTWarn2":"Прежде чем нажимать на кнопку <b>Отправить настройки MQTT</b> сохрание их, если Вы их меняли. Настройки получат и перезапишут все устройства в локальной сети"
}

View File

@@ -2,6 +2,7 @@
"configs": [
"/config.setup.json",
"/config.option.json",
"/config.live.json",
"/lang/lang.ru.json"
],
"class": "col-sm-offset-1 col-sm-10",
@@ -11,6 +12,15 @@
"title": "{{name}}",
"class": "alert-default"
},
{
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h4",
"title": "Device ID: {{chipID}}"
@@ -19,13 +29,21 @@
"type": "h4",
"title": "IP address: {{ip}}"
},
{
"type": "h4",
"title": "Time: {{time}}"
},
{
"type": "h4",
"title": "Uptime: {{uptime}}"
},
{
"type": "h4",
"title": "Time: {{time}}"
"title": "Build version: {{firmware_version}}"
},
{
"type": "h4",
"title": "SPIFFS version: 2.3.3"
},
{
"type": "hr"
@@ -37,25 +55,25 @@
"style": "display:inline",
"title": {
"#": "{{SetDevPreset}}<span class=\"caret\"></span>",
"/preset?arg=1": "1.Вкл. выкл. локального реле",
"/preset?arg=2": "2.Вкл. выкл. локального реле в определенное время",
"/preset?arg=3": "3.Вкл. выкл. локального реле на определенный период времени",
"/preset?arg=4": "4.Вкл. выкл. нескольких локальных реле кнопкой в приложении",
"/preset?arg=5": "5.Вкл. выкл. локального реле физической кнопкой и кнопкой в приложении параллельно (для выключателя света)",
"/preset?arg=6": "6.Вкл. выкл. нескольких удаленных реле кнопкой в приложении (нужно указать Device ID)",
"/preset?arg=7": "7.Вкл. выкл. нескольких удаленных реле физической кнопкой (нужно указать Device ID)",
"/preset?arg=8": "8.Широтно импульсная модуляция",
"/preset?arg=9": "9.Сенсор DHT11 и логгирование",
"/preset?arg=10": "10.Сенсор DHT22, DHT33, DHT44, AM2302, RHT03 и логгирование",
"/preset?arg=11": "11.Аналоговый сенсор и логгирование",
"/preset?arg=12": "12.Сенсор DS18B20 и логгирование",
"/preset?arg=13": "13.Термостат на DS18B20 с переключением в ручной режим и логгированием",
"/preset?arg=14": "14.Контроль уровня в баке на сенсорах: JSN-SR04T, HC-SR04, HY-SRF05 и логгирование (управление насосом)",
"/preset?arg=15": "15.Датчик движения включающий свет",
"/preset?arg=16": "16.Охранный датчик движения",
"/preset?arg=17": "17.Система управления шаговыми двигателями на основе драйвера A4988 (открытие закрытие штор)",
"/preset?arg=18": "18.Система управления сервоприводами",
"/preset?arg=19": "Настройки по умолчанию"
"/set?preset=1": "1.Вкл. выкл. локального реле",
"/set?preset=2": "2.Вкл. выкл. локального реле в определенное время",
"/set?preset=3": "3.Вкл. выкл. локального реле на определенный период времени",
"/set?preset=4": "4.Вкл. выкл. нескольких локальных реле кнопкой в приложении",
"/set?preset=5": "5.Вкл. выкл. локального реле физической кнопкой и кнопкой в приложении параллельно (для выключателя света)",
"/set?preset=6": "6.Вкл. выкл. нескольких удаленных реле кнопкой в приложении (нужно указать Device ID)",
"/set?preset=7": "7.Вкл. выкл. нескольких удаленных реле физической кнопкой (нужно указать Device ID)",
"/set?preset=8": "8.Широтно импульсная модуляция",
"/set?preset=9": "9.Сенсор DHT11 и логгирование",
"/set?preset=10": "10.Сенсор DHT22, DHT33, DHT44, AM2302, RHT03 и логгирование",
"/set?preset=11": "11.Аналоговый сенсор и логгирование",
"/set?preset=12": "12.Сенсор DS18B20 и логгирование",
"/set?preset=13": "13.Термостат на DS18B20 с переключением в ручной режим и логгированием",
"/set?preset=14": "14.Контроль уровня в баке на сенсорах: JSN-SR04T, HC-SR04, HY-SRF05 и логгирование (управление насосом)",
"/set?preset=15": "15.Датчик движения включающий свет",
"/set?preset=16": "16.Охранный датчик движения",
"/set?preset=17": "17.Система управления шаговыми двигателями на основе драйвера A4988 (открытие закрытие штор)",
"/set?preset=18": "18.Система управления сервоприводами",
"/set?preset=19": "Настройки по умолчанию"
}
},
{
@@ -65,17 +83,11 @@
{
"type": "file",
"state": "firmware.c.txt",
"style": "width:100%;height:400px",
"style": "width:100%;height:350px",
"title": "Сохранить",
"action": "/set?devinit",
"class": "btn btn-block btn-default"
},
{
"type": "link",
"title": "Инструкция",
"action": "https://github.com/DmitryBorisenko33/esp32-esp8266_iot-manager_modules_firmware/wiki/Instruction",
"class": "btn btn-block btn-default"
},
{
"type": "h2",
"title": "Сценарии"
@@ -90,25 +102,40 @@
{
"type": "file",
"state": "firmware.s.txt",
"style": "width:100%;height:400px",
"style": "width:100%;height:350px",
"title": "Сохранить",
"action": "/set?sceninit",
"class": "btn btn-block btn-success"
"class": "btn btn-block btn-default"
},
{
"type": "hr"
"type": "link",
"title": "Инструкция к системе автоматизации",
"action": "https://github.com/DmitryBorisenko33/esp32-esp8266_iot-manager_modules_firmware/wiki/Instruction",
"class": "btn btn-block btn-default"
},
{
"type": "link",
"title": "Очистить логи сенсоров",
"action": "/set?cleanlog",
"class": "btn btn-block btn-success"
"class": "btn btn-block btn-default"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
"type": "hr"
},
{
"type": "h3",
"name": "my-block",
"style": "position:fixed;top:50%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
{
"type": "button",
"title": "Обновить прошивку устройства",
"action": "/check",
"response": "[[my-block]]",
"class": "btn btn-block btn-default"
}
]
}

View File

@@ -1,68 +1,85 @@
{
"configs": [
"/config.setup.json"
"/config.setup.json",
"/lang/lang.ru.json"
],
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
"class": "alert-default"
},
{
"type": "text",
"class": "alert alert-warning",
"title": "Обратите внимание что поле prefix может состоять только из одного слова и одного разделителя: <b>/prefix</b>, вариант вида: <b>/prefix1/prefix2</b> работать не будет. После изменения поля prefix необходимо перезагрузить устройство"
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h4",
"title": "Server name:"
"title": "{{SetMQTTServerName}}",
"style": "width:60%;float:left;"
},
{
"type": "input",
"title": "",
"name": "1",
"state": "{{mqttServer}}"
"name": "mqttServer-arg",
"state": "{{mqttServer}}",
"style": "width:40%;float:right"
},
{
"type": "h4",
"title": "Port:"
"title": "{{SetMQTTPort}}",
"style": "width:60%;float:left;"
},
{
"type": "input",
"title": "",
"name": "2",
"state": "{{mqttPort}}"
"name": "mqttPort-arg",
"state": "{{mqttPort}}",
"style": "width:40%;float:right"
},
{
"type": "h4",
"title": "Prefix:"
"title": "{{SetMQTTPrefix}}",
"style": "width:60%;float:left;"
},
{
"type": "input",
"title": "",
"name": "3",
"state": "{{mqttPrefix}}"
"name": "mqttPrefix-arg",
"state": "{{mqttPrefix}}",
"style": "width:40%;float:right"
},
{
"type": "h4",
"title": "User name:"
"title": "{{SetMQTTUserName}}",
"style": "width:60%;float:left;"
},
{
"type": "input",
"title": "",
"name": "4",
"state": "{{mqttUser}}"
"name": "mqttUser-arg",
"state": "{{mqttUser}}",
"style": "width:40%;float:right"
},
{
"type": "h4",
"title": "Password:"
"title": "{{SetMQTTPassword}}",
"style": "width:60%;float:left;"
},
{
"type": "input",
"title": "",
"name": "5",
"state": "{{mqttPass}}"
"name": "mqttPass-arg",
"state": "{{mqttPass}}",
"style": "width:40%;float:right"
},
{
"type": "h3",
@@ -70,42 +87,47 @@
"style": "position:fixed;top:30%;left:50%;width:400px;margin-left:-200px;text-align:center;",
"class": "hidden"
},
{
"type": "text",
"class": "alert alert-warning",
"title": "Прежде чем нажимать на кнопку <b>'Отправить настройки MQTT'</b> сохрание их, если Вы их меняли. Настройки получат и перезапишут все устройства в локальной сети"
"type": "button",
"title": "{{ButSave}}",
"style": "width:100%;float:left;",
"action": "set?mqttServer=[[mqttServer-arg]]&mqttPort=[[mqttPort-arg]]&mqttPrefix=[[mqttPrefix-arg]]&mqttUser=[[mqttUser-arg]]&mqttPass=[[mqttPass-arg]]",
"class": "btn btn-block btn-default"
},
{
"type": "button",
"title": "Сохранить",
"action": "mqttSave?mqttServer=[[1]]&mqttPort=[[2]]&mqttPrefix=[[3]]&mqttUser=[[4]]&mqttPass=[[5]]",
"class": "btn btn-block btn-success"
},
{
"type": "button",
"title": "Отправить настройки MQTT с этого устройства на все остальные",
"action": "udp?arg=2",
"class": "btn btn-block btn-success"
"style": "width:100%;float:left;",
"title": "{{SetMQTTSendSettings}}",
"action": "set?mqttsend",
"class": "btn btn-block btn-default"
},
{
"type": "button",
"style": "width:100%;float:left;",
"title": "Проверить соединение с MQTT",
"action": "mqttCheck",
"action": "set?mqttcheck",
"response": "[[my-block]]",
"class": "btn btn-block btn-success"
"class": "btn btn-block btn-default"
},
{
"type": "text",
"style": "width:100%;float:left;",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetMQTTWarn1}}</p></font></div>"
},
{
"type": "text",
"style": "width:100%;float:left;",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetMQTTWarn2}}</p></font></div>"
},
{
"type": "link",
"style": "width:100%;float:left;",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-success"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
"class": "btn btn-block btn-danger"
}
]
}

View File

@@ -1,46 +1,51 @@
{
"configs": [
"/config.setup.json"
],
"class":"col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class":"alert-warning"
},
{
"type": "h4",
"title": "Device id:"
},
{
"type": "input",
"title": "",
"name":"1",
"state": "{{pushingbox_id}}"
},
{
"type": "button",
"title":"Сохранить",
"action": "pushingboxDate?pushingbox_id=[[1]]",
"class": "btn btn-block btn-success",
"style": "width:100%;display:inline"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-warning"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger btn-sm"
}
]
}
"configs": [
"/config.setup.json",
"/lang/lang.ru.json"
],
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
"content": [
{
"type": "h5",
"title": "{{name}}",
"class": "alert-default"
},
{
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h4",
"style": "width:60%;float:left;",
"title": "Device id:"
},
{
"type": "input",
"title": "",
"name": "push-arg",
"style": "width:40%;float:right",
"state": "{{pushingboxid}}"
},
{
"type": "button",
"title": "{{ButSave}}",
"action": "set?pushingboxid=[[push-arg]]",
"class": "btn btn-block btn-default",
"style": "width:100%;display:inline"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-danger"
}
]
}

View File

@@ -11,6 +11,15 @@
"title": "{{name}}",
"class": "alert-default"
},
{
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h3",
"title": "{{SetUDPList}}"
@@ -35,13 +44,13 @@
{
"type": "link",
"title": "{{SetUDPUpdateList}}",
"action": "set?updatelist",
"action": "/set?updatelist",
"class": "btn btn-block btn-default"
},
{
"type": "link",
"title": "{{SetUDPUpdatePage}}",
"action": "set?updatepage",
"action": "/set?updatepage",
"class": "btn btn-block btn-default"
},
{
@@ -49,7 +58,7 @@
},
{
"type": "text",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #808080; border-radius: 3px; background-color: #E6E6FA; padding: 10px;'>{{SetUDPWarn1}}</p></font></div>",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetUDPWarn1}}</p></font></div>",
"style": "width:100%;float:left;"
},
{
@@ -59,14 +68,14 @@
{
"type": "input",
"title": "{{SetUDPNameOfDev}}",
"name": "dev_name",
"name": "devname-arg",
"state": "{{name}}",
"pattern": "[A-Za-z0-9]{6,12}"
},
{
"type": "button",
"title": "{{ButSave}}",
"action": "name?arg=[[dev_name]]",
"action": "/set?devname=[[devname-arg]]",
"class": "btn btn-block btn-default"
},
{
@@ -81,16 +90,7 @@
},
{
"type": "text",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #808080; border-radius: 3px; background-color: #E6E6FA; padding: 10px;'>{{SetUDPWarn2}}</p></font></div>"
},
{
"type": "hr"
},
{
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetUDPWarn2}}</p></font></div>"
}
]
}

View File

@@ -1,7 +1,8 @@
{
"configs": [
"/config.live.json",
"/config.setup.json"
"/config.setup.json",
"/lang/lang.ru.json"
],
"title": "Главная",
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
@@ -9,7 +10,13 @@
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
"class": "alert-default"
},
{
"type": "link",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
@@ -25,17 +32,8 @@
{
"type": "link",
"title": "Сканировать",
"action": "/init?arg=5",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
},
{
"type": "link",
"title": "Главная",
"action": "/",
"class": "btn btn-block btn-danger"
"action": "/set?itoc",
"class": "btn btn-block btn-default"
}
]
}

View File

@@ -1,6 +1,7 @@
{
"configs": [
"/config.setup.json"
"/config.setup.json",
"/lang/lang.ru.json"
],
"title": "Конфигурация",
"class": "col-sm-offset-1 col-sm-10 col-md-offset-2 col-md-8 col-lg-offset-3 col-lg-6",
@@ -8,146 +9,154 @@
{
"type": "h5",
"title": "{{name}}",
"class": "alert-warning"
"class": "alert-default"
},
{
"type": "link",
"title": "Главная",
"title": "{{ButMainPage}}",
"action": "/",
"class": "btn btn-block btn-danger"
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Имя устройства"
"type": "h3",
"title": "{{SetWiFiNameOfDev}}"
},
{
"type": "input",
"title": "Имя устройства",
"name": "dev_name",
"title": "{{SetWiFiNameOfDev}}",
"name": "devname-arg",
"state": "{{name}}",
"pattern": "[A-Za-z0-9]{6,12}"
},
{
"type": "button",
"title": "Сохранить",
"action": "name?arg=[[dev_name]]",
"class": "btn btn-block btn-success"
"title": "{{ButSave}}",
"action": "set?devname=[[devname-arg]]",
"class": "btn btn-block btn-default"
},
{
"type": "text",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetWiFiWarn1}}</p></font></div>"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Подключение к Wi-Fi роутеру"
"type": "h3",
"title": "{{SetWiFiRouterConnect}}"
},
{
"type": "input",
"title": "Сеть",
"name": "ssid",
"state": "{{ssid}}"
"title": "",
"name": "routerssid-arg",
"state": "{{routerssid}}"
},
{
"type": "password",
"title": "Введите пароль",
"name": "ssidPass",
"state": "{{password}}"
"title": "",
"name": "routerpass-arg",
"state": "{{routerpass}}"
},
{
"type": "button",
"title": "Сохранить",
"class": "btn btn-block btn-success",
"action": "ssid?ssid=[[ssid]]&password=[[ssidPass]]"
"title": "{{ButSave}}",
"class": "btn btn-block btn-default",
"action": "set?routerssid=[[routerssid-arg]]&routerpass=[[routerpass-arg]]"
},
{
"type": "text",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetWiFiWarn2}}</p></font></div>"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Точка доступа"
"type": "h3",
"title": "{{SetWiFiAccessPoint}}"
},
{
"type": "input",
"title": "Имя WI-FI сети",
"name": "ssidap",
"state": "{{ssidAP}}",
"title": "",
"name": "apssid-arg",
"state": "{{apssid}}",
"pattern": ".{1,20}"
},
{
"type": "password",
"title": "Пароль",
"name": "ssidApPass",
"state": "{{passwordAP}}",
"title": "",
"name": "appass-arg",
"state": "{{appass}}",
"pattern": ".{8,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "ssidap?ssidAP=[[ssidap]]&passwordAP=[[ssidApPass]]",
"class": "btn btn-block btn-success"
"title": "{{ButSave}}",
"action": "set?apssid=[[apssid-arg]]&appass=[[appass-arg]]",
"class": "btn btn-block btn-default"
},
{
"type": "text",
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetWiFiWarn3}}</p></font></div>"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Логин и пароль web interface"
"type": "h3",
"title": "{{SetWiFiWeb}}"
},
{
"type": "input",
"title": "Логин",
"name": "web-login",
"state": "{{web_login}}",
"name": "weblogin-arg",
"state": "{{weblogin}}",
"pattern": ".{1,20}"
},
{
"type": "password",
"title": "Пароль",
"name": "web-pass",
"state": "{{web_pass}}",
"name": "webpass-arg",
"state": "{{webpass}}",
"pattern": ".{1,20}"
},
{
"type": "button",
"title": "Сохранить",
"action": "web?web_login=[[web-login]]&web_pass=[[web-pass]]",
"class": "btn btn-block btn-success"
"title": "{{ButSave}}",
"action": "set?weblogin=[[weblogin-arg]]&webpass=[[webpass-arg]]",
"class": "btn btn-block btn-default"
},
{
"type": "hr"
},
{
"type": "h2",
"title": "Временная зона"
"type": "h3",
"title": "{{SetWiFiTimeZone}}"
},
{
"type": "input",
"title": "Временная зона",
"name": "1",
"title": "",
"name": "timezone-arg",
"state": "{{timezone}}",
"pattern": ".{1,20}"
},
{
"type": "input",
"title": "Название ntp сервера",
"name": "2",
"title": "",
"name": "ntp-arg",
"state": "{{ntp}}"
},
{
"type": "button",
"title": "Сохранить",
"action": "time?timezone=[[1]]&ntp=[[2]]",
"class": "btn btn-block btn-success"
},
{
"type": "hr"
"title": "{{ButSave}}",
"action": "set?timezone=[[timezone-arg]]&ntp=[[ntp-arg]]",
"class": "btn btn-block btn-default"
},
{
"type": "text",
"class": "alert alert-warning",
"title": "После изменения поля <b>'NTP сервер'</b> необходимо перезагрузить устройство"
"title": "<div style='margin-top:10px;margin-bottom:10px;'><font color='black'><p style='border: 1px solid #DCDCDC; border-radius: 3px; background-color: #F5F5F5; padding: 10px;'>{{SetWiFiWarn4}}</p></font></div>"
},
{
"type": "hr"
@@ -155,8 +164,8 @@
{
"type": "link",
"title": "Перезагрузить устройство",
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/restart?device=ok');}",
"class": "btn btn-block btn-warning"
"action": "javascript:if(confirm(renameBlock(jsonResponse,'Перезагрузить?'))){send_request(this,'/set?device=ok');}",
"class": "btn btn-block btn-danger"
}
]
}