MQTTマニュアル

Faikin Australia

MQTT 経由での Faikin Faikout の制御と監視について、初期設定から、トピック・コマンド・設定の完全なリファレンスまでを解説します。

すべての制御はローカルで完結します · クラウド不要、アカウント不要 · Home Assistant、openHAB、Node-RED、その他 MQTT に対応するあらゆるものと連携します。

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 にすでに接続されていること(セットアップマニュアルを参照)。ブラウザで GuestAC.local からアクセスできます。
  • 同じネットワーク上の MQTT ブローカー。よく使われるのは Home Assistant 内の Mosquitto アドオン、または Raspberry Pi・NAS・サーバー上の単独の Mosquitto です。
  • ブローカーの IP アドレスまたはホスト名、およびブローカーが認証を必要とする場合は ユーザー名とパスワード(Home Assistant のブローカーは通常必要とします)。

ブローカーはご自身が管理するネットワーク上に置いてください。Faikout の MQTT は平文のローカル通信であり、インターネットに公開することは想定されていません。

3. ステップ 1: Faikout を MQTT ブローカーに向ける

  1. GuestAC.local にアクセスし、WiFi 設定を開きます(まだ WiFi に接続されていない場合は、デバイスのセットアップを起動し、その Daikin/Faikout アクセスポイントに接続します)。
  2. MQTT セクションで、Host(ブローカーの IP またはホスト名、例: 192.168.1.10)を入力し、ブローカーが使用する場合は UsernamePassword も入力します。
  3. Hostname を覚えやすいもの、例えば GuestAC に設定してください。この名前はすべての MQTT トピックの一部になるため、オートメーションを組む前に決めておきます。
  4. 保存します。Faikout は再接続し、パブリッシュを開始します。

基盤となる接続設定は mqtthost です(RevK ライブラリの標準)。ユーザー名とパスワードは同じページで入力します。接続後は MQTT 自体を介してこれらを後から変更することもできます(設定リファレンスを参照)。

4. ステップ 2: 接続を確認する

これにターミナルは必要ありません。次の2か所ですぐに確認できます。

Faikout 自身のページで

GuestAC.local にアクセスします。ページ上部のデバイス名の横に、Faikout がブローカーの接続状態を表示します。MQTT connected と表示されていれば、モジュールがブローカーに到達し、パブリッシュしている状態です。

デバイス名の横に「MQTT connected」の表示がある Faikout のウェブページ。下には WiFi と MQTT の設定が並んでいます

この表示はページ上部のデバイス名の横にあります。MQTT のホスト、ユーザー、パスワードは同じページの下のほうにあります。

この表示がない場合は、ホスト、ユーザー名、パスワードのいずれかが誤っているか、モジュールが接続しているネットワークからブローカーに到達できません。設定ページの MQTT セクションを確認し、そのうえでトラブルシューティングをご覧ください。

Home Assistant で

手作業で追加するものはありません。Faikout は Home Assistant の MQTT ディスカバリーメッセージをパブリッシュするため、ブローカーに到達するとHome Assistant が自動的に見つけます。MQTT 統合がすでに設定され、同じブローカーを指していれば十分です。

  1. 設定 > デバイスとサービス > MQTT に移動し、デバイス一覧を開きます。
  2. GuestAC が数秒以内に表示され、メーカーが RevK、ファームウェアのバージョンとともに一覧に載ります。
  3. 開くと、デバイスはすでにすべて揃っています。現在温度と設定温度を表示する climate エンティティ(MQTT HVAC)、Controls にある運転モードと各機能のスイッチ(Auto、Comfort、Econo、Power、Powerful、Quiet outdoor、Sensor、Streamer、Restart)、そして Sensors にある室温と設定温度、圧縮機と送風機の回転数、湿度、熱交換器温度と外気温度、消費電力、積算電力量です。

MQTT で自動的に検出された Home Assistant 内の Faikout デバイスページ。デバイス情報、コントロール、センサーが表示されています

Home Assistant の Faikout デバイスページです。ここにあるものは手作業で追加したものではなく、climate エンティティもコントロールもセンサーもすべて MQTT ディスカバリーで届きます。

表示されない場合は、Home Assistant がモジュールと同じブローカーを使用しているか確認し、そのうえでトラブルシューティングをご覧ください。Faikout では YAML で climate エンティティを手書きする必要は決してありません。手書きが必要になっている場合は、どこか手前に問題があります。

ターミナルで確認したい場合

任意です。mosquitto のクライアントツールをすでにインストールしている場合にのみ意味があります。

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 15 自動、静音/夜間、または手動レベル 1 ~ 5。
swingv boolean 垂直ルーバーのスイング。
swingh boolean 水平ルーバーのスイング。
powerful boolean パワフル/ターボ(ユニットが対応している場合)。
econo boolean エコノミーモード(対応している場合)。
streamer boolean ストリーマ/空気清浄(対応している場合)。
target number or [min,max] 単一の目標温度、または 2 要素の最小/最大の配列です。配列を指定すると 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}'

注意: powerfuleconostreamer などの追加機能は機種に依存します。S21 はリバースエンジニアリングされたもので、ユニットによって同一ではないため、お使いのユニットにないスイッチは単に無視されます。お使いのユニットが実際に公開している制御は、ステータス JSON で確認できます。

8. ステータスの読み取り

Faikout は 3 系統のトピックにステータスをパブリッシュします。

  • state/GuestAC は人間/オートメーション向けのステータスで、reporting 秒ごと(既定 60)および重要な変化時にパブリッシュされます。livestatus をオンにすると、すべての変化時にリアルタイムでもパブリッシュされます。
  • Faikout/... は約 1 分に 1 回パブリッシュされ、faikoutlog ツールがグラフ化のために MySQL/MariaDB データベースへ保存することを目的としています。
  • <MAC>/... は Home Assistant の自動検出フィードで、HA サポートが有効なときにパブリッシュされます(セクション 9 を参照)。

state JSON には上記の control テーブルのすべて(powermodetempfan などを読み戻せます)に加え、次の読み取り専用フィールドが含まれます。

フィールド 意味
online エアコンが接続され、応答しています。
heat 現在、暖房状態です。
slave 暖房/冷房のマスターではないため、要求されたモードを適用できません。
antifreeze 凍結防止モードのため、通常の運転をしていません。
model 機種名(判明している場合)。
home 室温(リモート基準または実測値)。
outside 外気温(ユニットが報告する場合)。
inlet 吸込(戻り空気)温度(判明している場合)。
liquid 液冷媒の送り温度(判明している場合)。
control 外部/自動制御下にあります。

データベースのログ形式: Faikout/ フィードでは、各値が期間にわたって要約されます。変化しなかった場合は単一の値として報告され、変化した場合、数値は [min, average, max] の配列に、ブール値はその期間に true であった割合を示す 0.01.0 の小数になります。fixstatus をオンにすると、常に配列/小数形式が使用されます。

9. MQTT 経由の Home Assistant

Faikout は Home Assistant のネイティブな自動検出機能を備えており、既定で有効です(設定 haenable、既定はオン)。モジュールが Home Assistant と同じブローカーと通信すると、climate エンティティが自動的に現れます。

セットアップ:

  1. Home Assistant が使用する MQTT ブローカーを実行します。最も簡単なのは、Home Assistant OS の Mosquitto broker アドオンMQTT インテグレーションを追加する方法です。
  2. デバイス用に Home Assistant で MQTT ユーザーを作成します(Mosquitto アドオンでは通常の HA ユーザーで動作します)。
  3. Faikout のセットアップページで、MQTT host を Home Assistant の IP に設定し、その ユーザー名とパスワードを入力します。
  4. 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 の命名設定によって異なるため、設定 → デバイスとサービス → MQTT →(お使いのデバイス)または 開発者ツール → 状態で確認し、以下の ID をそれに合わせて調整してください。

エンティティカード。 任意のダッシュボードで カードを追加 → 手動からカードを追加し、次を貼り付けます。

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

ダッシュボード全体のビュー。 ダッシュボードを開き、編集 →(3 点メニュー)→ 構成エディタ(Raw)を選び、これを 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

1 枚のカードを視覚的に組み立てたい場合は、Mushroom の「Climate」カードと組み込みの Thermostat カードのいずれも climate.guestac に直接バインドできます。

より簡単な、MQTT を使わない代替手段。 Faikout は Daikin 独自のローカル API もエミュレートし、BRP 互換の UDP 検出に応答します(設定 udpdiscovery)。MQTT ブローカーを運用したくない場合は、代わりに Home Assistant の組み込み Daikin インテグレーションを追加し、Faikout の IP アドレスを指定できます。技術に詳しくない方にとっては、これが HA へ入る最も手間のかからない経路です。MQTT の経路は、Daikin インテグレーションが公開していない機能が必要な場合や、HA 以外のものと連携する場合に取っておきましょう。

Apple Home / Alexa / Google。 これらは MQTT を直接話しませんが、ブリッジがその差を埋めます。Home Assistant は 3 つすべてをブリッジします。HA を使わない Apple 専用の環境では、MQTT プラグイン(例: EasyMQTT)を入れた Homebridge によって、Faikout をネイティブの iOS ホームアプリと 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.homepayload.power)。

openHAB

汎用の MQTT バインディングを使用します。ブローカー用の MQTT Thing を作成し、続いて次のようなチャンネルを作成します。

  • commandTopic = command/GuestAC/control を指定し、値を {"power":%s} として整形する Switch チャンネル。
  • stateTopic = state/GuestAC を指定し、室温を読み取るために $.home のような JSONPATH 変換を用いる Number チャンネル。

同じパターン(command/.../control へ JSON をパブリッシュし、state/... から JSON を解析する)が、Domoticz、ioBroker、Jeedom、FHEM、Homey、Hubitat、Gladys にも当てはまります。

11. MQTT 経由の Faikout Auto

Faikout Auto は、ユニットを暖房/冷房/オフの間で細かく切り替えながら目標範囲を維持する追加の制御レイヤーで、エアコン自身のセンサーの代わりに 外部 温度センサーを任意で使用できます。Web UI から、BLE センサーから、または MQTT 経由の 3 通りで制御できます。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 でない限り(既定 0.5)自動電源が前提になることです。そこで次のようにします。

  • autopオフautoptemp0 に設定します(自動の電源オン/オフを停止します)。
  • 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 メッセージで送ることもできる Auto モードの制御

これらは設定を反映するもので、リモート制御下にないときはステータスで報告されます。

フィールド 意味
autor 目標値の両側の自動マージン。0.0 はオフを意味します。
autot 自動の目標温度。
autob 基準として使用する BLE センサー ID。
auto0 オフにする時刻 HH:MM00:00 はオフにしないことを意味します。
auto1 オンにする時刻 HH:MM00: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 デバイス名。トピックのプレフィックスと .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 を参照: haenablehaswitchesha1chafanrpmhacomprpmhadomainudpdiscoverynohvacactionnohomepreset

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 ユニットが基準として使用する、(室温に対する)吸込温度の割合(パーセント)。

予測および範囲の挙動の微調整(pushtempswitchtempcoolovercoolbackheatoverheatbacktpredictstpredictttsampletcoolmintheatmaxfrosttempminoutside)は Advanced マニュアルに記載されており、変更が必要になることはまれです。

機能の上書き

ファームウェアが、お使いのユニットに実際にはない制御を提示する場合(またはその逆の場合)、no... 設定で何を隠すかを指定します。例: nopowerfulnoecononostreamernoswingvnoswinghnoquietnodemandnofaikoutauto。プロトコルを強制する設定 nos21nox50anocnwired は、自動検出が誤ったプロトコルを選んだ場合に、その特定のプロトコルを試みないようにします。

デバッグ

設定 意味
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 でない限り(既定 0.5)自動電源が前提になります。オン/オフを手動のままにするには、autop をオフ、autoptemp を 0 に設定し、tempadjust をオンのままにして、target 配列を付けずに {"env": ...} のみを送ります。セクション 11C を参照してください。

Faikout がしばらくすると Auto モードから外れる。 env/control メッセージは tcontrol 秒(既定 600)でタイムアウトします。すべての control メッセージで env を再送し、タイムアウトより短い間隔で送ってください。

autotopic が何も動作しない。 サブスクライブするトピックは、autopayload で指定したフィールドを含む JSON を運ぶ必要があります。値そのもののペイロードは解析できません。JSON をパブリッシュするか、env の control メッセージで自分で値をプッシュしてください(セクション 11A)。

Home Assistant にデバイスが表示されない。 haenable がオンであること(既定でオン)、HA の MQTT インテグレーションが検出有効でインストールされていること、デバイスが HA と同じブローカー上にあることが必要です。<MAC>/#(モジュールの MAC アドレス)をサブスクライブして、検出メッセージが届いていることを確認します。MQTT をまったく使いたくない場合は、代わりに Faikout の IP を指定したネイティブの Daikin インテグレーションを使用してください。

ステータスが古く見える。 state/ メッセージは保持されるため、クライアントは再起動後に最後の値を表示できます。本当に古いデータが見える場合は、そのトピックの保持メッセージをクリアし、変化時の即時更新のために livestatus をオンにしてください。

一部の制御が何も動作しない。 S21 はリバースエンジニアリングされたもので機種によって異なります。powerfuleconodemand などはお使いのユニットに存在しないことがあり、その場合は単に無視されます。お使いのユニットが実際に公開している制御は、ステータス JSON で確認できます。

14. クイックリファレンス(早見表)

GuestAC をご自身のホスト名に、192.168.1.10 をご自身のブローカーに置き換えてください。

読み取り(サブスクライブ)

トピック 受信する内容
state/GuestAC 保持されたステータス JSON: powermodetemphomeoutsideonline、…
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 15(自動、静音、手動レベル)
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(codeberg.org/RevK/ESP32-Faikout)上の ESP/main/settings.def。記載の挙動は 2026 年 6 月時点のファームウェアに対応します。インストール済みのバージョンについては、デバイス自身の設定ダンプが正式な情報源です。