Skip to content

Home Assistant

Every agent in view. You call the shots. A rest command posts tiles from Home Assistant. You see the house on the same board as your agents.

Download the YAML

Setup

  1. Put the ingest token in secrets.yaml as botopticon_ingest. Do not commit the secret.
  2. Add the rest commands, then reload REST commands.
  3. The automation posts the status tile every 30 minutes. The KPI posts on the hour.
  4. Change sensor.house_power to a sensor you actually have. The value must be a number.

YAML

# Home Assistant posts to a Botopticon board.
# Put the ingest token in secrets.yaml:
#   botopticon_ingest: "Bearer <INGEST_TOKEN>"
# Then reload REST commands.

rest_command:
  botopticon_status:
    url: "https://www.botopticon.com/api/ingest"
    method: POST
    headers:
      authorization: !secret botopticon_ingest
    content_type: "application/json"
    payload: '{"bot":"Home","tile":"house","type":"status","title":"House","subtitle":"Home Assistant","props":{"state":"routine","task":"Keeping the board current"},"needs_you":false,"ttl_seconds":3600}'
  botopticon_power:
    url: "https://www.botopticon.com/api/ingest"
    method: POST
    headers:
      authorization: !secret botopticon_ingest
    content_type: "application/json"
    payload: >
      {{ {"bot":"Home","tile":"power","type":"kpi","title":"Power","subtitle":"House meter","props":{"value": states('sensor.house_power')|float(0), "unit":"W"}, "needs_you": false, "ttl_seconds": 3600} | tojson }}

automation:
  - alias: Post house status to the Botopticon board
    triggers:
      - trigger: time_pattern
        minutes: "/30"
    actions:
      - action: rest_command.botopticon_status
  - alias: Post house power to the Botopticon board
    triggers:
      - trigger: time_pattern
        minutes: "0"
    actions:
      - action: rest_command.botopticon_power