ChatGPT Image 2025年8月2日 16 21 40

Proxmox VEにHome Assistant OSをインストールしてBluetoothを使う

2025年08月02日

Intel N100を搭載したありがちなミニPCにProxmox VEを入れて仮想環境として運用しているのですが、そこにHome Assistant OSを仮想マシンとしてインストールして運用してみます。Switchbotのセンサーを使いたいのでBluetoothも使えるようにします。

BluetoothモジュールはUSB機器として認識されていたので、USBパススルーの設定をしていきます。

root@rio:~# lsusb | grep Bluetooth
Bus 003 Device 002: ID 8087:0026 Intel Corp. AX201 Bluetooth
root@rio:~# 

コンテナではなく仮想マシンを作成していきます。BIOSはOVMF(UEFI)に、Pre-Enroll keysはチェックを外しておきます。ブートディスクは無しで。RAMは4GBにしていますがカツカツなので、余裕があるなら6GBぐらいは振っておきたいものです。

250801 pKiotCnr3p

Home Assistant OSのAlternative Downloadsのページから、KVM/Proxmox用のイメージのURLを取り、Proxmox VEのシェル内でダウンロードと解凍を行います。

wget https://github.com/home-assistant/operating-system/releases/download/16.0/haos_ova-16.0.qcow2.xz
unxz haos_ova-16.0.qcow2.xz

ディスクイメージの展開はProxmox VEのバージョンによってコマンドが若干変わりますが、PVE 8.4.5では

qm disk import <VMのID> <展開するqcow2イメージのファイル> <展開先のストレー>

となります。今回の場合VMのIDは301、qcow2イメージはhaos_ova-16.0.qcow2、展開先は特に別のSSDを設定した訳ではないのでlocal-lvmであり、実行したコマンドは

qm disk import 301 haos_ova-16.0.qcow2 local-lvm

となりました。

VMのハードウェア一覧に行くと、バインドされていないディスクが増えているのでバインドしておきます。

250802 QtO1sKYJjN

さてBluetoothですが、まずパススルーする前にProxmox VE側で認識してしまうと良くないので、カーネルモジュールを読み込まないようにします。これもホスト側のシェルで/etc/modprobe.d/pve-blacklist.confを編集し、末尾にblacklist btusbを加えておきます。

ホストを再起動した後に、Home Assistant OSのVMにパススルーします。ハードウェア一覧からUSBデバイスを追加すると、最初にlsusbで確認した、IDが8087:0026のデバイスがいます。

250801 CIW6g1mwGz

VMを起動して、コンソールを見ると接続先のIPアドレスが表示されているので、そちらにWebブラウザでアクセスするとセットアップがはじまります。

250801 2K2qQnTKPN

Bluetoothを認識していて、なおかつSwitchbotのBluetooth機器を認識しているので、きちんと動作しているということになります。