Faikin Ninja P1P2 — Manuale MQTT
Faikin Australia
Controllare e monitorare un Faikin Ninja P1P2 via MQTT, dalla prima configurazione fino al riferimento completo di topic, comandi e sensori.
Una guida completa al controllo e al monitoraggio di un Faikin Ninja P1P2 via MQTT, dalla prima configurazione fino al riferimento completo di topic, comandi e sensori.
Questa guida riguarda il modulo Faikin Ninja installato su un bus di controllo Daikin P1/P2: VRV e VRF, Sky Air, commerciali serie F e sistemi canalizzati con Airbase o centralina di zona. In tutta la pagina il topic base di esempio è ac/livingroom e l'IP del broker di esempio è 192.168.1.10. Sostituisca entrambi con i propri valori.
Questa non è la stessa interfaccia MQTT del Faikin Faikout. Il Ninja utilizza un firmware diverso, con una diversa struttura dei topic, quindi le automazioni scritte per un Faikout non sono riutilizzabili. Se ha un Faikout, consulti invece il manuale MQTT del Faikin Faikout. La sezione 5 contiene un confronto diretto.
In questa pagina
- 1. Che cosa offre MQTT
- 2. Prima di iniziare
- 3. Passo 1: puntare il Ninja verso il broker MQTT
- 4. Passo 2: verificare che sia connesso
- 5. La struttura dei topic
- 6. Inviare comandi
- 7. Zone canalizzate
- 8. Leggere lo stato
- 9. Home Assistant via MQTT
- 10. Altre piattaforme
- 11. Gestione del sistema e opzioni
- 12. Riferimento dei sensori
- 13. Risoluzione dei problemi
- 14. Scheda di riferimento rapido
1. Che cosa offre MQTT
La pagina web integrata del Ninja è sufficiente per l'uso quotidiano. MQTT serve quando il condizionatore deve far parte di qualcosa di più ampio.
- Automazione. Attivare l'unità da qualsiasi cosa: presenza, una pianificazione, un feed dei prezzi dell'energia elettrica, un sensore di apertura porta, la temperatura di un'altra stanza.
- Strumentazione reale. Il bus P1/P2 trasporta molto più di acceso, spento e temperatura. Il Ninja pubblica i termistori interni ed esterni, le pressioni del refrigerante, la posizione della valvola di espansione, lo stato di compressore e ventola, le ore di funzionamento e i codici di errore dell'unità stessa. La maggior parte di questi dati non è visibile dal comando a parete.
- Zone canalizzate. Se dispone di una centralina di zona Daikin, ogni serranda diventa un interruttore controllabile singolarmente.
- Un unico punto per tutto. Home Assistant, Node-RED, openHAB e qualsiasi altro sistema che parli MQTT possono vedere lo stesso dispositivo contemporaneamente.
- Resta locale. MQTT gira sul suo broker, nella sua rete. Nulla esce di casa e non c'è alcun account da creare.
2. Prima di iniziare
Servono tre cose.
- Il Ninja sulla sua rete WiFi, raggiungibile dalla propria pagina web. In caso contrario, esegua prima la guida all'installazione.
- Un broker MQTT nella sua rete. Se utilizza Home Assistant, installi l'add-on Mosquitto broker; richiede pochi minuti e fornisce un broker più nome utente e password. In alternativa va bene qualsiasi broker Mosquitto o compatibile su una macchina sempre accesa.
- Indirizzo IP, nome utente e password del broker.
Non è necessario Home Assistant per usare MQTT, e non è necessario MQTT per usare Home Assistant. Sono scelte separate che si combinano bene.
3. Passo 1: puntare il Ninja verso il broker MQTT
Apra la pagina web del Ninja e vada alle MQTT settings.
| Campo | Che cosa inserire |
|---|---|
| Host | IP o hostname del broker, ad es. 192.168.1.10. |
| Port | La porta del broker. 1883 se non è stata modificata. |
| User | Nome utente del broker, se ne utilizza uno. |
| Password | Password del broker, se ne utilizza una. |
| Topic | La prima metà del topic base, ad es. ac. |
| Friendly Name | La seconda metà, ad es. livingroom. |
Questi ultimi due contano più di quanto sembri. Il Ninja costruisce ognuno dei suoi topic a partire da essi:
topic base = <Topic> / <Friendly Name>
Quindi Topic = ac e Friendly Name = livingroom danno un topic base ac/livingroom, e il topic di stato diventa ac/livingroom/state.
Scelga entrambi prima di costruire qualsiasi automazione. Modificarli in seguito rinomina ogni topic e interrompe silenziosamente tutto ciò che fa riferimento ai vecchi. Una convenzione utile è un prefisso condiviso per tutte le unità (ac) più un nome di stanza che non cambierà (livingroom, masterbed, office).
Salvi: il modulo si riconnette e inizia a pubblicare.
4. Passo 2: verificare che sia connesso
Non serve un terminale. Due punti glielo dicono subito.
Sulla pagina del Ninja
Apra il modulo nel browser. In cima alla pagina, accanto al nome del dispositivo, viene mostrato lo stato del broker. MQTT connected significa che il modulo ha raggiunto il broker e sta pubblicando.
Se manca, host, porta, nome utente o password sono errati, oppure il broker non è raggiungibile dalla rete su cui si trova il modulo. Ricontrolli le impostazioni MQTT, poi consulti la sezione Risoluzione dei problemi.
In Home Assistant
Non c'è nulla da aggiungere a mano. Il Ninja pubblica i messaggi di discovery MQTT di Home Assistant, quindi appena raggiunge il broker Home Assistant lo trova da solo. Purché l'integrazione MQTT sia già configurata e puntata sullo stesso broker:
- Vada in Settings > Devices & services > MQTT, quindi apra l'elenco dei dispositivi.
- Il dispositivo compare in pochi secondi, con il nome del Friendly Name impostato.
- Lo apra e troverà già tutto: un'entità climate con modalità, temperatura target, velocità del ventilatore e deflettore; un lungo elenco di sensori diagnostici; e, se dispone di una centralina di zona, un interruttore per ogni zona di serranda.
Non dovrebbe mai essere necessario scrivere a mano un'entità climate in YAML per un Ninja. Se si trova a farlo, qualcosa a monte non va.
Se preferisce verificare da terminale
Facoltativo, e utile solo se ha già installato gli strumenti client mosquitto:
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
Dovrebbe vedere ac/livingroom/availability che riporta online, e un payload JSON completo su ac/livingroom/state.
Se non arriva nulla, passi alla sezione Risoluzione dei problemi.
5. La struttura dei topic
Tutto si basa sul topic base costruito nella sezione 3. Con topic base ac/livingroom:
Clima e controllo
| Topic | Direzione | Cosa fa |
|---|---|---|
ac/livingroom/power/set |
si pubblica | Accensione o spegnimento. |
ac/livingroom/mode/set |
si pubblica | Modalità di funzionamento. |
ac/livingroom/temp/set |
si pubblica | Temperatura target. |
ac/livingroom/fan/set |
si pubblica | Velocità del ventilatore. |
ac/livingroom/vane/set |
si pubblica | Posizione del deflettore o oscillazione. |
ac/livingroom/zone/<1..8>/set |
si pubblica | Apertura o chiusura di una singola zona di serranda. |
ac/livingroom/state |
pubblica il modulo | Stato completo come un unico oggetto JSON. |
ac/livingroom/availability |
pubblica il modulo |
online oppure offline. |
Sistema e gestione
| Topic | Direzione | Cosa fa |
|---|---|---|
ac/livingroom/system/set |
si pubblica |
restart, upgrade oppure factory. |
ac/livingroom/system/set_safemode |
si pubblica | Safe Mode on oppure off. |
ac/livingroom/system/set_min_temp |
si pubblica | Limite minimo del setpoint. |
ac/livingroom/system/set_max_temp |
si pubblica | Limite massimo del setpoint. |
ac/livingroom/system/set_modbus_rtu_id |
si pubblica | ID slave Modbus RTU. |
ac/livingroom/system/opt/rqt |
si pubblica | Richiesta di opzioni in JSON. |
ac/livingroom/system/opt/rps |
pubblica il modulo | Eco delle opzioni accettate. |
ac/livingroom/system/info |
pubblica il modulo | JSON di telemetria del bridge. |
Per la maggior parte delle automazioni ne bastano tre: pubblicare sui topic .../set, e sottoscrivere state e availability.
Se ha anche un Faikout
I due prodotti seguono approcci opposti, quindi vale la pena vederli affiancati.
| Faikin Faikout | Faikin Ninja P1P2 | |
|---|---|---|
| Struttura dei topic |
command/<host>/..., state/<host>
|
<topic>/<name>/... |
| Impostare un singolo controllo | Un unico messaggio JSON control con molti campi |
Un piccolo topic per ogni controllo |
| Lettura dello stato | JSON su state/<host>
|
JSON su <base>/state
|
| Presenza |
state/<host> payload false
|
<base>/availability payload offline
|
| Impostazioni |
setting/<host> JSON |
<base>/system/... topic |
| Profondità dei dati | Ambiente, batteria, temperatura esterna, potenza | In più: termistori esterni, pressioni, impulsi EV, ore di funzionamento, codici di errore |
| Zone | Non supportate | Fino a 8 zone di serranda |
6. Inviare comandi
Pubblichi una semplice stringa sul topic .../set corrispondente. Non c'è alcun involucro JSON: il payload è il valore nudo e crudo.
power/set
| Payload | Effetto |
|---|---|
ON |
Accende, ripristinando ultima modalità, temperatura, ventilazione e deflettore. |
OFF |
Spegne. |
mode/set
| Payload | Effetto |
|---|---|
heat |
Riscaldamento. |
cool |
Raffrescamento. |
dry |
Deumidificazione. |
fan_only |
Ventilazione, senza riscaldamento né raffrescamento. |
off |
Spegnimento. |
temp/set
La temperatura target come numero, ad es. 24. Intervallo da 16 a 32 °C, a passi di 1.0 °C. È possibile restringere l'intervallo con system/set_min_temp e system/set_max_temp (sezione 11).
fan/set
Le velocità disponibili dipendono dall'unità interna. Il modulo riporta quelle effettivamente supportate; inviarne una non prevista non produce effetti.
| Payload | Descrizione |
|---|---|
low |
Bassa. |
medium |
Media. |
high |
Alta. |
auto |
Automatica. |
low_auto |
Bassa automatica (sistemi a zone e Airbase). |
medium_auto |
Media automatica (sistemi a zone e Airbase). |
high_auto |
Alta automatica (sistemi a zone e Airbase). |
I raggruppamenti più comuni sono:
-
3 velocità con auto:
low,medium,high,auto -
2 velocità:
low,high -
4 velocità zone/Airbase:
low,medium,low_auto,medium_auto -
6 velocità zone/Airbase:
low,medium,high,low_auto,medium_auto,high_auto
vane/set
| Payload | Descrizione |
|---|---|
1 |
Posizione 1, in alto. |
2 a 4
|
Posizioni intermedie. |
5 |
Posizione 5, in basso. |
swing |
Oscillazione verticale continua. |
Esempi
# 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'
Poiché ogni controllo ha il proprio topic, l'ordine non conta e può inviare solo quelli che le interessano.
7. Zone canalizzate
Se sul bus P1/P2 è presente una centralina di zona Daikin, il Ninja può aprire e chiudere ogni serranda.
Pubblichi ON oppure OFF su ac/livingroom/zone/<n>/set, dove <n> è 1 a 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'
Il payload di stato riporta:
| Chiave | Tipo | Significato |
|---|---|---|
zone_count |
number | Quante zone sono state rilevate, da 1 a 8. |
zone_1 … zone_8
|
boolean |
true è aperta, false è chiusa. |
zone_name_1 … zone_name_8
|
string | I nomi configurati sulla centralina di zona, ad es. "Master Bed". |
In Home Assistant ogni zona attiva viene rilevata automaticamente come interruttore a sé stante, quindi non serve alcuna configurazione.
Due note pratiche. Le zone compaiono solo se è presente una centralina di zona, quindi su uno split semplice non ci sarà alcuna chiave di zona. E chiudere tutte le zone insieme è un buon modo per mettere in difficoltà un impianto canalizzato: ne lasci almeno una aperta, oppure spenga l'unità.
8. Leggere lo stato
Il modulo pubblica un unico oggetto JSON completo su <base>/state ogni volta che qualcosa cambia.
Compaiono solo i sensori effettivamente riportati dall'unità. Il Ninja rileva ciò che pubblicano le unità interna ed esterna collegate e nasconde il resto, quindi il payload sarà più corto dell'esempio qui sotto e due Daikin diversi produrranno chiavi diverse. È normale. Scriva le automazioni sulle chiavi visibili sulla sua 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
}
Le chiavi da conoscere per prime:
| Chiave | Significato |
|---|---|
power |
on oppure off. Ciò che ha richiesto. |
mode |
La modalità richiesta. |
action |
Ciò che l'unità sta effettivamente facendo in questo momento: cooling, heating, idle e così via. È questo il valore da osservare, non power. |
temperature |
Il suo target, non la stanza. |
room_temperature |
La stanza, come la misura l'unità. |
operating |
Se il sistema è effettivamente in funzione. |
f_error_present / f_error_code
|
Il flag di guasto e il codice di Daikin, ad es. "A9-01". |
Un'unità può essere "power": "on" con "action": "idle" ed è del tutto normale: ha raggiunto la temperatura. Per sapere se sta davvero lavorando, guardi action, operating oppure f_comp_operating.
Sottoscriva anche <base>/availability. offline lì significa che il modulo si è disconnesso, cosa diversa dal condizionatore spento.
9. Home Assistant via MQTT
Aggiunga l'integrazione MQTT e la punti sullo stesso broker. È tutta la configurazione necessaria: il Ninja si annuncia e Home Assistant costruisce il resto.
Cosa si ottiene:
- Un'entità climate con le modalità
heat,cool,dry,fan_onlyeoff, le modalità ventilatore della sua unità, le posizioni di oscillazione da1a5eswing, e uno step di 1.0 °C. - Sensori e sensori binari per ogni termistore, pressione, attuatore, contatore orario, codice di errore e stringa modello riportati dall'unità. La maggior parte finisce sotto Diagnostica.
- Interruttori per ogni zona di serranda attiva.
Gli entity ID seguono il Friendly Name, quindi con livingroom otterrà climate.livingroom, sensor.livingroom_outside_temperature, switch.livingroom_zone_1 e così via. Verifichi i nomi esatti in Developer tools > States prima di scrivere YAML.
Una scheda per la dashboard
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
Un'automazione
Spegnere l'unità quando la casa è confortevole, usando action anziché power in modo che non scatti mentre l'unità sta ancora lavorando:
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
Sorvegliare i guasti
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
Vale la pena impostarla. Il codice di errore è lo stesso che un tecnico leggerebbe sul comando a parete, e conoscerlo prima di chiamare fa risparmiare un intervento.
10. Altre piattaforme
Gli stessi topic funzionano ovunque. Pubblichi stringhe su <base>/…/set, sottoscriva <base>/state.
riga di comando 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
Usi un nodo MQTT in su ac/livingroom/state con l'output impostato su oggetto JSON già analizzato, poi legga msg.payload.power, msg.payload.room_temperature e così via.
Per inviare, usi MQTT out lasciando vuoti topic e payload, così arrivano dal messaggio. I payload devono essere stringhe, quindi converta prima i numeri.
Impostare l'intera unità in un colpo solo:
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" }
];
Uno slider della dashboard che comanda la temperatura target:
msg.topic = "ac/livingroom/temp/set";
msg.payload = String(msg.payload);
return msg;
Accendere solo se è attualmente spenta:
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;
Sottoscrivere ac/livingroom/availability è un modo economico per disattivare visivamente la dashboard quando il modulo si disconnette.
openHAB
Aggiunga un Thing broker MQTT, poi un Generic MQTT Thing con canali puntati sui topic. Un canale switch su ac/livingroom/power/set con ON/OFF, un canale number su ac/livingroom/temp/set, e canali di stato che leggono ac/livingroom/state con una trasformazione JSONPATH come $.room_temperature.
11. Gestione del sistema e opzioni
Si trovano sotto <base>/system/. La maggior parte riavvia il modulo, quindi non le colleghi a nulla che scatti di frequente.
system/set
| Payload | Effetto |
|---|---|
restart |
Riavvia il modulo dopo circa tre secondi. |
upgrade |
Verifica immediatamente la presenza di un aggiornamento firmware over the air. |
factory |
Cancella tutte le impostazioni memorizzate, ripristina i valori di fabbrica e riavvia. |
factory cancella anche le impostazioni WiFi e MQTT, quindi il modulo torna sulla propria rete di configurazione e va riconfigurato da zero. Lo consideri l'ultima risorsa.
Limiti di temperatura
| Topic | Payload | Effetto |
|---|---|---|
system/set_min_temp |
16 a 32
|
Imposta il target minimo selezionabile. Riavvia. |
system/set_max_temp |
16 a 32
|
Imposta il target massimo selezionabile. Riavvia. |
Utile in un affitto o in un ufficio: limiti l'intervallo e nessuno potrà impostare 16 °C a luglio.
Safe Mode
system/set_safemode con on oppure off. Riavvia.
Modbus RTU ID
system/set_modbus_rtu_id con un numero da 1 a 254, per installazioni di building management che usano la versione RS485. Riavvia.
Opzioni via MQTT
system/opt/rqt accetta un oggetto JSON e permette di modificare più impostazioni contemporaneamente senza usare la pagina web:
{
"options": {
"homekit": "On",
"mode": "All",
"safemode": "Off",
"webpanel": "On"
}
}
| Chiave | Valori | Significato |
|---|---|---|
homekit |
On, Off
|
Supporto Apple Home. |
mode |
All, NoHeat, NoAuto
|
Quali modalità esporre. NoHeat è adatto a un impianto solo raffrescamento. |
safemode |
On, Off
|
Safe Mode. |
webpanel |
On, Off
|
La pagina web integrata. |
Ciò che viene accettato è restituito su system/opt/rps, quindi si sottoscriva lì per avere conferma anziché darlo per scontato.
Disattivare webpanel le toglie l'unico modo per rientrare. Lo faccia solo se è certo che MQTT funzioni.
system/info
Pubblicato periodicamente:
{
"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 è il valore da osservare. Sotto circa -80 dBm conviene spostare il modulo fuori dal telaio metallico prima di dare la colpa ad altro.
12. Riferimento dei sensori
Tutto ciò che segue è rilevato automaticamente. Se la sua unità non lo riporta, la chiave è assente dal payload di stato e in Home Assistant non viene creata alcuna entità. Un elenco corto non è un guasto.
Le principali
| Chiave | Nome | Unità | Descrizione |
|---|---|---|---|
room_temperature |
Room Temperature | °C | Temperatura ambiente interna. |
outside_temperature |
Outside Temperature | °C | Ambiente esterno, dal termistore esterno 1. |
f_intake_temp |
Intake Temperature | °C | Temperatura dell'aria di ripresa all'unità interna. |
Termistori interni
| Chiave | Nome | Descrizione |
|---|---|---|
f_indoor_th1 |
Indoor TH1 | Tubo del liquido. |
f_indoor_th2 |
Indoor TH2 | Tubo del gas. |
f_indoor_th3 |
Indoor TH3 | Scambiatore di calore. |
f_indoor_th4 … f_indoor_th6
|
Indoor TH4 to TH6 | Specifico del modello. |
f_return_air_temp_1f |
Return Air Temp 1F | Temperatura dell'aria di ripresa decodificata, dove supportata. |
f_coil_temp_1f |
Coil Temp 1F | Temperatura della batteria interna decodificata, dove supportata. |
Termistori e pressioni esterni
| Chiave | Nome | Unità | Descrizione |
|---|---|---|---|
f_outdoor_th1 |
Outdoor TH1 | °C | Aria ambiente esterna. |
f_outdoor_th2 |
Outdoor TH2 | °C | Scambiatore di calore esterno. |
f_outdoor_th3 |
Outdoor TH3 | °C | Tubo di mandata. |
f_outdoor_th4 |
Outdoor TH4 | °C | Tubo di aspirazione. |
f_outdoor_th5, f_outdoor_th6
|
Outdoor TH5, TH6 | °C | Specifico del modello. |
f_pe_pressure |
OD Pe Pressure | MPa | Pressione di bassa. |
f_pc_pressure |
OD Pc Pressure | MPa | Pressione di alta. |
La temperatura di mandata e le due pressioni sono, insieme, la cosa più simile a un controllo di salute in tempo reale sull'unità esterna. Le rappresenti in un grafico per una stagione e un valore anomalo salterà all'occhio molto prima che scatti qualcosa.
Attuatori e stato di funzionamento
| Chiave | Nome | Tipo | Descrizione |
|---|---|---|---|
f_comp_operating |
Compressor Operating | boolean | Compressore esterno in funzione. |
f_drain_pump |
ID Drain Pump | boolean | Pompa di condensa dell'unità interna. |
f_electric_heater |
ID Electric Heater | boolean | Resistenza elettrica ausiliaria. |
f_humidifier |
ID Humidifier | boolean | Umidificatore interno. |
f_anti_freezing |
ID Anti Freezing | boolean | Protezione antigelo attiva. |
f_solenoid_valve |
OD Solenoid Valve | boolean | Valvola solenoide esterna. |
f_active_1f |
Loop Active 1F | boolean | Indicatore di loop attivo. |
f_fan_step |
OD Fan Step | step | Livello di step della ventola esterna. |
f_ev_pulses |
ID EV Pulses | pulse | Apertura della valvola di espansione interna. |
f_ev1_pulses |
OD EV1 Pulses | pulse | Apertura della valvola di espansione esterna. |
Ore e guasti
| Chiave | Nome | Unità | Descrizione |
|---|---|---|---|
f_id_op_hours |
ID Op Hours | h | Ore di funzionamento dell'unità interna. |
f_id_fan_hours |
ID Fan Hours | h | Ore del ventilatore interno. |
f_id_pwr_hours |
ID Pwr Hours | h | Ore di alimentazione dell'unità interna. |
f_error_present |
AC Error Present | — | Flag di guasto attivo. |
f_error_code |
AC Error Code | — | Codice di errore Daikin, ad es. "A9-01", "E7-57". Vuoto quando è tutto a posto. |
f_has_error_history |
Has Error History | — | Se l'unità conserva lo storico dei guasti. |
f_indoor_model |
Indoor Model | — | Stringa del modello interno. |
f_outdoor_model |
Outdoor Model | — | Stringa del modello esterno. |
Dove l'unità conserva uno storico dei guasti, ogni evento registrato riporta un numero di riga, il codice, la data e il numero dell'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}
]
Telemetria del modulo
| Chiave | Nome | Unità | Descrizione |
|---|---|---|---|
up_time |
Up Time | s | Dall'ultimo riavvio. |
free_heap |
Free Heap | % | RAM libera. |
rssi |
RSSI | dBm | Intensità del segnale WiFi. |
bssi |
BSSI | — | BSSID del punto di accesso a cui è connesso. |
reset_reason |
Reset Reason | — | Perché si è riavviato l'ultima volta. |
protocol_ver |
Protocol Version | — | Protocollo attivo, P1P2. |
min_temp, max_temp
|
Target limits | °C | Limiti di setpoint configurati. |
modbus_rtu_id |
Modbus RTU ID | — | ID slave configurato. |
13. Risoluzione dei problemi
Nessun badge MQTT connected sulla pagina web. Controlli host e porta, poi nome utente e password. Se il broker si trova su una VLAN o una sottorete diversa da quella del modulo, di solito è quello il vero problema.
Il badge indica connesso, ma in Home Assistant non compare nulla. Verifichi che l'integrazione MQTT di Home Assistant punti allo stesso broker. Due broker sulla stessa rete sono un errore comune e fuorviante. Poi controlli che il discovery sia abilitato nelle impostazioni del modulo.
Mancano alcuni sensori. È previsto. Viene pubblicato solo ciò che le unità collegate riportano, e un piccolo split mostrerà molto meno di un VRV. Non è un guasto.
Nessun interruttore di zona. Le zone richiedono una centralina di zona Daikin sul bus P1/P2. Senza di essa non c'è nulla da controllare.
I comandi vengono ignorati. I payload sono stringhe semplici e distinguono maiuscole e minuscole come documentato: ON e OFF in maiuscolo per accensione e zone, i nomi delle modalità in minuscolo. Inviare un numero anziché una stringa per la temperatura fallisce in alcuni client, incluso Node-RED.
La temperatura non va dove vuole. Controlli min_temp e max_temp in system/info. Qualcuno potrebbe aver ristretto l'intervallo.
Continua a disconnettersi. Guardi rssi in system/info. Intorno a -80 dBm o peggio è al limite. Sposti il modulo fuori dal telaio metallico.
L'unità è accesa ma non succede nulla. Guardi action e f_comp_operating. Se action è idle, ha raggiunto la temperatura. Se il compressore non parte mai e f_error_present è true, legga f_error_code e lo comunichi al suo installatore.
Tutto si è fermato dopo una modifica alle impostazioni. Rinominare Topic o Friendly Name rinomina ogni topic. Le sue automazioni puntano ancora ai vecchi.
14. Scheda di riferimento rapido
Topic base ac/livingroom. Lo sostituisca con il suo.
Lettura (sottoscrizione)
| Topic | Contenuto |
|---|---|
ac/livingroom/state |
Stato JSON completo |
ac/livingroom/availability |
online / offline
|
ac/livingroom/system/info |
JSON di telemetria del modulo |
ac/livingroom/system/opt/rps |
Eco delle opzioni accettate |
Controllo (pubblicazione)
| Topic | Payload |
|---|---|
ac/livingroom/power/set |
ON, OFF
|
ac/livingroom/mode/set |
heat, cool, dry, fan_only, off
|
ac/livingroom/temp/set |
16 a 32
|
ac/livingroom/fan/set |
low, medium, high, auto, low_auto, medium_auto, high_auto
|
ac/livingroom/vane/set |
1 a 5, swing
|
ac/livingroom/zone/1/set … zone/8/set
|
ON, OFF
|
Sistema (pubblicazione)
| Topic | Payload |
|---|---|
ac/livingroom/system/set |
restart, upgrade, factory
|
ac/livingroom/system/set_safemode |
on, off
|
ac/livingroom/system/set_min_temp |
16 a 32
|
ac/livingroom/system/set_max_temp |
16 a 32
|
ac/livingroom/system/set_modbus_rtu_id |
1 a 254
|
ac/livingroom/system/opt/rqt |
{"options":{"homekit":"On","mode":"All"}} |
Chiavi da tenere d'occhio
| Chiave | Perché |
|---|---|
action |
Cosa sta davvero facendo, non ciò che ha chiesto |
room_temperature |
La stanza reale |
f_comp_operating |
Se il compressore è in funzione |
f_error_present, f_error_code
|
Guasti, nei codici di Daikin |
rssi |
Margine WiFi, in system/info
|
Fonti: la documentazione del protocollo MQTT del Faikin Ninja P1P2. Il comportamento descritto corrisponde al firmware ad agosto 2026; la pagina web del suo modulo e i system/info pubblicati fanno fede per la versione installata. La disponibilità dei sensori varia in base alle unità interna ed esterna.