Radiale
What if home automation was homoiconic? Just transformations of data? No more YAML!
Install / Use
/learn @xlfe/RadialeREADME
Radiale
What if home-automation was also homoiconic?
The upper or proximal row contains three bones, to which Gegenbaur has applied the terms radiale, intermedium, and ulnare, the first being on the radial or preaxial side of the limb.
Radiale is a home automation system combining Clojure for orchestration and Python for device integrations, connected via Babashka pods.
Features
- ESPHome device control and monitoring
- deCONZ Zigbee gateway integration
- MQTT broker subscription
- Chromecast device discovery
- Scheduling with cron, solar events, and delays
- Event-driven automation with state watching
Quick Start
Prerequisites
- Java 17+
- Python 3.9+
- Clojure CLI
Installation
# Clone the repository
git clone https://github.com/xlfe/radiale.git
cd radiale
# Install Python dependencies
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Download Clojure dependencies
clojure -P
Minimal Configuration
Create config/setup.clj:
(ns config.setup
(:require [radiale.core :as rc]
[radiale.esp :as esp]))
(def config
[{:fn esp/discover}]) ; Discover ESPHome devices
(rc/run config)
Run
./start.sh
Documentation
Full documentation is available in the docs/ directory:
- Getting Started - Complete setup tutorial
- Configuration - Configuration reference
- Architecture - System design
How-To Guides
Project Structure
radiale/
├── src/radiale/ # Clojure source (orchestration)
├── radiale/ # Python modules (device integrations)
├── test/radiale/ # Clojure tests
├── tests/radiale/ # Python tests
├── docs/ # Documentation
├── config/ # Your configuration files
├── deps.edn # Clojure dependencies
└── setup.py # Python package
Running Tests
./run-tests.sh
Or individually:
# Python tests
pytest tests/
# Clojure tests
clojure -M:test
Contributing
Contributions are welcome! Please:
- Run tests before submitting PRs
- Follow existing code style
- Update documentation for new features
License
MIT
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
