MQTT-Handbuch

Faikin Australia

Steuerung und Überwachung eines Faikin Faikout über MQTT, vom ersten Einrichten bis zur vollständigen Referenz für Topics, Befehle und Einstellungen.

Die gesamte Steuerung erfolgt lokal · keine Cloud, kein Konto · funktioniert mit Home Assistant, openHAB, Node-RED und allem, was MQTT spricht.

Eine vollständige Anleitung zum Steuern und Überwachen eines Faikin Faikout über MQTT, vom ersten Einrichten bis zur vollständigen Referenz für Topics, Befehle und Einstellungen.

Diese Anleitung gilt für das WiFi-Faikout-Modul mit der Firmware von RevK (das Gerät trägt die Bezeichnung Faikout; gelegentlich erscheint noch der ältere Name Faikin). Sie gilt gleichermaßen für S21-, X50A- und CN_WIRED-Geräte, da die Firmware das Protokoll automatisch ermittelt. Durchgehend lautet der Beispiel-Hostname GuestAC und die Beispiel-Broker-IP 192.168.1.10. Ersetzen Sie beide durch Ihre eigenen Werte.

1. Was MQTT Ihnen bietet

Alles läuft lokal. Faikout spricht MQTT in Ihrem eigenen Netzwerk, ohne Cloud-Konto und ohne Internet-Abhängigkeit. Über MQTT können Sie:

  • das Gerät steuern: Ein/Aus, Modus, Sollwert, Lüfterstufe, Lamellenschwenkung, Powerful/Econo.
  • Live-Telemetrie auslesen, die die IR-Fernbedienung verbirgt: Raum-, Wärmetauscher-/Flüssigkeits-, Ansaug- und Außentemperaturen sowie Modell und Betriebszustand.
  • die Faikout-Auto-Ebene ansteuern: Zielbereich, Zeitpläne und eine externe Temperaturreferenz.
  • mit Home Assistant (native automatische Erkennung), openHAB, Node-RED, Domoticz, ioBroker und allem anderen, was MQTT spricht, integrieren.

Die MQTT-Steuerung läuft parallel zur integrierten Weboberfläche und zur IR-Fernbedienung. Eine Änderung aus einer beliebigen Quelle erscheint innerhalb weniger Sekunden überall.

2. Bevor Sie beginnen

Sie benötigen:

  • einen installierten Faikout, der bereits mit Ihrem 2,4-GHz-WLAN verbunden ist (siehe Einrichtungshandbuch). Sie erreichen ihn im Browser unter GuestAC.local.
  • einen MQTT-Broker im selben Netzwerk. Übliche Optionen sind das Mosquitto-Add-on innerhalb von Home Assistant oder ein eigenständiges Mosquitto auf einem Raspberry Pi, NAS oder Server.
  • die IP-Adresse oder den Hostnamen des Brokers sowie einen Benutzernamen und ein Passwort, falls der Broker eine Authentifizierung verlangt (der Broker von Home Assistant tut dies normalerweise).

Betreiben Sie den Broker in einem Netzwerk, das Sie kontrollieren. Das MQTT von Faikout ist reiner lokaler Datenverkehr und nicht dafür gedacht, dem Internet ausgesetzt zu werden.

3. Schritt 1: Faikout auf Ihren MQTT-Broker verweisen

  1. Rufen Sie GuestAC.local auf und öffnen Sie die WiFi-Einstellungen (oder halten Sie die Setup-Taste des Geräts gedrückt und verbinden Sie sich anschließend mit dessen Daikin/Faikout-Access-Point, falls es noch nicht in Ihrem WLAN ist).
  2. Geben Sie im Abschnitt MQTT den Host (Broker-IP oder Hostname, z. B. 192.168.1.10) ein und, falls Ihr Broker sie verwendet, den Benutzernamen und das Passwort.
  3. Stellen Sie sicher, dass der Hostname auf etwas Einprägsames gesetzt ist, z. B. GuestAC. Dieser Name wird Teil jedes MQTT-Topics, wählen Sie ihn daher, bevor Sie Automatisierungen aufbauen.
  4. Speichern. Faikout verbindet sich neu und beginnt zu veröffentlichen.

Die zugrunde liegende Verbindungseinstellung ist mqtthost (RevK-Bibliotheksstandard). Der Benutzername und das Passwort werden auf derselben Seite eingegeben. Sie können diese später auch über MQTT selbst ändern, sobald die Verbindung besteht (siehe Referenz der Einstellungen).

4. Schritt 2: Verbindung bestätigen

Dafür benötigen Sie kein Terminal. Zwei Stellen zeigen es Ihnen sofort.

Auf der eigenen Seite des Faikout

Rufen Sie GuestAC.local auf. Oben auf der Seite, neben dem Gerätenamen, zeigt der Faikout seinen Broker-Status an. MQTT connected bedeutet, dass das Modul Ihren Broker erreicht hat und veröffentlicht.

Die Faikout-Webseite mit dem Hinweis „MQTT connected“ neben dem Gerätenamen und den WiFi- und MQTT-Einstellungen darunter

Der Hinweis steht oben auf der Seite neben dem Gerätenamen. MQTT-Host, Benutzername und Passwort finden Sie weiter unten auf derselben Seite.

Fehlt dieser Hinweis, ist entweder der Host, der Benutzername oder das Passwort falsch, oder der Broker ist aus dem Netzwerk, in dem sich das Modul befindet, nicht erreichbar. Prüfen Sie den MQTT-Abschnitt auf der Einstellungsseite erneut und lesen Sie dann die Fehlerbehebung.

In Home Assistant

Sie müssen nichts von Hand hinzufügen. Der Faikout veröffentlicht die MQTT-Discovery-Nachrichten von Home Assistant, sodass Home Assistant ihn von selbst findet, sobald er den Broker erreicht. Voraussetzung ist nur, dass die MQTT-Integration bereits eingerichtet ist und auf denselben Broker verweist:

  1. Gehen Sie zu Einstellungen > Geräte & Dienste > MQTT und öffnen Sie dann die Geräteliste.
  2. GuestAC erscheint innerhalb weniger Sekunden, aufgeführt als hergestellt von RevK, mit seiner Firmware-Version.
  3. Öffnen Sie ihn, und das gesamte Gerät ist bereits vorhanden: eine Klimaentität (MQTT HVAC) mit aktueller und Zieltemperatur, die Betriebsart und die Funktionsschalter unter Controls (Auto, Comfort, Econo, Power, Powerful, Quiet outdoor, Sensor, Streamer, Restart) sowie unter Sensors die Raum- und Zieltemperatur, Verdichter- und Lüfterdrehzahl, Luftfeuchtigkeit, Wärmetauscher- und Außentemperatur, Leistungsaufnahme und Gesamtenergie.

Eine Faikout-Geräteseite in Home Assistant, automatisch über MQTT erkannt, mit Geräteinformationen, Bedienelementen und Sensoren

Eine Faikout-Geräteseite in Home Assistant. Nichts davon wurde von Hand hinzugefügt: Klimaentität, Bedienelemente und Sensoren kommen alle über MQTT-Discovery.

Erscheint es nicht, prüfen Sie, ob Home Assistant denselben Broker wie das Modul verwendet, und lesen Sie dann die Fehlerbehebung. Für einen Faikout müssen Sie niemals eine Klimaentität von Hand in YAML schreiben: Wenn Sie das tun, stimmt weiter oben etwas nicht.

Wenn Sie lieber im Terminal prüfen möchten

Optional und nur sinnvoll, wenn Sie die mosquitto-Client-Tools bereits installiert haben:

mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'state/GuestAC/#' -v

Sie sollten eine beibehaltene state/GuestAC-Nachricht sehen. Deren Nutzdaten melden online true, wenn die Klimaanlage mit dem Modul kommuniziert. Das bloße Topic state/GuestAC ist die eigene Präsenz des Geräts: Nutzdaten von false bedeuten, dass der Faikout selbst offline ist (dies ist seine MQTT-Will-/Birth-Nachricht).

Falls nichts ankommt, springen Sie zur Fehlerbehebung.

5. Die Topic-Struktur

Faikout verwendet das standardmäßige Topic-Layout der RevK-Bibliothek: prefix/hostname/suffix. Mit dem Hostnamen GuestAC:

Typ Topic Bedeutung
Befehl command/GuestAC/<command> Weist das Gerät an, jetzt etwas zu tun (z. B. einschalten, Modus setzen).
Einstellung (JSON) setting/GuestAC Nutzdaten sind JSON mit einer oder mehreren Einstellungen, z. B. {"reporting":60}. Eine leere Nutzlast veranlasst das Gerät, seine aktuellen Einstellungen zurückzusenden.
Einstellung (einzeln) setting/GuestAC/<name> Setzt eine einzelne Einstellung; die Nutzlast ist der bloße Wert, z. B. Topic setting/GuestAC/reporting mit Nutzlast 30.
Status state/GuestAC/<aspect> Beibehaltener Status, periodisch und bei Änderung veröffentlicht. state/GuestAC ohne Suffix ist der eigene Zustand des Geräts (false = offline).
Ereignis event/GuestAC/<x> Einmalige Vorkommnisse. Nicht beibehalten.
Info info/GuestAC/<x> Informationsmeldungen, nicht an ein bestimmtes Ereignis gebunden.
Fehler error/GuestAC/<x> Fehler werden hier gemeldet.

Für die meisten Automatisierungen benötigen Sie nur zwei davon: Veröffentlichen auf command/GuestAC/control und Abonnieren von state/GuestAC.

6. Befehle senden

Veröffentlichen Sie auf command/GuestAC/<command>. Einfache Befehle nehmen keine Nutzlast; einige wenige nehmen ein Argument als Nutzlast.

Befehl Nutzlast Wirkung
on / off keine Ein- oder ausschalten.
heat cool auto fan dry keine Modus wechseln.
low medium high keine Lüfterstufe wechseln.
temp eine Zahl Zieltemperatur setzen, z. B. Nutzlast 21.
status keine Erzwingt sofort einen Statusbericht.
control JSON Setzt eine beliebige Kombination von Steuerungen auf einmal (siehe nächster Abschnitt).
send String / Array Fortgeschritten: Erzwingt das Senden einer rohen Protokollnachricht, z. B. S21 D62000. Akzeptiert einen JSON-String oder ein JSON-Array von Strings. Bytes mit gesetztem höchsten Bit (0x80 bis 0xFF) werden als JSON-Unicode-Escapes geschrieben. Nur zum Debuggen des Protokolls.

Beispiele:

# Power on
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/on' -n

# Switch to cooling
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/cool' -n

# Set target to 21 C
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/temp' -m '21'

7. Die control-Nachricht (die wichtigste)

command/GuestAC/control nimmt eine JSON-Nutzlast und ist der sauberste Weg, mehrere Dinge auf einmal zu setzen. Dieselben Feldnamen erscheinen im Status-JSON, sodass das, was Sie senden, dem entspricht, was Sie lesen.

Feld Typ Bedeutung
power Boolean Ein/Aus.
mode H C A D F Heizen, Kühlen, Auto, Entfeuchten, Lüften.
temp Zahl Zieltemperatur in °C.
fan A Q 15 Auto, Leise/Nacht oder manuelle Stufen 1 bis 5.
swingv Boolean Vertikale Lamellenschwenkung.
swingh Boolean Horizontale Lamellenschwenkung.
powerful Boolean Powerful-/Turbo-Boost (sofern das Gerät dies unterstützt).
econo Boolean Economy-Modus (sofern unterstützt).
streamer Boolean Streamer/Luftreinigung (sofern unterstützt).
target Zahl oder [min,max] Eine einzelne Zieltemperatur oder ein zweielementiges Min/Max-Array. Ein Array erzwingt den Faikout-Auto-Modus.
env Zahl Externe Raumtemperaturreferenz, die von Faikout Auto verwendet wird.

Beispiel: Kühlen auf 24 °C bei Auto-Lüfter, vertikale Schwenkung ein:

mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
  -m '{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}'

Hinweis: powerful, econo, streamer und ähnliche Extras sind modellabhängig. S21 ist rückentwickelt und nicht bei allen Geräten identisch, daher wird ein Schalter, den Ihr Gerät nicht besitzt, einfach ignoriert. Das Status-JSON zeigt Ihnen, welche Steuerungen Ihr Gerät tatsächlich bereitstellt.

8. Status lesen

Faikout veröffentlicht den Status auf drei Topic-Familien:

  • state/GuestAC ist der Status für Menschen/Automatisierung, veröffentlicht alle reporting Sekunden (Standard 60) und bei wesentlichen Änderungen. Schalten Sie livestatus ein, um auch bei jeder Änderung in Echtzeit zu veröffentlichen.
  • Faikout/... wird etwa einmal pro Minute veröffentlicht und ist dafür gedacht, vom Werkzeug faikoutlog in einer MySQL-/MariaDB-Datenbank zur grafischen Darstellung gespeichert zu werden.
  • <MAC>/... ist der Feed für die automatische Erkennung von Home Assistant, veröffentlicht, wenn die HA-Unterstützung aktiviert ist (siehe Abschnitt 9).

Das state-JSON enthält alles aus der obigen control-Tabelle (sodass Sie power, mode, temp, fan usw. zurücklesen können) sowie diese schreibgeschützten Felder:

Feld Bedeutung
online Die Klimaanlage ist verbunden und antwortet.
heat Befindet sich derzeit in einem Heizzustand.
slave Wir sind nicht Master für Heizen/Kühlen, daher kann der angeforderte Modus nicht angewendet werden.
antifreeze Im Frostschutzmodus, also nicht im Normalbetrieb.
model Modellname, sofern bekannt.
home Raumtemperatur (Fernreferenz oder gemessen).
outside Außentemperatur, sofern das Gerät sie meldet.
inlet Ansaugtemperatur (Rückluft), sofern bekannt.
liquid Temperatur der Flüssigkeitsleitung des Kältemittels, sofern bekannt.
control Wir stehen unter externer/automatischer Steuerung.

Format der Datenbankprotokollierung: Im Faikout/-Feed wird jeder Wert über den Zeitraum zusammengefasst. Hat er sich nicht geändert, wird er als einzelner Wert gemeldet; hat er sich geändert, wird aus einem numerischen Wert ein [min, average, max]-Array und aus einem Boolean ein Bruch 0.01.0 dafür, wie lange er im Zeitraum wahr war. Schalten Sie fixstatus ein, um unabhängig davon stets das Array-/Bruchformat zu verwenden.

9. Home Assistant über MQTT

Faikout verfügt über eine native automatische Erkennung für Home Assistant und diese ist standardmäßig aktiviert (Einstellung haenable, Standard ein). Sobald das Modul mit demselben Broker wie Home Assistant kommuniziert, erscheint von selbst eine Climate-Entität.

Einrichtung:

  1. Betreiben Sie einen MQTT-Broker, den Home Assistant verwendet. Am einfachsten ist das Mosquitto-Broker-Add-on in Home Assistant OS, zusammen mit der hinzugefügten MQTT-Integration.
  2. Erstellen Sie in Home Assistant einen MQTT-Benutzer für das Gerät (ein normaler HA-Benutzer funktioniert mit dem Mosquitto-Add-on).
  3. Setzen Sie auf der Faikout-Einrichtungsseite den MQTT-Host auf die IP von Home Assistant und geben Sie diesen Benutzernamen und das Passwort ein.
  4. Innerhalb einer Minute erkennt Home Assistant das Gerät (veröffentlicht unter den <MAC>/...-Topics) und fügt eine Climate-Karte hinzu. Kein YAML erforderlich.

Nützliche HA-bezogene Einstellungen (über MQTT oder die erweiterte Webseite gesetzt):

Einstellung Standard Wirkung
haenable ein Automatische Erkennung von Home Assistant. (Ältere Firmware nannte dies ha.)
haswitches aus Stellt zusätzliche Schalter (z. B. Powerful, Econo) als separate HA-Entitäten bereit.
ha1c aus Erzwingt 1-°C-Schritte in der HA-Temperatursteuerung.
hafanrpm aus Meldet die Lüfterdrehzahl in U/min statt in Hz.
hacomprpm aus Meldet die Verdichterdrehzahl in U/min statt in Hz.
hadomain local Lokale Domain für HA-Links; leer lassen, um die IP zu verwenden.
nohvacaction aus Stoppt die Meldung von hvac_action für Faikout Auto in HA.
nohomepreset aus Lässt den Eintrag „home“ aus der HA-Voreinstellungsliste weg.

Dashboard- und Entity-Card-YAML

Sie benötigen kein YAML, um die Entitäten zu erstellen. Die automatische Erkennung erzeugt von selbst eine climate-Entität plus Temperatursensoren. Das YAML unten dient dazu, sie auf einem Lovelace-Dashboard anzuordnen.

Entitäts-IDs werden vom Hostnamen abgeleitet, sodass ein Gerät namens GuestAC climate.guestac und Sensoren wie sensor.guestac_temperature ergibt. Die genauen Slugs variieren je nach Firmware-Version und Ihren HA-Benennungseinstellungen, bestätigen Sie sie daher unter Einstellungen → Geräte & Dienste → MQTT → (Ihr Gerät) oder Entwicklerwerkzeuge → Zustände und passen Sie die IDs unten entsprechend an.

Entity-Card. Fügen Sie einem beliebigen Dashboard eine Karte mit Karte hinzufügen → Manuell hinzu und fügen Sie ein:

type: entities
title: Guest AC
show_header_toggle: false
entities:
  - entity: climate.guestac          # adjust IDs to match your install
    name: Air conditioner
  - type: section
    label: Live temperatures
  - entity: sensor.guestac_temperature
    name: Room
  - entity: sensor.guestac_outside_temperature
    name: Outside
  - entity: sensor.guestac_inlet_temperature
    name: Inlet
  - entity: sensor.guestac_liquid_temperature
    name: Liquid / coil

Vollständige Dashboard-Ansicht. Öffnen Sie ein Dashboard, Bearbeiten → (drei Punkte) → Raw-Konfigurationseditor, und fügen Sie dies als neue Ansicht unter views: hinzu:

title: Climate
path: climate
icon: mdi:air-conditioner
cards:
  - type: thermostat
    entity: climate.guestac          # adjust IDs to match your install

  - type: entities
    title: Guest AC
    entities:
      - entity: climate.guestac
        name: Controls
      - type: section
        label: Live temperatures
      - entity: sensor.guestac_temperature
        name: Room
      - entity: sensor.guestac_outside_temperature
        name: Outside
      - entity: sensor.guestac_inlet_temperature
        name: Inlet
      - entity: sensor.guestac_liquid_temperature
        name: Liquid / coil

  - type: history-graph
    title: Temperatures (24 h)
    hours_to_show: 24
    entities:
      - sensor.guestac_temperature
      - sensor.guestac_outside_temperature

Wenn Sie lieber eine einzelne Karte visuell erstellen möchten: Sowohl die Mushroom-Karte „Climate“ als auch die integrierte Thermostat-Karte binden direkt an climate.guestac.

Einfachere Alternative ohne MQTT. Faikout emuliert außerdem Daikins eigene lokale API und beantwortet BRP-kompatible UDP-Erkennung (Einstellung udpdiscovery). Wenn Sie keinen MQTT-Broker betreiben möchten, können Sie stattdessen die integrierte Daikin-Integration von Home Assistant hinzufügen und sie auf die IP-Adresse des Faikout richten. Für nicht-technische Benutzer ist dies der unkomplizierteste Weg in HA. Behalten Sie den MQTT-Weg für den Fall vor, dass Sie Funktionen wünschen, die die Daikin-Integration nicht bereitstellt, oder Sie etwas anderes als HA integrieren.

Apple Home / Alexa / Google. Diese sprechen nicht direkt MQTT, aber eine Brücke schließt die Lücke. Home Assistant überbrückt alle drei. Für einen reinen Apple-Haushalt ohne HA bringt Homebridge mit einem MQTT-Plugin (zum Beispiel EasyMQTT) Faikout in die native iOS-Home-App und zu Siri. Dies ist gut erprobt, aber ein selbst gehosteter Server, der eingerichtet werden muss, rechnen Sie also mit etwas Konfiguration.

10. Weitere Plattformen

Dieselben zwei Topics (command/GuestAC/control zum Schreiben, state/GuestAC zum Lesen) funktionieren überall.

mosquitto-Befehlszeile

# Watch everything for this device
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'state/GuestAC/#' -v

# Ask the device to report its current settings (empty payload)
mosquitto_pub -h 192.168.1.10 -t 'setting/GuestAC' -n

# Change one setting
mosquitto_pub -h 192.168.1.10 -t 'setting/GuestAC/reporting' -m '30'

# Full control
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
  -m '{"power":true,"mode":"H","temp":21,"fan":2}'

Node-RED

  • Zum Steuern: ein mqtt out-Node mit dem Topic command/GuestAC/control. Geben Sie ihm eine msg.payload, die ein JSON-Objekt ist (verwenden Sie einen template- oder function-Node oder einen change-Node, der die Nutzlast auf einen JSON-Wert setzt).
  • Zum Überwachen: ein mqtt in-Node auf state/GuestAC, dann ein json-Node, um sie in ein Objekt zu parsen, nach dem Sie routen können (z. B. payload.home, payload.power).

openHAB

Verwenden Sie das generische MQTT-Binding. Erstellen Sie ein MQTT-Thing für den Broker und dann Kanäle wie:

  • einen Switch-Kanal mit commandTopic = command/GuestAC/control, der den Wert als {"power":%s} formatiert;
  • einen Number-Kanal mit stateTopic = state/GuestAC und einer JSONPATH-Transformation wie $.home, um die Raumtemperatur zu lesen.

Dasselbe Muster (JSON auf command/.../control veröffentlichen, JSON aus state/... parsen) lässt sich auf Domoticz, ioBroker, Jeedom, FHEM, Homey, Hubitat und Gladys übertragen.

11. Faikout Auto über MQTT

Faikout Auto ist eine zusätzliche Steuerungsebene, die einen Zielbereich hält, indem sie das Gerät zwischen Heizen/Kühlen/Aus nachjustiert, optional unter Verwendung eines externen Temperatursensors anstelle des eigenen der Klimaanlage. Sie können sie auf drei Wegen ansteuern: über die Weboberfläche, über einen BLE-Sensor oder über MQTT. Die MQTT-Wege folgen unten.

A. Einen Messwert aus Ihrer eigenen Automatisierung übermitteln

Senden Sie eine control-Nachricht, die env (und optional target) enthält. Das Gerät betrachtet sich dann als unter Fernsteuerung:

mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
  -m '{"env":22.4,"target":[20,22]}'
  • env ist die aktuelle Raumtemperatur Ihres Sensors. Sie muss in jeder control-Nachricht erneut gesendet werden und mindestens alle tcontrol Sekunden (Standard 600). Bei einem Timeout fällt das Gerät aus dem Fern-/Auto-Modus heraus.
  • target als [min,max]-Array (oder eine einzelne Zahl mit margin) erzwingt den Faikout-Auto-Modus und definiert den Komfortbereich.

B. Faikout ein Sensor-Topic abonnieren lassen

Anstatt zu übermitteln, weisen Sie Faikout an, einem vorhandenen MQTT-Topic zu folgen:

Einstellung Bedeutung
autotopic Das MQTT-Topic, das für die Referenztemperatur abonniert werden soll.
autopayload Der Feldname innerhalb der JSON-Nutzlast dieses Topics, der die Temperatur enthält.

Wichtig: Die Nutzlast auf autotopic muss JSON sein, das das benannte Feld enthält. Ein Topic, das eine bloße Zahl veröffentlicht (zum Beispiel ein einfaches ESPHome-State-Topic), lässt sich nicht parsen; verpacken Sie es in JSON oder verwenden Sie Weg A.

C. Einem externen Sensor folgen, aber Ein/Aus manuell halten

Eine häufige Anforderung: nach einem genauen externen Messwert regeln, aber das Gerät nie sich selbst ein- oder ausschalten lassen. Der Haken ist, dass das Senden von env das Gerät „remote“ macht, und im Remote-Zustand wird automatisches Schalten angenommen, sofern autoptemp nicht null ist (Standard 0.5). Also:

  • Setzen Sie autop auf aus und autoptemp auf 0 (stoppt das automatische Ein-/Ausschalten).
  • Lassen Sie tempadjust ein (dies ist es, was das Gerät tatsächlich auf Ihre Referenz ausrichtet: es passt den Sollwert um reference - measured an).
  • Senden Sie kein target-Array (ein Array erzwingt das vollständige Auto-Bereichs-/Schaltverhalten). Senden Sie nur {"env": 22.4}.
mosquitto_pub -h 192.168.1.10 -t 'setting/GuestAC' -m '{"autop":false,"autoptemp":0}'
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' -m '{"env":22.4}'

Auto-Modus-Steuerungen, die Sie ebenfalls in einer control-Nachricht senden können

Diese spiegeln die Einstellungen wider und werden im Status zurückgemeldet, wenn keine Fernsteuerung aktiv ist:

Feld Bedeutung
autor Auto-Marge beiderseits des Ziels; 0.0 bedeutet aus.
autot Auto-Zieltemperatur.
autob BLE-Sensor-ID, die als Referenz verwendet werden soll.
auto0 Ausschaltzeit, HH:MM; 00:00 bedeutet nicht ausschalten.
auto1 Einschaltzeit, HH:MM; 00:00 bedeutet nicht einschalten.

12. Referenz der Einstellungen

Einstellungen werden über MQTT in zwei Formen gelesen und geschrieben:

  • Alle auf einmal / zurücklesen: Veröffentlichen Sie JSON auf setting/GuestAC, z. B. {"reporting":30,"livestatus":true}. Eine leere Nutzlast veranlasst das Gerät, seine aktuellen Einstellungen zu veröffentlichen.
  • Einzeln: Veröffentlichen Sie den bloßen Wert auf setting/GuestAC/<name>, z. B. Topic setting/GuestAC/livestatus mit Nutzlast true.

Die Namen unten sind die MQTT-Namen (die erweiterte Webseite gruppiert sie, aber über MQTT werden sie als ein Wort geschrieben). Dies ist eine praktische Teilmenge; der eigene Einstellungs-Dump des Geräts (leere Nutzlast an setting/GuestAC) ist die maßgebliche Liste für Ihre Firmware.

Verbindung und Berichterstattung

Einstellung Standard Bedeutung
hostname Gerätename; bildet das Topic-Präfix und die .local-Adresse.
mqtthost MQTT-Broker-Host oder -IP (plus Felder für Benutzername/Passwort auf der Einrichtungsseite).
reporting 60 Periode des Statusberichts in Sekunden.
livestatus aus Veröffentlicht state/ bei jeder Änderung, in Echtzeit.
fixstatus aus Verwendet in der Protokollierung stets das Min/Mittel/Max- (und 0.0–1.0-)Format.
otaauto ein Automatische Firmware-Updates (etwa wöchentlich; benötigt Internet).
webcontrol ein Aktiviert die Web-Steuerungsseite.
websettings ein Aktiviert die Web-Einstellungsseiten.

Home Assistant

Siehe Abschnitt 9: haenable, haswitches, ha1c, hafanrpm, hacomprpm, hadomain, udpdiscovery, nohvacaction, nohomepreset.

Faikout Auto

Einstellung Standard Bedeutung
autoe ein Aktiviert automatische Zeit- und Schaltvorgänge.
autop aus Aktiviert automatisches Ein-/Ausschalten.
autoptemp 0.5 Ein-/Ausschalten, wenn die Temperatur um diesen Betrag vom Bereich abweicht.
autot Auto-Zieltemperatur.
autor Auto-Marge beiderseits von autot (0 = aus).
autob BLE-Sensor-ID für die Referenz.
auto0 / auto1 00:00 Geplante Aus-/Einschaltzeit (HHMM); gleich oder 00:00 deaktiviert.
autofmax 5 Maximale Lüfterstufe beim Start weit entfernt vom Ziel.
autolcontrol aus Schaltet die LED basierend auf der aktuellen HVAC-Aktion um.
autotopic Topic, dem für die Referenztemperatur gefolgt werden soll.
autopayload JSON-Feldname in diesem Topic für die Referenztemperatur.
tempadjust ein Passt den Sollwert für die Differenz zwischen Daikins Sensor und Ihrer Referenz an.
temptrack aus Stützt den Sollwert auf Daikins gemessene Temperatur statt auf das angeforderte Ziel.
tempnoflap 0 Mindestsekunden zwischen Zieltemperaturänderungen.
thermostat aus Einfacher Thermostatmodus: bis zum Maximum heizen, dann bis zum Minimum abfallen lassen (Hysterese).
tcontrol 600 Timeout (s) für env-/control-Nachrichten, bevor aus dem Remote-Modus zurückgekehrt wird.
tmin / tmax 16 / 32 Minimaler / maximaler Sollwert des Systems.
thermref 50 Prozentsatz der Ansaug- (gegenüber Raum-)Temperatur, den Ihr Gerät als Referenz verwendet.

Die Feinabstimmung der Vorhersage und des Bereichsverhaltens (pushtemp, switchtemp, coolover, coolback, heatover, heatback, tpredicts, tpredictt, tsample, tcoolmin, theatmax, frosttemp, minoutside) ist im erweiterten Handbuch dokumentiert und muss selten geändert werden.

Funktionsüberschreibungen

Falls die Firmware eine Steuerung anbietet, die Ihr Gerät nicht tatsächlich besitzt (oder umgekehrt), teilen die no...-Einstellungen ihr mit, was sie verbergen soll: zum Beispiel nopowerful, noecono, nostreamer, noswingv, noswingh, noquiet, nodemand, nofaikoutauto. Die protokollerzwingenden Einstellungen nos21, nox50a, nocnwired verhindern, dass es ein bestimmtes Protokoll versucht, falls die automatische Erkennung das falsche wählt.

Debug

Einstellung Bedeutung
debug Ausführliches Debug; für S21 eine Zusammenfassungszeile der Poll-Antworten (pollt außerdem mehr Felder, daher langsamer).
dump Gibt die rohe serielle Kommunikation auf MQTT aus.
snoop Nur-Mithör-Modus zur Protokollanalyse.

13. Fehlerbehebung

Auf MQTT erscheint nichts / Gerät wird als offline angezeigt. Prüfen Sie das bloße Topic state/GuestAC: false bedeutet, dass der Faikout selbst nicht mit dem Broker verbunden ist. Überprüfen Sie dann, dass die Broker-IP/der Hostname in den Einstellungen erreichbar ist, der MQTT-Benutzername und das Passwort korrekt sind, der Broker lauscht (üblicherweise Port 1883 im LAN) und das Modul in Ihrem 2,4-GHz-WLAN ist (es verwendet kein 5 GHz). Bestätigen Sie, dass GuestAC.local im Browser lädt, um zu belegen, dass das WLAN in Ordnung ist; dann handelt es sich um ein Problem mit den MQTT-Anmeldedaten oder der Erreichbarkeit des Brokers.

Das Gerät schaltet sich immer wieder selbst ein. Das Senden von env in einer control-Nachricht stellt das Gerät unter Fernsteuerung, und im Remote-Zustand wird automatisches Schalten angenommen, sofern autoptemp nicht null ist (Standard 0.5). Um Ein/Aus manuell zu halten, setzen Sie autop auf aus und autoptemp auf 0, lassen Sie tempadjust ein und senden Sie nur {"env": ...} ohne target-Array. Siehe Abschnitt 11C.

Faikout fällt nach einer Weile aus dem Auto-Modus. env-/control-Nachrichten laufen nach tcontrol Sekunden ab (Standard 600). Senden Sie env in jeder control-Nachricht und nach einem Zeitplan erneut, der kürzer als das Timeout ist.

autotopic bewirkt nichts. Das abonnierte Topic muss JSON mit dem in autopayload benannten Feld führen. Eine Nutzlast aus einer bloßen Zahl lässt sich nicht parsen. Veröffentlichen Sie entweder JSON oder übermitteln Sie den Wert selbst mit einer env-control-Nachricht (Abschnitt 11A).

Home Assistant zeigt das Gerät nicht an. haenable muss aktiviert sein (das ist es standardmäßig), die HA-MQTT-Integration muss mit aktivierter Erkennung installiert sein und das Gerät muss am selben Broker wie HA hängen. Bestätigen Sie, dass Erkennungsnachrichten ankommen, indem Sie <MAC>/# (die MAC-Adresse des Moduls) abonnieren. Wenn Sie MQTT lieber gar nicht verwenden möchten, nutzen Sie die native Daikin-Integration mit der IP des Faikout.

Der Status sieht veraltet aus. state/-Nachrichten werden beibehalten, sodass ein Client nach einem Neustart den letzten Wert anzeigen kann. Wenn Sie tatsächlich alte Daten sehen, löschen Sie die beibehaltene Nachricht auf diesem Topic und schalten Sie livestatus ein, um bei Änderung sofortige Aktualisierungen zu erhalten.

Einige S21-Steuerungen bewirken nichts. S21 ist rückentwickelt und variiert je nach Modell; powerful, econo, demand und Ähnliches existieren auf Ihrem Gerät möglicherweise nicht und werden einfach ignoriert. Das Status-JSON zeigt, welche Steuerungen Ihr Gerät wirklich bereitstellt.

14. Kurzreferenz (Spickzettel)

Ersetzen Sie GuestAC durch Ihren Hostnamen und 192.168.1.10 durch Ihren Broker.

Lesen (abonnieren)

Topic Was Sie empfangen
state/GuestAC Beibehaltenes Status-JSON: power, mode, temp, home, outside, online, ...
state/GuestAC Nutzlast false bedeutet, dass der Faikout selbst offline ist.
setting/GuestAC Veröffentlichen Sie eine leere Nutzlast und das Gerät antwortet mit seinen aktuellen Einstellungen.

Befehle (auf command/GuestAC/... veröffentlichen)

Topic Nutzlast
command/GuestAC/on, command/GuestAC/off keine
command/GuestAC/heat cool auto fan dry keine
command/GuestAC/low medium high keine
command/GuestAC/temp 21
command/GuestAC/status keine (erzwingt einen Statusbericht)
command/GuestAC/control JSON (siehe unten)

Die control-Nutzlast

{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}
Feld Werte
power true / false
mode H C A D F (Heizen, Kühlen, Auto, Entfeuchten, Lüften)
temp Zahl, °C
fan A Q 15 (Auto, Leise, manuelle Stufen)
swingv swingh powerful econo streamer true / false
target Zahl oder [min,max] (ein Array erzwingt Faikout Auto)
env Zahl (externe Referenz für Faikout Auto)

Einstellungen (auf setting/GuestAC... veröffentlichen)

Topic Nutzlast
setting/GuestAC {"reporting":30,"livestatus":true} (mehrere auf einmal)
setting/GuestAC/reporting 30 (einzeln)

Externer Sensor, Ein/Aus manuell halten

Topic Nutzlast
setting/GuestAC {"autop":false,"autoptemp":0}
command/GuestAC/control {"env":22.4} — innerhalb von tcontrol (600 s) erneut senden

Quellen: RevK ESP32-Faikout-Firmware und -Handbücher (README, Setup, Controls, Advanced) und ESP/main/settings.def auf Codeberg (codeberg.org/RevK/ESP32-Faikout). Das beschriebene Verhalten entspricht der Firmware mit Stand Juni 2026; der eigene Einstellungs-Dump des Geräts ist für Ihre installierte Version maßgeblich.