SwitchBotでスマートホーム 選択する3つの理由
前回の投稿から時間があいてしまいました。みなさんはいかがお過ごしでしょう?
久しぶりの今日は、IoT(Internet of Things)を利用したスマートホームをネタにします。最近の筆者のホット・トピックであるSwichBotを紹介していきます。
DIYで、とにかくいろいろとやってしまおうという筆者「テック大家さん」としては、本記事でSwitchBot製品群のマニアックな魅力を存分にお届けできればと考えています、はい。
では、いってみましょう!
SwitchBotにこだわる理由
SwitchBotとは、IoT(Internet of Things)で住まいをスマート化するための商品とサービスを提供しているメーカーです。その商品群もSwitchBot(スイッチボット)と呼んでいます。
2016年頃にSwitchBotの最初の商品が世に出たときは、スイッチボットという名前の通り、まさに、スイッチとなるボタンを押下する小さなロボット(ボット)、という機器でした。家の壁や電化製品についている物理スイッチを小さな足(腕?)で押す機器です。
これを使うと、家の中で自分の位置から少し離れた場所にあるスイッチをスマホで遠隔操作できる、という画期的な商品だったのです。
例えば、こたつに座りながら玄関先の電灯のオフ・オンする、ベッドに寝そべって風呂のお湯をいれる、などといったシーンで使えます。なんと「モノグサ人間」のための体験を提供しているのでしょう!?
それが今やIoTやスマートホームといったキーワードの流行とともに商品群を拡大し、商品カテゴリーとしては20近くの製品展開をしています。
例えば、リモートで部屋の温度を確認できる温湿度計や、決まった時間にカーテンを開けてくれる機器、ドアに設置してカギの開閉をするスマートロックなど、ご家庭のさまざまな自動化に貢献する1大IoT製品シリーズになりました。
もちろん、スマートホームを実現するIoTやスマート機器を販売しているメーカーは他にもあります。しかしながら、筆者はSwitchBotに特に興味を持っています。その理由は3つあります。
- 理由1: ハブを中心としたスマートホームに必要な製品群
- 理由2: Matter対応など最新技術に対応
- 理由3: Web APIやBLEのIF仕様が公開されている
一つずつ詳しくみていきます。
ハブを中心としたスマートホームに必要な製品群
SwitchBotは同名のブランドの元でいろいろな機器が販売されています。スマート電球、スマートロック、スマートコンセントプラグ、スマート温湿度計、などなど。
同一メーカー、同一ブランドでIoT機器のバリエーションがあっていいのは、一つのスマホアプリで完結すること。
小さな機器が多く、ボタンなども多く搭載できないので、設定や使用に際してはスマホアプリを使います。SwitchBotも「SwitchBotアプリ」があり、Android版とiOS版の両方で使えます。
SwitchBot製品の多くはBluetoothで接続されます。SwitchBotスマホアプリで使う場合にも、スマホのBluetooth設定を有効化しておく必要があります。
Bluetoothは近距離無線のための技術(規格)です。ヘッドホンやパソコンの無線キーボードのような「近くにあるもの」を接続するもの、というご理解の方も多いでしょう。到達距離は数十メートルと言われています。
ところで、ここでちょっとした疑問が湧きます。
IoT(Internet of Things)という言葉は「モノのインターネット」と訳されますよね。
Bluetooth接続はインターネットにつなぐためのものではない。すなわち、BluetoothでつながるSwitchBot製品は、IoTじゃないんじゃないの?と。
例えば、Bluetoothで操作できるSwitchBotスマート電球が家の中にあったとします。家の中ではスマホでオン・オフを変えたり照明の色を変更できます。しかし、一度家から出て電車にでも乗ろうものなら、そんな操作できません(そういった機能が必要かどうかはともかくも)。
Bluetoothってそういうものです。
家で無線でパソコンにつながったBluetoothキーボードを会社に持っていてカチカチ叩いたら、家でパソコンの画面に文字を打ってた、なんてことが起こったら変ですよね。というより、技術的にそういったことはできないのです。
そこで、SwitchBot製品群の中に「ハブ」という妙な名前の商品があります。
いくつかバージョンがありますが2024年4月時点「ハブ2」と言う商品が最新です。実は、ハブはBluetooth通信を中継してWiFi経由のインターネット接続するための機器なのです。つまり「ハブ」は、Bluetooth通信しかできない機器を文字通りインターネットにつなぎIoTの「モノ」として動作させるための代物なのです(下図参照)。
ちなみに、この最新の「ハブ2」という商品。Bluetooth製品群の中心という役割のほか、上の広告画像を見ての通り、室温の温度表示や湿度表示のほか、リモコン機器に向けて赤外線コマンドを送出して制御する機能など、さまざまな機能を搭載しています。
これ単体でも十分に便利な代物になっています。製品名の「ハブ」というのが何を意味するのかわかりにくいのが欠点ですが…
というわけで、SwitchBotハブ/ハブ2に関しては詳細を説明する記事を書いています。併せてご覧ください。
Matter対応など最新技術に対応
2つ目の理由は、SwitchBot商品が技術的にも頑張っていると感じたからです。
みなさんは、AlexaやOk,Google!でおなじみスマートスピーカーを使っていますか?
声を掛けると何でも答えてくれる(!?)、魔法のようなスピーカーです。といっても、昨今は生成AIが桁違いの勢いで成長していて、スマートスピーカーは下火なのかも知れません。「アマゾン、「アレクサ」担当部門で数百人を削減-注力分野シフト」といったニュース記事に出てきているので技術開発トレンドが変わってきてるのでしょう。
数年前までは勢いのあったこれらのスマートスピーカー。これらにもいち早く対応していたのがSwitchBotでした。声で電球をつけたり、カーテンを開けたり、スイッチを入れたり、といったことが可能になるのです。
また、スマートスピーカー対応だけでなく、ノンコーディングでさまざまな作業を自動化する「IFFFT」という老舗のサービスへの対応も早かったと記憶しています。IFFFTとSwtichBotを一緒に使うと、例えば、室温が一定の温度になったらメールでお知らせ、みたいな連携機能が便利に作れます。
そして、最近では、Matterという最新のスマートホーム通信規格への対応も進めています。元々、スマートスピーカーはどのメーカーも似たような機能を持っているのにもかかわらず、背景の技術(通信プロトコル)はそれぞれ独自のものでした。それを共通化しようという試みとして登場した技術です。
Matterの普及により、異なるメーカーの複数のIoT機器がシームレスにつながり、より良いスマートホーム体験が可能になる可能性があります。
この規格に積極的に対応してきたSwitchBot商品群。テック大家さんとしては気にならないわけがない、というわけです。
上でも登場した微妙な商品名の「ハブ2」の箱にもちゃんとMatterのロゴが(下の写真)。ハブ2をMatterの中心に据えてスマートホーム対応しているわけですね。
余談ですが、Matterの規格化は、Apple、Google、Amazoなど米国企業が中心となって行われました。
筆者が学校を卒業して仕事をはじめたころは、家電などで規格化が必要なときの日本メーカーの動きが際立っていました。今ではすでに廃れているDVDフォーマットの規格化などは勢いがすごかった記憶があります。今はやはり日本の技術が弱くなった感がありますね。
筆者は少しでも日本の技術ボトムアップに貢献できたら、との思いを心の片隅にすえつつ、微力ながらこのブログを書いているつもりです、はい。
Web APIやBLEのインターフェース仕様が公開されている
筆者のSwitchBot推し、3つ目の理由は、機器を操作するためのAPI仕様が公開されていることです。
APIとはApplication Programimng Interfaceの略。つまり、ユーザ自身がアプリケーションを作って(プログラミングして)SwitchBot製品群を操ることができるというわけです。
テック大家さん的にステキな世界観です。
しかも、APIの種類は2種類あります。一つは、RESTful APIとか、REST APIと呼ばれることもある、HTTPプロトコルをベースとしたもの(Web APIともいう)。そして、もう一つは、Bluetooth Low Energy(BLE) のプロトコル仕様です。以下にそれぞれのリンクを示します(英語です)。
これらのインターフェースの具体的な使用例は長くなるので、今後別記事で詳しく解説していきます。お楽しみに!
ここでは、さわりだけWeb APIについて部分的に説明します。
SwitchBotのWeb APIは、いわゆるJSON (JavaScript Object Notation)形式のデータをやり取りする仕様になっています。
例えば、自分のSwitchBotアプリのすべての機器の一覧を取り出したい場合、API仕様の「Get device list」の項目があります。そこには、
GET /v1.1/devices
とあります。エンドポイント(ベースURL)は、https://api.switch-bot.comと記載があるので、HTTPS GETコマンドで https://api.switch-bot.com/v1.1/devicesにアクセスすることができます。
ブラウザでこのURLを叩くとわかりますが、認証情報な旨のエラーが返ってきてしまいます。
それはそうです。
認証情報がないと誰のSwitchBotの機器リストがほしいのか判別できません。そもそも、誰か他の人の家の情報がみえるなんてことがあっては100%セキュリティ問題です。どこかの国の政府が作った健康保険証システムのトラブルみたいな事態になってしまいます。
でも、心配はいりません。
上記のAPI仕様書には、親切丁寧に認証の実装方法がコード付きで書かれていいます。しかも各種有名どころのプログラミング言語での実コードを用意するといった、気の利きようです。その通りにプログラムに記述してTokenを作成すれば解決です。ここで得られたTokenを使いhttps://api.switch-bot.com/v1.1/devicesにアクセスするわけです。
するとどうでしょう、仕様通りに以下のようなJSONが得られます。
{
"statusCode": 100,
"body": {
"deviceList": [
{
"deviceId": "40XXXXXXXXXXXX",
"deviceName": "プラグミニ(JP) XX",
"deviceType": "Plug Mini (JP)",
"enableCloudService": true,
"hubDeviceId": ""
},
{
"deviceId": "C0XXXXXXXXXXXX",
"deviceName": "実験用スマート電球",
"deviceType": "Color Bulb",
"enableCloudService": true,
"hubDeviceId": ""
},
{
"deviceId": "C0XXXXXXXXXXXX",
"deviceName": "ダイニングライト",
"deviceType": "Color Bulb",
"enableCloudService": true,
"hubDeviceId": ""
},
{
"deviceId": "C5XXXXXXXXXXXX",
"deviceName": "世田谷玄関",
"deviceType": "Smart Lock",
"enableCloudService": true,
"hubDeviceId": "E7XXXXXXXXXXXXXXXX",
"master": true
},
...
スマホアプリの一覧にあるデバイスと同じものがプログラムから取得できました(一部を訂正しています)。
どうです?ワクワクしませんか?
今回はさわりだけでしたが、もう少し具体的にプログラミングした記事が以下になります。こちらも合わせてご覧いただけるとありがたいです。↓
では、本日はこれにて。
【SwitchBot公式サイト】
ディスカッション
コメント一覧
まだ、コメントがありません