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.

Tutto il controllo è locale · niente cloud, nessun account · funziona con Home Assistant, openHAB, Node-RED e qualsiasi cosa parli MQTT.

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.

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.

  1. Il Ninja sulla sua rete WiFi, raggiungibile dalla propria pagina web. In caso contrario, esegua prima la guida all'installazione.
  2. 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.
  3. 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:

  1. Vada in Settings > Devices & services > MQTT, quindi apra l'elenco dei dispositivi.
  2. Il dispositivo compare in pochi secondi, con il nome del Friendly Name impostato.
  3. 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_1zone_8 boolean true è aperta, false è chiusa.
zone_name_1zone_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_only e off, le modalità ventilatore della sua unità, le posizioni di oscillazione da 1 a 5 e swing, 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_th4f_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/setzone/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.