Skip to content

kanare-dev/switchbot-sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

switchbot-sample

SwitchBot API を TypeScript で操作するサンプルプロジェクトです。照明・エアコンなどの赤外線リモートデバイスをコマンドラインから制御できます。

機能

  • デバイス一覧の取得(物理デバイス・赤外線リモートデバイス)
  • 照明のオン/オフ
  • エアコンのオン(温度・モード・風速指定)/オフ

セットアップ

1. 依存パッケージのインストール

npm install

2. 環境変数の設定

.env.example をコピーして .env を作成し、各値を設定します。

cp .env.example .env
変数名 説明
SWITCHBOT_TOKEN SwitchBot APIトークン
SWITCHBOT_SECRET SwitchBot シークレットキー
LIGHT_DEVICE_ID 操作する照明のデバイスID
AC_DEVICE_ID 操作するエアコンのデバイスID

APIトークンとシークレットキーは SwitchBot アプリの「開発者向けオプション」から取得できます。 デバイスIDは npm run dev devices コマンドで確認できます。

使い方

# デバイス一覧を表示
npm run dev devices

# 照明をオン
npm run dev light-on

# 照明をオフ
npm run dev light-off

# エアコンをオン(冷房 26℃・風速自動)
npm run dev ac-on

# エアコンをオフ
npm run dev ac-off

プロジェクト構成

src/
  index.ts      - エントリーポイント(コマンド解析・処理)
  switchbot.ts  - SwitchBotClient クラス(API呼び出し)
  auth.ts       - HMAC-SHA256 署名による認証ヘッダー生成

技術スタック

  • TypeScript 5.5+
  • axios - HTTP クライアント
  • dotenv - 環境変数管理
  • ts-node - TypeScript 直接実行

About

Switchbot APIを用いてターミナルからSwitchbotを操作するサンプル

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors