Home Assistant
  • Getting started
  • Components
  • Examples
  • Developers
  • Blog
  • Need help?

Starting With Development


Home Assistant is built from the ground up to be easily-extensible by other developers using components. It uses Python 3 for the backend and Polymer (Web components) for the frontend.

Home Assistant is open-source and MIT licensed. The source can be found here:

  • home-assistant - Python server backend
  • home-assistant-js - JavaScript backend powering the client
  • home-assistant-polymer - Polymer UI
Edit this page on GitHub

Development Guide

  • Introduction
    • Architecture
    • Components
  • Starting with Development
    • Setting up Environment
    • Submit your Work
    • Checklist
    • Testing
    • Catching up with Reality
  • Support a new device (as a platform)
    • Example sensor platform
    • Example light platform
  • Adding a new component
    • Loading components
    • Requirements & Dependencies
    • Initialization
    • Handling events
    • States
    • Visibility
    • Loading Platforms
    • Component Discovery
  • Frontend Development
    • Setup Frontend Environment
    • Add State Card
    • Add More Info Dialog
    • Add Custom Panels
  • API
    • RESTful API
    • Python API
    • Server-sent events
  • Online helpers
  • Multiple Instances
  • Home-Assistant.io
  • Credits
Contact us at hello@home-assistant.io.
Website powered by Jekyll and the Oscalite theme.
Hosted by GitHub and served by CloudFlare.