Faikin Ninja P1P2 — MQTT マニュアル
Faikin Australia
MQTT 経由で Faikin Ninja P1P2 を制御・監視するための、初期設定からトピック、コマンド、センサーの完全リファレンスまでの解説です。
MQTT 経由で Faikin Ninja P1P2 を制御・監視するための完全ガイドです。初期設定からトピック、コマンド、センサーの全リファレンスまでを扱います。
本書は、Daikin の P1/P2 制御バスに接続された Faikin Ninja モジュールを対象とします。VRV および VRF、Sky Air、F シリーズの業務用機、Airbase やゾーンコントローラーを備えたダクト式システムが該当します。本書全体を通じて、例として使用するベーストピックは ac/livingroom、例として使用するブローカーの IP アドレスは 192.168.1.10 です。どちらもご自身の環境の値に置き換えてください。
これは Faikin Faikout の MQTT インターフェースとは異なります。 Ninja は異なるファームウェアで動作し、トピック構成も異なるため、Faikout 向けに書いた自動化はそのままでは使えません。Faikout をお使いの場合は、代わりに Faikin Faikout MQTT マニュアル をご覧ください。第 5 章に両者の比較表があります。
このページの内容
1. MQTT でできること
Ninja に内蔵されたウェブページは、日常的な操作には十分です。MQTT が必要になるのは、エアコンをより大きな仕組みの一部として組み込みたい場合です。
- 自動化。 在室状況、スケジュール、電力価格情報、ドアセンサー、別の部屋の温度など、あらゆるものをきっかけに運転できます。
- 本格的な計測。 P1/P2 バスは、オン、オフ、温度よりもはるかに多くの情報を伝えています。Ninja は室内機と室外機のサーミスタ、冷媒圧力、膨張弁の開度、圧縮機とファンの状態、運転時間、機器自身のエラーコードを配信します。これらの大半は壁のコントローラーからは確認できません。
- ダクト式のゾーン。 Daikin のゾーンコントローラーをお使いの場合、各ダンパーが個別に制御できるスイッチになります。
- すべてを一か所に。 Home Assistant、Node-RED、openHAB をはじめ MQTT に対応するあらゆるシステムが、同じ機器を同時に参照できます。
- ローカルで完結。 MQTT はご自身のネットワーク上のご自身のブローカーで動作します。宅外にデータが出ることはなく、アカウントを作成する必要もありません。
2. 準備するもの
必要なものは 3 つです。
- Ninja が WiFi に接続されていること。モジュールのウェブページにアクセスできる状態にしてください。まだの場合は、先に 設置ガイド をご参照ください。
- ネットワーク上の MQTT ブローカー。 Home Assistant をお使いの場合は、Mosquitto broker アドオンをインストールしてください。数分で完了し、ブローカーとユーザー名、パスワードが用意されます。それ以外の場合は、常時稼働するマシン上の Mosquitto または互換ブローカーであれば何でも構いません。
- ブローカーの IP アドレス、ユーザー名、パスワード。
MQTT を使うために Home Assistant は 不要 です。また、Home Assistant を使うために MQTT が必要なわけでもありません。両者は独立した選択肢であり、組み合わせると相性が良いというだけです。
3. ステップ 1: Ninja を MQTT ブローカーに向ける
Ninja のウェブページを開き、MQTT settings に移動します。
| 項目 | 入力する内容 |
|---|---|
| Host | ブローカーの IP アドレスまたはホスト名。例: 192.168.1.10。 |
| Port | ブローカーのポート番号。変更していなければ 1883 です。 |
| User | ブローカーのユーザー名(設定している場合)。 |
| Password | ブローカーのパスワード(設定している場合)。 |
| Topic | ベーストピックの前半部分。例: ac。 |
| Friendly Name | 後半部分。例: livingroom。 |
この 2 つは見た目以上に重要です。Ninja はすべてのトピックをこの 2 つから組み立てます。
ベーストピック = <Topic> / <Friendly Name>
たとえば Topic = ac 、Friendly Name = livingroom とすると、ベーストピックは ac/livingroom となり、ステートトピックは ac/livingroom/state になります。
自動化を組む 前に 両方を決めてください。後から変更するとすべてのトピック名が変わり、古い名前を参照しているものが黙って動かなくなります。すべての機器に共通の接頭辞(ac)と、今後変わらない部屋名(livingroom、masterbed、office)を組み合わせるのが便利です。
保存すると、モジュールが再接続し、配信を開始します。
4. ステップ 2: 接続を確認する
これにターミナルは必要ありません。2 か所ですぐに確認できます。
Ninja 自身のページで確認する
モジュールにアクセスします。ページ上部の機器名の横に、ブローカーの接続状態が表示されます。MQTT connected と表示されていれば、モジュールはブローカーに到達し、配信を行っています。
表示されない場合は、ホスト、ポート、ユーザー名、パスワードのいずれかが誤っているか、モジュールが接続しているネットワークからブローカーに到達できていません。MQTT の設定を再確認し、それでも解決しない場合はトラブルシューティングをご覧ください。
Home Assistant で確認する
手動で追加するものはありません。Ninja は Home Assistant の MQTT ディスカバリーメッセージを配信するため、ブローカーに到達すると Home Assistant が自動的に検出します。MQTT 統合がすでに設定済みで、同じブローカーを指していることが条件です。
- Settings > Devices & services > MQTT を開き、デバイス一覧を表示します。
- 数秒以内に、設定した Friendly Name の名前でデバイスが表示されます。
- 開くと、必要なものはすべて揃っています。モード、設定温度、風量、風向を備えた climate エンティティ、多数の診断センサー、そしてゾーンコントローラーがある場合は各ダンパーゾーンのスイッチです。
Ninja では、YAML で climate エンティティを手書きする必要はありません。もしそうしているのであれば、どこか上流に問題があります。
ターミナルで確認したい場合
任意です。mosquitto のクライアントツールをすでに導入している場合にのみ意味があります。
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
ac/livingroom/availability に online が表示され、ac/livingroom/state に完全な JSON ペイロードが配信されるはずです。
何も届かない場合は、トラブルシューティングへ進んでください。
5. トピック構成
すべては第 3 章で組み立てたベーストピックの下にぶら下がります。ベーストピックが ac/livingroom の場合は次のとおりです。
空調と制御
| トピック | 方向 | 内容 |
|---|---|---|
ac/livingroom/power/set |
ユーザーが配信 | 電源のオン、オフ。 |
ac/livingroom/mode/set |
ユーザーが配信 | 運転モード。 |
ac/livingroom/temp/set |
ユーザーが配信 | 設定温度。 |
ac/livingroom/fan/set |
ユーザーが配信 | 風量。 |
ac/livingroom/vane/set |
ユーザーが配信 | 風向またはスイング。 |
ac/livingroom/zone/<1..8>/set |
ユーザーが配信 | ダンパーゾーンを 1 つ開閉します。 |
ac/livingroom/state |
モジュールが配信 | 全ステートを 1 つの JSON オブジェクトとして配信します。 |
ac/livingroom/availability |
モジュールが配信 |
online または offline。 |
システムと管理
| トピック | 方向 | 内容 |
|---|---|---|
ac/livingroom/system/set |
ユーザーが配信 |
restart、upgrade または factory。 |
ac/livingroom/system/set_safemode |
ユーザーが配信 | セーフモードを on または off にします。 |
ac/livingroom/system/set_min_temp |
ユーザーが配信 | 設定温度の下限。 |
ac/livingroom/system/set_max_temp |
ユーザーが配信 | 設定温度の上限。 |
ac/livingroom/system/set_modbus_rtu_id |
ユーザーが配信 | Modbus RTU のスレーブ ID。 |
ac/livingroom/system/opt/rqt |
ユーザーが配信 | JSON によるオプション要求。 |
ac/livingroom/system/opt/rps |
モジュールが配信 | 受理されたオプションのエコー。 |
ac/livingroom/system/info |
モジュールが配信 | ブリッジのテレメトリ JSON。 |
ほとんどの自動化で必要なのは次の 3 つだけです。.../set トピックへ配信し、state と availability を購読することです。
Faikout もお使いの場合
2 つの製品は正反対のアプローチを取っているため、並べて確認しておく価値があります。
| Faikin Faikout | Faikin Ninja P1P2 | |
|---|---|---|
| トピックの形 |
command/<host>/..., state/<host>
|
<topic>/<name>/... |
| 1 つの制御を設定する方法 | 多数のフィールドを持つ 1 つの JSON control メッセージ |
制御ごとに小さなトピックを 1 つずつ |
| ステートの読み取り | JSON、トピックは state/<host>
|
JSON、トピックは <base>/state
|
| 存在確認 |
state/<host> のペイロード false
|
<base>/availability のペイロード offline
|
| 設定 |
setting/<host> の JSON |
<base>/system/... トピック |
| データの深さ | 室温、コイル温度、外気温、電源 | 加えて室外機サーミスタ、圧力、EV パルス、運転時間、エラーコード |
| ゾーン | 非対応 | 最大 8 ダンパーゾーン |
6. コマンドの送信
該当する .../set トピックにプレーンな文字列を配信します。JSON でラップする必要はなく、ペイロードは値そのものです。
power/set
| ペイロード | 動作 |
|---|---|
ON |
電源を入れ、直前のモード、温度、風量、風向を復元します。 |
OFF |
電源を切ります。 |
mode/set
| ペイロード | 動作 |
|---|---|
heat |
暖房。 |
cool |
冷房。 |
dry |
除湿。 |
fan_only |
送風のみ、暖房も冷房もしません。 |
off |
電源オフ。 |
temp/set
設定温度を数値で指定します。例: 24。範囲は 16 ~ 32 °C、1.0 °C 刻み です。この範囲は system/set_min_temp と system/set_max_temp で狭めることができます(第 11 章)。
fan/set
選択できる風量は室内機によって異なります。モジュールはお使いの機器が実際に対応している風量を報告します。対応していない値を送信しても無視されます。
| ペイロード | 説明 |
|---|---|
low |
弱。 |
medium |
中。 |
high |
強。 |
auto |
自動。 |
low_auto |
弱・自動(ゾーンおよび Airbase システム)。 |
medium_auto |
中・自動(ゾーンおよび Airbase システム)。 |
high_auto |
強・自動(ゾーンおよび Airbase システム)。 |
一般的な組み合わせは次のとおりです。
-
3 段階(自動あり):
low,medium,high,auto -
2 段階:
low,high -
4 段階のゾーン/Airbase:
low,medium,low_auto,medium_auto -
6 段階のゾーン/Airbase:
low,medium,high,low_auto,medium_auto,high_auto
vane/set
| ペイロード | 説明 |
|---|---|
1 |
位置 1、最上部。 |
2 ~ 4
|
中間の位置。 |
5 |
位置 5、最下部。 |
swing |
上下の連続スイング。 |
例
# オン、冷房、24 C、風量自動、スイング
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/power/set' -m 'ON'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/mode/set' -m 'cool'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/temp/set' -m '24'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/fan/set' -m 'auto'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/vane/set' -m 'swing'
各制御が独立したトピックであるため、送信順序は問われず、必要なものだけを送信できます。
7. ダクト式のゾーン
Daikin のゾーンコントローラーが P1/P2 バス上にある場合、Ninja は各ダンパーを開閉できます。
ON または OFF を ac/livingroom/zone/<n>/set に配信します。ここで <n> は 1 ~ 8 です。
# ゾーン 1 を開き、ゾーン 3 を閉じる
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/zone/1/set' -m 'ON'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/zone/3/set' -m 'OFF'
ステートのペイロードには次が含まれます。
| キー | 型 | 意味 |
|---|---|---|
zone_count |
number | 検出されたゾーン数、1 ~ 8。 |
zone_1 … zone_8
|
boolean |
true は開、false は閉です。 |
zone_name_1 … zone_name_8
|
string | ゾーンコントローラーで設定された名称。例: "Master Bed"。 |
Home Assistant では、有効な各ゾーンが個別のスイッチとして自動検出されるため、設定は不要です。
実用上の注意が 2 点あります。ゾーンはゾーンコントローラーが接続されている場合にのみ現れるため、通常のスプリット機ではゾーンのキーは一切表示されません。また、すべてのゾーンを同時に閉じるとダクト式システムに負担がかかります。少なくとも 1 つは開けたままにするか、機器自体を停止してください。
8. ステータスの読み取り
モジュールは、状態が変化するたびに完全な JSON オブジェクトを 1 つ <base>/state に配信します。
表示されるのは、お使いの機器が実際に報告するセンサーのみです。 Ninja は接続された室内機、室外機が送信する内容を検出し、それ以外は表示しません。そのため実際のペイロードは以下の例より短くなり、機種が異なれば現れるキーも異なります。これは正常な動作です。自動化は、お使いの機器で実際に確認できるキーに対して記述してください。
{
"power": "on",
"mode": "cool",
"action": "cooling",
"temperature": 24,
"fan": "auto",
"vane": "swing",
"room_temperature": 25.5,
"outside_temperature": 32.0,
"f_intake_temp": 25.0,
"f_indoor_th1": 18.2,
"f_indoor_th2": 24.8,
"f_outdoor_th1": 32.0,
"f_outdoor_th3": 75.4,
"f_pe_pressure": 0.83,
"f_pc_pressure": 2.40,
"f_drain_pump": false,
"f_electric_heater": false,
"f_comp_operating": true,
"operating": true,
"f_fan_step": 3,
"f_ev_pulses": 240,
"f_id_op_hours": 1250,
"f_error_present": false,
"f_error_code": "",
"f_indoor_model": "FBA100BVMA",
"f_outdoor_model": "RZA100DV1",
"zone_count": 4,
"zone_1": true,
"zone_2": true,
"zone_3": false,
"zone_4": false
}
まず押さえておきたいキーは次のとおりです。
| キー | 意味 |
|---|---|
power |
on または off。ユーザーが指示した状態です。 |
mode |
ユーザーが指示したモードです。 |
action |
機器が現在 実際に行っている動作: cooling、heating、idle など。注目すべきはこちらであり、power ではありません。 |
temperature |
設定温度であり、室温ではありません。 |
room_temperature |
機器が測定した室温です。 |
operating |
システムが実際に稼働しているかどうか。 |
f_error_present / f_error_code
|
Daikin 自身の異常フラグとコード。例: "A9-01"。 |
機器が "power": "on" かつ "action": "idle" であることは正常です。設定温度に到達しただけです。実際に動作しているかを確認したい場合は、action、operating または f_comp_operating をご覧ください。
あわせて <base>/availability も購読してください。ここが offline になっている場合は モジュール が切断されたことを意味し、エアコン本体が停止していることとは異なります。
9. MQTT 経由の Home Assistant
MQTT 統合を追加し、同じブローカーを指定します。設定はこれだけです。Ninja が自身を通知し、Home Assistant がすべてを構築します。
利用できるもの:
- climate エンティティ。モードは
heat,cool,dry,fan_onlyとoff、お使いの機器の風量モード、風向位置1~5とswing、および 1.0 °C 刻みに対応します。 - センサーとバイナリセンサー が、お使いの機器が報告するサーミスタ、圧力、アクチュエーター、時間カウンター、エラーコード、機種名の文字列ごとに作成されます。多くは Diagnostic に分類されます。
- スイッチ が、有効な各ダンパーゾーンに作成されます。
エンティティ ID は Friendly Name に従います。たとえば livingroom の場合は climate.livingroom、sensor.livingroom_outside_temperature、switch.livingroom_zone_1 などになります。YAML を書く前に、Developer tools > States で正確な名称を確認してください。
ダッシュボードのカード
type: vertical-stack
cards:
- type: thermostat
entity: climate.livingroom
- type: entities
title: Zones
entities:
- entity: switch.livingroom_zone_1
name: Living
- entity: switch.livingroom_zone_2
name: Master bed
- entity: switch.livingroom_zone_3
name: Study
- entity: switch.livingroom_zone_4
name: Kids
- type: glance
title: Right now
columns: 3
entities:
- entity: sensor.livingroom_room_temperature
name: Room
- entity: sensor.livingroom_outside_temperature
name: Outside
- entity: binary_sensor.livingroom_compressor_operating
name: Compressor
- type: history-graph
hours_to_show: 24
entities:
- sensor.livingroom_room_temperature
- sensor.livingroom_outside_temperature
- sensor.livingroom_od_pc_pressure
自動化の例
室内が快適になったら機器を停止する例です。まだ運転中に発動しないよう、action を使用し、power は使用しません。
alias: Living room off when settled
triggers:
- trigger: state
entity_id: climate.livingroom
attribute: hvac_action
to: idle
for: "00:20:00"
conditions:
- condition: numeric_state
entity_id: sensor.livingroom_room_temperature
below: 25
actions:
- action: climate.turn_off
target:
entity_id: climate.livingroom
mode: single
異常の監視
alias: Air conditioner fault
triggers:
- trigger: state
entity_id: binary_sensor.livingroom_ac_error_present
to: "on"
actions:
- action: notify.mobile_app_phone
data:
title: Air conditioner fault
message: >-
Error {{ states('sensor.livingroom_ac_error_code') }} on
{{ state_attr('climate.livingroom','friendly_name') }}.
mode: single
これは設定しておく価値があります。エラーコードは技術者が壁のコントローラーから読み取るものと同じコードであり、事前に把握しておくと訪問 1 回分を節約できます。
10. その他のプラットフォーム
同じトピックがどのプラットフォームでも使えます。文字列を <base>/…/set に配信し、<base>/state を購読します。
mosquitto コマンドライン
# この機器のすべてを監視する
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
# 電源を入れて 23 度で冷房する
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/power/set' -m 'ON'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/mode/set' -m 'cool'
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/temp/set' -m '23'
# ゾーン 1 を開く
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/zone/1/set' -m 'ON'
Node-RED
MQTT in ノードを ac/livingroom/state に対して使用し、出力をパース済みの JSON オブジェクトに設定します。その後 msg.payload.power、msg.payload.room_temperature などを読み取ります。
送信するには MQTT out を使用し、トピックとペイロードを空欄にしてメッセージから受け取るようにします。ペイロードは 文字列 でなければならないため、数値は先に変換してください。
機器全体を一度に設定する例:
const base = "ac/livingroom";
return [
{ topic: base + "/power/set", payload: "ON" },
{ topic: base + "/mode/set", payload: "cool" },
{ topic: base + "/temp/set", payload: "24" },
{ topic: base + "/fan/set", payload: "auto" }
];
設定温度を操作するダッシュボードのスライダー:
msg.topic = "ac/livingroom/temp/set";
msg.payload = String(msg.payload);
return msg;
現在オフの場合のみオンにする:
const p = typeof msg.payload === 'string'
? JSON.parse(msg.payload)
: msg.payload;
if (p.power !== "on") {
return [{ topic: "ac/livingroom/power/set", payload: "ON" }];
}
return null;
ac/livingroom/availability を購読しておくと、モジュールが切断されたときにダッシュボードをグレーアウトさせるのが簡単になります。
openHAB
MQTT Broker Thing を追加し、続いて Generic MQTT Thing を作成して、各チャンネルをトピックに割り当てます。スイッチチャンネルは ac/livingroom/power/set に ON/OFF を割り当て、数値チャンネルは ac/livingroom/temp/set に、ステートチャンネルは ac/livingroom/state を読み取って $.room_temperature のような JSONPATH 変換を適用します。
11. システム管理とオプション
これらは <base>/system/ の下にあります。多くは モジュールを再起動します ので、頻繁に発動する仕組みには組み込まないでください。
system/set
| ペイロード | 動作 |
|---|---|
restart |
約 3 秒後にモジュールを再起動します。 |
upgrade |
ファームウェアの更新を直ちに無線経由で確認します。 |
factory |
保存されている設定をすべて消去し、工場出荷状態に戻して再起動します。 |
factory は WiFi と MQTT の設定も消去するため、モジュールは自身のセットアップ用ネットワークで起動し、一から設定し直す必要があります。最終手段としてお使いください。
温度の制限
| トピック | ペイロード | 動作 |
|---|---|---|
system/set_min_temp |
16 ~ 32
|
選択可能な設定温度の下限を決めます。再起動します。 |
system/set_max_temp |
16 to ~
|
選択可能な設定温度の上限を決めます。再起動します。 |
賃貸物件やオフィスで便利です。範囲を制限すれば、7 月に 16 °C へ設定されることがなくなります。
セーフモード
system/set_safemode に on または off を指定します。再起動します。
Modbus RTU ID
system/set_modbus_rtu_id に 1 ~ 254 の数値を指定します。RS485 版を使用するビル管理システム向けです。再起動します。
MQTT 経由のオプション設定
system/opt/rqt は JSON オブジェクトを受け取り、ウェブページを使わずに複数の設定を一度に変更できます。
{
"options": {
"homekit": "On",
"mode": "All",
"safemode": "Off",
"webpanel": "On"
}
}
| キー | 値 | 意味 |
|---|---|---|
homekit |
On, Off
|
Apple Home のサポート。 |
mode |
All, NoHeat, NoAuto
|
公開するモードを指定します。NoHeat は冷房専用の設置に適しています。 |
safemode |
On, Off
|
セーフモード。 |
webpanel |
On, Off
|
内蔵ウェブページ。 |
受理された内容は system/opt/rps にエコーバックされるため、想定で判断せず、こちらを購読して確認してください。
webpanel をオフにすると、自分自身の戻り道がなくなります。MQTT が確実に動作していることを確認できている場合のみ実行してください。
system/info
定期的に配信されます:
{
"connection_state": "online",
"safe_mode": "Off",
"reset_reason": "Software reset via ESP_RESTART",
"web_panel": "On",
"free_heap": "68.45",
"rssi": "-62",
"bssid": "AA:BB:CC:DD:EE:FF",
"up_time": 172800,
"min_temp": 16,
"max_temp": 32,
"protocol_ver": "P1P2"
}
rssi が注目すべき値です。おおよそ -80 dBm より悪い場合は、他の原因を疑う前にモジュールを金属ケースの外へ移動してください。
12. センサーリファレンス
以下はすべて 自動的に検出されます。お使いの機器が報告しない項目は、ステートのペイロードにキーが現れず、Home Assistant にもエンティティは作成されません。項目が少なくても異常ではありません。
主なもの
| キー | 名称 | 単位 | 説明 |
|---|---|---|---|
room_temperature |
Room Temperature | °C | 室内の周囲温度。 |
outside_temperature |
Outside Temperature | °C | 屋外の周囲温度、室外サーミスタ 1 から取得。 |
f_intake_temp |
Intake Temperature | °C | 室内機の吸込空気温度。 |
室内サーミスタ
| キー | 名称 | 説明 |
|---|---|---|
f_indoor_th1 |
Indoor TH1 | 液管。 |
f_indoor_th2 |
Indoor TH2 | ガス管。 |
f_indoor_th3 |
Indoor TH3 | 熱交換器。 |
f_indoor_th4 … f_indoor_th6
|
Indoor TH4 to TH6 | 機種により異なります。 |
f_return_air_temp_1f |
Return Air Temp 1F | 復号された吸込空気温度、対応機種のみ。 |
f_coil_temp_1f |
Coil Temp 1F | 復号された室内コイル温度、対応機種のみ。 |
室外サーミスタと圧力
| キー | 名称 | 単位 | 説明 |
|---|---|---|---|
f_outdoor_th1 |
Outdoor TH1 | °C | 屋外の外気。 |
f_outdoor_th2 |
Outdoor TH2 | °C | 室外熱交換器。 |
f_outdoor_th3 |
Outdoor TH3 | °C | 吐出管。 |
f_outdoor_th4 |
Outdoor TH4 | °C | 吸入管。 |
f_outdoor_th5, f_outdoor_th6
|
Outdoor TH5, TH6 | °C | 機種により異なります。 |
f_pe_pressure |
OD Pe Pressure | MPa | 低圧側の圧力。 |
f_pc_pressure |
OD Pc Pressure | MPa | 高圧側の圧力。 |
吐出温度と 2 つの圧力を合わせて見ることが、室外機のリアルタイムな健全性チェックに最も近い手段です。季節を通してグラフ化しておけば、異常値は保護装置が働くよりずっと前に目立ちます。
アクチュエーターと運転状態
| キー | 名称 | 型 | 説明 |
|---|---|---|---|
f_comp_operating |
Compressor Operating | boolean | 室外機の圧縮機が運転中。 |
f_drain_pump |
ID Drain Pump | boolean | 室内機のドレンポンプ。 |
f_electric_heater |
ID Electric Heater | boolean | 補助電気ヒーター。 |
f_humidifier |
ID Humidifier | boolean | 室内加湿器。 |
f_anti_freezing |
ID Anti Freezing | boolean | 凍結防止制御が作動中。 |
f_solenoid_valve |
OD Solenoid Valve | boolean | 室外電磁弁。 |
f_active_1f |
Loop Active 1F | boolean | ループ動作インジケーター。 |
f_fan_step |
OD Fan Step | step | 室外ファンのステップ段数。 |
f_ev_pulses |
ID EV Pulses | pulse | 室内膨張弁の開度。 |
f_ev1_pulses |
OD EV1 Pulses | pulse | 室外膨張弁の開度。 |
運転時間と異常
| キー | 名称 | 単位 | 説明 |
|---|---|---|---|
f_id_op_hours |
ID Op Hours | h | 室内機の運転時間。 |
f_id_fan_hours |
ID Fan Hours | h | 室内送風機の運転時間。 |
f_id_pwr_hours |
ID Pwr Hours | h | 室内機の通電時間。 |
f_error_present |
AC Error Present | — | 異常発生フラグ。 |
f_error_code |
AC Error Code | — | Daikin のエラーコード。例: "A9-01"、"E7-57"。正常時は空です。 |
f_has_error_history |
Has Error History | — | 機器が過去の異常履歴を保持しているかどうか。 |
f_indoor_model |
Indoor Model | — | 室内機の機種名文字列。 |
f_outdoor_model |
Outdoor Model | — | 室外機の機種名文字列。 |
機器が異常履歴を保持している場合、記録された各事象には行番号、コード、日付、ユニット番号が含まれます。
[
{"row": 1, "code": "A9-01", "date": "17/01/24", "unit": 0},
{"row": 2, "code": "E7-57", "date": "10/11/23", "unit": 0},
{"row": 3, "code": "C2-04", "date": "05/08/23", "unit": 0}
]
モジュールのテレメトリ
| キー | 名称 | 単位 | 説明 |
|---|---|---|---|
up_time |
Up Time | s | 前回の再起動からの経過時間。 |
free_heap |
Free Heap | % | 空き RAM。 |
rssi |
RSSI | dBm | WiFi の信号強度。 |
bssi |
BSSI | — | 接続中のアクセスポイントの BSSID。 |
reset_reason |
Reset Reason | — | 前回再起動した理由。 |
protocol_ver |
Protocol Version | — | 使用中のプロトコル: P1P2。 |
min_temp, max_temp
|
Target limits | °C | 設定されている設定温度の制限。 |
modbus_rtu_id |
Modbus RTU ID | — | 設定されているスレーブ ID。 |
13. トラブルシューティング
ウェブページに MQTT connected バッジが表示されない。 ホストとポート、続いてユーザー名とパスワードを確認してください。ブローカーがモジュールとは別の VLAN やサブネットにある場合、それが本当の原因であることがほとんどです。
バッジは接続済みだが、Home Assistant に何も現れない。 Home Assistant の MQTT 統合が 同じ ブローカーを指しているか確認してください。1 つのネットワークにブローカーが 2 つあるのは、よくある紛らわしい誤りです。次に、モジュールの設定でディスカバリーが有効になっているか確認してください。
一部のセンサーが表示されない。 想定どおりです。配信されるのは接続された機器が報告する内容のみで、小型のスプリット機は VRV よりはるかに少なくなります。異常ではありません。
ゾーンのスイッチが表示されない。 ゾーンには P1/P2 バス上の Daikin ゾーンコントローラーが必要です。ない場合、制御する対象がありません。
コマンドが無視される。 ペイロードはプレーンな文字列で、記載のとおり大文字と小文字を区別します。電源とゾーンでは ON と OFF を大文字で、モードの名称は小文字で指定します。温度に文字列ではなく数値を送信すると、Node-RED を含む一部のクライアントでは失敗します。
温度が思ったとおりに変わらない。 min_temp と max_temp を system/info で確認してください。誰かが範囲を狭めている可能性があります。
頻繁に切断される。 rssi を system/info で確認してください。-80 dBm 前後かそれ以下は不安定です。モジュールを金属ケースの外へ移動してください。
電源は入っているが何も起きない。 action と f_comp_operating を確認してください。action が idle であれば、設定温度に到達しています。圧縮機が一度も運転せず f_error_present が true の場合は、f_error_code を読み取り、施工業者にお伝えください。
設定を変更したらすべて動かなくなった。 Topic または Friendly Name を変更すると、すべてのトピック名が変わります。自動化は古いトピックを参照したままです。
14. クイックリファレンス
ベーストピックは ac/livingroom です。ご自身の値に置き換えてください。
読み取り(購読)
| トピック | 内容 |
|---|---|
ac/livingroom/state |
完全な JSON ステート |
ac/livingroom/availability |
online / offline
|
ac/livingroom/system/info |
モジュールのテレメトリ JSON |
ac/livingroom/system/opt/rps |
受理されたオプションのエコー |
制御(配信)
| トピック | ペイロード |
|---|---|
ac/livingroom/power/set |
ON, OFF
|
ac/livingroom/mode/set |
heat, cool, dry, fan_only, off
|
ac/livingroom/temp/set |
16 ~ 32
|
ac/livingroom/fan/set |
low, medium, high, auto, low_auto, medium_auto, high_auto
|
ac/livingroom/vane/set |
1 ~ 5, swing
|
ac/livingroom/zone/1/set … zone/8/set
|
ON, OFF
|
システム(配信)
| トピック | ペイロード |
|---|---|
ac/livingroom/system/set |
restart, upgrade, factory
|
ac/livingroom/system/set_safemode |
on, off
|
ac/livingroom/system/set_min_temp |
16 ~ 32
|
ac/livingroom/system/set_max_temp |
16 ~ 32
|
ac/livingroom/system/set_modbus_rtu_id |
1 ~ 254
|
ac/livingroom/system/opt/rqt |
{"options":{"homekit":"On","mode":"All"}} |
注目すべきキー
| キー | 理由 |
|---|---|
action |
指示した内容ではなく、実際に行っている動作 |
room_temperature |
実際の室温 |
f_comp_operating |
圧縮機が運転しているかどうか |
f_error_present, f_error_code
|
Daikin 独自のコードによる異常情報 |
rssi |
WiFi の余裕度。確認先は system/info
|
出典: Faikin Ninja P1P2 MQTT プロトコルドキュメント。記載の動作は 2026 年 8 月時点のファームウェアに基づきます。お使いのバージョンについては、モジュール自身のウェブページと配信される system/info が正となります。利用できるセンサーは室内機と室外機によって異なります。