Airwave

Home Assistant

Surface Airwave viewers and what's on as Home Assistant sensors.

Home Assistant's built-in RESTful sensor can poll the public API directly — no custom integration needed. Use an API key from Settings → API Keys.

Viewer count

A simple numeric sensor for "how many people are watching," great for automations (dim the lights when someone starts watching, etc.):

# configuration.yaml
sensor:
  - platform: rest
    name: Airwave Viewers
    resource: http://192.168.1.10:36020/api/public/v1/sessions/count
    headers:
      X-API-Key: !secret airwave_api_key
    value_template: "{{ value_json.count }}"
    scan_interval: 30

What's playing

Pull /now-playing and expose the first viewer's title, with the rest as attributes:

sensor:
  - platform: rest
    name: Airwave Now Playing
    resource: http://192.168.1.10:36020/api/public/v1/now-playing
    headers:
      Authorization: !secret airwave_api_bearer   # "Bearer airwave_your_key"
    value_template: >
      {{ value_json.nowPlaying[0].title if value_json.nowPlaying else 'Nothing playing' }}
    json_attributes_path: "$.nowPlaying[0]"
    json_attributes:
      - user
      - channelName
      - showTitle
      - progress
      - artworkUrl
      - device        # { model, platform } — e.g. which TV is playing
    scan_interval: 30

Poster artwork

Each session and program carries an artworkUrl: a tokenless, host-relative poster path you can drop straight into a picture-entity or a Lovelace card. Prepend your server's base URL (the artworkUrl above is captured as an attribute):

# a template sensor that builds a full entity_picture from the attribute
template:
  - sensor:
      - name: Airwave Now Playing Art
        state: "{{ states('sensor.airwave_now_playing') }}"
        picture: >
          {% set path = state_attr('sensor.airwave_now_playing', 'artworkUrl') %}
          {{ 'http://192.168.1.10:36020' ~ path if path else none }}

The image needs no API key, so it loads directly in the dashboard.

Store the key in secrets.yaml:

# secrets.yaml
airwave_api_key: airwave_your_key
airwave_api_bearer: Bearer airwave_your_key

Point resource at your server's address. For everything available to build sensors from (the full guide, channels, packages), see the API Reference.

On this page