> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ariscomfort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get TES tank status

> Returns current thermal energy storage tank status.



## OpenAPI

````yaml get /api/tes
openapi: 3.1.0
info:
  title: Aris API
  version: 1.0.0
  description: >
    REST API for controlling Aris home comfort systems.


    Aris is an air-to-water heat pump system that heats, cools, and provides hot
    water for homes.

    The Aris Brain is the central controller, managing zones, fan-coil units
    (FCUs), heat pumps,

    domestic hot water (DHW), and thermal energy storage (TES).


    ## Base URL


    The Aris Brain runs on your local network. Find your Brain's address via:

    - mDNS: `http://aris.local` (if your network supports mDNS)

    - Router admin panel: Look for a device named "aris-brain"


    ## Authentication


    Most API endpoints require authentication via Bearer token. Create an API
    token in the Aris web UI under **Settings → API Tokens**.


    Include the token in the `Authorization` header:

    ```

    Authorization: Bearer your-api-token

    ```


    ## Real-time Updates


    For real-time updates, connect to the WebSocket at
    `ws://aris.local?token=YOUR_API_TOKEN`.

    The WebSocket broadcasts zone state changes, system events, and device
    telemetry.
servers:
  - url: http://aris.local
    description: Local network (mDNS)
  - url: http://{brainIp}
    description: Local network (IP address)
    variables:
      brainIp:
        default: 192.168.1.100
        description: Your Aris Brain's IP address
security: []
tags:
  - name: Health
    description: Health check and readiness endpoints
  - name: System
    description: System-wide state and mode control
  - name: Zones
    description: Zone management, setpoints, and temperature control
  - name: DHW
    description: Domestic Hot Water tank status and history
  - name: TES
    description: Thermal Energy Storage tank status
  - name: HCU
    description: Hydronic Control Unit status
  - name: Heat Pumps
    description: Heat pump telemetry and diagnostics
  - name: FCUs
    description: Fan Coil Unit telemetry and status
  - name: Weather
    description: Weather data and forecasts
  - name: Events
    description: System event log and audit trail
  - name: Metrics
    description: VictoriaMetrics time-series data proxy
  - name: Prometheus
    description: Prometheus-compatible API for Grafana
  - name: Tokens
    description: API token management
  - name: Config
    description: System configuration (read-only)
  - name: Firmware
    description: FCU firmware OTA updates
paths:
  /api/tes:
    get:
      tags:
        - TES
      summary: Get TES tank status
      description: Returns current thermal energy storage tank status.
      operationId: getTESStatus
      responses:
        '200':
          description: TES tank status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TESStatus'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '503':
          description: TES service not available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    TESStatus:
      type: object
      required:
        - tesId
        - mode
        - tempTopC
        - tempBottomC
        - stateOfChargePercent
        - chargeActive
        - dischargeActive
      properties:
        tesId:
          type: string
          description: Unique identifier for the TES tank
          example: tes_main
        mode:
          type: string
          enum:
            - heat
            - cool
            - idle
          description: >
            Current TES usage mode:

            - `heat`: top is hot, bottom is cold

            - `cool`: top is cold, bottom is warm

            - `idle`: stratification reflects the last mode; no active
            charge/discharge
          example: heat
        tempTopC:
          type: number
          description: >-
            Temperature at top of TES tank. Represents hottest available thermal
            energy.
          example: 41.5
        tempBottomC:
          type: number
          description: Temperature at bottom of tank. Indicates remaining thermal reserve.
          example: 30.2
        tempMidC:
          type: number
          description: >-
            Mid-layer temperature. Improves stratification modeling. Only
            present if tank has mid-layer sensor.
          example: 36.5
        stateOfChargePercent:
          type: integer
          minimum: 0
          maximum: 100
          description: >-
            Calculated energy level (0-100%) based on stratification.
            Brain-computed.
          example: 75
        effectiveCapacityLiters:
          type: number
          description: Usable thermal capacity. Brain-computed.
          example: 180
        chargeActive:
          type: boolean
          description: True when system is actively charging TES (HCU -> TES)
          example: false
        dischargeActive:
          type: boolean
          description: True when distribution loop is drawing energy from TES
          example: true
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error type
        message:
          type: string
          description: Human-readable error message
        hint:
          type: string
          description: Suggestion for resolving the error
  responses:
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Unauthorized
              message:
                type: string
                example: Valid authentication required
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Session token or API token

````