Software Requirements

Calezoo Software Requirements Specification (SRS)

1. Introduction

1.1 Purpose

The purpose of this document is to provide the project plan for the development of the Calezoo Home Automation System.  It is intended for home automation enthusiasts, developers,  designers, end users and project investors.   This plan will include a detailed description of:

Home owners need a home automation system that will communicate to a multitude of smart devices using a single user interface.  The issue plaguing the automation industry is that home owners are forced to install multiple apps to get the needed functionality or use a available solutions that require a degree in computer science.  Calezoo will solve this problem by providing a easy to use system that will communicate and control existing and future home automation devices with a single user interface. 

1.2 Intended Audience

We are catering to two different audiences.  

The first group will include home owners that want to automate their home without having to be a highly technical person.  Simple installation which includes plug and play.  No need to be a software guru.  These users are happy with enjoying the benefits of a feature rich home automation system but have no interest in customizing or tinkering.

Our second group of users would include the more technical user that likes to tinker or customize their solutions.  We will provide a platform that allow these users the ability to add custom functionality that will integrate easily into the base system.  Users will be able to write system extensions using the popular C# language or use the many built in configuration settings to provide the perfect system for their needs.

1.3 Intended Use

The intended use will be in any small to large household to provide a comprehensive, reliable, secure and feature rich home automation system.  

1.4 Scope

The purpose of the Calezoo Home Automation system is to provide home owners with a easy to use but very powerful home automation system that works with most smart devices from a multitude of manufacturers.  It will include both hardware and software elements to accomplish this.  

1.5 Definitions and Acronyms

UI User Interface. Includes the interfaces provided by smart apps and web pages.Used to control and monitor the system
C# A very powerfull general purpose programming language used by millions of programmers. Calezoo is written using C#
.NET5 NET 5 is a free, cross-platform, open-source developer platform for building many different types of applications

2. Overall Description

2.1 User Needs

Home automation users would prefer to use a single app/system to control their smart home.  The need for multiple apps from different manufacturers is still an issue in 2022.  Users would like to have the ability to install different devices and just have them work with their existing system.  Calezoo will provide a solution to this issue by providing compatibility between manufacturers devices resulting in a single cohesive system.

2.2 System Overview

Calezoo is based on using a intelligent server installed in the home as apposed to the Cloud.  While the cloud is the craze these days we feel that a home automation system should be based on a local server installed in the home and not in the cloud.  The cloud is still used for some functionality but the main logic and operations of the system are done on the local server in the home. Some of the benefits of using this approach are:

2.3 Typical System Diagram

calezoo-diagram

3. System Features and Requirements

This Features and Requirements section is a live document.  We will be providing updates for each requirement as development of Calezoo proceeds.  The following provides a description of each possible status.

Work on this item has not yet started

Work is in progress

Item has been completed and is included in the currently released version

3.1 Calezoo Server Technical Requirements

3.1.1 The Calezoo server shall have the ability to run on Windows 10 and Windows IoT

3.1.2  Shall have the ability to run on Linux

3.1.3  Shall have the ability to run  on MacOS

3.1.3  Shall have the ability to run  on Android OS

3.1.4 The Calezoo server shall be written in C# using .NET6 platform

3.2 Server Functional Requirements

3.2.1  Upon server start-up determine if a new installation (1st run) and if so Automatically detect home automation devices already connected to the same local network.  Auto detection shall include but not be limited to Philips Hue.  When detected will prompt user to confirm addition of the devices to the Calezoo system. 

3.2.2  Upon server start-up automatically detect any local Calezoo User Interfaces such as  touchscreen panels, tablets or phones running the Calezoo App currently not installed on the system.  When detected will prompt user to confirm addition of the panels/Apps. 

3.2.2  Ability to automatically detect and add Philips Hue Hubs.  Will require user approval to add.

3.2.1  Ability to automatically detect and home automation devices already connected to the local network 

3.2.1  

System Features

3.2.1  

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Nonfunctional Requirements

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Assumption and Dependencies

Integration of available smart devices will be limited to those that provide or have released the required information and/or access their communication protocols.  Manufacturers that do not wish to release such information will not be included in the list of Calezoo compatible devices.

  1. 1. Introduction
  2. 1.1