Macで作業中、照明の明るさを調整したくなった時に、
NatureRemoのスマホアプリやリモコンに持ち替えするのが面倒に思い、
メニューバーあたりからNatureRemoで操作できないかを調べたところ、
簡単にできたのでメモを残しておきます。

完成形は、以下のイメージになります。

スクリプトメニュー

Nature Remo Local APIを使います。

NatureRemoのホスト名を調べる

まず、NatureRemoのホスト名を調べます。

以下の通りコマンドを入力して、
出力された「Remo-XXXXXX」部分が、NatureRemoのホスト名になります。

% dns-sd -B _remo._tcp
Browsing for _remo._tcp
DATE: ---Sat 20 Feb 2021---
 3:32:26.968  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
 3:32:26.968  Add        2   8 local.               _remo._tcp.          Remo-XXXXXX

リモコンの信号を取得する

Nature Remoに向けて、リモコンの信号を送ります。
(Nature Remo 3の場合、青く光ります)

以下の通りコマンドで、出力されたJSONがリモコンの信号になります。
「Remo-XXXXXX」部分は、調べたNatureRemoのホスト名に置き換えて下さい。

% curl http://Remo-XXXXXX.local/messages -H "X-Requested-With: local"
{"format":"us","freq":38,"data":[9020, ...]}

取得した信号のJSONは、次のコマンドで送信して確認することが出来ます。

% curl -XPOST http://Remo-XXXXXX.local/messages -H "X-Requested-With: local" -d '{"format":"us","freq":38,"data":[9020, ...]}'

Automatorで信号を送信するアプリケーションを作る

「Automator」を起動します。
「ファイル」→「新規」メニューから、「アプリケーション」を選択します。
アクションで「シェルスクリプトを実行」を選択して、次のようなスクリプトを指定します。
「Remo-XXXXXX」と信号のJSONは、調べたものに置き換えます。

HOST_REMO=Remo-XXXXXX.local
REMO_SIGNAL='{"format":"us","freq":38,"data":[9020,...]}'

curl -XPOST http://$HOST_REMO/messages -H "X-Requested-With: local" -d $REMO_SIGNAL

「ファイル」→「保存」メニューから、適当に名前をつけて保存します。

メニューバーにスクリプトメニューを表示する

「スクリプトエディタ」を起動します。
「スクリプトエディタ」→「環境設定」メニューの「一般」タブを選択します。
「メニューバーにスクリプトメニューを表示」をチェックします。

スクリプトメニュー環境設定

ユーザースクリプトを追加する

メニューバーに表示された「スクリプトエディタ」アイコンから、
「スクリプトフォルダを開く」→「ユーザ・スクリプト・フォルダを開く」を選びます。

表示されたフォルダに、Automatorで作成したアプリケーションを追加します。

スクリプトメニュー

以上で、
メニューバーからNatureRemo経由でリモコン信号を送ることが出来るようになります。

参考サイト

以下のサイトを参考にさせて頂きました、ありがとうございます。

Nature RemoのIPアドレスを確認したい | Nature
https://support.nature.global/hc/ja/articles/900002597106-Nature-Remo%E3%81%AEIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%9F%E3%81%84

Nature Remo Local API でローカルからリモコン信号を送る | yuu26-memo
https://blog.yuu26.com/nature-remo-local-api/

Automatorとかで作ったスクリプトをメニューバーから使う | Amitica
https://amitica.net/archives/1225

追記: AppleScript版

(2021.5.31 追記)

よくよく考えてみると、
(Automatorでアプリケーションを作るよりも)
AppleScriptだけで完結させた方が簡単でした。

AppleScriptだけでやりたい場合は、
Automatorでアプリケーションを作る代わりに、
スクリプトエディタで以下のようなスクリプトを書いて、
ユーザ・スクリプト・フォルダに配置します。

set HOST_REMO to "Remo-XXXXXX.local"

set REMO_SIGNAL to "'{\"format\":\"us\",\"freq\":38,\"data\":[9020,...]}'"

do shell script "curl -XPOST http://" & HOST_REMO & "/messages -H \"X-Requested-With: local\" -d " & REMO_SIGNAL