MQTTマニュアル

Faikin Australia

Faikin Faikout — MQTTマニュアル

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

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

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

  1. GuestAC.localにアクセスし、 WiFi settingsを開きます(まだWiFiに接続していない場合は、本機のセットアップを長押しし、その Daikin/ Faikoutアクセスポイントに接続します)。
  2. MQTTセクションで、 Host(ブローカーのIPまたはホスト名、例: 192.168.1.10)を入力し、ブローカーで使用する場合は UsernamePasswordを入力します。
  3. Hostnameが覚えやすい名前(例: GuestAC)に設定されていることを確認します。この名前はすべてのMQTTトピックの一部になるため、オートメーションを組む前に決めてください。
  4. 保存します。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 15 自動、静音/夜間、または手動レベル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}'
    

注意: powerfuleconostreamerなどの追加機能はモデルによって異なります。S21はリバースエンジニアリングされたものでユニット間で完全には同一ではないため、お使いのユニットにないスイッチは単に無視されます。ユニットが実際に公開している制御は、ステータスJSONで分かります。

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

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

  • state/GuestAC は人間/オートメーション向けのステータスで、 reporting秒ごと(デフォルト60)および大きな変化時にパブリッシュされます。 livestatusをオンにすると、 すべての変化時にリアルタイムでもパブリッシュされます。
  • Faikout/... は約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]配列に、booleanは期間中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 add-onMQTT integrationを追加する方法です。
  2. その機器用のMQTT ユーザーをHome Assistantで作成します(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の命名設定によって変わるため、 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/controlmqtt outノード。JSONオブジェクトである msg.payloadを渡します( templateまたは functionノード、もしくはペイロードをJSON値に設定する changeノードを使用)。
  • 監視するには: state/GuestAC上の mqtt inノードに続けて、ルーティングに使えるオブジェクトに解析する jsonノード(例: payload.homepayload.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オフに、 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メッセージで送れる自動モードの制御

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

フィールド 意味
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 機器名。トピックの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を参照: 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.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はリバースエンジニアリングされたもので、モデルによって異なります。 powerfuleconodemandなどはお使いのユニットには存在せず、単に無視される場合があります。ユニットが実際に公開している制御は、ステータスJSONに表示されます。

14. クイックリファレンス・チートシート

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

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

トピック 受信する内容
state/GuestAC 保持されるステータスJSON: powermodetemphomeoutsideonline、...
state/GuestAC ペイロード falseはFaikout自体がオフラインであることを意味します。
setting/GuestAC 空のペイロードをパブリッシュすると、機器が現在の設定を返信します。

コマンド( command/GuestAC/...にパブリッシュ)

トピック ペイロード
command/GuestAC/oncommand/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上の ESP/main/settings.def(codeberg.org/RevK/ESP32-Faikout)。記載の動作は2026年6月時点のファームウェアに一致します。お使いのインストール版にとっては、機器自身の設定ダンプが正式なものです。