Skip to content

nana4rider/pc2mqtt

Repository files navigation

PC2MQTT

License: ISC GitHub Actions Test GitHub Actions Release

概要

パソコンをHome Assistantのスイッチデバイスとして自動検出させるためのアプリケーションです。

完全に動作するためには、下記を確認する必要があります。

  • PCにpingが飛ばせること
  • Wake-on-LANでPCが起動すること
  • 指定した秘密鍵を使いPCにsshでログインすることができ、かつサスペンドコマンドを実行できること

使い方

必要な環境変数についてはこちらをご確認ください。

config.json に機器情報を設定

{
  "deviceId": "string",
  "entities": [
    {
      "id": "string",
      "name": "name",
      "remote": {
        "ssh": {
          "username": "username",
          "privateKeyPath": "/path/to/id_rsa"
        },
        "macAddress": "192.168.1.10",
        "ipAddress": "ca:fe:ba:be:de:ad"
      }
    }
  ]
}

Production

npm install
npm run build
node dist/index

Development

npm install
npm run dev

Docker

docker run -d \
  --name pc2mqtt \
  -e MQTT_BROKER=mqtt://localhost \
  -e MQTT_USERNAME=username \
  -e MQTT_PASSWORD=password \
  --restart always \
  --net=host \
  nana4rider/pc2mqtt:latest

Tip

WoLパケットをブロードキャストに飛ばす都合上、hostネットワーク・モードの利用が必須になります。