MQTTマニュアル
Faikin Australia
Faikin Faikout — MQTTマニュアル
MQTT経由でFaikin Faikoutを制御・監視する方法を、初期設定からトピック・コマンド・設定の完全リファレンスまで解説します。
MQTT経由でFaikin Faikoutを制御・監視するための完全ガイドです。初期設定からトピック・コマンド・設定の完全リファレンスまでをカバーします。
本書はRevKのファームウェアを実行するWiFi版Faikoutモジュールを対象としています(本機の名称は Faikoutですが、旧名の Faikinが表示される場合もあります)。ファームウェアがプロトコルを自動で判別するため、S21、X50A、CN_WIREDのいずれのユニットにも適用されます。本書全体を通じて、ホスト名の例は GuestAC、ブローカーIPの例は 192.168.1.10です。いずれもご自身のものに置き換えてください。
このページの内容
1. MQTTでできること
すべてがローカルで完結します。Faikoutはご自宅のネットワーク上でMQTTを話し、クラウドアカウントもインターネット依存もありません。MQTT経由で次のことができます。
- ユニットの制御:電源、モード、設定温度、風量、ルーバースイング、パワフル/エコノ。
- 赤外線リモコンでは見えないライブテレメトリの読み取り:室内、コイル/液管、吸込、外気の各温度、加えてモデルと運転状態。
- Faikout Auto層の駆動:目標バンド、スケジュール、外部温度リファレンス。
- Home Assistant(ネイティブ自動検出)、openHAB、Node-RED、Domoticz、ioBroker、その他MQTTを話すあらゆるものとの連携。
MQTT制御は内蔵Webインターフェースや赤外線リモコンと並行して動作します。どこから変更しても、数秒以内にすべての場所に反映されます。
2. 始める前に
必要なもの:
-
Faikoutが取り付け済みで、すでに2.4GHzのWiFiに接続されていること(Setupマニュアルを参照)。ブラウザで
GuestAC.localにアクセスできます。 - 同じネットワーク上の MQTTブローカー。一般的な選択肢は、Home Assistant内のMosquittoアドオン、またはRaspberry Pi、NAS、サーバー上のスタンドアロンMosquittoです。
- ブローカーの IPアドレスまたはホスト名、およびブローカーが認証を要求する場合は ユーザー名とパスワード(Home Assistantのブローカーは通常要求します)。
ブローカーはご自身が管理するネットワーク上に置いてください。FaikoutのMQTTは平文のローカルトラフィックであり、インターネットに公開することは想定していません。
3. ステップ1:FaikoutをMQTTブローカーに向ける
-
GuestAC.localにアクセスし、 WiFi settingsを開きます(まだWiFiに接続していない場合は、本機のセットアップを長押しし、そのDaikin/Faikoutアクセスポイントに接続します)。 -
MQTTセクションで、
Host(ブローカーのIPまたはホスト名、例:
192.168.1.10)を入力し、ブローカーで使用する場合は Usernameと Passwordを入力します。 -
Hostnameが覚えやすい名前(例:
GuestAC)に設定されていることを確認します。この名前はすべてのMQTTトピックの一部になるため、オートメーションを組む前に決めてください。 - 保存します。Faikoutが再接続し、パブリッシュを開始します。
基盤となる接続設定は
mqtthostです(RevKライブラリの標準)。ユーザー名とパスワードは同じページで入力します。接続後は、MQTT自体を介して後からこれらを変更することもできます(設定リファレンスを参照)。
4. ステップ2:接続を確認する
その機器に関するすべてをサブスクライブし、保持されたステータスを確認します。
mosquitto_sub -h 192.168.1.10 -u USER -P PASS -t 'state/GuestAC/#' -v
保持された
state/GuestACメッセージが表示されるはずです。そのペイロードは、エアコンがモジュールと通信しているときに
online trueを報告します。サフィックスなしの
state/GuestACトピックは機器自身の存在を示します。ペイロードが
falseの場合、Faikout自体がオフラインであることを意味します(これはMQTTのwill/birthメッセージです)。
何も届かない場合は、トラブルシューティングへ進んでください。
5. トピック構造
Faikoutは標準のRevKライブラリのトピック構成を使用します:
prefix/hostname/suffix
。ホスト名が
GuestACの場合:
| 種類 | トピック | 意味 |
|---|---|---|
| コマンド |
command/GuestAC/<command>
|
機器に今すぐ何かを実行させます(例:電源オン、モード設定)。 |
| 設定(JSON) |
setting/GuestAC
|
ペイロードは1つ以上の設定のJSONです(例:
{"reporting":60})。
空のペイロードを送ると、機器は現在の設定を返信します。
|
| 設定(単一) |
setting/GuestAC/<name>
|
1つの設定をセットします。ペイロードは値そのものです(例:トピック
setting/GuestAC/reporting、ペイロード
30)。
|
| 状態 |
state/GuestAC/<aspect>
|
保持されるステータスで、定期的および変化時にパブリッシュされます。サフィックスなしの
state/GuestACは機器自身の状態です(
false = オフライン)。
|
| イベント |
event/GuestAC/<x>
|
発生した単発の出来事。保持されません。 |
| 情報 |
info/GuestAC/<x>
|
特定のイベントに紐づかない情報メッセージ。 |
| エラー |
error/GuestAC/<x>
|
エラーはここで報告されます。 |
ほとんどのオートメーションでは、このうち2つだけで十分です。
command/GuestAC/controlにパブリッシュし、
state/GuestACをサブスクライブします。
6. コマンドの送信
command/GuestAC/<command>にパブリッシュします。単純なコマンドはペイロードを取りません。いくつかはペイロードとして引数を取ります。
| コマンド | ペイロード | 効果 |
|---|---|---|
on /
off
|
なし | 電源オンまたはオフ。 |
heat
cool
auto
fan
dry
|
なし | モードの変更。 |
low
medium
high
|
なし | 風量の変更。 |
temp
|
数値 | 目標温度をセットします(例:ペイロード
21)。
|
status
|
なし | ステータス報告を即座に強制します。 |
control
|
JSON | 任意の制御の組み合わせを一度にセットします(次のセクションを参照)。 |
send
|
文字列 / 配列 | 上級者向け:生のプロトコルメッセージを強制送信します(例:S21の
D62000)。JSON文字列またはJSON文字列配列を受け付けます。上位ビットのバイト(0x80~0xFF)はJSONのunicodeエスケープとして記述されます。プロトコルのデバッグ専用です。
|
例:
# 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.
controlメッセージ(主役)
command/GuestAC/controlはJSONペイロードを取り、複数の項目を一度にセットする最もすっきりした方法です。同じフィールド名がステータスJSONにも現れるため、送る内容と読む内容が対応します。
| フィールド | 型 | 意味 |
|---|---|---|
power
|
boolean | オン / オフ。 |
mode
|
H
C
A
D
F
|
暖房、冷房、自動、除湿、送風。 |
temp
|
number | 目標温度(°C)。 |
fan
|
A
Q
1–
5
|
自動、静音/夜間、または手動レベル1~5。 |
swingv
|
boolean | 上下ルーバースイング。 |
swingh
|
boolean | 左右ルーバースイング。 |
powerful
|
boolean | パワフル/ターボブースト(ユニットが対応している場合)。 |
econo
|
boolean | エコノミーモード(対応している場合)。 |
streamer
|
boolean | ストリーマー/空気清浄(対応している場合)。 |
target
|
numberまたは
[min,max]
|
単一の目標温度、 または2要素のmin/max配列。配列を指定するとFaikout Autoモードが強制されます。 |
env
|
number | Faikout Autoが使用する外部の室温リファレンス。 |
例:自動風量で24°Cに冷房、上下スイングをオン:
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
-m '{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}'
注意:
powerful、
econo、
streamerなどの追加機能はモデルによって異なります。S21はリバースエンジニアリングされたものでユニット間で完全には同一ではないため、お使いのユニットにないスイッチは単に無視されます。ユニットが実際に公開している制御は、ステータスJSONで分かります。
8. ステータスの読み取り
Faikoutは3系統のトピックにステータスをパブリッシュします。
-
state/GuestACは人間/オートメーション向けのステータスで、reporting秒ごと(デフォルト60)および大きな変化時にパブリッシュされます。livestatusをオンにすると、 すべての変化時にリアルタイムでもパブリッシュされます。 -
Faikout/...は約1分ごとにパブリッシュされ、グラフ化のためにfaikoutlogツールがMySQL/MariaDBデータベースに保存することを想定しています。 -
<MAC>/...はHome Assistantの自動検出フィードで、HAサポートが有効な場合にパブリッシュされます(セクション9を参照)。
state JSONには上記の
controlテーブルのすべて(
power、
mode、
temp、
fanなどを読み戻せます)に加えて、次の読み取り専用フィールドが含まれます。
| フィールド | 意味 |
|---|---|
online
|
エアコンが接続され応答しています。 |
heat
|
現在、暖房状態です。 |
slave
|
暖房/冷房のマスターではないため、要求されたモードを適用できません。 |
antifreeze
|
凍結防止モード中のため、通常運転ではありません。 |
model
|
モデル名(判明している場合)。 |
home
|
室温(リモートリファレンスまたは実測)。 |
outside
|
外気温(ユニットが報告する場合)。 |
inlet
|
吸込(戻り空気)温度(判明している場合)。 |
liquid
|
液冷媒の供給温度(判明している場合)。 |
control
|
外部/自動制御下にあります。 |
データベースロギング形式:
Faikout/フィードでは、各値が期間にわたって要約されます。変化しなかった場合は単一の値として報告され、変化した場合は、数値は
[min, average, max]配列に、booleanは期間中trueだった割合を示す
0.0–
1.0の分数になります。
fixstatusをオンにすると、常に配列/分数形式を使用します。
9. MQTT経由のHome Assistant
FaikoutはネイティブなHome Assistant自動検出を備えており、
デフォルトでオンです(設定
haenable、デフォルトオン)。モジュールがHome Assistantと同じブローカーと通信すると、climateエンティティがひとりでに現れます。
セットアップ:
- Home Assistantが使用するMQTTブローカーを実行します。最も簡単なのは、Home Assistant OSの Mosquitto broker add-onに MQTT integrationを追加する方法です。
- その機器用のMQTT ユーザーをHome Assistantで作成します(Mosquittoアドオンでは通常のHAユーザーで動作します)。
- Faikoutのセットアップページで、 MQTT hostをHome AssistantのIPに設定し、その ユーザー名とパスワードを入力します。
- 1分以内にHome Assistantが機器を検出し(
<MAC>/...トピックの下にパブリッシュされます)、climateカードを追加します。YAMLは不要です。
役立つHA関連設定(MQTTまたはAdvanced Webページから設定):
| 設定 | デフォルト | 効果 |
|---|---|---|
haenable
|
on | Home Assistant自動検出。(旧ファームウェアでは
haと呼ばれていました。)
|
haswitches
|
off | 追加のスイッチ(例:powerful、econo)を個別のHAエンティティとして公開します。 |
ha1c
|
off | HAの温度コントロールで1°Cステップを強制します。 |
hafanrpm
|
off | 風量をHzではなくRPMで報告します。 |
hacomprpm
|
off | 圧縮機速度をHzではなくRPMで報告します。 |
hadomain
|
local
|
HAリンクに使用するローカルドメイン。空にするとIPを使用します。 |
nohvacaction
|
off | HAでのFaikout Autoの
hvac_action報告を停止します。
|
nohomepreset
|
off | HAのプリセット一覧から「home」エントリを除外します。 |
ダッシュボードとエンティティカードのYAML
エンティティを
作成するのにYAMLは不要です。自動検出により、
climateエンティティと温度センサーがひとりでに作られます。以下のYAMLは、それらをLovelaceダッシュボードに配置するためのものです。
エンティティIDはホスト名から導出されるため、
GuestACという名前の機器では
climate.guestacと、
sensor.guestac_temperatureのようなセンサーになります。正確なスラグはファームウェアのバージョンやHAの命名設定によって変わるため、
Settings → Devices & Services → MQTT → (お使いの機器)または
Developer Tools → Statesで確認し、以下のIDを合わせて調整してください。
エンティティカード。 Add card → Manualで任意のダッシュボードにカードを追加し、以下を貼り付けます。
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
ダッシュボードのフルビュー。ダッシュボードを開き、
Edit → (三点リーダー) → Raw configuration editorで、
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
単一のカードを視覚的に組みたい場合は、
Mushroomの「Climate」カードと内蔵の
Thermostatカードのどちらも、
climate.guestacに直接バインドできます。
よりシンプルな非MQTTの代替手段。FaikoutはDaikin独自のローカルAPIもエミュレートし、BRP互換のUDP検出に応答します(設定
udpdiscovery)。MQTTブローカーを実行したくない場合は、代わりにHome Assistantの
内蔵Daikin integrationを追加し、FaikoutのIPアドレスに向けることができます。技術に不慣れな方にとっては、これがHAへの最も手間のかからない経路です。MQTTの経路は、Daikin integrationが公開しない機能が欲しい場合や、HA以外のものと連携する場合のために取っておきましょう。
Apple Home / Alexa / Google。これらは直接MQTTを話しませんが、ブリッジがその隔たりを埋めます。Home Assistantは3つすべてをブリッジします。HAのないApple専用の家庭では、MQTTプラグイン(例:EasyMQTT)を使ったHomebridgeがFaikoutをiOSのネイティブHomeアプリとSiriに取り込みます。実績は十分ありますが、セットアップするのは自己ホスト型のサーバーなので、ある程度の設定は覚悟してください。
10. その他のプラットフォーム
同じ2つのトピック(書き込みは
command/GuestAC/control、読み取りは
state/GuestAC)はどこでも機能します。
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
- 制御するには:トピック
command/GuestAC/controlのmqtt outノード。JSONオブジェクトであるmsg.payloadを渡します(templateまたはfunctionノード、もしくはペイロードをJSON値に設定するchangeノードを使用)。 - 監視するには:
state/GuestAC上のmqtt inノードに続けて、ルーティングに使えるオブジェクトに解析するjsonノード(例:payload.home、payload.power)。
openHAB
汎用の MQTT bindingを使用します。ブローカー用のMQTT Thingを作成し、次のようなチャンネルを作ります。
-
commandTopic = command/GuestAC/controlのSwitchチャンネル。値を{"power":%s}として整形します。 -
stateTopic = state/GuestACのNumberチャンネルと、室温を読み取るための$.homeのようなJSONPATH変換。
同じパターン(
command/.../controlにJSONをパブリッシュし、
state/...からJSONを解析する)が、Domoticz、ioBroker、Jeedom、FHEM、Homey、Hubitat、Gladysにも当てはまります。
11. MQTT経由のFaikout Auto
Faikout Autoは、ユニットを暖房/冷房/オフの間で微調整して目標バンドを維持する追加の制御層であり、エアコン自身のセンサーの代わりに 外部温度センサーを任意で使用できます。駆動方法は3通りあります:Web UIから、BLEセンサーから、またはMQTT経由です。MQTTの経路は以下のとおりです。
A. ご自身のオートメーションから測定値をプッシュする
env(および任意で
target)を含む
controlメッセージを送ります。するとユニットは自身がリモート制御下にあるものとして扱います。
mosquitto_pub -h 192.168.1.10 -t 'command/GuestAC/control' \
-m '{"env":22.4,"target":[20,22]}'
-
envはお使いのセンサーからの現在の室温です。 すべてのcontrolメッセージで再送信し、かつ少なくともtcontrol秒ごと(デフォルト600)に送る必要があります。タイムアウトすると、ユニットはリモート/自動モードから抜けます。 -
[min,max]配列としてのtarget(またはmargin付きの単一の数値)はFaikout Autoモードを強制し、快適バンドを定義します。
B. Faikoutをセンサートピックにサブスクライブさせる
プッシュする代わりに、既存のMQTTトピックを追従するようFaikoutに指示します。
| 設定 | 意味 |
|---|---|
autotopic
|
リファレンス温度のためにサブスクライブするMQTTトピック。 |
autopayload
|
そのトピックのJSONペイロード内で温度を保持する フィールド名。 |
重要:
autotopic上のペイロードは、指定したフィールドを含む
JSONでなければなりません。素の数値をパブリッシュするトピック(例:単純なESPHomeのstateトピック)は解析されません。JSONでラップするか、経路Aを使用してください。
C. 外部センサーを追従しつつ、オン/オフは手動のまま
よくある要望:正確な外部測定値に合わせて制御するが、ユニットが自分で電源をオン/オフしないようにする。落とし穴は、
envを送るとユニットが「リモート」になり、リモート時には
autoptempがゼロでない(デフォルト
0.5)場合に自動電源が前提とされる点です。そこで:
-
autopを オフに、autoptempを 0に設定します(自動の電源オン/オフを停止します)。 -
tempadjustを オンのままにします(これが実際にユニットをリファレンスに合わせるものです。設定温度をreference - measuredの分だけ調整します)。 -
target配列を送 らないでください(配列は完全なAutoバンド/電源動作を強制します)。{"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}'
controlメッセージで送れる自動モードの制御
これらは設定を反映するもので、リモート制御下にないときにステータスで報告されます。
| フィールド | 意味 |
|---|---|
autor
|
目標の両側の自動マージン。
0.0はオフを意味します。
|
autot
|
自動の目標温度。 |
autob
|
リファレンスとして使用するBLEセンサーID。 |
auto0
|
オフ時刻、
HH:MM。
00:00はオフにしないことを意味します。
|
auto1
|
オン時刻、
HH:MM。
00:00はオンにしないことを意味します。
|
12. 設定リファレンス
設定はMQTT経由で2通りの形式で読み書きします。
-
一括 / 読み戻し:
setting/GuestACにJSONをパブリッシュします(例:{"reporting":30,"livestatus":true})。空のペイロードを送ると、機器は現在の設定をパブリッシュします。 -
1つずつ:
setting/GuestAC/<name>に値そのものをパブリッシュします(例:トピックsetting/GuestAC/livestatus、ペイロードtrue)。
以下の名前はMQTT名です(Advanced Webページではグループ化されていますが、MQTT経由では1語で記述します)。これは実用的なサブセットです。機器自身の設定ダンプ(
setting/GuestACへの空ペイロード)が、お使いのファームウェアにとっての正式な一覧です。
接続と報告
| 設定 | デフォルト | 意味 |
|---|---|---|
hostname
|
— | 機器名。トピックのprefixと
.localアドレスを形成します。
|
mqtthost
|
— | MQTTブローカーのホストまたはIP(セットアップページのユーザー名/パスワードフィールドを含む)。 |
reporting
|
60 | ステータス報告の周期(秒)。 |
livestatus
|
off | 変化のたびにリアルタイムで
state/をパブリッシュします。
|
fixstatus
|
off | ロギングで常にmin/ave/max(および0.0–1.0)形式を使用します。 |
otaauto
|
on | 自動ファームウェア更新(おおむね週次、インターネットが必要)。 |
webcontrol
|
on | Web制御ページを有効にします。 |
websettings
|
on | Web設定ページを有効にします。 |
Home Assistant
セクション9を参照:
haenable、
haswitches、
ha1c、
hafanrpm、
hacomprpm、
hadomain、
udpdiscovery、
nohvacaction、
nohomepreset。
Faikout Auto
| 設定 | デフォルト | 意味 |
|---|---|---|
autoe
|
on | 自動の時刻動作と電源動作を有効にします。 |
autop
|
off | 自動の電源オン/オフを有効にします。 |
autoptemp
|
0.5 | 温度がバンドからこの分だけ逸脱したときに電源をオン/オフします。 |
autot
|
— | 自動の目標温度。 |
autor
|
— |
autotの両側の自動マージン(0 = オフ)。
|
autob
|
— | リファレンス用のBLEセンサーID。 |
auto0 /
auto1
|
00:00 | スケジュールされたオフ / オン時刻(
HHMM)。等しい場合または
00:00で無効になります。
|
autofmax
|
5 | 目標から大きく離れた状態で開始するときの最大風量レベル。 |
autolcontrol
|
off | 現在のHVACアクションに基づいてLEDを切り替えます。 |
autotopic
|
— | リファレンス温度を追従するトピック。 |
autopayload
|
— | そのトピックでリファレンス温度を保持するJSONフィールド名。 |
tempadjust
|
on | Daikinのセンサーとお使いのリファレンスとの差の分だけ設定温度を調整します。 |
temptrack
|
off | 設定温度を、要求された目標ではなくDaikinの実測温度に基づけます。 |
tempnoflap
|
0 | 目標温度の変更間隔の最小秒数。 |
thermostat
|
off | シンプルなサーモスタットモード:最大まで暖房し、その後最小まで下がるに任せます(ヒステリシス)。 |
tcontrol
|
600 | リモートモードから戻る前の
env/
controlメッセージのタイムアウト(秒)。
|
tmin /
tmax
|
16 / 32 | システムの最小 / 最大設定温度。 |
thermref
|
50 | お使いのユニットがリファレンスとして使用する吸込(対室温)温度の割合。 |
予測とバンド動作の微調整(
pushtemp、
switchtemp、
coolover、
coolback、
heatover、
heatback、
tpredicts、
tpredictt、
tsample、
tcoolmin、
theatmax、
frosttemp、
minoutside)はAdvancedマニュアルに記載されており、変更が必要になることはまれです。
機能オーバーライド
ファームウェアがお使いのユニットに実際にはない制御を提供する場合(またはその逆)、
no...設定が何を隠すかを指示します。例:
nopowerful、
noecono、
nostreamer、
noswingv、
noswingh、
noquiet、
nodemand、
nofaikoutauto。プロトコル強制設定の
nos21、
nox50a、
nocnwiredは、自動検出が誤ったものを選んだ場合に、指定したプロトコルの試行を停止します。
デバッグ
| 設定 | 意味 |
|---|---|
debug
|
詳細デバッグ。S21では、ポーリング応答の要約を1行で表示します(より多くのフィールドもポーリングするため、その分遅くなります)。 |
dump
|
生のシリアル通信をMQTTに出力します。 |
snoop
|
プロトコル解析用のリッスン専用モード。 |
13. トラブルシューティング
MQTTに何も現れない / 機器がオフライン表示。サフィックスなしの
state/GuestACトピックを確認してください。
falseは、Faikout自体がブローカーに接続されていないことを意味します。次に、設定内のブローカーIP/ホスト名に到達できること、MQTTのユーザー名とパスワードが正しいこと、ブローカーがリッスンしていること(通常はLAN上のポート1883)、モジュールが2.4GHzのWiFiに接続されていること(5GHzは使用しません)を確認してください。
GuestAC.localがブラウザで読み込めることを確認してWiFiが問題ないと分かれば、MQTTの認証情報またはブローカー到達性の問題です。
ユニットが勝手にオンになり続ける。
controlメッセージで
envを送るとユニットがリモート制御下に入り、リモート時には
autoptempがゼロでない(デフォルト
0.5)場合に自動電源が前提とされます。オン/オフを手動のままにするには、
autopをオフ、
autoptempを0に設定し、
tempadjustをオンのままにして、
target配列なしで
{"env": ...}だけを送ってください。セクション11Cを参照。
Faikoutがしばらくするとオートモードから抜ける。
env/
controlメッセージは
tcontrol秒(デフォルト600)後にタイムアウトします。すべてのcontrolメッセージで、かつタイムアウトより短い周期で
envを再送信してください。
autotopicが何も起こさない。
サブスクライブしたトピックは、
autopayloadで指定したフィールドを持つ
JSONを運ぶ必要があります。素の数値ペイロードは解析されません。JSONをパブリッシュするか、
env controlメッセージで自分で値をプッシュしてください(セクション11A)。
Home Assistantに機器が表示されない。
haenableがオンであること(デフォルトでオン)、HAのMQTT integrationが検出有効でインストールされていること、機器がHAと同じブローカー上にあることが必要です。
<MAC>/#(モジュールのMACアドレス)をサブスクライブして、検出メッセージが届いていることを確認してください。MQTTを一切使いたくない場合は、代わりにFaikoutのIPで純正Daikin integrationを使用してください。
ステータスが古く見える。
state/メッセージは保持されるため、クライアントは再起動後に最後の値を表示できます。本当に古いデータが見える場合は、そのトピックの保持メッセージをクリアし、変化時に即時更新するよう
livestatusをオンにしてください。
一部の制御が効かない。S21はリバースエンジニアリングされたもので、モデルによって異なります。
powerful、
econo、
demandなどはお使いのユニットには存在せず、単に無視される場合があります。ユニットが実際に公開している制御は、ステータスJSONに表示されます。
14. クイックリファレンス・チートシート
GuestACをお使いのホスト名に、
192.168.1.10をお使いのブローカーに置き換えてください。
読み取り(サブスクライブ)
| トピック | 受信する内容 |
|---|---|
state/GuestAC
|
保持されるステータスJSON:
power、
mode、
temp、
home、
outside、
online、...
|
state/GuestAC
|
ペイロード
falseはFaikout自体がオフラインであることを意味します。
|
setting/GuestAC
|
空のペイロードをパブリッシュすると、機器が現在の設定を返信します。 |
コマンド(
command/GuestAC/...にパブリッシュ)
| トピック | ペイロード |
|---|---|
command/GuestAC/on、
command/GuestAC/off
|
なし |
command/GuestAC/heat
cool
auto
fan
dry
|
なし |
command/GuestAC/low
medium
high
|
なし |
command/GuestAC/temp
|
21
|
command/GuestAC/status
|
なし(ステータス報告を強制します) |
command/GuestAC/control
|
JSON(下記参照) |
controlペイロード
{"power":true,"mode":"C","temp":24,"fan":"A","swingv":true}
| フィールド | 値 |
|---|---|
power
|
true /
false
|
mode
|
H
C
A
D
F(暖房、冷房、自動、除湿、送風)
|
temp
|
数値、°C |
fan
|
A
Q
1–
5(自動、静音、手動レベル)
|
swingv
swingh
powerful
econo
streamer
|
true /
false
|
target
|
数値、または
[min,max](配列はFaikout Autoを強制します)
|
env
|
数値(Faikout Auto用の外部リファレンス) |
設定(
setting/GuestAC...にパブリッシュ)
| トピック | ペイロード |
|---|---|
setting/GuestAC
|
{"reporting":30,"livestatus":true}(複数を一度に)
|
setting/GuestAC/reporting
|
30(1つずつ)
|
外部センサー、オン/オフは手動のまま
| トピック | ペイロード |
|---|---|
setting/GuestAC
|
{"autop":false,"autoptemp":0}
|
command/GuestAC/control
|
{"env":22.4} —
tcontrol(600秒)以内に再送信
|
出典:RevK ESP32-Faikoutファームウェアおよびマニュアル(README、Setup、Controls、Advanced)とCodeberg上の
ESP/main/settings.def(codeberg.org/RevK/ESP32-Faikout)。記載の動作は2026年6月時点のファームウェアに一致します。お使いのインストール版にとっては、機器自身の設定ダンプが正式なものです。