---
layout: page
title: "Enviro pHAT"
description: "Instructions on how to integrate the Enviro pHAT within Home Assistant."
date: 2017-05-03 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raspberry-pi.png
ha_category: DIY
ha_iot_class: "Local Polling"
ha_release: 0.44
---

The `envirophat` sensor platform allows you to display information collected by an [Enviro pHAT](https://shop.pimoroni.com/products/enviro-phat) add-on board for the Raspberry Pi. The board features a wide range of sensors, such as:

- BMP280 temperature/pressure sensor
- TCS3472 light and RGB color sensor with two LEDs for illumination
- LSM303D accelerometer/magnetometer sensor
- ADS1015 4-channel 3.3v, analog to digital sensor (ADC)

To add this platform to your installation, add the following to your `configuration.yaml` file:

```yaml
# Example configuration.yaml entry,
# which is equivalent to the default setup
sensor:
  - platform: envirophat
    use_led: false
    display_options:
      - temperature
      - pressure
      - light
      - light_red
      - light_green
      - light_blue
      - accelerometer_x
      - accelerometer_y
      - accelerometer_z
      - magnetometer_x
      - magnetometer_y
      - magnetometer_z
      - voltage_0
      - voltage_1
      - voltage_2
      - voltage_3
```

Configuration variables:

- **display_options** (*Optional*) array: List of readings to monitor. Default is monitoring all of them:
  - **temperature**: ambient temperature in Celsius. Since the sensor is close to the Raspberry Pi, that might affect the accuracy of the reading (ie. the Pi might heat up the sensor)
  - **pressure**: atmospheric pressure in hPa.
  - **light**: ambient light, as an integer in the 0-65535 range
  - **light_red**: red color reading scaled to the ambient light, as an integer in the 0-255 range
  - **light_green**: green color reading scaled to the ambient light, as an integer in the 0-255 range
  - **light_blue**: blue color reading scaled to the ambient light, as an integer in the 0-255 range
  - **accelerometer_x**: accelerometer reading in units of G, along the X axis
  - **accelerometer_y**: accelerometer reading in units of G, along the Y axis
  - **accelerometer_z**: accelerometer reading in units of G, along the Z axis
  - **magnetometer_x**: magnetometer reading, the X component of the raw vector
  - **magnetometer_y**: magnetometer reading, the Y component of the raw vector
  - **magnetometer_z**: magnetometer reading, the X component of the raw vector
  - **voltage_0**: voltage reading on Analog In 0 in units of V
  - **voltage_1**: voltage reading on Analog In 1 in units of V
  - **voltage_2**: voltage reading on Analog In 2 in units of V
  - **voltage_3**: voltage reading on Analog In 3 in units of V
- **use_led** (*Optional*) True / False boolean; Default value is False, declaring that the on-board LEDs are *not* used for the color measurements thus these readings are based on the ambient light. If the value is set to True, the on-board LEDs will blink whenever a reading is taken.

### Notes

* **X, Y, Z axes**
  * X is parallel with the long edge of the board
  * Y is parallel with the short edge of the board
  * Z is perpendicular to the board
* **Voltages**
  * voltage readings are done in the 0-3.3V range, please do not connect higher voltages than that! See the [Enviro pHAT's getting started guide](https://learn.pimoroni.com/tutorial/sandyj/getting-started-with-enviro-phat) regarding how to make a voltage divider

### Give the values friendly names & icons

Add something like the following to your [customize section](/docs/configuration/customizing-devices/):

```yaml
# Example configuration.yaml entry
  customize:
    sensor.accelerometer_z:
      icon: mdi:airplane-landing
      friendly_name: "Acc Z"
    sensor.magnetometer_x:
      icon: mdi:arrow-up-bold-hexagon-outline
      friendly_name: "Magnetic X"
    sensor.pressure:
      icon: mdi:weight
      friendly_name: "Pressure"
```  

### Create groups

```yaml
# Example configuration.yaml entry
group:
  enviro_phat_voltages:
    name: Enviro pHAT Voltages`
    entities:
      - sensor.voltage_0
      - sensor.voltage_1
      - sensor.voltage_2
      - sensor.voltage_3
```

### Enabling the required `i2c-1` device

Since the Enviro pHAT communicates over I2C, you might also need to make sure that the I2C devices are enabled, by adding or uncommenting the following line in `/boot/config.txt` (see the [DT Parameters section](https://www.raspberrypi.org/documentation/configuration/device-tree.md) in the Raspberry Pi documentation):

```
dtparam=i2c_arm=on
```
