1. 概要
SmartWebは、Androidデバイスで動作するローカルブリッジサーバーアプリです。
主な目的は次のとおりです。
- SmartThings 認証ステータスを確認し、関連する API 呼び出しを支援します。
- 一般的なHTTPプロキシ機能を提供します。
- 実際のWebView(ブラウザ)でページを開き、最終的なHTMLを読み取ることができます。
- SmartThings Edgeドライバ、ローカルWebページ、自動化スクリプトの中継として機能します。
2. 基本情報
- デフォルトポート:8088
- 基本アドレス形式:http://機器IP:8088
例:
- http://192.168.219.137:8088
3. 画面構成
3.1 サーバータブ
[サーバー]タブでは、ブリッジサーバーの状態と主要なAPIの使用方法を確認できます。
表示される内容の例:
- ブリッジサーバーアドレス
- /api/forward 使用形式
- /api/web 使用形式
- SmartThings認証ステータス確認API
- バックグラウンドWebView実行API
3.2 設定タブ
[設定]タブでは、アプリの使用に必要な環境設定とステータスを確認できます。
例:
- バッテリー最適化例外かどうか
- 通知権限ステータス
- ログの表示/コピー
- アプリのバージョン情報
4. 主要なAPI
4.1 POST /api/ping
説明:
ブリッジサーバーの状態とSmartThings認証の状態を簡単に確認します。
メソッド:
- POSTのみ許可
例:
POST http://機器IP:8088/api/ping
応答例:
{
"battery": 86,
"bridgeDevice": "phone",
"bridgeVersion": "バージョン: 2026.05.15",
"serverStartTime": "05/14 03:00",
"stOauthConnected": true,
"accessTokenExpiresAt": 1778773965000、
"accessTokenMinutesLeft": 1332
}
4.2 GET /api/smartthings/devices
説明:
SmartThingsデバイスのリストを単純な形式で返します。
メソッド:
- GETのみ許可
例:
GET http://機器IP:8088/api/smartthings/devices
応答例:
{
"items": [
{
"deviceId": "...",
"label": "Googleホームミニ書斎",
"name": "Google Home"
}
]
}
用途:
- デバイス名でdeviceIdを見つけるとき
- スピーカー名検索
- ラベルベースの機器を選択
4.3 GET /api/forward?url=元のアドレス
説明:
一般的なHTTPプロキシです。
メソッド:
- GETのみ許可
例:
GET http://機器IP:8088/api/forward?url=https://api.smartthings.com/v1/devices
用途:
- JSON API呼び出し
- 静的HTMLページを読む
- SmartThings REST API呼び出し
特徴:
- リクエストヘッダのほとんどを渡す
- SmartThings API 呼び出し時に Authorization ヘッダーがない場合、認証情報を自動使用
- JavaScriptを実行しない
- Cloudflare/ブラウザ検証ページには弱い可能性がある
注意:
- JavaScriptの実行が必要なサイトには適していません
4.4 GETまたはPOST /api/web?url=元のアドレス
説明:
実際のWebViewでページを開き、最終的なHTMLを返します。
メソッド:
- GETまたはPOST
用途:
- JavaScriptの実行が必要なサイト
- Cloudflare検証ページ
- /api/forwardで読まないサイト
例:
GET http://機器IP:8088/api/web?url=https://
または:
POST http://機器IP:8088/api/web
Content-Type: application/json
{
"url": "https://",
"timeoutMs": 20000
}
応答:
- 成功時の最終HTML本体(text/html)
- 失敗した場合のエラー文字列
特徴:
- 実際のブラウザのようにページを薄くする
- JavaScript実行可能
- 遅いが強い
タイムアウトパラメータ:
- timeout: 秒
- timeoutSeconds: 秒
- timeoutMs: ミリ秒
例:
- ?timeout=20
- ?timeoutSeconds=20
- ?timeoutMs=20000
注意:
- レスポンスはJSONではなくHTML本体自体
- 必要な値は呼び出し側でHTML解析が必要
4.5 GETまたはPOST /api/webview/run
説明:
バックグラウンドWebViewでページを一定時間実行します。
メソッド:
- GETまたはPOST
用途:
- 特定のページを一定時間バックグラウンドで維持
- JS動作/ページ実行の維持
例:
GET http://機器IP:8088/api/webview/run?url=http://ハブアドレス:ポート&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 値の説明
/api/ping の bridgeDevice は次のいずれかです。
- テレビ
- 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 2026年07月13日
Minor bug fixes and improvements. Install or update to the newest version to check it out!