Faikin Ninja P1P2 — Manuel MQTT
Faikin Australia
Commande et surveillance d'un Faikin Ninja P1P2 via MQTT, de la première configuration jusqu'à la référence complète des topics, commandes et capteurs.
Un guide complet pour commander et surveiller un Faikin Ninja P1P2 via MQTT, de la première configuration jusqu'à la référence complète des topics, commandes et capteurs.
Ceci concerne le module Faikin Ninja installé sur un bus de commande Daikin P1/P2 : VRV et VRF, Sky Air, la série F commerciale et les systèmes gainables avec un contrôleur Airbase ou de zones. Dans tout ce document, le topic de base d'exemple est ac/livingroom et l'IP du broker d'exemple est 192.168.1.10. Remplacez les deux par les vôtres.
Il ne s'agit pas de la même interface MQTT que celle du Faikin Faikout. Le Ninja utilise un firmware différent avec une organisation des topics différente, si bien que les automatisations écrites pour un Faikout ne sont pas transposables. Si vous avez un Faikout, consultez plutôt le Manuel MQTT Faikin Faikout à la place. La section 5 propose une comparaison côte à côte.
Sur cette page
- 1. Ce que MQTT vous apporte
- 2. Avant de commencer
- 3. Étape 1 : diriger le Ninja vers votre broker MQTT
- 4. Étape 2 : confirmer la connexion
- 5. La structure des topics
- 6. Envoyer des commandes
- 7. Zones des systèmes gainables
- 8. Lire l'état
- 9. Home Assistant via MQTT
- 10. Autres plateformes
- 11. Gestion du système et options
- 12. Référence des capteurs
- 13. Dépannage
- 14. Aide-mémoire de référence rapide
1. Ce que MQTT vous apporte
La page web intégrée du Ninja suffit pour un usage quotidien. MQTT devient utile lorsque le climatiseur doit s'intégrer à un ensemble plus vaste.
- Automatisation. Déclenchez l'unité à partir de n'importe quoi : présence, planning, flux de prix de l'électricité, capteur de porte, température d'une autre pièce.
- Une vraie instrumentation. Le bus P1/P2 transporte bien plus que la marche, l'arrêt et la température. Le Ninja publie les thermistances des unités intérieure et extérieure, les pressions de fluide frigorigène, la position du détendeur, l'état du compresseur et du ventilateur, les heures de fonctionnement et les codes d'erreur propres à l'unité. La plupart de ces données sont invisibles depuis la télécommande murale.
- Zones des systèmes gainables. Si vous disposez d'un contrôleur de zones Daikin, chaque registre devient un interrupteur commandable individuellement.
- Tout au même endroit. Home Assistant, Node-RED, openHAB et tout autre système qui parle MQTT voient le même appareil en même temps.
- Tout reste local. MQTT fonctionne sur votre propre broker, sur votre propre réseau. Rien ne quitte la maison et il n'y a aucun compte à créer.
2. Avant de commencer
Il vous faut trois choses.
- Le Ninja sur votre WiFi, accessible via sa propre page web. Si ce n'est pas le cas, consultez d'abord le guide d'installation.
- Un broker MQTT sur votre réseau. Si vous utilisez Home Assistant, installez le module complémentaire Mosquitto broker ; cela prend quelques minutes et vous fournit un broker ainsi qu'un nom d'utilisateur et un mot de passe. Sinon, n'importe quel broker Mosquitto ou compatible sur une machine qui reste allumée fera l'affaire.
- L'adresse IP, le nom d'utilisateur et le mot de passe du broker.
Vous n'avez pas besoin de Home Assistant pour utiliser MQTT, et vous n'avez pas besoin de MQTT pour utiliser Home Assistant. Ce sont deux choix distincts qui se marient simplement bien.
3. Étape 1 : diriger le Ninja vers votre broker MQTT
Ouvrez la page web du Ninja et accédez aux MQTT settings.
| Champ | Que saisir |
|---|---|
| Host | IP ou nom d'hôte du broker, p. ex. 192.168.1.10. |
| Port | Le port du broker. 1883 sauf si vous l'avez modifié. |
| User | Nom d'utilisateur du broker, si le vôtre en utilise un. |
| Password | Mot de passe du broker, si le vôtre en utilise un. |
| Topic | La première moitié du topic de base, p. ex. ac. |
| Friendly Name | La seconde moitié, p. ex. livingroom. |
Les deux derniers comptent plus qu'il n'y paraît. Le Ninja construit tous ses topics à partir d'eux :
topic de base = <Topic> / <Friendly Name>
Ainsi, Topic = ac et Friendly Name = livingroom donne un topic de base ac/livingroom, et le topic d'état devient ac/livingroom/state.
Choisissez les deux avant de construire la moindre automatisation. Les modifier par la suite renomme tous les topics et casse silencieusement tout ce qui référence les anciens. Une convention utile consiste à utiliser un préfixe commun à toutes vos unités (ac) plus un nom de pièce qui ne changera pas (livingroom, masterbed, office).
Enregistrez : le module se reconnecte et commence à publier.
4. Étape 2 : confirmer la connexion
Vous n'avez pas besoin d'un terminal pour cela. Deux endroits vous le disent immédiatement.
Sur la page du Ninja lui-même
Accédez au module. En haut de la page, à côté du nom de l'appareil, son état de connexion au broker est affiché. MQTT connected signifie que le module a atteint votre broker et qu'il publie.
Si cette mention est absente, c'est que l'hôte, le port, le nom d'utilisateur ou le mot de passe est incorrect, ou que le broker n'est pas joignable depuis le réseau du module. Revérifiez les réglages MQTT, puis consultez le dépannage.
Dans Home Assistant
Rien à ajouter à la main. Le Ninja publie les messages de découverte MQTT de Home Assistant : dès qu'il atteint le broker, Home Assistant le détecte tout seul. À condition que l'intégration MQTT soit déjà configurée et pointée vers le même broker :
- Allez dans Paramètres > Appareils & services > MQTT, puis ouvrez la liste des appareils.
- Votre appareil apparaît en quelques secondes, portant le Friendly Name que vous avez défini.
- Ouvrez-le et tout y est déjà : une entité climate avec mode, température de consigne, vitesse de ventilation et volet ; une longue liste de capteurs de diagnostic ; et, si vous avez un contrôleur de zones, un interrupteur pour chaque zone de registre.
Vous ne devriez jamais avoir à écrire à la main une entité climate en YAML pour un Ninja. Si vous en arrivez là, c'est qu'un problème existe en amont.
Si vous préférez vérifier depuis un terminal
Facultatif, et utile uniquement si vous avez déjà installé les outils client mosquitto :
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
Vous devriez voir ac/livingroom/availability indiquant online, et un payload JSON complet sur ac/livingroom/state.
Si rien n'arrive, passez au dépannage.
5. La structure des topics
Tout dépend du topic de base construit à la section 3. Avec le topic de base ac/livingroom:
Climatisation et commande
| Topic | Sens | Rôle |
|---|---|---|
ac/livingroom/power/set |
vous publiez | Marche ou arrêt. |
ac/livingroom/mode/set |
vous publiez | Mode de fonctionnement. |
ac/livingroom/temp/set |
vous publiez | Température de consigne. |
ac/livingroom/fan/set |
vous publiez | Vitesse de ventilation. |
ac/livingroom/vane/set |
vous publiez | Position du volet ou oscillation. |
ac/livingroom/zone/<1..8>/set |
vous publiez | Ouvrir ou fermer une zone de registre. |
ac/livingroom/state |
le module publie | État complet sous forme d'un seul objet JSON. |
ac/livingroom/availability |
le module publie |
online ou offline. |
Système et gestion
| Topic | Sens | Rôle |
|---|---|---|
ac/livingroom/system/set |
vous publiez |
restart, upgrade ou factory. |
ac/livingroom/system/set_safemode |
vous publiez | Safe Mode on ou off. |
ac/livingroom/system/set_min_temp |
vous publiez | Limite minimale de consigne. |
ac/livingroom/system/set_max_temp |
vous publiez | Limite maximale de consigne. |
ac/livingroom/system/set_modbus_rtu_id |
vous publiez | ID d'esclave Modbus RTU. |
ac/livingroom/system/opt/rqt |
vous publiez | Requête d'options en JSON. |
ac/livingroom/system/opt/rps |
le module publie | Écho des options acceptées. |
ac/livingroom/system/info |
le module publie | JSON de télémétrie du bridge. |
Pour la plupart des automatisations, trois suffisent : publiez sur les topics .../set, et abonnez-vous à state et availability.
Si vous avez également un Faikout
Les deux produits adoptent des approches opposées, il est donc utile de les comparer.
| Faikin Faikout | Faikin Ninja P1P2 | |
|---|---|---|
| Forme du topic |
command/<host>/..., state/<host>
|
<topic>/<name>/... |
| Régler une commande | Un message JSON control avec de nombreux champs |
Un petit topic par commande |
| Lecture de l'état | JSON sur state/<host>
|
JSON sur <base>/state
|
| Présence |
state/<host> payload false
|
<base>/availability payload offline
|
| Réglages |
setting/<host> JSON |
<base>/system/... topics |
| Profondeur des données | Pièce, batterie, température extérieure, puissance | En plus : thermistances extérieures, pressions, impulsions EV, heures de fonctionnement, codes d'erreur |
| Zones | Non pris en charge | Jusqu'à 8 zones de registre |
6. Envoyer des commandes
Publiez une chaîne de caractères simple sur le topic .../set correspondant. Il n'y a pas d'enveloppe JSON : le payload est la valeur brute.
power/set
| Payload | Effet |
|---|---|
ON |
Mise en marche, en restaurant le dernier mode, la température, la ventilation et le volet. |
OFF |
Arrêt. |
mode/set
| Payload | Effet |
|---|---|
heat |
Chauffage. |
cool |
Refroidissement. |
dry |
Déshumidification. |
fan_only |
Ventilation seule, sans chauffage ni refroidissement. |
off |
Arrêt. |
temp/set
La température de consigne sous forme de nombre, p. ex. 24. Plage 16 à 32 °C, par pas de 1.0 °C. Vous pouvez restreindre cette plage avec system/set_min_temp et system/set_max_temp (section 11).
fan/set
Les vitesses disponibles dépendent de l'unité intérieure. Le module signale celles que votre unité prend réellement en charge ; envoyer une vitesse inexistante est ignoré.
| Payload | Description |
|---|---|
low |
Basse. |
medium |
Moyenne. |
high |
Haute. |
auto |
Automatique. |
low_auto |
Basse automatique (systèmes à zones et Airbase). |
medium_auto |
Moyenne automatique (systèmes à zones et Airbase). |
high_auto |
Haute automatique (systèmes à zones et Airbase). |
Les regroupements courants sont :
-
3 vitesses avec automatique :
low,medium,high,auto -
2 vitesses :
low,high -
4 vitesses zone/Airbase :
low,medium,low_auto,medium_auto -
6 vitesses zone/Airbase :
low,medium,high,low_auto,medium_auto,high_auto
vane/set
| Payload | Description |
|---|---|
1 |
Position 1, en haut. |
2 à 4
|
Positions intermédiaires. |
5 |
Position 5, en bas. |
swing |
Oscillation verticale continue. |
Exemples
# On, cooling, 24 C, auto fan, swinging
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'
Chaque commande ayant son propre topic, l'ordre n'a pas d'importance et vous pouvez n'envoyer que celles qui vous intéressent.
7. Zones des systèmes gainables
Si un contrôleur de zones Daikin est présent sur le bus P1/P2, le Ninja peut ouvrir et fermer chaque registre.
Publiez ON ou OFF sur ac/livingroom/zone/<n>/set, où <n> vaut de 1 à 8 :
# Open zone 1, close zone 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'
Le payload d'état renvoie :
| Clé | Type | Signification |
|---|---|---|
zone_count |
number | Nombre de zones détectées, de 1 à 8. |
zone_1 … zone_8
|
boolean |
true signifie ouverte, false signifie fermée. |
zone_name_1 … zone_name_8
|
string | Les noms configurés sur le contrôleur de zones, p. ex. "Master Bed". |
Dans Home Assistant, chaque zone active est détectée automatiquement comme un interrupteur distinct, aucune configuration n'est donc nécessaire.
Deux remarques pratiques. Les zones n'apparaissent que si un contrôleur de zones est présent : sur un simple split, il n'y aura donc aucune clé de zone. Et fermer toutes les zones en même temps est un bon moyen de mettre à mal un système gainable : laissez-en au moins une ouverte, ou éteignez plutôt l'unité.
8. Lire l'état
Le module publie un objet JSON complet sur <base>/state dès que quelque chose change.
Seuls les capteurs que votre unité signale réellement apparaissent. Le Ninja détecte ce que publient les unités intérieure et extérieure raccordées et masque le reste : votre payload sera donc plus court que l'exemple ci-dessous, et deux Daikin différents produiront des clés différentes. C'est normal. Écrivez vos automatisations à partir des clés visibles sur votre propre unité.
{
"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
}
Les clés à connaître en priorité :
| Clé | Signification |
|---|---|
power |
on ou off. Ce que vous avez demandé. |
mode |
Le mode que vous avez demandé. |
action |
Ce que l'unité fait réellement en ce moment : cooling, heating, idle et ainsi de suite. C'est celle-ci qu'il faut surveiller, pas power. |
temperature |
Votre consigne, pas la pièce. |
room_temperature |
La pièce, telle que l'unité la mesure. |
operating |
Si le système fonctionne activement. |
f_error_present / f_error_code
|
L'indicateur de défaut et le code propres à Daikin, p. ex. "A9-01". |
Une unité peut être en "power": "on" avec "action": "idle", et c'est parfaitement normal : elle a atteint la température. Pour savoir si elle travaille réellement, regardez action, operating ou f_comp_operating.
Abonnez-vous également à <base>/availability. offline à cet endroit signifie que le module s'est déconnecté, ce qui est différent d'un climatiseur éteint.
9. Home Assistant via MQTT
Ajoutez l'intégration MQTT et pointez-la vers le même broker. C'est toute la configuration : le Ninja s'annonce et Home Assistant construit le reste.
Ce que vous obtenez :
- Une entité climate avec les modes
heat,cool,dry,fan_onlyetoff, les modes de ventilation de votre unité, les positions d'oscillation1à5etswing, et un pas de 1.0 °C. - Capteurs et capteurs binaires pour chaque thermistance, pression, actionneur, compteur d'heures, code d'erreur et référence de modèle signalés par votre unité. La plupart se retrouvent sous Diagnostic.
- Interrupteurs pour chaque zone de registre active.
Les identifiants d'entité suivent le Friendly Name : avec livingroom vous obtiendrez climate.livingroom, sensor.livingroom_outside_temperature, switch.livingroom_zone_1 et ainsi de suite. Vérifiez les noms exacts dans Outils de développement > États avant d'écrire du YAML.
Une carte de tableau de bord
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
Une automatisation
Éteindre l'unité une fois la maison confortable, en utilisant action plutôt que power afin qu'elle ne se déclenche pas pendant que l'unité travaille encore :
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
Surveiller les défauts
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
Cela vaut la peine d'être mis en place. Le code d'erreur est celui qu'un technicien lirait sur la télécommande murale, et le connaître avant d'appeler évite un déplacement.
10. Autres plateformes
Les mêmes topics fonctionnent partout. Publiez des chaînes sur <base>/…/set, abonnez-vous à <base>/state.
Ligne de commande mosquitto
# Watch everything for this device
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
# Turn on and cool to 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'
# Open zone 1
mosquitto_pub -h 192.168.1.10 -t 'ac/livingroom/zone/1/set' -m 'ON'
Node-RED
Utilisez un nœud MQTT in sur ac/livingroom/state avec la sortie réglée sur un objet JSON analysé, puis lisez msg.payload.power, msg.payload.room_temperature et ainsi de suite.
Pour envoyer, utilisez MQTT out en laissant le topic et le payload vides pour qu'ils proviennent du message. Les payloads doivent être des chaînes de caractères, convertissez donc les nombres au préalable.
Régler toute l'unité en une seule fois :
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" }
];
Un curseur de tableau de bord pilotant la température de consigne :
msg.topic = "ac/livingroom/temp/set";
msg.payload = String(msg.payload);
return msg;
Allumer uniquement si l'appareil est actuellement éteint :
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;
S'abonner à ac/livingroom/availability est un moyen simple de griser votre tableau de bord lorsque le module se déconnecte.
openHAB
Ajoutez un Thing broker MQTT, puis un Generic MQTT Thing avec des canaux pointant vers les topics. Un canal switch sur ac/livingroom/power/set avec ON/OFF, un canal number sur ac/livingroom/temp/set, et des canaux d'état lisant ac/livingroom/state avec une transformation JSONPATH telle que $.room_temperature.
11. Gestion du système et options
Ils se trouvent sous <base>/system/. La plupart d'entre eux redémarrent le module, ne les reliez donc à rien qui se déclenche souvent.
system/set
| Payload | Effet |
|---|---|
restart |
Redémarre le module au bout d'environ trois secondes. |
upgrade |
Recherche immédiatement une mise à jour du firmware par voie radio. |
factory |
Efface tous les réglages enregistrés, effectue une réinitialisation d'usine et redémarre. |
factory efface également vos réglages WiFi et MQTT : le module revient sur son propre réseau de configuration et doit être reconfiguré de zéro. À réserver en dernier recours.
Limites de température
| Topic | Payload | Effet |
|---|---|---|
system/set_min_temp |
16 à 32
|
Définit la consigne la plus basse sélectionnable. Redémarre. |
system/set_max_temp |
16 à 32
|
Définit la consigne la plus haute sélectionnable. Redémarre. |
Utile dans une location ou un bureau : limitez la plage et personne ne pourra régler 16 °C en juillet.
Safe Mode
system/set_safemode avec on ou off. Redémarre.
Modbus RTU ID
system/set_modbus_rtu_id avec un nombre de 1 à 254, pour les installations de gestion technique de bâtiment utilisant la version RS485. Redémarre.
Options via MQTT
system/opt/rqt accepte un objet JSON et permet de modifier plusieurs réglages à la fois sans passer par la page web :
{
"options": {
"homekit": "On",
"mode": "All",
"safemode": "Off",
"webpanel": "On"
}
}
| Clé | Valeurs | Signification |
|---|---|---|
homekit |
On, Off
|
Prise en charge d'Apple Home. |
mode |
All, NoHeat, NoAuto
|
Quels modes exposer. NoHeat convient à une installation en froid seul. |
safemode |
On, Off
|
Safe Mode. |
webpanel |
On, Off
|
La page web intégrée. |
Tout ce qui est accepté est renvoyé en écho sur system/opt/rps, abonnez-vous donc à ce topic pour confirmer plutôt que de le supposer.
Désactiver webpanel vous prive de votre propre moyen d'accès. Ne le faites que si vous êtes certain que MQTT fonctionne.
system/info
Publié périodiquement :
{
"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 est la valeur à surveiller. Au-delà d'environ -80 dBm, sortez le module du boîtier métallique avant d'incriminer quoi que ce soit d'autre.
12. Référence des capteurs
Tout ce qui suit est détecté automatiquement. Si votre unité ne le signale pas, la clé est absente du payload d'état et aucune entité n'est créée dans Home Assistant. Une liste courte n'est pas un défaut.
Les principaux
| Clé | Nom | Unité | Description |
|---|---|---|---|
room_temperature |
Room Temperature | °C | Température ambiante intérieure. |
outside_temperature |
Outside Temperature | °C | Ambiance extérieure, depuis la thermistance extérieure 1. |
f_intake_temp |
Intake Temperature | °C | Température de l'air de reprise à l'unité intérieure. |
Thermistances intérieures
| Clé | Nom | Description |
|---|---|---|
f_indoor_th1 |
Indoor TH1 | Conduite liquide. |
f_indoor_th2 |
Indoor TH2 | Conduite gaz. |
f_indoor_th3 |
Indoor TH3 | Échangeur de chaleur. |
f_indoor_th4 … f_indoor_th6
|
Indoor TH4 to TH6 | Spécifique au modèle. |
f_return_air_temp_1f |
Return Air Temp 1F | Température d'air de reprise décodée, lorsque prise en charge. |
f_coil_temp_1f |
Coil Temp 1F | Température décodée de la batterie intérieure, lorsque prise en charge. |
Thermistances et pressions extérieures
| Clé | Nom | Unité | Description |
|---|---|---|---|
f_outdoor_th1 |
Outdoor TH1 | °C | Air ambiant extérieur. |
f_outdoor_th2 |
Outdoor TH2 | °C | Échangeur de chaleur extérieur. |
f_outdoor_th3 |
Outdoor TH3 | °C | Conduite de refoulement. |
f_outdoor_th4 |
Outdoor TH4 | °C | Conduite d'aspiration. |
f_outdoor_th5, f_outdoor_th6
|
Outdoor TH5, TH6 | °C | Spécifique au modèle. |
f_pe_pressure |
OD Pe Pressure | MPa | Pression côté basse pression. |
f_pc_pressure |
OD Pc Pressure | MPa | Pression côté haute pression. |
La température de refoulement et les deux pressions constituent ce qui se rapproche le plus d'un contrôle de santé en direct de l'unité extérieure. Tracez-les sur une saison et une valeur anormale ressortira bien avant qu'une sécurité ne se déclenche.
Actionneurs et état de fonctionnement
| Clé | Nom | Type | Description |
|---|---|---|---|
f_comp_operating |
Compressor Operating | boolean | Compresseur extérieur en marche. |
f_drain_pump |
ID Drain Pump | boolean | Pompe de relevage des condensats intérieure. |
f_electric_heater |
ID Electric Heater | boolean | Résistance électrique d'appoint. |
f_humidifier |
ID Humidifier | boolean | Humidificateur intérieur. |
f_anti_freezing |
ID Anti Freezing | boolean | Protection antigel active. |
f_solenoid_valve |
OD Solenoid Valve | boolean | Électrovanne extérieure. |
f_active_1f |
Loop Active 1F | boolean | Indicateur de boucle active. |
f_fan_step |
OD Fan Step | step | Niveau de palier du ventilateur extérieur. |
f_ev_pulses |
ID EV Pulses | pulse | Ouverture du détendeur intérieur. |
f_ev1_pulses |
OD EV1 Pulses | pulse | Ouverture du détendeur extérieur. |
Heures et défauts
| Clé | Nom | Unité | Description |
|---|---|---|---|
f_id_op_hours |
ID Op Hours | h | Heures de fonctionnement de l'unité intérieure. |
f_id_fan_hours |
ID Fan Hours | h | Heures du ventilateur intérieur. |
f_id_pwr_hours |
ID Pwr Hours | h | Heures sous tension de l'unité intérieure. |
f_error_present |
AC Error Present | — | Indicateur de défaut actif. |
f_error_code |
AC Error Code | — | Code d'erreur Daikin, p. ex. "A9-01", "E7-57". Vide lorsque tout va bien. |
f_has_error_history |
Has Error History | — | Si l'unité conserve un historique des défauts. |
f_indoor_model |
Indoor Model | — | Référence de modèle de l'unité intérieure. |
f_outdoor_model |
Outdoor Model | — | Référence de modèle de l'unité extérieure. |
Lorsque l'unité conserve un historique des défauts, chaque événement enregistré porte un numéro de ligne, le code, la date et le numéro d'unité :
[
{"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}
]
Télémétrie du module
| Clé | Nom | Unité | Description |
|---|---|---|---|
up_time |
Up Time | s | Depuis le dernier redémarrage. |
free_heap |
Free Heap | % | RAM libre. |
rssi |
RSSI | dBm | Force du signal WiFi. |
bssi |
BSSI | — | BSSID du point d'accès auquel il est connecté. |
reset_reason |
Reset Reason | — | Raison du dernier redémarrage. |
protocol_ver |
Protocol Version | — | Protocole actif, P1P2. |
min_temp, max_temp
|
Target limits | °C | Limites de consigne configurées. |
modbus_rtu_id |
Modbus RTU ID | — | ID d'esclave configuré. |
13. Dépannage
Pas de mention MQTT connected sur la page web. Vérifiez l'hôte et le port, puis le nom d'utilisateur et le mot de passe. Si le broker se trouve sur un VLAN ou un sous-réseau différent de celui du module, c'est généralement là qu'est le vrai problème.
La mention indique connecté, mais rien n'apparaît dans Home Assistant. Vérifiez que l'intégration MQTT de Home Assistant pointe vers le même broker. Deux brokers sur un même réseau est une erreur fréquente et déroutante. Vérifiez ensuite que la découverte est activée dans les réglages du module.
Certains capteurs sont absents. C'est normal. Seul ce que signalent les unités raccordées est publié, et un petit split affichera bien moins qu'un VRV. Ce n'est pas un défaut.
Aucun interrupteur de zone. Les zones nécessitent un contrôleur de zones Daikin sur le bus P1/P2. Sans lui, il n'y a rien à commander.
Les commandes sont ignorées. Les payloads sont des chaînes simples et respectent la casse telle qu'elle est documentée : ON et OFF en majuscules pour la marche/arrêt et les zones, noms de mode en minuscules. Envoyer un nombre plutôt qu'une chaîne pour la température échouera dans certains clients, Node-RED compris.
La température ne va pas où vous voulez. Vérifiez min_temp et max_temp dans system/info. Quelqu'un a peut-être restreint la plage.
La connexion se coupe sans cesse. Regardez rssi dans system/info. Autour de -80 dBm ou pire, c'est limite. Sortez le module du boîtier métallique.
L'unité est allumée mais rien ne se passe. Regardez action et f_comp_operating. Si action vaut idle, c'est que la température est atteinte. Si le compresseur ne démarre jamais et que f_error_present est vrai, lisez f_error_code et communiquez-le à votre installateur.
Tout s'est arrêté après une modification des réglages. Renommer le Topic ou le Friendly Name renomme tous les topics. Vos automatisations pointent encore vers les anciens.
14. Aide-mémoire de référence rapide
Topic de base ac/livingroom. Remplacez-le par le vôtre.
Lecture (abonnement)
| Topic | Contenu |
|---|---|
ac/livingroom/state |
État JSON complet |
ac/livingroom/availability |
online / offline
|
ac/livingroom/system/info |
JSON de télémétrie du module |
ac/livingroom/system/opt/rps |
Écho des options acceptées |
Commande (publication)
| Topic | Payload |
|---|---|
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
|
Système (publication)
| Topic | Payload |
|---|---|
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"}} |
Clés à surveiller
| Clé | Pourquoi |
|---|---|
action |
Ce qu'elle fait réellement, pas ce que vous avez demandé |
room_temperature |
La pièce réelle |
f_comp_operating |
Si le compresseur fonctionne |
f_error_present, f_error_code
|
Défauts, dans les codes propres à Daikin |
rssi |
Marge WiFi, en system/info
|
Sources : la documentation du protocole MQTT du Faikin Ninja P1P2. Le comportement décrit correspond au firmware d'août 2026 ; la page web de votre module et les system/info publiés font foi pour la version que vous avez installée. La disponibilité des capteurs varie selon l'unité intérieure et extérieure.