1. Обзор
SmartWeb — это локальное приложение-сервер моста, работающее на устройствах Android.
Его основные функции:
- Проверка статуса аутентификации SmartThings и помощь в выполнении соответствующих вызовов API.
- Предоставление общих функций HTTP-прокси.
- Возможность открытия страницы в реальном WebView (браузере) для чтения итогового HTML-кода.
- Выступает в качестве посредника для драйверов SmartThings Edge, локальных веб-страниц и скриптов автоматизации.
2. Основная информация
- Порт по умолчанию: 8088
- Формат адреса по умолчанию: http://deviceIP:8088
Пример:
- http://192.168.219.137:8088
3. Макет экрана
3.1 Вкладка «Сервер»
На вкладке «Сервер» вы можете проверить статус сервера моста и узнать, как использовать ключевые API.
Примеры отображаемого контента:
- Адрес сервера моста
- Формат использования /api/forward
- Формат использования /api/web
- API проверки статуса аутентификации SmartThings
- API выполнения WebView в фоновом режиме
3.2 Вкладка «Настройки»
На вкладке «Настройки» вы можете проверить параметры среды и статус, необходимые для использования приложения.
Примеры:
- Статус исключения оптимизации батареи
- Статус разрешения на уведомления
- Просмотр/копирование журналов
- Информация о версии приложения
4. Ключевые API
4.1 POST /api/ping
Описание: Кратко проверяет статус сервера моста и статус аутентификации SmartThings.
Метод:
- Только POST
Пример:
POST http://deviceIP:8088/api/ping
Пример ответа:
{
"battery": 86,
"bridgeDevice": "phone",
"bridgeVersion": "Version: 2026.05.15",
"serverStartTime": "05/14 03:00",
"stOauthConnected": true,
"accessTokenExpiresAt": 1778773965000,
"accessTokenMinutesLeft": 1332
}
4.2 GET /api/smartthings/devices
Описание:
Возвращает список устройств SmartThings в простом формате.
Метод:
- Только GET
Пример:
GET http://deviceIP:8088/api/smartthings/devices
Пример ответа:
{
"items": [
{
"deviceId": "...",
"label": "Google Home Mini Library",
"name": "Google Home"
}
]
}
Использование:
- При поиске deviceId по имени устройства
- Поиск по именам динамиков
- Выбор устройств на основе меток
4.3 GET /api/forward?url=origin_address
Описание:
Стандартный HTTP-прокси.
Метод:
- Только GET
Пример:
GET http://deviceIP:8088/api/forward?url=https://api.smartthings.com/v1/devices
Использование:
- Вызовы JSON API
- Чтение статических HTML-страниц
- Вызовы REST API SmartThings
Особенности:
- Передает большинство заголовков запроса
- Автоматически использует учетные данные, если отсутствует заголовок Authorization при вызове API SmartThings
- Не выполняет JavaScript
- Может быть уязвим к Cloudflare/страницам проверки браузера
Внимание:
- Не подходит для сайтов, требующих выполнения JavaScript
4.4 GET или POST /api/web?url=origin_address
Описание: Открывает страницу в реальном WebView и возвращает итоговый HTML.
Метод:
- GET или POST
Использование:
- Сайты, требующие выполнения JavaScript
- Страницы валидации Cloudflare
- Сайты, не загружаемые через /api/forward
Пример:
GET http://deviceIP:8088/api/web?url=https://
Или:
POST http://deviceIP:8088/api/web
Content-Type: application/json
{
"url": "https://",
"timeoutMs": 20000
}
Ответ:
- Итоговое HTML-тело (text/html) при успешном выполнении
- Строка ошибки при неудаче
Особенности:
- Открывает страницу как настоящий браузер
- Возможно выполнение JavaScript
- Медленно, но надежно
Параметры таймаута:
- timeout: секунд
- timeoutSeconds: секунд
- timeoutMs: миллисекунды
Пример:
- ?timeout=20
- ?timeoutSeconds=20
- ?timeoutMs=20000
Примечание:
- Ответ представляет собой сам HTML-код, а не JSON.
- Вызывающей стороне необходимо проанализировать HTML-код для получения необходимых значений.
4.5 GET или POST /api/webview/run
Описание:
Запускает страницу в фоновом режиме WebView на заданный период времени.
Метод:
- GET или POST
Использование:
- Поддерживает работу определенной страницы в фоновом режиме на заданный период времени.
- Поддерживает выполнение операций JavaScript/страницы.
Пример:
GET http://deviceIP:8088/api/webview/run?url=http://hubaddress:port&timeout=60
Особенности:
- Запускает до 5 страниц одновременно.
- Избыточные запросы сохраняются в очереди.
4.6 GET /api/webview/stop
Описание:
Останавливает выполнение фонового WebView.
Метод:
- В настоящее время используется GET
5. Разница между /api/forward и /api/web
/api/forward
- Стандартный HTTP-прокси
- Быстрый
- Подходит для вызовов JSON/API
- Не выполняет JavaScript
- Подходит для статических страниц/общих API
/api/web
- Чтение из браузера на основе WebView
- Медленный, но надежный
- Исполняемый JavaScript
- Поддерживает Cloudflare/страницы валидации браузера
- Подходит для страниц, требующих браузера
Рекомендуемые критерии:
- Общие API/статические страницы: /api/forward
- Страницы, которые необходимо открывать в браузере: /api/web
6. Сводка разрешенных методов
Только POST
- /api/ping
- /api/smartthings/token
- /api/smartthings/access-token
Только GET
- /api/smartthings/devices
- /api/forward
GET или POST
- /api/web
- /api/webview/run
Для остановки
- /api/webview/stop
7. Объяснение значения bridgeDevice
BridgeDevice для /api/ping может быть одним из следующих:
- tv
- pad
- phone
Критерии определения:
- tv: устройства Android TV / Leanback
- pad: smallestScreenWidthDp >= 600
- phone: другие
8. Примеры использования
8.1 Проверка состояния сервера
POST /api/ping
8.2 Проверка списка устройств
GET /api/smartthings/devices
8.3 Общий API-прокси
GET /api/forward?url=https://api.smartthings.com/v1/devices
8.4 Для чтения сайтов требуется браузер
GET /api/web?url=https://
9. Резюме
SmartWeb — это локальный сервер-мост, работающий на устройствах Android.
Ключевые моменты:
- Проверка статуса аутентификации SmartThings
- Простой API для списка устройств
- Стандартный HTTP-прокси (/api/forward)
- Чтение в браузере с помощью WebView (/api/web)
- Запуск WebView в фоновом режиме (/api/webview/run)
В частности, функция /api/web позволяет читать страницы, которые трудно прочитать с помощью стандартных HTTP-запросов, используя реальный метод браузера.
Последняя версия
2026.07.12Загрузил
သူရိရ
Требуемая версия Android
Android 5.0+
Категория
Бесплатно Инструменты ПриложениеВозрастные ограничения
Everyone
Отчет о безопасности
Проверить сейчас
Жаловаться
Сообщить о неприемлемом содержанииLast updated on 13/07/2026
Minor bug fixes and improvements. Install or update to the newest version to check it out!