<br />

## Description

The state of an energy storage device such as a battery, including the amount of energy it is storing, whether or not it is charging, and whether or not it is plugged in.

## Fields

| Key | Type | Description |
|---|---|---|
| `device` | [Device](https://developers.home.google.com/automations/schema/basics.md.txt#entity) | The device reporting the `EnergyStorage` state. Required |
| `state` | [FieldPath](https://developers.home.google.com/automations/schema/basics.md.txt#fieldpath) | The specific state data to check. Required |
| `is` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is equal to a value. Optional <br /> To use this field, all the following fields CANNOT be used: *isNot* , *greaterThanOrEqualTo* , *greaterThan* , *lessThanOrEqualTo* , *lessThan* <br /> |
| `isNot` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is not equal to a value. Optional <br /> To use this field, all the following fields CANNOT be used: *is* , *greaterThanOrEqualTo* , *greaterThan* , *lessThanOrEqualTo* , *lessThan* <br /> |
| `greaterThan` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is greater than (\>) a value. Optional <br /> To use this field, all the following fields CANNOT be used: *isNot* , *is* , *greaterThanOrEqualTo* <br /> |
| `greaterThanOrEqualTo` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is greater than or equal to (\>=) a value. Optional <br /> To use this field, all the following fields CANNOT be used: *isNot* , *is* , *greaterThan* <br /> |
| `lessThan` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is less than (\<) a value. Optional <br /> To use this field, all the following fields CANNOT be used: *isNot* , *is* , *lessThanOrEqualTo* <br /> |
| `lessThanOrEqualTo` | [Dynamic](https://developers.home.google.com/automations/schema/basics.md.txt#dynamic) | Checks if the state data is less than or equal to (\<=) a value. Optional <br /> To use this field, all the following fields CANNOT be used: *isNot* , *is* , *lessThan* <br /> |
| `for` | [Duration](https://developers.home.google.com/automations/schema/basics.md.txt#duration) | Checks if the state has already remained for a certain duration. Only applicable for Starters, cannot be used with Conditions. Optional |
| `suppressFor` | [Duration](https://developers.home.google.com/automations/schema/basics.md.txt#duration) | Suppress the triggering of the starter for a specified time period. Optional |

## EnergyStorage State Data

| Key | Type | Description |
|---|---|---|
| `isPluggedIn` | [Bool](https://developers.home.google.com/automations/schema/basics.md.txt#bool) | Optional |
| `isCharging` | [Bool](https://developers.home.google.com/automations/schema/basics.md.txt#bool) | Optional |
| `descriptiveCapacityRemaining` | [String](https://developers.home.google.com/automations/schema/basics.md.txt#string) | Optional |

## Examples

```yaml
starters:
- type: device.state.EnergyStorage
  device: My Device - Room Name
  state: isPluggedIn
  is: true

condition:
  type: device.state.EnergyStorage
  device: My Device - Room Name
  state: isCharging
  is: false
```