Air Quality v1.1 ESPHome 統合

Air Quality v1.1 の ESPHome 統合には、空気質センサー、ボタン、電子ペーパーディスプレイ、RTC コンポーネントが含まれます。

1. デバイス概要

項目 情報
製品名 Air Quality v1.1
SKU K131-V11
主な機能 CO2、粒子状物質、温湿度、VOC/NOx、電子ペーパーディスプレイ
通信インターフェース I2C、SPI、GPIO
ESPHome コンポーネント scd4xsen5xadcgpioledcoutputwaveshare_epaperbm8563
必要な ESPHome バージョン 2025.5.0 以降

2. コンポーネントの説明

SCD40 CO2 センサー

SCD40 は公式の SCD4x プラットフォームを使用し、CO2、温度、湿度のエンティティを提供します。

i2c:
  sda: GPIO11
  scl: GPIO12

sensor:
  - platform: scd4x
    co2:
      id: scd40_co2
      name: "CO2"
    temperature:
      id: scd40_temp
      name: "SCD40 Temperature"
    humidity:
      id: scd40_humi
      name: "SCD40 Humidity"

SEN55 空気質センサー

SEN55 は公式の SEN5x プラットフォームを使用し、PM1.0、PM2.5、PM4.0、PM10、温度、湿度、VOC、NOx のエンティティを提供します。

sensor:
  - platform: sen5x
    id: sen55
    pm_1_0:
      id: sen55_pm_1_0
      name: "PM <1µm Weight concentration"
    pm_2_5:
      id: sen55_pm_2_0
      name: "PM <2.5µm Weight concentration"
    pm_4_0:
      id: sen55_pm_4_0
      name: "PM <4µm Weight concentration"
    pm_10_0:
      id: sen55_pm_10_0
      name: "PM <10µm Weight concentration"
    temperature:
      id: sen55_temp
      name: "SEN55 Temperature"
    humidity:
      id: sen55_humi
      name: "SEN55 Humidity"
    voc:
      id: sen55_voc
      name: "VOC"
    nox:
      id: sen55_nox
      name: "NOX"

バッテリー電圧の測定

バッテリー電圧は、公式の ADC Sensor プラットフォームを使用して GPIO14 から読み取ります。分圧回路により ADC 入力は実際のバッテリー電圧の半分になるため、multiply: 2 を使用して電圧を復元します。

sensor:
  - platform: adc
    id: battery
    pin: GPIO14
    name: "Battery Voltage"
    attenuation: 12db
    accuracy_decimals: 2
    filters:
      - multiply: 2

ボタン入力

USER_A、USER_B、WAKE は公式の GPIO Binary Sensor プラットフォームを使用し、3 つのオンボードボタンを Binary Sensor エンティティとして公開します。

ボタン GPIO 入力設定
USER_A GPIO0 Low アクティブ
USER_B GPIO8 Low アクティブ、内部プルアップ
WAKE GPIO42 Low アクティブ
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      ignore_strapping_warning: true
      inverted: true
    name: "USER_A"
    on_press:
      - logger.log: "USER_A pressed"

  - platform: gpio
    pin:
      number: GPIO8
      inverted: true
      mode:
        input: true
        pullup: true
    name: "USER_B"

  - platform: gpio
    pin:
      number: GPIO42
      inverted: true
    name: "WAKE"

ブザー制御

ブザーは GPIO9 で駆動します。基本設定では LEDC Output で出力を生成し、Output Switch を通じて BEEP スイッチエンティティとして公開します。

output:
  - platform: ledc
    id: buzzer
    pin: GPIO9

switch:
  - platform: output
    name: "BEEP"
    id: beep_switch
    output: buzzer

電子ペーパーディスプレイ

電子ペーパーは公式の Waveshare E-Paper プラットフォームを使用し、モデルは 1.54inv2 に設定します。以下の最小構成では固定文字列を表示し、ディスプレイドライバーが正常に動作することを確認できます。

spi:
  clk_pin: GPIO5
  mosi_pin: GPIO6

font:
  - file: "gfonts://Montserrat@500"
    id: display_font
    size: 18

display:
  - platform: waveshare_epaper
    cs_pin: GPIO4
    dc_pin:
      number: GPIO3
      ignore_strapping_warning: true
    busy_pin: GPIO1
    reset_pin: GPIO2
    data_rate: 40000000
    model: 1.54inv2
    full_update_every: 360
    update_interval: 60s
    lambda: |-
      it.print(0, 0, id(display_font), "Air Quality v1.1");

RTC

デバイスは公式の BM8563 プラットフォームを使用します。起動時に RTC を読み取り、Home Assistant で時刻を同期した後、その時刻を RTC に書き戻します。

time:
  - platform: bm8563
    id: rtc_time
    address: 0x51
    update_interval: never
  - platform: homeassistant
    on_time_sync:
      then:
        - bm8563.write_time:

電源制御とシャットダウンに関する注意

基本設定では 2 つの GPIO Output を宣言します。GPIO10 の sens_power はセンサー電源を制御し、GPIO46 の hold はシステム電源を保持します。

output:
  - platform: gpio
    pin: GPIO10
    id: sens_power

  - platform: gpio
    pin:
      number: GPIO46
      ignore_strapping_warning: true
      inverted: true
    id: hold
電源シーケンス
現在の基本設定は sens_powerhold を宣言するだけで、output.turn_on または output.turn_off を呼び出していません。そのため、センサーの電源投入シーケンスが実装済みとはみなせません。センサー電源を制御する場合は、起動オートメーションで GPIO10 の状態を明示的に設定し、サンプリング開始前に十分な安定時間を確保してください。
シャットダウン制御
USB 外部電源がない場合、HOLD(GPIO46)を Low にすると製品がシャットダウンします。hold には inverted: true が設定されているため、output.turn_on: hold を呼び出すと物理ピンが Low になり、シャットダウンが直接トリガーされる可能性があります。電源ロジックを変更する際は、この反転関係に十分注意してください。

3. 参考例

完全なデバイス設定は packages から読み込めます。

packages:
  air_quality_base_config:
    url: https://github.com/m5stack/esphome-yaml
    files: common/air-quality-v1-rev1-base.yaml
    ref: main
    refresh: 1d

ソースコード:

Home Assistant に接続すると、空気質やバッテリー電圧などのエンティティを確認できます。

USER_A/USER_B を押すと、電子ペーパーのページを切り替えられます。

使用上の注意:センサーはサンプリング完了後に安定したデータを出力します。Wi-Fi を常時有効にすると消費電力が増加するため、電源に接続して使用することを推奨します。

4. 関連リンク

5. 関連動画

Page Tools
PDF
On This Page