Instrukcja MQTT
Faikin Australia
Faikin Faikout — Instrukcja MQTT
Sterowanie i monitorowanie urządzenia Faikin Faikout przez MQTT, od pierwszej konfiguracji po pełny wykaz tematów, poleceń i ustawień.
Kompletny przewodnik po sterowaniu i monitorowaniu urządzenia Faikin Faikout przez MQTT, od pierwszej konfiguracji po pełny wykaz tematów, poleceń i ustawień.
Dotyczy to modułu WiFi Faikout z oprogramowaniem układowym RevK (urządzenie nosi nazwę marki Faikout; nadal można spotkać starszą nazwę Faikin). Ma zastosowanie zarówno do jednostek S21, X50A, jak i CN_WIRED, ponieważ oprogramowanie układowe ustala protokół automatycznie. W całym dokumencie przykładowa nazwa hosta to GuestAC, a przykładowy adres IP brokera to 192.168.1.10. Należy zastąpić oba własnymi wartościami.
Na tej stronie
- 1. Co daje MQTT
- 2. Zanim zaczniesz
- 3. Krok 1: Skieruj Faikout na swój broker MQTT
- 4. Krok 2: Potwierdź połączenie
- 5. Struktura tematów
- 6. Wysyłanie poleceń
- 7. Komunikat control (najważniejszy)
- 8. Odczyt stanu
- 9. Home Assistant przez MQTT
- 10. Inne platformy
- 11. Faikout Auto przez MQTT
- 12. Wykaz ustawień
- 13. Rozwiązywanie problemów
- 14. Szybka ściąga
1. Co daje MQTT
Wszystko odbywa się lokalnie. Faikout posługuje się MQTT w Twojej własnej sieci, bez konta w chmurze i bez zależności od internetu. Przez MQTT można:
- Sterować jednostką: zasilanie, tryb, nastawa, prędkość wentylatora, ruch żaluzji, powerful/econo.
- Odczytywać telemetrię na żywo, której pilot IR nie pokazuje: temperatury pomieszczenia, wymiennika/cieczy, wlotu i otoczenia, a także model oraz stan pracy.
- Sterować warstwą Faikout Auto: zakresem docelowym, harmonogramami oraz zewnętrznym odniesieniem temperatury.
- Integrować z Home Assistant (natywne automatyczne wykrywanie), openHAB, Node-RED, Domoticz, ioBroker oraz wszystkim innym, co posługuje się MQTT.
Sterowanie przez MQTT działa równolegle z wbudowanym interfejsem webowym i pilotem IR. Zmiana z dowolnego źródła pojawia się wszędzie w ciągu kilku sekund.
2. Zanim zaczniesz
Potrzebujesz:
- Faikout zainstalowany i już połączony z Twoją siecią WiFi 2,4GHz (patrz instrukcja konfiguracji). Można się z nim połączyć pod adresem
GuestAC.localw przeglądarce. - Broker MQTT w tej samej sieci. Częstym wyborem jest dodatek Mosquitto wewnątrz Home Assistant albo samodzielny Mosquitto na Raspberry Pi, serwerze NAS lub serwerze.
- Adres IP lub nazwa hosta brokera oraz nazwa użytkownika i hasło, jeśli broker wymaga uwierzytelniania (broker Home Assistant zwykle tego wymaga).
Broker należy utrzymywać w sieci, którą kontrolujesz. MQTT urządzenia Faikout to zwykły ruch lokalny i nie jest przeznaczony do udostępniania w internecie.
3. Krok 1: Skieruj Faikout na swój broker MQTT
- Przejdź pod adres
GuestAC.locali otwórz ustawienia WiFi (lub przytrzymaj konfigurację urządzenia, a następnie połącz się z jego punktem dostępuDaikin/Faikout, jeśli nie jest jeszcze w Twojej sieci WiFi). - W sekcji MQTT wprowadź Host (adres IP lub nazwę hosta brokera, np.
192.168.1.10) oraz, jeśli broker ich używa, Username i Password. - Upewnij się, że Hostname jest ustawiona na coś łatwego do zapamiętania, np.
GuestAC. Nazwa ta staje się częścią każdego tematu MQTT, więc wybierz ją przed budowaniem automatyzacji. - Zapisz. Faikout ponownie się łączy i zaczyna publikować.
Podstawowym ustawieniem połączenia jest mqtthost (standard biblioteki RevK). Nazwę użytkownika i hasło wprowadza się na tej samej stronie. Można je również zmienić później przez samo MQTT po nawiązaniu połączenia (patrz Wykaz ustawień).
4. Krok 2: Potwierdź połączenie
Zasubskrybuj wszystko dla tego urządzenia i obserwuj zachowany (retained) stan:
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'state/GuestAC/#' -v
Powinien pojawić się zachowany komunikat state/GuestAC. Jego ładunek zgłasza online jako true, gdy klimatyzator komunikuje się z modułem. Sam temat state/GuestAC to obecność samego urządzenia: ładunek false oznacza, że sam Faikout jest offline (jest to jego komunikat MQTT will/birth).
Jeśli nic nie dociera, przejdź do sekcji Rozwiązywanie problemów.
5. Struktura tematów
Faikout stosuje standardowy układ tematów biblioteki RevK: prefix/hostname/suffix. Przy nazwie hosta GuestAC:
| Rodzaj | Temat | Znaczenie |
|---|---|---|
| Polecenie | command/GuestAC/<command> |
Nakazuje urządzeniu zrobić coś natychmiast (np. włączyć zasilanie, ustawić tryb). |
| Ustawienie (JSON) | setting/GuestAC |
Ładunek to JSON jednego lub większej liczby ustawień, np. {"reporting":60}. Pusty ładunek powoduje, że urządzenie odsyła swoje bieżące ustawienia. |
| Ustawienie (pojedyncze) | setting/GuestAC/<name> |
Ustawia jedno ustawienie; ładunkiem jest sama wartość, np. temat setting/GuestAC/reporting, ładunek 30. |
| Stan | state/GuestAC/<aspect> |
Zachowany stan, publikowany okresowo oraz przy zmianie. state/GuestAC bez przyrostka to stan samego urządzenia (false = offline). |
| Zdarzenie | event/GuestAC/<x> |
Jednorazowe rzeczy, które się wydarzyły. Niezachowywane. |
| Informacja | info/GuestAC/<x> |
Komunikaty informacyjne, niezwiązane z konkretnym zdarzeniem. |
| Błąd | error/GuestAC/<x> |
Tutaj zgłaszane są błędy. |
W przypadku większości automatyzacji wystarczą tylko dwa z nich: publikacja do command/GuestAC/control oraz subskrypcja state/GuestAC.
6. Wysyłanie poleceń
Publikuj do command/GuestAC/<command>. Proste polecenia nie przyjmują ładunku; kilka z nich przyjmuje argument jako ładunek.
| Polecenie | Ładunek | Efekt |
|---|---|---|
on / off
|
brak | Włączenie lub wyłączenie zasilania. |
heat cool auto fan dry
|
brak | Zmiana trybu. |
low medium high
|
brak | Zmiana prędkości wentylatora. |
temp |
liczba | Ustaw temperaturę docelową, np. ładunek 21. |
status |
brak | Wymuś natychmiastowy raport stanu. |
control |
JSON | Ustaw dowolną kombinację sterowań naraz (patrz następna sekcja). |
send |
ciąg znaków / tablica | Zaawansowane: wymuś wysłanie surowego komunikatu protokołu, np. S21 D62000. Akceptuje ciąg JSON lub tablicę JSON ciągów znaków. Bajty z ustawionym najstarszym bitem (od 0x80 do 0xFF) zapisuje się jako sekwencje unicode escape w JSON. Wyłącznie do debugowania protokołu. |
Przykłady:
# 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. Komunikat control (najważniejszy)
command/GuestAC/control przyjmuje ładunek JSON i jest najczystszym sposobem ustawienia kilku rzeczy naraz. Te same nazwy pól pojawiają się w JSON stanu, więc to, co wysyłasz, odzwierciedla to, co odczytujesz.
| Pole | Rodzaj | Znaczenie |
|---|---|---|
power |
boolean | Wł. / wył. |
mode |
H C A D F
|
Grzanie, chłodzenie, auto, osuszanie, wentylacja. |
temp |
number | Temperatura docelowa w °C. |
fan |
A Q 1–5
|
Auto, cichy/nocny lub poziomy ręczne od 1 do 5. |
swingv |
boolean | Pionowy ruch żaluzji. |
swingh |
boolean | Poziomy ruch żaluzji. |
powerful |
boolean | Powerful/turbo (jeśli jednostka to obsługuje). |
econo |
boolean | Tryb ekonomiczny (jeśli obsługiwany). |
streamer |
boolean | Streamer/oczyszczanie powietrza (jeśli obsługiwane). |
target |
number or [min,max]
|
Pojedyncza temperatura docelowa lub dwuelementowa tablica min/max. Tablica wymusza tryb Faikout Auto. |
env |
number | Zewnętrzne odniesienie temperatury pomieszczenia używane przez Faikout Auto. |
Przykład: chłodzenie do 24°C z wentylatorem auto, pionowy ruch włączony:
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
-m '{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}'
Uwaga: powerful, econo, streamer i podobne dodatki zależą od modelu. S21 został odtworzony metodą inżynierii wstecznej i nie jest identyczny w różnych jednostkach, więc przełącznik, którego Twoja jednostka nie ma, jest po prostu ignorowany. JSON stanu informuje, które sterowania Twoja jednostka faktycznie udostępnia.
8. Odczyt stanu
Faikout publikuje stan do trzech rodzin tematów:
-
state/GuestACto stan dla człowieka/automatyzacji, publikowany coreportingsekund (domyślnie 60) oraz przy istotnych zmianach. Włączlivestatus, aby publikować również przy każdej zmianie w czasie rzeczywistym. -
Faikout/...jest publikowany mniej więcej raz na minutę i jest przeznaczony dla narzędziafaikoutlogdo zapisu w bazie danych MySQL/MariaDB w celu tworzenia wykresów. -
<MAC>/...to kanał automatycznego wykrywania Home Assistant, publikowany, gdy obsługa HA jest włączona (patrz sekcja 9).
JSON state zawiera wszystko z powyższej tabeli control (można więc odczytać power, mode, temp, fan itd.) oraz następujące pola tylko do odczytu:
| Pole | Znaczenie |
|---|---|
online |
Klimatyzator jest połączony i odpowiada. |
heat |
Obecnie w stanie grzania. |
slave |
Nie jesteśmy nadrzędni dla grzania/chłodzenia, więc żądany tryb nie może zostać zastosowany. |
antifreeze |
W trybie przeciwzamrożeniowym, więc nie działa normalnie. |
model |
Nazwa modelu, jeśli znana. |
home |
Temperatura pomieszczenia (odniesienie zdalne lub zmierzona). |
outside |
Temperatura zewnętrzna, jeśli jednostka ją zgłasza. |
inlet |
Temperatura wlotu (powietrza powrotnego), jeśli znana. |
liquid |
Temperatura zasilania czynnikiem ciekłym, jeśli znana. |
control |
Jesteśmy pod sterowaniem zewnętrznym/automatycznym. |
Format zapisu w bazie danych: w kanale Faikout/ każda wartość jest podsumowywana za dany okres. Jeśli się nie zmieniła, jest zgłaszana jako pojedyncza wartość; jeśli się zmieniła, wartość liczbowa staje się tablicą [min, average, max], a wartość logiczna staje się ułamkiem 0.0–1.0 określającym, przez jaką część okresu była true. Włącz fixstatus, aby zawsze używać formatu tablicy/ułamka niezależnie od powyższego.
9. Home Assistant przez MQTT
Faikout ma natywne automatyczne wykrywanie Home Assistant i jest ono domyślnie włączone (ustawienie haenable, domyślnie włączone). Gdy moduł komunikuje się z tym samym brokerem co Home Assistant, encja climate pojawia się samoczynnie.
Konfiguracja:
- Uruchom broker MQTT, z którego korzysta Home Assistant. Najprościej skorzystać z dodatku Mosquitto broker w Home Assistant OS, z dodaną integracją MQTT.
- Utwórz w Home Assistant użytkownika MQTT dla urządzenia (zwykły użytkownik HA działa z dodatkiem Mosquitto).
- Na stronie konfiguracji Faikout ustaw host MQTT na adres IP Home Assistant i wprowadź tę nazwę użytkownika oraz hasło.
- W ciągu minuty Home Assistant wykrywa urządzenie (publikowane w tematach
<MAC>/...) i dodaje kartę climate. Bez konieczności stosowania YAML.
Przydatne ustawienia związane z HA (ustawiane przez MQTT lub stronę Advanced):
| Ustawienie | Domyślnie | Efekt |
|---|---|---|
haenable |
on | Automatyczne wykrywanie Home Assistant. (Starsze oprogramowanie układowe nazywało to ha.) |
haswitches |
off | Udostępnij dodatkowe przełączniki (np. powerful, econo) jako osobne encje HA. |
ha1c |
off | Wymuś kroki co 1°C w sterowaniu temperaturą w HA. |
hafanrpm |
off | Zgłaszaj prędkość wentylatora jako RPM zamiast Hz. |
hacomprpm |
off | Zgłaszaj prędkość sprężarki jako RPM zamiast Hz. |
hadomain |
local |
Domena lokalna używana w odnośnikach HA; puste pole, aby użyć adresu IP. |
nohvacaction |
off | Zaprzestań zgłaszania hvac_action dla Faikout Auto w HA. |
nohomepreset |
off | Pomiń pozycję „home” na liście presetów HA. |
YAML pulpitu i karty encji
YAML nie jest potrzebny do tworzenia encji. Automatyczne wykrywanie samoczynnie tworzy encję climate oraz czujniki temperatury. Poniższy YAML służy do rozmieszczenia ich na pulpicie Lovelace.
Identyfikatory encji są wyprowadzane z nazwy hosta, więc urządzenie o nazwie GuestAC daje climate.guestac oraz czujniki takie jak sensor.guestac_temperature. Dokładne identyfikatory (slugs) różnią się w zależności od wersji oprogramowania układowego i ustawień nazewnictwa w HA, dlatego potwierdź je w Ustawienia → Urządzenia i usługi → MQTT → (Twoje urządzenie) lub Narzędzia programistyczne → Stany i dostosuj poniższe identyfikatory.
Karta encji. Dodaj kartę na dowolnym pulpicie za pomocą Dodaj kartę → Ręcznie i wklej:
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
Pełny widok pulpitu. Otwórz pulpit, Edytuj → (trzy kropki) → Edytor konfiguracji nieprzetworzonej i dodaj to jako nowy widok w sekcji views::
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
Jeśli wolisz zbudować pojedynczą kartę wizualnie, zarówno karta Mushroom „Climate”, jak i wbudowana karta Thermostat wiążą się bezpośrednio z climate.guestac.
Prostsza alternatywa bez MQTT. Faikout emuluje również własne lokalne API Daikina i odpowiada na zgodne z BRP wykrywanie UDP (ustawienie udpdiscovery). Jeśli nie chcesz uruchamiać brokera MQTT, możesz zamiast tego dodać wbudowaną integrację Daikin w Home Assistant i skierować ją na adres IP urządzenia Faikout. Dla użytkowników nietechnicznych jest to najmniej kłopotliwa droga do HA. Ścieżkę MQTT zachowaj na sytuacje, gdy potrzebujesz funkcji, których integracja Daikin nie udostępnia, albo gdy integrujesz się z czymś innym niż HA.
Apple Home / Alexa / Google. Te nie posługują się MQTT bezpośrednio, ale most niweluje tę różnicę. Home Assistant tworzy most dla wszystkich trzech. W gospodarstwie domowym wyłącznie z Apple, bez HA, Homebridge z wtyczką MQTT (na przykład EasyMQTT) wprowadza Faikout do natywnej aplikacji iOS Home oraz Siri. To sprawdzona droga, ale wymaga skonfigurowania samodzielnie hostowanego serwera, więc należy liczyć się z pewną konfiguracją.
10. Inne platformy
Te same dwa tematy (command/GuestAC/control do zapisu, state/GuestAC do odczytu) działają wszędzie.
wiersz poleceń mosquitto
# 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
- Aby sterować: węzeł
mqtt outz tematemcommand/GuestAC/control. Podaj mumsg.payloadbędący obiektem JSON (użyj węzłatemplatelubfunctionalbo węzłachangeustawiającego ładunek na wartość JSON). - Aby monitorować: węzeł
mqtt innastate/GuestAC, a następnie węzełjson, aby przeanalizować go na obiekt, według którego można kierować (np.payload.home,payload.power).
openHAB
Użyj ogólnego powiązania MQTT. Utwórz obiekt MQTT Thing dla brokera, a następnie kanały takie jak:
- kanał Switch z
commandTopic = command/GuestAC/control, formatujący wartość jako{"power":%s}; - kanał Number z
stateTopic = state/GuestACi transformacją JSONPATH typu$.homedo odczytu temperatury pomieszczenia.
Ten sam wzorzec (publikacja JSON do command/.../control, analiza JSON z state/...) odwzorowuje się na Domoticz, ioBroker, Jeedom, FHEM, Homey, Hubitat i Gladys.
11. Faikout Auto przez MQTT
Faikout Auto to dodatkowa warstwa sterowania, która utrzymuje zakres docelowy, przełączając jednostkę między grzaniem/chłodzeniem/wyłączeniem, opcjonalnie korzystając z zewnętrznego czujnika temperatury zamiast czujnika samego klimatyzatora. Można nim sterować na trzy sposoby: z interfejsu webowego, z czujnika BLE lub przez MQTT. Drogi MQTT opisano poniżej.
A. Wypchnij odczyt z własnej automatyzacji
Wyślij komunikat control zawierający env (i opcjonalnie target). Jednostka traktuje się wówczas jako będąca pod zdalnym sterowaniem:
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
-m '{"env":22.4,"target":[20,22]}'
-
envto bieżąca temperatura pomieszczenia z Twojego czujnika. Musi być wysyłana ponownie w każdym komunikacie control oraz co najmniej cotcontrolsekund (domyślnie 600). W razie przekroczenia limitu czasu jednostka wychodzi z trybu zdalnego/auto. -
targetjako tablica[min,max](lub pojedyncza liczba zmargin) wymusza tryb Faikout Auto i definiuje zakres komfortu.
B. Zasubskrybuj w Faikout temat czujnika
Zamiast wypychać, każ urządzeniu Faikout śledzić istniejący temat MQTT:
| Ustawienie | Znaczenie |
|---|---|
autotopic |
Temat MQTT, który należy zasubskrybować dla temperatury odniesienia. |
autopayload |
Nazwa pola w ładunku JSON tego tematu, które przechowuje temperaturę. |
Ważne: ładunek w autotopic musi być JSON zawierającym nazwane pole. Temat publikujący samą liczbę (na przykład zwykły temat stanu ESPHome) nie zostanie przeanalizowany; opakuj go w JSON lub użyj drogi A.
C. Śledź zewnętrzny czujnik, ale zachowaj ręczne wł./wył.
Częste żądanie: sterowanie według dokładnego odczytu zewnętrznego, ale bez pozwalania jednostce na samodzielne włączanie i wyłączanie. Haczyk polega na tym, że wysłanie env czyni jednostkę „zdalną”, a w trybie zdalnym zakłada się automatyczne zasilanie, jeśli autoptemp nie jest zerem (domyślnie 0.5). Zatem:
- Ustaw
autopna wył., aautoptempna 0 (zatrzymuje automatyczne wł./wył. zasilania). - Pozostaw
tempadjustwłączone (to właśnie ono faktycznie nakierowuje jednostkę na Twoje odniesienie: koryguje nastawę oreference - measured). - Nie wysyłaj tablicy
target(tablica wymusza pełne zachowanie zakresu/zasilania Auto). Wysyłaj tylko{"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}'
Sterowania trybu Auto, które można również wysłać w komunikacie control
Odzwierciedlają one ustawienia i są zgłaszane w stanie, gdy nie obowiązuje sterowanie zdalne:
| Pole | Znaczenie |
|---|---|
autor |
Margines auto po obu stronach celu; 0.0 oznacza wyłączenie. |
autot |
Automatyczna temperatura docelowa. |
autob |
Identyfikator czujnika BLE używanego jako odniesienie. |
auto0 |
Godzina wyłączenia, HH:MM; 00:00 oznacza brak wyłączania. |
auto1 |
Godzina włączenia, HH:MM; 00:00 oznacza brak włączania. |
12. Wykaz ustawień
Ustawienia odczytuje się i zapisuje przez MQTT w dwóch formach:
-
Wszystkie naraz / odczyt zwrotny: opublikuj JSON do
setting/GuestAC, np.{"reporting":30,"livestatus":true}. Pusty ładunek powoduje, że urządzenie publikuje swoje bieżące ustawienia. -
Po jednym: opublikuj samą wartość do
setting/GuestAC/<name>, np. tematsetting/GuestAC/livestatus, ładunektrue.
Poniższe nazwy to nazwy MQTT (strona Advanced grupuje je, ale przez MQTT zapisuje się je jako jedno słowo). To praktyczny podzbiór; własny zrzut ustawień urządzenia (pusty ładunek do setting/GuestAC) stanowi miarodajną listę dla Twojego oprogramowania układowego.
Połączenie i raportowanie
| Ustawienie | Domyślnie | Znaczenie |
|---|---|---|
hostname |
— | Nazwa urządzenia; tworzy prefiks tematu oraz adres .local. |
mqtthost |
— | Host lub IP brokera MQTT (oraz pola nazwy użytkownika/hasła na stronie konfiguracji). |
reporting |
60 | Okres raportowania stanu w sekundach. |
livestatus |
off | Publikuj state/ przy każdej zmianie, w czasie rzeczywistym. |
fixstatus |
off | W rejestrowaniu zawsze używaj formatu min/ave/max (oraz 0.0–1.0). |
otaauto |
on | Automatyczne aktualizacje oprogramowania układowego (mniej więcej co tydzień; wymaga internetu). |
webcontrol |
on | Włącz stronę sterowania webowego. |
websettings |
on | Włącz strony ustawień webowych. |
Home Assistant
Patrz sekcja 9: haenable, haswitches, ha1c, hafanrpm, hacomprpm, hadomain, udpdiscovery, nohvacaction, nohomepreset.
Faikout Auto
| Ustawienie | Domyślnie | Znaczenie |
|---|---|---|
autoe |
on | Włącz automatyczne operacje czasowe i zasilania. |
autop |
off | Włącz automatyczne wł./wył. zasilania. |
autoptemp |
0.5 | Włączaj/wyłączaj zasilanie, gdy temperatura odchyli się od zakresu o tę wartość. |
autot |
— | Automatyczna temperatura docelowa. |
autor |
— | Margines auto po obu stronach autot (0 = wył.). |
autob |
— | Identyfikator czujnika BLE dla odniesienia. |
auto0 / auto1
|
00:00 | Zaplanowana godzina wył./wł. (HHMM); równa lub 00:00 wyłącza. |
autofmax |
5 | Maksymalny poziom wentylatora przy starcie daleko od celu. |
autolcontrol |
off | Przełączaj diodę LED w zależności od bieżącego działania HVAC. |
autotopic |
— | Temat, który należy śledzić dla temperatury odniesienia. |
autopayload |
— | Nazwa pola JSON w tym temacie dla temperatury odniesienia. |
tempadjust |
on | Koryguj nastawę o różnicę między czujnikiem Daikina a Twoim odniesieniem. |
temptrack |
off | Opieraj nastawę na temperaturze zmierzonej przez Daikina, a nie na żądanym celu. |
tempnoflap |
0 | Minimalna liczba sekund między zmianami temperatury docelowej. |
thermostat |
off | Prosty tryb termostatu: grzej do maksimum, a następnie pozwól opaść do minimum (histereza). |
tcontrol |
600 | Limit czasu (s) dla komunikatów env/control przed wyjściem z trybu zdalnego. |
tmin / tmax
|
16 / 32 | Minimalna / maksymalna nastawa systemu. |
thermref |
50 | Procent temperatury wlotu (względem pomieszczenia), którego Twoja jednostka używa jako odniesienia. |
Precyzyjne dostrajanie zachowania predykcji i zakresu (pushtemp, switchtemp, coolover, coolback, heatover, heatback, tpredicts, tpredictt, tsample, tcoolmin, theatmax, frosttemp, minoutside) opisano w instrukcji Advanced i rzadko wymaga zmian.
Nadpisania możliwości
Jeśli oprogramowanie układowe oferuje sterowanie, którego Twoja jednostka faktycznie nie ma (lub odwrotnie), ustawienia no... wskazują mu, co ukryć: na przykład nopowerful, noecono, nostreamer, noswingv, noswingh, noquiet, nodemand, nofaikoutauto. Ustawienia wymuszające protokół nos21, nox50a, nocnwired powstrzymują próby danego protokołu, jeśli automatyczne wykrywanie wybrało niewłaściwy.
Debugowanie
| Ustawienie | Znaczenie |
|---|---|
debug |
Szczegółowe debugowanie; dla S21 jedna podsumowująca linia odpowiedzi odpytywania (odpytuje też więcej pól, więc wolniej). |
dump |
Wyprowadzaj surową komunikację szeregową na MQTT. |
snoop |
Tryb wyłącznie nasłuchu do analizy protokołu. |
13. Rozwiązywanie problemów
Nic nie pojawia się na MQTT / urządzenie pokazuje offline.
Sprawdź sam temat state/GuestAC: false oznacza, że sam Faikout nie jest połączony z brokerem. Następnie zweryfikuj, czy adres IP/nazwa hosta brokera w ustawieniach są osiągalne, czy nazwa użytkownika i hasło MQTT są poprawne, czy broker nasłuchuje (zwykle port 1883 w sieci LAN) oraz czy moduł jest w Twojej sieci WiFi 2,4GHz (nie korzysta z 5GHz). Potwierdź, że GuestAC.local ładuje się w przeglądarce, co dowodzi, że WiFi działa; wtedy jest to problem z poświadczeniami MQTT lub osiągalnością brokera.
Jednostka wciąż sama się włącza.
Wysłanie env w komunikacie control przełącza jednostkę pod sterowanie zdalne, a w trybie zdalnym zakłada się automatyczne zasilanie, jeśli autoptemp nie jest zerem (domyślnie 0.5). Aby zachować ręczne wł./wył., ustaw autop na wył. i autoptemp na 0, pozostaw tempadjust włączone i wysyłaj tylko {"env": ...} bez tablicy target. Patrz sekcja 11C.
Faikout po pewnym czasie wychodzi z trybu Auto.
Komunikaty env/control wygasają po tcontrol sekundach (domyślnie 600). Wysyłaj ponownie env w każdym komunikacie control oraz w odstępach krótszych niż limit czasu.
autotopic nic nie robi.
Subskrybowany temat musi nieść JSON z polem nazwanym w autopayload. Ładunek będący samą liczbą nie zostanie przeanalizowany. Albo publikuj JSON, albo samodzielnie wypchnij wartość komunikatem control env (sekcja 11A).
Home Assistant nie pokazuje urządzenia.
haenable musi być włączone (domyślnie jest), integracja HA MQTT musi być zainstalowana z włączonym wykrywaniem, a urządzenie musi być na tym samym brokerze co HA. Potwierdź, że komunikaty wykrywania docierają, subskrybując <MAC>/# (adres MAC modułu). Jeśli wolisz w ogóle nie używać MQTT, użyj zamiast tego natywnej integracji Daikin z adresem IP urządzenia Faikout.
Stan wygląda na nieaktualny.
Komunikaty state/ są zachowywane, więc klient może pokazać ostatnią wartość po ponownym uruchomieniu. Jeśli widzisz naprawdę stare dane, wyczyść zachowany komunikat na tym temacie i włącz livestatus dla natychmiastowych aktualizacji przy zmianie.
Niektóre sterowania nic nie robią.
S21 został odtworzony metodą inżynierii wstecznej i różni się w zależności od modelu; powerful, econo, demand i podobne mogą nie istnieć w Twojej jednostce i są po prostu ignorowane. JSON stanu pokazuje, które sterowania Twoja jednostka naprawdę udostępnia.
14. Szybka ściąga
Zastąp GuestAC swoją nazwą hosta, a 192.168.1.10 swoim brokerem.
Odczyt (subskrypcja)
| Temat | Co otrzymujesz |
|---|---|
state/GuestAC |
Zachowany JSON stanu: power, mode, temp, home, outside, online, … |
state/GuestAC |
Ładunek false oznacza, że sam Faikout jest offline. |
setting/GuestAC |
Opublikuj pusty ładunek, a urządzenie odpowie swoimi bieżącymi ustawieniami. |
Polecenia (publikacja do command/GuestAC/...)
| Temat | Ładunek |
|---|---|
command/GuestAC/on, command/GuestAC/off
|
brak |
command/GuestAC/heat cool auto fan dry
|
brak |
command/GuestAC/low medium high
|
brak |
command/GuestAC/temp |
21 |
command/GuestAC/status |
brak (wymusza raport stanu) |
command/GuestAC/control |
JSON (patrz poniżej) |
Ładunek control
{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}
| Pole | Wartości |
|---|---|
power |
true / false
|
mode |
H C A D F (grzanie, chłodzenie, auto, osuszanie, wentylacja) |
temp |
liczba, °C |
fan |
A Q 1–5 (auto, cichy, poziomy ręczne) |
swingv swingh powerful econo streamer
|
true / false
|
target |
liczba lub [min,max] (tablica wymusza Faikout Auto) |
env |
liczba (zewnętrzne odniesienie dla Faikout Auto) |
Ustawienia (publikacja do setting/GuestAC...)
| Temat | Ładunek |
|---|---|
setting/GuestAC |
{"reporting":30,"livestatus":true} (kilka naraz) |
setting/GuestAC/reporting |
30 (po jednym) |
Zewnętrzny czujnik, ręczne wł./wył.
| Temat | Ładunek |
|---|---|
setting/GuestAC |
{"autop":false,"autoptemp":0} |
command/GuestAC/control |
{"env":22.4} — wyślij ponownie w ciągu tcontrol (600 s) |
Źródła: oprogramowanie układowe i instrukcje RevK ESP32-Faikout (README, Setup, Controls, Advanced) oraz ESP/main/settings.def w serwisie Codeberg (codeberg.org/RevK/ESP32-Faikout). Opisane zachowanie odpowiada oprogramowaniu układowemu z czerwca 2026 r.; własny zrzut ustawień urządzenia jest miarodajny dla zainstalowanej u Ciebie wersji.