【Python】Dyson空気清浄扇風ヒーターの操作と室温、湿度などの取得
pythonでHP03の操作とセンサーデータを取得するサンプルも自分用に作成したので、備忘録としてコード乗っけときます。参考サイトの内容をほぼ流用してます。
家電のセットアップは下記の記事を参考にしてください。
パスワードなどの取得は私が参考にしたサイトを参考にすると良いかもです。
今回のテストコードはpaho-mqttを使用します。
https://github.com/eclipse/paho.mqtt.python
pipコマンドなら
pip install paho-mqtt
テストコード
# coding: UTF-8 import paho.mqtt.client as mqtt import time import threading HOST = 'IP Address' PORT = 1883 USERNAME = 'user name' PASSWORD = 'password' MODEL = '455' # Dyson setting get request def on_connect(client, userdata, flags, respons_code): print('status : ' + str(respons_code)) topic = MODEL + '/' + USERNAME + '/status/current' client.subscribe(topic) # current Dyson setting receive def on_message(client, userdata, msg): print('-----' + msg.topic + '-----') print(msg.payload) # Dyson control function def control(): topic = MODEL + '/' + USERNAME + '/command' #Dyson Start PAYLOAD = '{"msg":"STATE-SET","time":"2020-06-11T19:55:44Z","data":{"fmod":"FAN","fnsp":"0001"}}' client.publish(topic, PAYLOAD) #wait 10 second time.sleep(10) #Dyson Stop PAYLOAD = '{"msg":"STATE-SET","time":"2020-06-11T19:55:44Z","data":{"fmod":"OFF"}}' client.publish(topic, PAYLOAD) if __name__ == '__main__': #connect client = mqtt.Client(protocol=mqtt.MQTTv311) client.username_pw_set(USERNAME, PASSWORD) client.on_connect = on_connect client.on_message = on_message client.connect(HOST, port=PORT, keepalive=60) #Dyson Fan operation with another thread t1 = threading.Thread(target=control) t1.start() client.loop_forever()
{“msg”:”ENVIRONMENTAL-CURRENT-SENSOR-DATA”,”time”:”2020-06-22T13:07:02.001Z”,”data”:{“tact”:”OFF”,”hact”:”OFF”,”pact”:”0003″,”vact”:”0001″,”sltm”:”OFF”}}
実行するとHP03が起動し約10秒後に停止します。
関連記事
ディスカッション
コメント一覧
まだ、コメントがありません