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. 开始之前
您需要准备三样东西。
- 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。 |
这两项的重要性超出表面。Ninja 的每一个主题都由它们拼成:
基础主题 = <Topic> / <Friendly Name>
因此 Topic = ac 与 Friendly Name = livingroom 组成的基础主题为 ac/livingroom,状态主题则为 ac/livingroom/state。
请在编写任何自动化之前确定这两项。之后再修改会重命名所有主题,并让引用旧主题的一切悄然失效。一个实用的约定是:为所有机组使用同一个前缀(ac),再加上不会变动的房间名称(livingroom、masterbed、office)。
保存后,模块会重新连接并开始发布数据。
4. 步骤 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 |
由您发布 | 打开或关闭一个风阀分区。 |
ac/livingroom/state |
由模块发布 | 以单个 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。 |
大多数自动化只需要三项:向 .../set 主题发布,并订阅 state 与 availability。
如果您同时拥有 Faikout
这两款产品采用了相反的做法,因此值得放在一起对比。
| Faikin Faikout | Faikin Ninja P1P2 | |
|---|---|---|
| 主题形式 |
command/<host>/..., state/<host>
|
<topic>/<name>/... |
| 设置单项控制 | 一条包含多个字段的 JSON control 消息 |
每项控制一个小主题 |
| 读取状态 | JSON,位于 state/<host>
|
JSON,位于 <base>/state
|
| 在线状态 |
state/<host> 负载为 false
|
<base>/availability 负载为 offline
|
| 设置 |
setting/<host> JSON |
<base>/system/... 主题 |
| 数据深度 | 室温、盘管温度、室外温度、电源 | 另有室外热敏电阻、压力、膨胀阀脉冲、运行小时数、故障代码 |
| 分区 | 不支持 | 最多 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 系统)。 |
常见的组合有:
-
三档带自动:
low,medium,high,auto -
两档:
low,high -
四档分区/Airbase:
low,medium,low_auto,medium_auto -
六档分区/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. 风管系统分区
如果 P1/P2 总线上接有 Daikin 分区控制器,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 中,每个启用的分区都会被自动发现为独立的开关,无需任何配置。
两点实用提示。只有在存在分区控制器时才会出现分区,因此普通分体机不会有任何分区键。另外,同时关闭所有分区容易让风管系统出问题:请至少保留一个分区开启,或者干脆关机。
8. 读取状态
只要有任何变化,模块就会向 <base>/state 发布一个完整的 JSON 对象。
只有您的机组确实上报的传感器才会出现。 Ninja 会检测所连接的室内机和室外机发布了哪些数据,并隐藏其余部分,因此您的负载会比下面的示例短,两台不同的 Daikin 机组也会产生不同的键。这是正常现象。请针对您自己机组上能看到的键来编写自动化。
{
"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
这个自动化值得设置。故障代码与技术人员从壁挂控制器上读到的代码相同,在打电话前先知道它,可以省下一次上门。
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 |
约三秒后重启模块。 |
upgrade |
立即通过无线方式检查固件更新。 |
factory |
清除全部已保存设置,恢复出厂设置并重启。 |
factory 同时会清除您的 WiFi 和 MQTT 设置,模块会回到自身的配置网络,需要从头重新设置。请将其视为最后手段。
温度限制
| 主题 | 负载 | 效果 |
|---|---|---|
system/set_min_temp |
16 至 32
|
设定任何人可选的最低目标温度。会重启。 |
system/set_max_temp |
16 to 至
|
设定任何人可选的最高目标温度。会重启。 |
在出租房或办公室很实用:限定范围后,谁也无法在七月把温度设到 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 | 高压侧压力。 |
排气温度与这两个压力合在一起,是您能获得的最接近室外机实时健康检查的数据。把它们在整个季节中绘成曲线,异常读数会在任何保护装置动作之前很久就显现出来。
执行器与运行状态
| 键 | 名称 | 类型 | 说明 |
|---|---|---|---|
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 集成指向的是同一个代理服务器。同一网络里有两个代理服务器是常见且容易混淆的错误。然后检查模块设置中是否启用了自动发现。
缺少部分传感器。 这是正常的。只有所连机组上报的内容才会发布,小型分体机显示的内容会比 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 为准。可用的传感器因室内机和室外机而异。