Faikin Ninja P1P2 — MQTT-Handbuch
Faikin Australia
Steuerung und Überwachung eines Faikin Ninja P1P2 über MQTT, von der ersten Einrichtung bis zur vollständigen Topic-, Befehls- und Sensorreferenz.
Ein vollständiger Leitfaden zur Steuerung und Überwachung eines Faikin Ninja P1P2 über MQTT, von der ersten Einrichtung bis zur vollständigen Topic-, Befehls- und Sensorreferenz.
Dies betrifft das Faikin Ninja Modul, das an einem Daikin P1/P2-Steuerbus betrieben wird: VRV und VRF, Sky Air, F-Serie für gewerbliche Anlagen sowie Kanalgeräte mit Airbase- oder Zonenregler. Durchgehend lautet das Beispiel-Basistopic ac/livingroom und die Beispiel-Broker-IP 192.168.1.10. Ersetzen Sie beide durch Ihre eigenen Werte.
Dies ist nicht dieselbe MQTT-Schnittstelle wie beim Faikin Faikout. Der Ninja verwendet eine andere Firmware mit einem anderen Topic-Aufbau, daher lassen sich Automationen für einen Faikout nicht übertragen. Wenn Sie einen Faikout haben, lesen Sie stattdessen das Faikin Faikout MQTT-Handbuch. Abschnitt 5 enthält einen direkten Vergleich.
Auf dieser Seite
- 1. Was MQTT Ihnen bietet
- 2. Bevor Sie beginnen
- 3. Schritt 1: Den Ninja auf Ihren MQTT-Broker ausrichten
- 4. Schritt 2: Verbindung bestätigen
- 5. Die Topic-Struktur
- 6. Befehle senden
- 7. Zonen bei Kanalgeräten
- 8. Status auslesen
- 9. Home Assistant über MQTT
- 10. Andere Plattformen
- 11. Systemverwaltung und Optionen
- 12. Sensorreferenz
- 13. Fehlersuche
- 14. Kurzreferenz
1. Was MQTT Ihnen bietet
Die integrierte Weboberfläche des Ninja reicht für den täglichen Gebrauch aus. MQTT brauchen Sie dann, wenn die Klimaanlage Teil von etwas Größerem werden soll.
- Automatisierung. Lösen Sie das Gerät durch beliebige Ereignisse aus: Anwesenheit, einen Zeitplan, einen Strompreis-Feed, einen Türsensor, die Temperatur eines anderen Raums.
- Echte Messtechnik. Der P1/P2-Bus überträgt weit mehr als Ein, Aus und Temperatur. Der Ninja veröffentlicht Thermistoren von Innen- und Außengerät, Kältemitteldrücke, die Position des Expansionsventils, den Zustand von Verdichter und Ventilator, Betriebsstunden und die Fehlercodes des Geräts selbst. Das meiste davon ist am Wandregler nicht sichtbar.
- Zonen bei Kanalgeräten. Wenn Sie einen Daikin Zonenregler haben, wird jede Klappe zu einem einzeln schaltbaren Schalter.
- Alles an einem Ort. Home Assistant, Node-RED, openHAB und alles andere, was MQTT spricht, sehen dasselbe Gerät gleichzeitig.
- Es bleibt lokal. MQTT läuft auf Ihrem eigenen Broker in Ihrem eigenen Netzwerk. Nichts verlässt das Haus, und es muss kein Konto angelegt werden.
2. Bevor Sie beginnen
Sie benötigen drei Dinge.
- Der Ninja in Ihrem WiFi, erreichbar über seine eigene Weboberfläche. Falls nicht, lesen Sie zuerst die Installationsanleitung.
- Ein MQTT-Broker in Ihrem Netzwerk. Wenn Sie Home Assistant betreiben, installieren Sie das Add-on Mosquitto broker; das dauert einige Minuten und liefert Ihnen einen Broker samt Benutzername und Passwort. Ansonsten genügt jeder Mosquitto- oder kompatible Broker auf einem Rechner, der dauerhaft läuft.
- Die IP-Adresse, den Benutzernamen und das Passwort des Brokers.
Sie brauchen kein Home Assistant, um MQTT zu nutzen, und Sie brauchen kein MQTT, um Home Assistant zu nutzen. Das sind getrennte Entscheidungen, die zufällig gut zusammenpassen.
3. Schritt 1: Den Ninja auf Ihren MQTT-Broker ausrichten
Öffnen Sie die Weboberfläche des Ninja und wechseln Sie zu den MQTT settings.
| Feld | Was einzutragen ist |
|---|---|
| Host | IP oder Hostname des Brokers, z. B. 192.168.1.10. |
| Port | Der Port des Brokers. 1883, sofern Sie ihn nicht geändert haben. |
| User | Benutzername des Brokers, falls Ihrer einen verwendet. |
| Password | Passwort des Brokers, falls Ihrer eines verwendet. |
| Topic | Die erste Hälfte des Basistopics, z. B. ac. |
| Friendly Name | Die zweite Hälfte, z. B. livingroom. |
Die letzten beiden sind wichtiger, als sie aussehen. Der Ninja bildet daraus sämtliche Topics:
Basistopic = <Topic> / <Friendly Name>
Also ergibt Topic = ac und Friendly Name = livingroom ein Basistopic von ac/livingroom, und das State-Topic lautet dann ac/livingroom/state.
Wählen Sie beide vor dem Aufbau jeder Automation. Eine spätere Änderung benennt sämtliche Topics um und legt stillschweigend alles lahm, was sich auf die alten bezieht. Eine bewährte Konvention ist ein gemeinsames Präfix für alle Ihre Geräte (ac) plus einen Raumnamen, der sich nicht ändert (livingroom, masterbed, office).
Speichern Sie; das Modul verbindet sich neu und beginnt zu publizieren.
4. Schritt 2: Verbindung bestätigen
Dafür brauchen Sie kein Terminal. Zwei Stellen zeigen es Ihnen sofort.
Auf der eigenen Seite des Ninja
Rufen Sie das Modul auf. Oben auf der Seite, neben dem Gerätenamen, wird der Broker-Status angezeigt. MQTT connected bedeutet, dass das Modul Ihren Broker erreicht hat und publiziert.
Fehlt diese Anzeige, sind entweder Host, Port, Benutzername oder Passwort falsch, oder der Broker ist aus dem Netzwerk des Moduls nicht erreichbar. Prüfen Sie die MQTT-Einstellungen erneut und lesen Sie dann die Fehlersuche.
In Home Assistant
Nichts von Hand hinzuzufügen. Der Ninja veröffentlicht die MQTT-Discovery-Nachrichten von Home Assistant. Sobald er den Broker erreicht, gilt: Home Assistant findet ihn von selbst. Vorausgesetzt, die MQTT-Integration ist bereits eingerichtet und auf denselben Broker gerichtet:
- Gehen Sie zu Einstellungen > Geräte & Dienste > MQTT und öffnen Sie dann die Geräteliste.
- Ihr Gerät erscheint innerhalb weniger Sekunden, benannt nach dem von Ihnen gesetzten Friendly Name.
- Öffnen Sie es, und alles ist bereits vorhanden: eine climate-Entität mit Modus, Solltemperatur, Lüfterstufe und Lamelle; eine lange Liste von Diagnosesensoren; und, falls Sie einen Zonenregler haben, ein Schalter für jede Klappenzone.
Sie sollten für einen Ninja niemals eine climate-Entität von Hand in YAML schreiben müssen. Wenn Sie das tun, stimmt weiter oben etwas nicht.
Falls Sie lieber im Terminal prüfen
Optional und nur sinnvoll, wenn Sie die mosquitto-Client-Werkzeuge bereits installiert haben:
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'ac/livingroom/#' -v
Sie sollten sehen, dass ac/livingroom/availability meldet online, und einen vollständigen JSON-Payload auf ac/livingroom/state.
Wenn nichts eintrifft, springen Sie zur Fehlersuche.
5. Die Topic-Struktur
Alles hängt an dem Basistopic, das Sie in Abschnitt 3 gebildet haben. Mit dem Basistopic ac/livingroom:
Klima und Steuerung
| Topic | Richtung | Funktion |
|---|---|---|
ac/livingroom/power/set |
Sie publizieren | Ein- oder ausschalten. |
ac/livingroom/mode/set |
Sie publizieren | Betriebsart. |
ac/livingroom/temp/set |
Sie publizieren | Solltemperatur. |
ac/livingroom/fan/set |
Sie publizieren | Lüfterstufe. |
ac/livingroom/vane/set |
Sie publizieren | Lamellenposition oder Schwenken. |
ac/livingroom/zone/<1..8>/set |
Sie publizieren | Eine Klappenzone öffnen oder schließen. |
ac/livingroom/state |
Modul publiziert | Vollständiger Zustand als ein JSON-Objekt. |
ac/livingroom/availability |
Modul publiziert |
online oder offline. |
System und Verwaltung
| Topic | Richtung | Funktion |
|---|---|---|
ac/livingroom/system/set |
Sie publizieren |
restart, upgrade oder factory. |
ac/livingroom/system/set_safemode |
Sie publizieren | Safe Mode on oder off. |
ac/livingroom/system/set_min_temp |
Sie publizieren | Untere Sollwertgrenze. |
ac/livingroom/system/set_max_temp |
Sie publizieren | Obere Sollwertgrenze. |
ac/livingroom/system/set_modbus_rtu_id |
Sie publizieren | Modbus RTU Slave-ID. |
ac/livingroom/system/opt/rqt |
Sie publizieren | JSON-Optionsanforderung. |
ac/livingroom/system/opt/rps |
Modul publiziert | Echo der übernommenen Optionen. |
ac/livingroom/system/info |
Modul publiziert | Telemetrie-JSON der Bridge. |
Für die meisten Automationen brauchen Sie nur drei: publizieren Sie auf die .../set-Topics und abonnieren Sie state und availability.
Falls Sie auch einen Faikout haben
Die beiden Produkte verfolgen gegensätzliche Ansätze, daher lohnt sich ein direkter Vergleich.
| Faikin Faikout | Faikin Ninja P1P2 | |
|---|---|---|
| Topic-Aufbau |
command/<host>/..., state/<host>
|
<topic>/<name>/... |
| Eine Einstellung setzen | Eine JSON-control-Nachricht mit vielen Feldern |
Ein kleines Topic pro Steuerung |
| Zustand lesen | JSON auf state/<host>
|
JSON auf <base>/state
|
| Präsenz |
state/<host> Payload false
|
<base>/availability Payload offline
|
| Einstellungen |
setting/<host> JSON |
<base>/system/...-Topics |
| Datentiefe | Raum, Wärmetauscher, Außentemperatur, Leistung | Zusätzlich Außenthermistoren, Drücke, EV-Impulse, Betriebsstunden, Fehlercodes |
| Zonen | Nicht unterstützt | Bis zu 8 Klappenzonen |
6. Befehle senden
Publizieren Sie eine einfache Zeichenkette auf das jeweilige .../set-Topic. Es gibt keinen JSON-Rahmen: der Payload ist der reine Wert.
power/set
| Payload | Wirkung |
|---|---|
ON |
Einschalten und dabei letzte Betriebsart, Temperatur, Lüfterstufe und Lamelle wiederherstellen. |
OFF |
Ausschalten. |
mode/set
| Payload | Wirkung |
|---|---|
heat |
Heizen. |
cool |
Kühlen. |
dry |
Entfeuchten. |
fan_only |
Nur Lüften, ohne Heizen oder Kühlen. |
off |
Ausgeschaltet. |
temp/set
Die Solltemperatur als Zahl, z. B. 24. Bereich 16 bis 32 °C, in 1.0 °C-Schritten. Sie können diesen Bereich mit system/set_min_temp und system/set_max_temp einschränken (Abschnitt 11).
fan/set
Welche Stufen verfügbar sind, hängt vom Innengerät ab. Das Modul meldet die Stufen, die Ihr Gerät tatsächlich unterstützt; eine nicht vorhandene Stufe zu senden, wird ignoriert.
| Payload | Beschreibung |
|---|---|
low |
Niedrig. |
medium |
Mittel. |
high |
Hoch. |
auto |
Automatisch. |
low_auto |
Niedrig automatisch (Zonen- und Airbase-Systeme). |
medium_auto |
Mittel automatisch (Zonen- und Airbase-Systeme). |
high_auto |
Hoch automatisch (Zonen- und Airbase-Systeme). |
Die üblichen Gruppierungen sind:
-
3 Stufen mit Automatik:
low,medium,high,auto -
2 Stufen:
low,high -
4 Stufen Zone/Airbase:
low,medium,low_auto,medium_auto -
6 Stufen Zone/Airbase:
low,medium,high,low_auto,medium_auto,high_auto
vane/set
| Payload | Beschreibung |
|---|---|
1 |
Position 1, ganz oben. |
2 bis 4
|
Zwischenpositionen. |
5 |
Position 5, ganz unten. |
swing |
Kontinuierliches vertikales Schwenken. |
Beispiele
# 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'
Da jede Steuerung ein eigenes Topic hat, spielt die Reihenfolge keine Rolle, und Sie können nur die senden, die Sie brauchen.
7. Zonen bei Kanalgeräten
Wenn ein Daikin Zonenregler am P1/P2-Bus hängt, kann der Ninja jede Klappe öffnen und schließen.
Publizieren Sie ON oder OFF auf ac/livingroom/zone/<n>/set, wobei <n> den Wert 1 bis 8 hat:
# 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'
Der State-Payload meldet zurück:
| Schlüssel | Typ | Bedeutung |
|---|---|---|
zone_count |
number | Wie viele Zonen erkannt wurden, 1 bis 8. |
zone_1 … zone_8
|
boolean |
true bedeutet offen, false bedeutet geschlossen. |
zone_name_1 … zone_name_8
|
string | Die am Zonenregler konfigurierten Namen, z. B. "Master Bed". |
In Home Assistant wird jede aktive Zone automatisch als eigener Schalter erkannt, es ist keine Konfiguration nötig.
Zwei praktische Hinweise. Zonen erscheinen nur, wenn ein Zonenregler vorhanden ist; an einem einfachen Split-Gerät gibt es daher überhaupt keine Zonenschlüssel. Und alle Zonen gleichzeitig zu schließen, ist ein sicherer Weg, ein Kanalgerät zu überlasten: lassen Sie mindestens eine offen oder schalten Sie das Gerät stattdessen aus.
8. Status auslesen
Das Modul veröffentlicht bei jeder Änderung ein vollständiges JSON-Objekt auf <base>/state.
Es erscheinen nur Sensoren, die Ihr Gerät tatsächlich meldet. Der Ninja erkennt, was die angeschlossenen Innen- und Außengeräte veröffentlichen, und blendet den Rest aus. Ihr Payload wird daher kürzer sein als das Beispiel unten, und zwei verschiedene Daikin-Geräte liefern unterschiedliche Schlüssel. Das ist normal. Schreiben Sie Automationen gegen die Schlüssel, die Sie an Ihrem eigenen Gerät sehen.
{
"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
}
Die zuerst wichtigen Schlüssel:
| Schlüssel | Bedeutung |
|---|---|
power |
on oder off. Was Sie angefordert haben. |
mode |
Die von Ihnen angeforderte Betriebsart. |
action |
Was das Gerät gerade tatsächlich tut: cooling, heating, idle und so weiter. Darauf sollten Sie achten, nicht auf power. |
temperature |
Ihr Sollwert, nicht der Raum. |
room_temperature |
Der Raum, wie das Gerät ihn misst. |
operating |
Ob die Anlage aktiv läuft. |
f_error_present / f_error_code
|
Daikins eigenes Störungsflag und der Fehlercode, z. B. "A9-01". |
Ein Gerät kann "power": "on" sein und dabei "action": "idle" melden, und das ist völlig normal: sie hat die Temperatur erreicht. Wenn Sie wissen wollen, ob sie wirklich arbeitet, sehen Sie sich action, operating oder f_comp_operating an.
Abonnieren Sie auch <base>/availability. offline bedeutet dort, dass das Modul ausgefallen ist, was etwas anderes ist als eine ausgeschaltete Klimaanlage.
9. Home Assistant über MQTT
Fügen Sie die Integration MQTT hinzu und richten Sie sie auf denselben Broker aus. Mehr ist nicht einzurichten: der Ninja meldet sich selbst an, und Home Assistant baut alles auf.
Was Sie erhalten:
- Eine climate-Entität mit den Modi
heat,cool,dry,fan_onlyundoff, den Lüftermodi Ihres Geräts, den Schwenkpositionen1bis5undswingsowie einer Schrittweite von 1.0 °C. - Sensoren und Binärsensoren für jeden Thermistor, jeden Druck, jeden Aktor, jeden Stundenzähler, jeden Fehlercode und jede Modellbezeichnung, die Ihr Gerät meldet. Die meisten landen unter Diagnose.
- Schalter für jede aktive Klappenzone.
Die Entity-IDs folgen dem Friendly Name, mit livingroom erhalten Sie also climate.livingroom, sensor.livingroom_outside_temperature, switch.livingroom_zone_1 und so weiter. Prüfen Sie die genauen Namen unter Entwicklerwerkzeuge > Zustände, bevor Sie YAML schreiben.
Eine Dashboard-Karte
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
Eine Automation
Das Gerät ausschalten, sobald das Haus behaglich ist, und zwar anhand von action statt power, damit sie nicht auslöst, während das Gerät noch arbeitet:
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
Auf Störungen achten
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
Das lohnt sich einzurichten. Der Fehlercode ist derselbe, den ein Techniker am Wandregler ablesen würde, und ihn vorab zu kennen, erspart oft einen Besuch.
10. Andere Plattformen
Dieselben Topics funktionieren überall. Publizieren Sie Zeichenketten auf <base>/…/set, abonnieren Sie <base>/state.
mosquitto-Kommandozeile
# 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
Verwenden Sie einen MQTT in-Node auf ac/livingroom/state, dessen Ausgabe auf ein geparstes JSON-Objekt gesetzt ist, und lesen Sie dann msg.payload.power, msg.payload.room_temperature und so weiter.
Zum Senden verwenden Sie MQTT out, wobei Topic und Payload leer bleiben, damit sie aus der Nachricht stammen. Payloads müssen Zeichenketten sein, konvertieren Sie Zahlen also vorher.
Das gesamte Gerät in einem Zug einstellen:
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" }
];
Ein Dashboard-Schieberegler, der die Solltemperatur steuert:
msg.topic = "ac/livingroom/temp/set";
msg.payload = String(msg.payload);
return msg;
Nur einschalten, wenn es derzeit ausgeschaltet ist:
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;
Das Abonnieren von ac/livingroom/availability ist eine einfache Möglichkeit, Ihr Dashboard auszugrauen, wenn das Modul ausfällt.
openHAB
Legen Sie ein MQTT Broker Thing an, dann ein Generic MQTT Thing mit Kanälen, die auf die Topics zeigen. Ein Switch-Kanal auf ac/livingroom/power/set mit ON/OFF, ein Number-Kanal auf ac/livingroom/temp/set und Statuskanäle, die ac/livingroom/state mit einer JSONPATH-Transformation wie $.room_temperature auslesen.
11. Systemverwaltung und Optionen
Diese liegen unter <base>/system/. Die meisten davon starten das Modul neu, binden Sie sie daher nicht in etwas ein, das häufig auslöst.
system/set
| Payload | Wirkung |
|---|---|
restart |
Startet das Modul nach etwa drei Sekunden neu. |
upgrade |
Prüft sofort über die Luftschnittstelle auf ein Firmware-Update. |
factory |
Löscht alle gespeicherten Einstellungen, setzt auf Werkseinstellungen zurück und startet neu. |
factory löscht auch Ihre WiFi- und MQTT-Einstellungen, sodass das Modul mit seinem eigenen Einrichtungsnetzwerk zurückkehrt und komplett neu konfiguriert werden muss. Betrachten Sie das als letztes Mittel.
Temperaturgrenzen
| Topic | Payload | Wirkung |
|---|---|---|
system/set_min_temp |
16 bis 32
|
Legt den niedrigsten wählbaren Sollwert fest. Startet neu. |
system/set_max_temp |
16 bis 32
|
Legt den höchsten wählbaren Sollwert fest. Startet neu. |
Nützlich in einer Mietwohnung oder einem Büro: begrenzen Sie den Bereich, und niemand kann im Juli 16 °C einstellen.
Safe Mode
system/set_safemode mit on oder off. Startet neu.
Modbus RTU ID
system/set_modbus_rtu_id mit einer Zahl von 1 bis 254, für gebäudetechnische Anlagen mit der RS485-Variante. Startet neu.
Optionen über MQTT
system/opt/rqt nimmt ein JSON-Objekt entgegen und erlaubt es, mehrere Einstellungen auf einmal ohne die Weboberfläche zu ändern:
{
"options": {
"homekit": "On",
"mode": "All",
"safemode": "Off",
"webpanel": "On"
}
}
| Schlüssel | Werte | Bedeutung |
|---|---|---|
homekit |
On, Off
|
Apple Home Unterstützung. |
mode |
All, NoHeat, NoAuto
|
Welche Betriebsarten bereitgestellt werden. NoHeat passt zu einer reinen Kühlanlage. |
safemode |
On, Off
|
Safe Mode. |
webpanel |
On, Off
|
Die integrierte Weboberfläche. |
Was übernommen wird, wird auf system/opt/rps zurückgemeldet; abonnieren Sie dieses Topic zur Bestätigung, statt es anzunehmen.
Wenn Sie webpanel abschalten, nehmen Sie sich selbst den Weg zurück. Tun Sie das nur, wenn Sie sicher sind, dass MQTT funktioniert.
system/info
Wird periodisch veröffentlicht:
{
"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 ist der entscheidende Wert. Alles schlechter als etwa -80 dBm, und Sie sollten das Modul aus dem Metallgehäuse holen, bevor Sie etwas anderem die Schuld geben.
12. Sensorreferenz
Alles Folgende wird automatisch erkannt. Wenn Ihr Gerät etwas nicht meldet, fehlt der Schlüssel im State-Payload und in Home Assistant wird keine Entität angelegt. Eine kurze Liste ist kein Fehler.
Die wichtigsten
| Schlüssel | Name | Einheit | Beschreibung |
|---|---|---|---|
room_temperature |
Room Temperature | °C | Raumtemperatur im Innenbereich. |
outside_temperature |
Outside Temperature | °C | Außentemperatur, von Außenthermistor 1. |
f_intake_temp |
Intake Temperature | °C | Rücklufttemperatur am Innengerät. |
Thermistoren im Innengerät
| Schlüssel | Name | Beschreibung |
|---|---|---|
f_indoor_th1 |
Indoor TH1 | Flüssigkeitsleitung. |
f_indoor_th2 |
Indoor TH2 | Gasleitung. |
f_indoor_th3 |
Indoor TH3 | Wärmetauscher. |
f_indoor_th4 … f_indoor_th6
|
Indoor TH4 to TH6 | Modellabhängig. |
f_return_air_temp_1f |
Return Air Temp 1F | Dekodierte Rücklufttemperatur, sofern unterstützt. |
f_coil_temp_1f |
Coil Temp 1F | Dekodierte Temperatur des Innenwärmetauschers, sofern unterstützt. |
Außenthermistoren und Drücke
| Schlüssel | Name | Einheit | Beschreibung |
|---|---|---|---|
f_outdoor_th1 |
Outdoor TH1 | °C | Außenluft. |
f_outdoor_th2 |
Outdoor TH2 | °C | Außenwärmetauscher. |
f_outdoor_th3 |
Outdoor TH3 | °C | Druckleitung. |
f_outdoor_th4 |
Outdoor TH4 | °C | Saugleitung. |
f_outdoor_th5, f_outdoor_th6
|
Outdoor TH5, TH6 | °C | Modellabhängig. |
f_pe_pressure |
OD Pe Pressure | MPa | Niederdruck. |
f_pc_pressure |
OD Pc Pressure | MPa | Hochdruck. |
Drucktemperatur und die beiden Drücke zusammen kommen einer laufenden Zustandsprüfung des Außengeräts am nächsten. Stellen Sie sie über eine Saison grafisch dar, und ein abweichender Wert fällt lange auf, bevor etwas auslöst.
Aktoren und Betriebszustand
| Schlüssel | Name | Typ | Beschreibung |
|---|---|---|---|
f_comp_operating |
Compressor Operating | boolean | Außenverdichter läuft. |
f_drain_pump |
ID Drain Pump | boolean | Kondensatpumpe im Innengerät. |
f_electric_heater |
ID Electric Heater | boolean | Elektrische Zusatzheizung. |
f_humidifier |
ID Humidifier | boolean | Befeuchter im Innengerät. |
f_anti_freezing |
ID Anti Freezing | boolean | Frostschutz aktiv. |
f_solenoid_valve |
OD Solenoid Valve | boolean | Magnetventil im Außengerät. |
f_active_1f |
Loop Active 1F | boolean | Anzeige aktiver Kreis. |
f_fan_step |
OD Fan Step | step | Stufe des Außenventilators. |
f_ev_pulses |
ID EV Pulses | pulse | Öffnung des Expansionsventils im Innengerät. |
f_ev1_pulses |
OD EV1 Pulses | pulse | Öffnung des Expansionsventils im Außengerät. |
Stunden und Störungen
| Schlüssel | Name | Einheit | Beschreibung |
|---|---|---|---|
f_id_op_hours |
ID Op Hours | h | Betriebsstunden des Innengeräts. |
f_id_fan_hours |
ID Fan Hours | h | Betriebsstunden des Innenventilators. |
f_id_pwr_hours |
ID Pwr Hours | h | Einschaltstunden des Innengeräts. |
f_error_present |
AC Error Present | — | Kennzeichen für aktive Störung. |
f_error_code |
AC Error Code | — | Daikin Fehlercode, z. B. "A9-01", "E7-57". Leer, wenn alles in Ordnung ist. |
f_has_error_history |
Has Error History | — | Ob das Gerät historische Störungsaufzeichnungen enthält. |
f_indoor_model |
Indoor Model | — | Modellbezeichnung des Innengeräts. |
f_outdoor_model |
Outdoor Model | — | Modellbezeichnung des Außengeräts. |
Sofern das Gerät eine Störungshistorie führt, trägt jedes aufgezeichnete Ereignis eine Zeilennummer, den Code, das Datum und die Gerätenummer:
[
{"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}
]
Modul-Telemetrie
| Schlüssel | Name | Einheit | Beschreibung |
|---|---|---|---|
up_time |
Up Time | s | Seit dem letzten Neustart. |
free_heap |
Free Heap | % | Freier Arbeitsspeicher. |
rssi |
RSSI | dBm | WiFi-Signalstärke. |
bssi |
BSSI | — | BSSID des Access Points, mit dem es verbunden ist. |
reset_reason |
Reset Reason | — | Grund des letzten Neustarts. |
protocol_ver |
Protocol Version | — | Aktives Protokoll, P1P2. |
min_temp, max_temp
|
Target limits | °C | Konfigurierte Sollwertgrenzen. |
modbus_rtu_id |
Modbus RTU ID | — | Konfigurierte Slave-ID. |
13. Fehlersuche
Kein MQTT connected Hinweis auf der Weboberfläche. Prüfen Sie Host und Port, dann Benutzername und Passwort. Liegt der Broker in einem anderen VLAN oder Subnetz als das Modul, ist das meist die eigentliche Ursache.
Der Hinweis zeigt verbunden, aber in Home Assistant erscheint nichts. Vergewissern Sie sich, dass die MQTT-Integration von Home Assistant auf den gleichen Broker zeigt. Zwei Broker in einem Netzwerk sind ein häufiger und verwirrender Fehler. Prüfen Sie anschließend, ob die Discovery in den Einstellungen des Moduls aktiviert ist.
Einige Sensoren fehlen. Das ist zu erwarten. Veröffentlicht wird nur, was die angeschlossenen Geräte melden, und ein kleines Split-Gerät zeigt weit weniger als ein VRV. Kein Fehler.
Keine Zonenschalter. Zonen erfordern einen Daikin Zonenregler am P1/P2-Bus. Ohne einen solchen gibt es nichts zu steuern.
Befehle werden ignoriert. Payloads sind einfache Zeichenketten und beachten wie dokumentiert die Groß- und Kleinschreibung: ON und OFF in Großbuchstaben für Ein/Aus und Zonen, Modusnamen in Kleinbuchstaben. Für die Temperatur eine Zahl statt einer Zeichenkette zu senden, schlägt in manchen Clients fehl, Node-RED eingeschlossen.
Die Temperatur lässt sich nicht wie gewünscht einstellen. Prüfen Sie min_temp und max_temp unter system/info. Möglicherweise hat jemand den Bereich eingeschränkt.
Die Verbindung bricht immer wieder ab. Sehen Sie sich rssi unter system/info an. Um -80 dBm oder schlechter ist grenzwertig. Bringen Sie das Modul außerhalb des Metallgehäuses an.
Das Gerät ist eingeschaltet, aber es passiert nichts. Sehen Sie sich action und f_comp_operating an. Wenn action den Wert idle hat, ist die Temperatur erreicht. Wenn der Verdichter nie läuft und f_error_present wahr ist, lesen Sie f_error_code aus und nennen Sie ihn Ihrem Installateur.
Nach einer Einstellungsänderung geht nichts mehr. Das Umbenennen von Topic oder Friendly Name benennt sämtliche Topics um. Ihre Automationen zeigen weiterhin auf die alten.
14. Kurzreferenz
Basistopic ac/livingroom. Ersetzen Sie es durch Ihres.
Lesen (abonnieren)
| Topic | Inhalt |
|---|---|
ac/livingroom/state |
Vollständiger JSON-Zustand |
ac/livingroom/availability |
online / offline
|
ac/livingroom/system/info |
Telemetrie-JSON des Moduls |
ac/livingroom/system/opt/rps |
Echo der übernommenen Optionen |
Steuern (publizieren)
| Topic | Payload |
|---|---|
ac/livingroom/power/set |
ON, OFF
|
ac/livingroom/mode/set |
heat, cool, dry, fan_only, off
|
ac/livingroom/temp/set |
16 bis 32
|
ac/livingroom/fan/set |
low, medium, high, auto, low_auto, medium_auto, high_auto
|
ac/livingroom/vane/set |
1 bis 5, swing
|
ac/livingroom/zone/1/set … zone/8/set
|
ON, OFF
|
System (publizieren)
| Topic | Payload |
|---|---|
ac/livingroom/system/set |
restart, upgrade, factory
|
ac/livingroom/system/set_safemode |
on, off
|
ac/livingroom/system/set_min_temp |
16 bis 32
|
ac/livingroom/system/set_max_temp |
16 bis 32
|
ac/livingroom/system/set_modbus_rtu_id |
1 bis 254
|
ac/livingroom/system/opt/rqt |
{"options":{"homekit":"On","mode":"All"}} |
Schlüssel, die man beobachten sollte
| Schlüssel | Warum |
|---|---|
action |
Was es tatsächlich tut, nicht was Sie angefordert haben |
room_temperature |
Der tatsächliche Raum |
f_comp_operating |
Ob der Verdichter läuft |
f_error_present, f_error_code
|
Störungen, in Daikins eigenen Codes |
rssi |
WiFi-Reserve, in system/info
|
Quellen: die MQTT-Protokolldokumentation des Faikin Ninja P1P2. Das beschriebene Verhalten entspricht der Firmware mit Stand August 2026; maßgeblich für die bei Ihnen installierte Version sind die Weboberfläche Ihres Moduls und die veröffentlichten system/info. Die Verfügbarkeit von Sensoren hängt von Innen- und Außengerät ab.