Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CasaGlow

iOS Build Xcode Analyze Swift Platform

A native SwiftUI front end for Home Assistant, designed around the clarity, motion, and familiarity of Apple Home.

CasaGlow turns a Home Assistant installation into a polished iPhone and iPad smart home dashboard. It combines direct Home Assistant control with native iOS interaction, Liquid Glass surfaces, responsive tile morphs, visual automation editing, and room-first smart home management.

Note

CasaGlow is an independent project in active development. It is not affiliated with or endorsed by Apple Inc. or the Home Assistant project.

Why CasaGlow?

Home Assistant is exceptionally powerful, but its most advanced tools can feel technical on a phone. CasaGlow explores a different front-end design: keep Home Assistant as the source of truth while presenting lights, media, climate, security, scenes, and automations through a cohesive native Apple-platform experience.

  • Native by design — SwiftUI controls, iOS navigation, spring motion, haptics, context menus, and Liquid Glass.
  • Home Assistant powered — communicates directly with your own Home Assistant server through REST and WebSocket APIs.
  • Human-friendly automation editing — build and maintain automations visually, with JSON available as an explicit advanced fallback.
  • Capability aware — controls adapt to what each Home Assistant entity actually exposes.
  • Private and local-first — no CasaGlow cloud relay; your app connects to the Home Assistant instance you configure.

Smart home features

Home dashboard

  • Room-based accessory layout with favorites, rearranging, and resizable tiles.
  • Status summaries for climate, security, lighting, and media.
  • Home Assistant friendly names, areas, categories, labels, and Material Design Icons.
  • Apple Home-inspired detail transitions that preserve spatial context.
  • Live state synchronization with optimistic controls and automatic rollback when Home Assistant rejects a request.

Lighting and color

  • Power, brightness, RGB color, and color-temperature controls.
  • Capability-aware warm-to-cool ranges based on each physical light.
  • Preset colors, white-temperature presets, and a native Color Studio.
  • Grouped-light controls and reusable detail components across RGB and temperature-only lights.

Media and entertainment

  • Artwork-led Now Playing experiences with adaptive color treatment.
  • Native playback, volume, and supported-source controls.
  • Remote controls for compatible television and media-player entities.
  • Sonos-specific EQ and playback modes when Home Assistant exposes them.

Security and climate

  • Alarm arming and disarming through Home Assistant.
  • Security activity assembled from Home Assistant logbook data.
  • Climate, temperature, humidity, battery, and illuminance summaries.
  • Per-device details with room assignment and accessory information.

Visual automations

  • Search, organize, toggle, run, create, and edit Home Assistant automations.
  • Visual triggers, conditions, and actions with friendly entity names and Home Assistant icons.
  • Structured support for choose, if/then, repeat, wait, parallel, and nested logic.
  • Categories and labels carried over from Home Assistant.
  • Native time selection and clear run-mode controls.
  • Developer options and JSON fallback remain available without dominating the everyday editing experience.
  • Cached loading keeps the latest automation list visible while Home Assistant refreshes in the background.

Requirements

  • Xcode with the iOS 26 SDK
  • iOS or iPadOS 26.1 or later
  • A Home Assistant instance reachable from the device or simulator
  • A Home Assistant long-lived access token

Get started

  1. Clone the repository:

    git clone https://github.com/epinethrone/CasaGlow.git
    cd CasaGlow
  2. Copy the credential template:

    cp CasaGlow/CasaSecrets.example.swift CasaGlow/CasaSecrets.swift
  3. In CasaGlow/CasaSecrets.swift, rename CasaSecretsExample to CasaSecrets, then enter your Home Assistant URL and long-lived access token.

  4. Open CasaGlow.xcodeproj in Xcode.

  5. Select an iPhone or iPad running iOS 26.1 or later, then build and run.

CasaGlow/CasaSecrets.swift is ignored by Git. Never commit a real Home Assistant token. Rotate the token immediately if it is accidentally exposed.

Architecture

Component Responsibility
CasaGlowDashboardView.swift Main smart home dashboard, room grids, status chips, accessory details, settings, lighting, security, and media UI
CasaGlowHomeView.swift Home model, entity state, zones, accessories, live synchronization, and service orchestration
CasaGlowAutomationEditor.swift Native visual automation editor and advanced JSON fallback
CasaGlowAutomationsView.swift Automation discovery, organization, search, contextual actions, and cached loading
CasaGlowClimateModel.swift / CasaGlowClimateView.swift Climate and environmental sensor models and interfaces
HomeAssistantAPI.swift Home Assistant REST API requests
HAWebSocketClient.swift Authenticated Home Assistant WebSocket event stream
MDIIcon.swift Rendering for Home Assistant Material Design Icons

CasaGlow talks directly to Home Assistant. HomeKit is not required, and Home Assistant remains authoritative for entities, state, organization, capabilities, and automations.

Continuous integration

GitHub Actions validates every proposed change:

  • iOS Build compiles the app for a generic iOS Simulator without code signing.
  • Xcode Analyze runs Xcode static analysis on pull requests and on a weekly schedule.
  • Dependabot checks the pinned GitHub Actions dependencies monthly.

The repository is an Xcode application rather than a Swift Package, so it intentionally does not use GitHub's generic Swift Package workflow.

Project status

CasaGlow is under active development. Interfaces and Home Assistant capability mapping may evolve quickly while the app moves toward a complete, production-ready smart home management experience.

Contributions, issue reports, Home Assistant integration findings, and thoughtful iOS front-end design feedback are welcome.

About

Native SwiftUI Home Assistant front end for smart home management, with Apple Home-inspired design, visual automations, and direct local control.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages