BroadLinkのライブラリでデバイスを操作する際に、discoverメソッドなどを利用してデバイスを検出する必要があります。検出には時間が掛かる場合があるので、discoverメソッドを使わずにデバイスを指定する方法を忘録的に投稿しておきます。
BroadLink RMシリーズの検出
次のコードでネットワーク内のデバイスが検出されます。
import broadlink
devices = broadlink.discover()
for device in devices:
print(device)
ネットワーク内にデバイスがある場合には、こんな感じで応答が返ってきます。
智能遥控 (Broadlink RM mini 3 0x1234 / 192.168.0.XX:80 / DE:AD:BE:EF:DE:AD)
discoverメソッドで検出する際に、数秒くらいの処理時間を要するので事前に取得した情報で検索せずに指定ができます。
先ほどの戻り値のIPやMACアドレスを使います。
import broadlink
device = broadlink.gendevice(
0x1234,
('192.168.0.XX', 80),
bytes.fromhex('deadbeefdead')
)
これでネットワーク内の検索を行わずに直接デバイスが指定できます。
まとめ
今回は短い記事ですが、BroadLinkのライブラリでデバイスを操作する際に、discoverメソッドなどを利用してデバイスを検出する必要があります。検出には時間が掛かる場合があるので、discoverメソッドを使わずにデバイスを指定する方法について書きました。
ネットワーク内を検索せずに、IPアドレスなどで直接指定できるので、処理時間を短くすることが可能になりました。
BroadLinkのライブラリで直接デバイスを作成したい人の参考になれば幸いです。
スポンサーリンク
最後までご覧いただき、ありがとうございます。
