unsubbed.co

HASSL

HASSL gives you human-friendly language for Home Assistant automations on your own infrastructure.

Overview

Home Assistant Simple Scripting Language Home Assistant Simple Scripting Language. Contribute to adanowitz/HASSL development by creating an account on GitHub. The project has 197 GitHub stars and is licensed under MIT.

Key Features

Source: GitHub README

  • Readable DSL → write logic like natural language (if motion && lux < 50 then light = on)
  • Sync devices → keep switches, dimmers, and fans perfectly in sync
  • Schedules → declare time-based gates (enable from 08:00 until 19:00)
  • Weekday/weekend/holiday schedules → full support for Home Assistant’s Workday integration (v0.4.0)
  • Loop-safe → context ID tracking prevents feedback loops
  • Per-rule enable gatesdisable rule or enable rule dynamically
  • Inline waitswait (!motion for 10m) works like native HA triggers
  • Color temperature in Kelvinlight.kelvin = 2700
  • Modular packages/imports → split automations across files with public/private exports
  • Auto-reload resilience → schedules re-evaluate automatically on HA restart

Getting Started

Source: GitHub README

git clone https://github.com/adanowitz/hassl.git
cd hassl
pip install -e .
hasslc --help

Normalized Features

Source: tool-features-normalized.json

pip.