Skip to content

A modern web application written in pure Rust, designed to integrate seamlessly with Home Assistant to provide an interactive and animated map-based control of your smart home environment

License

Notifications You must be signed in to change notification settings

CodedNil/home_flow

Repository files navigation

Home Flow

HomeFlow is a modern web application written in pure Rust, designed to integrate seamlessly with Home Assistant to provide an interactive and animated map-based control of your smart home environment.

image image

Overview

HomeFlow visualises your home layout and allows you to interact with smart devices in a user-friendly manner. This application bridges the gap between complex smart home setups and intuitive control, ensuring that managing your smart devices is as easy as tapping on a map.

Features

  • Interactive Map Display: Visualise your home layout with a detailed map that shows the locations of smart devices.
  • Device Control: Easily turn lights and other smart devices on or off directly from the map by tapping on their icons.
  • Dynamic Animations: Enjoy a clean, animated interface that provides real-time updates and feedback on device status and actions.
  • Home Assistant Integration: Seamlessly connect to Home Assistant to access and control all your compatible devices.
  • Web Application: Access HomeFlow from any device with a web browser, ensuring a consistent and responsive experience across desktops, tablets, and smartphones.
  • GUI Edit Mode: Use intuitive tools to rapidly draw out your house with ease, making it simple to update and adjust your home layout.
  • Powered by egui: Utilises the egui library for a smooth and efficient graphical user interface experience.

Getting Started

Installation and Configuration

  1. Clone the Repository
  2. Install the WebAssembly Target: rustup target add wasm32-unknown-unknown
  3. Install Trunk Trunk for building WASM applications cargo install --locked trunk
  4. Install Just for managing build commands: cargo install --locked just
  5. Create Configuration File: Copy the .env-template to .env and fill in your Home Assistant details

Build and Run Commands

  • Run the App in Desktop Mode: just
  • Compile for WebAssembly: just build-web or in release mode just build-web-release
  • Start the Server: just serve or in release mode just serve-release

Contributing

Contributions are welcome! If you'd like to contribute to HomeFlow, please fork the repository and submit a pull request with your improvements or bug fixes.

About

A modern web application written in pure Rust, designed to integrate seamlessly with Home Assistant to provide an interactive and animated map-based control of your smart home environment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages