JSON Machine Control デバイス
JSONMachineControl デバイスを使うと、JSON 経由でマシンリストとマシンステータスを照会できます。
Telnet のセットアップ
Section titled “Telnet のセットアップ”JSONMachineControl デバイスは Telnet の使用を必要とします。Telnet 通信のために Disguise サーバーを正しく設定するには、以下の手順に従ってください。
- Control Panel > Programs > Turn on Windows Features > Telnet Client に移動して Telnet を有効にします。
- リンク telnet://127.0.0.1:9864 をクリックします。
- マシン名を取得するには、
{"query":{"q":"machineList"}}を入力します。 - フレームレートを取得するには、
{"query":{"q":"machineStatus hostName"}}を入力します。

Live フレームレートの使用を推奨します。Live フレームレートを取得するには、以下の Python スクリプトを使用できます。
import jsonfrom telnetlib import Telnetfrom socket import gethostbyaddrhostIP = "127.0.0.1" # stick the server IP hereport = 9864host_name = gethostbyaddr(hostIP)print(f'd3 name is: {host_name[0]}')q = '{"query":{"q":"machineStatus ' + host_name[0] + '"}}'print(f"sending - {q.encode('ASCII').decode('ASCII')} - to {host_name[0]}")def readFPS(): with Telnet(hostIP, port) as tn: tn.write(q.encode('ASCII') + b'\r\n') buf_as_dict = json.loads(tn.read_until(b"}]}")) return buf_as_dict['results'][0]['fps']if __name__ == '__main__': while True: fps = readFPS() print(fps)JSONMachineControl デバイスの作成
Section titled “JSONMachineControl デバイスの作成”JSONMachineControl デバイスは、他のデバイスタイプと同じ方法で作成します。デバイスの作成手順については デバイスの作成を参照し、デバイスタイプのメニューから JSONMachineControl を選択してください。これにより、デバイスエディター(後述)が開きます。
JSONMachineControl デバイスのプロパティ
Section titled “JSONMachineControl デバイスのプロパティ”
Listening Port(リスニングポート)
Section titled “Listening Port(リスニングポート)”デバイスが Telnet クエリの受信を待ち受ける TCP ポートです。デフォルトは 9864 です。
JSONMachineControl クエリ
Section titled “JSONMachineControl クエリ”Machine list: {"query":{"q":"machineList"}}
各マシンに関する情報(d3 名、ホスト名、ロール、マシンタイプ)を含む辞書のリストを返します。
戻り値の例:
{"request":0,"status":"OK","results":[{"machine":"4x4-DEMO","hostname":"4X4-DEMO","role":"Dedicated director","type":"4x4pro"}]}Machine status: {"query":{"q":"machineStatus 4X4-DEMO"}}
マシンに関する追加情報(セッションステータス、フェイルオーバーステータス、現在の FPS)を返します。
戻り値の例:
{"request":0,"status":"OK","results":[{"active":true,"Failed":false,"fps":32.345558166503909}]}