StamPLC コントローラー Home Assistant 連携ガイド

このガイドでは、IoT プログラマブルロジックコントローラー StamPLC を Home Assistant に連携させる方法について説明します。

謝辞
設定ファイルを提供してくださった ESPHome コミュニティコントリビューター @Beormund に感謝します。詳細については esphome-m5stamplc を参照してください。

1. 準備

環境準備

  1. Home Assistant 公式ドキュメントを参照して、Home Assistant をインストールします。
  2. ESPHome 公式ドキュメントを参照して、ESPHome Device Builder アドオンをインストールします。(注:本チュートリアルは ESPHome 2025.10.3 を基に作成されています。コンパイルエラーが発生した場合は、まずこのバージョンに切り替えて確認することをお勧めします。)

ハードウェア製品

2. オンライン書き込み

下の オンライン書き込み ボタンをクリックし、画面の指示に従ってファームウェアの書き込みと Wi-Fi の設定を完了すると、StamPLC の Home Assistant 連携をすぐにお試しいただけます。

書き込みと設定の詳しい手順については、オンライン ESPHome ファームウェア書き込み・設定ガイドを参照してください。

オンライン書き込みの完了後は、「ファームウェアのコンパイル & 書き込み」の手順を実行する必要はありません。4. 使い方に進んでください。

3. ファームウェアのコンパイル & 書き込み

本節では、yaml 設定ファイルを基にプロジェクトを再コンパイルし、二次開発、機能変更、または新機能の追加を行う方法について説明します。

コンパイル時間
HA を使用したファームウェアのコンパイルは多くのリソースを消費します。初回コンパイルではリソースのダウンロードに時間がかかる場合があり、所要時間は HA サービスを実行するデバイスとネットワーク品質によって異なります。

デバイスの作成

  1. Home Assistant で ESPHome Builder を開き、右下の NEW DEVICE ボタンをクリックして空の設定ファイルを作成します。

  2. ダイアログで CONTINUE をクリックします。

  1. Empty Configuration を選択します。
  1. ファイル名を入力します(任意)。

設定の変更

  1. 新しく作成された設定ファイルの EDIT をクリックします。
  1. configuration.yaml の内容を設定ファイルにコピーします。
  1. 必要に応じてネットワーク設定や API 情報を変更します。たとえば、認証用の API Encryption Key を作成する場合は以下のように設定します:
yaml
1 2 3
api:
  encryption:
    key: "Your_Encryption_Key"
API Encryption Key
Key が必要な場合は、Native API ページの encryption で生成できます。

または、タイムゾーン設定を変更する場合:

yaml
1
timezone: Europe/London

適切なタイムゾーンに変更します:

yaml
1
timezone: Asia/Shanghai
  1. 右上の SAVEINSTALL を順にクリックし、Manual download を選択します。

コードが生成され、プロジェクトのコンパイルが開始されます。

  1. コンパイルが完了したら、Factory format を選択してファームウェアをダウンロードします。

ファームウェアの書き込み

  1. ファームウェアのダウンロード:ESPHome Builder の Manual download を使用して Factory Format のファームウェアをダウンロードします。

  2. Web ツールを使用してファームウェアを書き込みます:

    • ブラウザを開き、ESPHome Web にアクセスしてファームウェアをアップロードします。

    • USB Type-C データケーブルで StamPLC をホストに接続し、CONNECT をクリックしてデバイスを選択します。

    • INSTALL をクリックし、先ほどダウンロードしたファームウェアを選択してアップロードし、再度 INSTALL をクリックしてファームウェアをデバイスに書き込みます。

    • 書き込みが完了すると、デバイスは自動的にリセットされます。

4. 使い方

Home Assistant へのデバイス追加

  1. デバイスが再起動すると、設定済みのネットワークに自動接続します。通常は Settings > Devices & Services でデバイスが検出されます。

  2. Add をクリックして StamPLC を Home Assistant に統合します。事前に API Encryption Key を設定した場合は、ここで入力して認証を行う必要があります。 StamPLC の Dashboard サンプル:

  3. 実機動作の様子:

拡張

StamPLC は拡張をサポートしており、右側の 16 ピンコネクターを通じて各種拡張モジュールを接続できます。

StamPLC AC

  1. 製品概要:

    StamPLC AC は、StamPLC 本体に対応した AC リレー拡張モジュールです。AC 負荷制御と本体への電源供給機能を一体化しており、配線を大幅に簡略化します。接点式リレー(SPST - 常開型)を採用し、最大 AC 240V@10A の回路の開閉に対応します。内蔵の AC-DC 絶縁変換回路により AC 100〜240V 入力をサポートし、リレー負荷への電源供給と同時に DC 12V に降圧して本体に給電します。オンボードのプログラム可能な三色 LED により動作状態を視覚的に確認できます。StamPLC 本体は I2C プロトコル経由の IO 拡張 IC を通じてリレーおよび RGB LED を制御するため、IO リソースを効率的に節約できます。AC 負荷機器のスイッチング、電磁弁制御などの産業用途に適しています。

  2. StamPLC AC の設定: 既存の StamPLC 設定に加えて、YAML 設定ファイルにいくつかのコンポーネントを追加する必要があります:

    • IO Expander の追加:

      pi4ioe5v6408:
        - id: pi4ioe5v6408_1
          address: 0x43
        # Configuration of i2c GPIO Expander 2
        # on the StamPLC AC expansion
        - id: pi4ioe5v6408_2
          address: 0x44
    • AC リレー用スイッチの追加:

      switch:
        ...
        - platform: gpio
          restore_mode: RESTORE_DEFAULT_OFF
          name: "StamPLC AC Relay"
          id: ac_r1
          pin:
            pi4ioe5v6408: pi4ioe5v6408_2
            number: 2
            mode:
              output: true
          on_state:
            - component.update: vdu
    • AC リレー上部の LED カラー制御の追加:

      switch:
        ...
        # led indicator on StamPLC AC expansion
        - platform: gpio
          restore_mode: ALWAYS_OFF
          id: "ac_relay_led_red"
          pin:
            pi4ioe5v6408: pi4ioe5v6408_2
            number: 5
            inverted: true
            mode:
              output: true
      
        - platform: gpio
          restore_mode: ALWAYS_OFF
          id: "ac_relay_led_green"
          pin:
            pi4ioe5v6408: pi4ioe5v6408_2
            number: 6
            inverted: true
            mode:
              output: true
      
        - platform: gpio
          restore_mode: ALWAYS_OFF
          id: "ac_relay_led_blue"
          pin:
            pi4ioe5v6408: pi4ioe5v6408_2
            number: 7
            inverted: true
            mode:
              output: true
    • Display コンポーネントへの AC リレー UI の追加:

      display:
        ...
        lambda: |-
          ...
          it.print(5, 80, id(font1), Color(orange), "Relays 1-4");
          it.filled_rectangle(5, 99, 25, 25, id(r1).state ? id(red) : id(grey));
          it.filled_rectangle(34, 99, 25, 25, id(r2).state ? id(red) : id(grey));
          it.filled_rectangle(63, 99, 25, 25, id(r3).state ? id(red) : id(grey));
          it.filled_rectangle(92, 99, 25, 25, id(r4).state ? id(red) : id(grey));
          it.print(141, 80, id(font1), Color(orange), "AC Expansion");    // The AC Relay Expansion
          it.filled_rectangle(141, 99, 25, 25, id(ac_r1).state ? id(red) : id(grey));
        ...
  3. 設定が完了したら、ファームウェアを再コンパイルしてアップロードし、デバイスを Home Assistant に追加します。追加の AC リレースイッチで AC リレーを制御できるようになります。

  4. スイッチをオン / オフすると、LCD の状態が連動して切り替わります。

StamPLC PoE

  1. 製品概要:

    StamPLC PoE は、StamPLC 本体に対応したイーサネット制御モジュールで、PoE(Power over Ethernet)技術をサポートし、LAN ケーブル 1 本でデータ通信と給電を同時に実現します。W5500 組み込みイーサネットコントローラーを内蔵し、TCP/IP プロトコルスタックを統合。8 チャンネルの独立したハードウェアソケット、10/100M イーサネット MAC および PHY を備え、UDP・TCP などの主要なネットワーク通信方式に対応しています。

  2. StamPLC PoE の設定:

互換性に関する注意
PoE(W5500 Ethernet)コンポーネントは SPI ハードウェアリソースを占有するため、LCD Display と PoE は同一の SPI ピンを使用します。同時に定義するとコンフリクトが発生するため、ハードウェア上では PoE と Display のどちらか一方のみ使用できます。
また、ネットワークコンポーネントにおいて wifiethernet は排他的な選択肢であり、同時に使用することはできません。

PoE 機能を使用する場合は、wifidisplayspi コンポーネントを無効化(設定ファイルから該当の宣言 / 定義を削除)した上で、元の設定ファイルに以下を追加してください:

ethernet:
  id: ethernet_1
  type: W5500
  clk_pin: GPIO7
  mosi_pin: GPIO8
  miso_pin: GPIO9
  cs_pin: GPIO11
  clock_speed: 20MHz
  1. 設定を保存して再コンパイルし、プロジェクトをアップロードします。PoE 対応スイッチまたはルーターを使用してデバイスに給電しながらネットワーク接続を行います。

5. 動画

Page Tools
PDF
On This Page