Home Assistant Native iOS Application built with SwiftUI for iOS 15+

Overview

Home Assistant - Native iOS SwiftUI Application

Screenshots

Disclaimer - Please read

This application is mostly a not-working mockup written in SwiftUI. Most of the components are not yet working as they are under development. At the moment the only working features are displaying the entities and switching the lights toggle, what you can see from the application are mockup components written in SwiftUI and 'ready' to be integrated.

I am not an iOS developer and I started to work on this by myself to have a lightweight and fast application to do just the basics of what Home Assistant is. You're more than welcome to contribute and extend functionalities.

Description

The current Home Assistant iOS app provides the same experience of the Home Assistant web interface along with additional features such as the device tracking integration, notifications, actions etc. Although the Home Assistant iOS app provides the fully customizable Lovelace UI, this is not a native interface on iOS and the overall experience feels like browsing a webpage rather than using a mobile application. Apart from the personal feeling, the native SwiftUI application has several advantage over the original Home Assistant iOS app, for example:

  • Faster loading time due to native rendering of SwiftUI components
  • Better resource consumption
  • Improved animation responsiveness

The goal of this application is not to implement 1:1 features parity with the original Home Assistant iOS app but to have a minimal, fast and native companion app to be used to quickly monitor the status of the Home and perform basic operations on the devices.

Configuration and Authentication

At the moment the configuration is present inside the following file:

app/homeassistant-native/Config.swift

You need to setup the authorizationToken variable with a current valid long-lived token to authenticate the application to your HomeAssistant instance.

Known issues

  • The NavigationView Sections have a collapsable button, this should not be visible

Working components

  • The application will load all the entities at startup time (Entities that are not lights are hidden by default due to missing integration).
  • It is possible to toggle lights on/off

TODO List

  • Implement API calls for Home Assistant (more sensors, home player, settings)
  • Implement application settings to allow people to configure the application (different URL, hide components, themes etc)
  • Find better icons as the SF symbols kit is limited
  • Maybe implement Home Assistant login mechanism

Palette (Default theme)

License

The Apache 2.0 License apply

   Copyright 2021 santoru

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
You might also like...
A simple To Do application written in React Native

Example To Do List application in react-native Requirements, install as needed: React Native: $ npm i -g react-native-cli watchman: $ brew install wa

A property finder application written using React Native

React Native PropertyFinder App This repository accompanies the tutorial I published on Ray Wenderlich's website, which describes the process of build

A collection of native SwiftUI layouts (iOS 16+)

SwiftUILayouts A library of commonly requested layouts. Implemented using SwiftUI's native layout system. NOTE: SwiftUILayouts requires iOS 16 or abov

Yummies is my first attempt at building a native iOS app using Swift and SwiftUI

Yummies is my first attempt at building a native iOS app using Swift and SwiftUI. A recipe browser where you can pin your favorite ones. Powered by Edamam Recipe Search API.

Wiggles-iOS - Beautiful Puppy adoption app built to Demonstrate the SwiftUI and MVVM Architecture
Wiggles-iOS - Beautiful Puppy adoption app built to Demonstrate the SwiftUI and MVVM Architecture

Wiggles 🐶 Beautiful Puppy adoption app built to Demonstrate the use of SwiftUI

an onboarding app built in SwiftUI
an onboarding app built in SwiftUI

hello hello is application onboarding macOS devices. Inspired by Kandji's Liftoff Logo created with Type with Pride font family Warning DO NOT USE THI

Tofu - A simple Todo app built with SwiftUI, a REST API, and a local Realm cache
Tofu - A simple Todo app built with SwiftUI, a REST API, and a local Realm cache

Tofu A simple Todo app built with SwiftUI, a REST API, and a local Realm cache.

This was built during my bootcamp using SwiftUI, WebKit and an API from Hacker News

HackerNewsReader This was built during my bootcamp using SwiftUI, WebKit and an API from Hacker News. This was programmed from scratch with SwiftUI. I

iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).
iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).

FinanceReactNative iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android). Data is pulled from Yahoo Finance

Owner
Alessio Santoru
Offensive security, research and product security.
Alessio Santoru
C-41 is an application to help people develop film at home by providing a series of "recipes" for photographers to use

C-41 C-41 is an application to help people develop film at home by providing a series of "recipes" for photographers to use. The app demonstrates how

Ash Furrow 2.1k Jan 5, 2023
Storm: iOS home task project

iOS home task project About this repository This repository contains brand new iOS project with Storyboards removed and ready to write the UI programa

Storm Ideas 0 Nov 23, 2021
Take home assignment for an iOS developer role interview process.

Cocktails My solution to a take home assignment I was given as a step of an interview process for an iOS developer role. The task I was asked to write

Johan Forsell 14 Dec 31, 2022
React Native library that implements PayPal Checkout flow using purely native code (swift).

react-native-paypal-swift React Native library that implements PayPal Checkout flow using purely native code (swift). Installation npm install react-n

Tibb 6 Nov 28, 2022
Vahesaroyan-react-native-bubble-select - React native bubble picker

@vahesaroyan/react-native-bubble-select React native bubble picker Installation

Vahe Saroyan 0 Jan 30, 2022
A developer-focused Meetup clone built with React Native

Assemblies Where Developers Connect Assemblies is an open-source mobile app built with React Native which developers can use to connect through 'assem

Build React Native 360 Dec 7, 2022
GitHub in your pocket. Built with React Native

GitPoint GitHub in your pocket. Built with React Native. Table of Contents Introduction Features Feedback Contributors Build Process Backers Sponsors

GitPoint 4.6k Jan 1, 2023
AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

AuroraEditor AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

Aurora Editor 704 Jan 8, 2023
Kushal Shingote 1 Feb 2, 2022
React Native Twitch application

Notes I'm going to rewrite this project ?? . Be ready to new Twitch application. Twitch This project was built for The Rolling Scopes #18 meetup. As o

Ilja Satchok 90 Nov 24, 2022