Skip to content

Aight πŸ™ uses AI chat to generate and deploy Home Assistant configs from natural language, replacing YAML edits with one-click automations, scripts and scenes.

License

Notifications You must be signed in to change notification settings

paulotrinn/aight

Repository files navigation

https://github.com/paulotrinn/aight/releases

Aight β€” AI Home Assistant Configuration Tool with Chat

Releases
ai automation home-assistant yaml

Aight Chat UI

Aight uses large language models to convert plain language into Home Assistant YAML, dashboards, automations, scenes, and scripts. Use chat to refine and test generated items. Run the binary to start a local chat service or integrate the backend with your Home Assistant instance.

Releases: Download the release file from https://github.com/paulotrinn/aight/releases and execute the downloaded file on your host to run the Aight service.

Why Aight

  • Reduce time spent writing YAML.
  • Keep automations readable and maintainable.
  • Test automations with natural language prompts.
  • Produce dashboards and Lovelace cards from descriptions.
  • Use a chat interface to refine rules and generate edge cases.

Core features

  • Natural language to Home Assistant YAML (automations, scripts, scenes).
  • Conversational UI for iterative refinement.
  • Sample dashboard generation with Lovelace YAML.
  • Pre-made templates for common smart-home flows.
  • CLI and local server modes.
  • Export/import YAML and JSON.
  • Role-based prompt profiles for different styles (compact, verbose, debug).
  • Inline metadata in generated YAML for traceability.

Getting started

  1. Download and run release
  • Visit the Releases page and download the asset for your platform: https://github.com/paulotrinn/aight/releases
  • After you download the release file, extract it and execute the binary or script that came with the release.

Example (Linux tarball, adjust names to match the release asset):

# download the release asset
curl -L -o aight-linux.tar.gz "https://github.com/paulotrinn/aight/releases/download/v1.0.0/aight-linux.tar.gz"

# extract
tar -xzf aight-linux.tar.gz

# give execute permission
chmod +x aight

# run the service
./aight --port 8080

Example (macOS zip):

curl -L -o aight-macos.zip "https://github.com/paulotrinn/aight/releases/download/v1.0.0/aight-macos.zip"
unzip aight-macos.zip
chmod +x aight
./aight --port 8080

Example (Windows):

  • Download the .exe from Releases.
  • Double-click the executable or run from PowerShell:
.\aight.exe --port 8080

Docker (alternative)

docker run -d --name aight -p 8080:8080 ghcr.io/paulotrinn/aight:latest

Web UI

  • By default Aight serves a local chat UI at http://localhost:8080.
  • The UI accepts plain text prompts and displays generated YAML with a side-by-side preview.

Core concepts

  • Prompt: Natural language or structured instruction you send to Aight.
  • Profile: A set of rules for how the model should format YAML and how verbose it should be.
  • Template: A reusable YAML skeleton. Aight fills templates using extracted parameters.
  • Trace metadata: A small comment block inserted in generated YAML with the original prompt and generation timestamp.

Usage examples

Generate a simple automation Prompt: "I want the hallway light to turn on when motion is detected after sunset and stay on for 5 minutes."

Result (example generated YAML):

# Generated by Aight
# prompt: "I want the hallway light to turn on when motion is detected after sunset and stay on for 5 minutes."
alias: Hallway motion after sunset
trigger:
  - platform: state
    entity_id: binary_sensor.hallway_motion
    to: 'on'
condition:
  - condition: sun
    after: sunset
action:
  - service: light.turn_on
    target:
      entity_id: light.hallway
  - delay: '00:05:00'
  - service: light.turn_off
    target:
      entity_id: light.hallway
mode: single

Create a scene Prompt: "Create an evening scene for the living room with dim warm lights and soft music on media player."

Result:

scene:
  - name: Living Room Evening
    entities:
      light.living_room:
        state: on
        brightness: 120
        color_temp: 400
      media_player.living_room_speaker:
        state: on
        volume_level: 0.25
        source: "Chill Playlist"

Build a Lovelace card Prompt: "Make a dashboard card showing temperature, humidity, and a toggle for the heater for my bedroom."

Result:

type: entities
title: Bedroom Climate
entities:
  - entity: sensor.bedroom_temperature
    name: Temperature
  - entity: sensor.bedroom_humidity
    name: Humidity
  - entity: switch.bedroom_heater
    name: Heater

Advanced prompts

  • Ask for conditions and edge cases: "Only run this automation if no one is home or if the house is in away mode."
  • Ask for testing scenarios: "Show me three test cases for this automation, including the expected state changes."

Profiles and templates

  • Compact: Minimal comments and short keys. Use for production.
  • Verbose: Add human-readable comments and metadata. Use for review.
  • Debug: Keep traces, include model decisions and prompt history. Use for debugging.

You can create templates like:

template:
  name: motion_delay
  parameters:
    - trigger_entity
    - target_light
    - delay_seconds
  body: |
    alias: "{{ name }}"
    trigger:
      - platform: state
        entity_id: "{{ trigger_entity }}"
        to: 'on'
    action:
      - service: light.turn_on
        target:
          entity_id: "{{ target_light }}"
      - delay: "00:00:{{ delay_seconds }}"
      - service: light.turn_off
        target:
          entity_id: "{{ target_light }}"

API and CLI

  • HTTP API: POST /api/v1/generate with JSON payload: { "prompt": "string", "profile": "compact", "format": "yaml" }

  • CLI:

    • aight chat "Prompt text"
    • aight generate --profile compact --format yaml "Prompt text"

Examples:

# CLI generate automation
./aight generate --profile compact --format yaml "Turn on garden lights between sunset and 23:00 when motion is detected."

# HTTP API
curl -X POST http://localhost:8080/api/v1/generate \
  -H "Content-Type: application/json" \
  -d '{"prompt":"Turn on garden lights between sunset and 23:00 when motion is detected.","profile":"compact","format":"yaml"}'

Home Assistant integration

  • Export generated YAML and place it in your Home Assistant config folders:

    • automations.yaml
    • scripts.yaml
    • scenes.yaml
    • lovelace dashboards in ui-lovelace.yaml or packages
  • Use the built-in reload services in Home Assistant or restart for full load.

HACS / Add-on idea

  • Aight can run as a local add-on or operate through a third-party integration. The Releases page contains platform assets and packages. Visit Releases: https://github.com/paulotrinn/aight/releases to get the file and follow the install steps for your environment.

Best practices

  • Review generated YAML before you deploy it.
  • Use the Verbose profile for initial review.
  • Keep a versioned copy of generated YAML in your repo.
  • Use templates for repetitive automations.
  • Use the Debug profile only in development.

Security and privacy

  • Run Aight on a local host to keep prompts and state private.
  • Control access to the web UI using reverse proxies or local firewall rules.
  • Rotate keys for any external model API you use with Aight.

Extending Aight

  • Add custom templates in the templates/ folder.
  • Add new profiles in config/profiles.yaml.
  • Integrate with cloud LLMs or local LLMs using the provider adapters.
  • Add more output formats (JSON, HTML snippets for dashboards).

Contributing

  • Fork the repo.
  • Create a feature branch.
  • Add tests for your changes.
  • Open a pull request with a clear description and sample prompts.

Suggested labels for pull requests

  • enhancement
  • bug
  • docs
  • infra

Images and assets

Troubleshooting

  • If the UI does not start, check the port and log output.
  • If generated YAML fails Home Assistant config check, run the HA config checker.
  • If the model produces unexpected keys, switch to Verbose or Debug profile and inspect the trace metadata.

Roadmap

  • Built-in simulator to run test events.
  • Improved multi-entity templates.
  • Shared template library and community templates gallery.
  • Native HACS integration and official add-on.

Licensing and attribution

  • Add your license file in LICENSE.
  • Keep a CONTRIBUTORS file that lists code authors and template contributors.

Contact and support

Automations, scripts, scenes, and dashboards all start with a plain sentence. Aight handles the translation, formatting, and traceability. Use the chat to refine logic, add conditions, and produce test cases for reliable automations.

About

Aight πŸ™ uses AI chat to generate and deploy Home Assistant configs from natural language, replacing YAML edits with one-click automations, scripts and scenes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •