# 1 Introduction
## 1.1 Purpose
This document specifies the requirements for the development of a “Smart House”, called DigitalHome (DH). This initial version of DigitalHome will be a limited prototype version, which will be used by HomeOwner management to make business decisions about the future commercial development of DigitalHomeOwner products and services. Hence, the SRS is not intended as a comprehensive or complete specification of DigitalHome requirements.

## 1.2 Scope
The Digital Home system is a home management system that will allow a home user to manage devices that control the environment of a home. The software product, DigitalHome (DH), will allow a user to manage devices which control temperature, humidity, security, and power to small appliances and lighting units, through the use of a web-ready device. The application of the software is to provide home residents with a lifestyle that brings together security, environmental and energy management, entertainment, and communications. The prototype DH software system will be situated in a simulated environment.

## 1.3 Product overview
### 1.3.1 Product perspective
The DigitalHome system is an element of a larger "Smart House" ecosystem. The system components consist of household devices (e.g., a heating and air conditioning unit, a security system, and small appliances and lighting units), sensors and controllers for the devices, communication links between the components, and a computer system, which will manage the components.

#### System interfaces
The DH web server communicates, through a home wireless gateway device, with the sensor and controller devices in the home.

#### User interfaces
The user communicates through a personal web page on the DigitalHome web server or on a local home server. The user is expected to be familiar with the use of a web interface and can perform simple web operations like logging in, browsing, and submitting information.

#### Hardware interfaces
*   **DH Home Web Server**: Hosted on a home computer, it provides interaction with and control of the DH elements, storage of data, user account management, and backup services.
*   **Home DH Gateway Device**: Connects to a broadband Internet connection and provides wireless RF communication with all DigitalHome devices up to a 1000-foot indoor range.
*   **Sensors and Controllers**:
    *   Digital programmable thermostats to monitor and regulate temperature, with a sensitivity range between 14°F and 104°F.
    *   Digital programmable humidistats to monitor and regulate humidity.
    *   Magnetic alarm contact switches to monitor entry through doors or windows.
    *   Security sound and light alarms.
    *   Digital programmable power switches to monitor and control the state of appliances.

#### Software interfaces
The DigitalHome project will employ widely used, accepted, and available software technology and standards.

#### Communications interfaces
*   The system requires a broadband Internet connection from a widely available Internet Service Provider (ISP), such as cable modem or high-speed DSL.
*   The Gateway device contains an RF Module to send and receive wireless communications with other DigitalHome devices.

#### Memory constraints
[N/A]

#### Operations
*   Users can monitor and control home devices and systems.
*   A Master User or DH Technician can set up and make changes in the configuration of the system (e.g., setting system parameters and establishing user accounts), and start and stop the operation of the DH System.
*   The system will perform daily backups of all system data.
*   In case of failure, a recovery mechanism shall restore system data from the most recent backup.

#### Site adaptation requirements
A Master User or DH Technician shall be able to change the configuration of the system, such as adding a user account or changing default parameter settings.

#### Interfaces with services
[N/A]

### 1.3.2 Product functions
The DigitalHome System shall allow a user with a web-ready computer, cell phone or PDA to control a home's temperature, humidity, lights, security, and the state of small appliances. The communication center is a home web server, through which a user can monitor and control devices. A master control device (Gateway) connects to the internet and communicates wirelessly with various environmental controllers and sensors. Sensor values can be read and saved, and controller values can be sent to change the environment.

### 1.3.3 User characteristics
*   **General User**: Able to use the system to monitor and control their home environment. They are familiar with their home's layout and the location of devices. They are not technical experts but are familiar with using a web interface.
*   **Master User**: A designated general user who can change the system configuration, such as adding users or changing default settings. They have the same rights as a DH Technician.
*   **DigitalHome Technician**: Responsible for setting up and maintaining the system configuration. They are specially trained and have experience with the type of hardware, software, and web services used in the system. They have rights beyond a general user, including system setup, configuration changes, and starting/stopping the system.

### 1.3.4 Limitations
*   The product is a prototype to be completed within twelve months of inception.
*   The development team will consist of five engineers.
*   The DH system will be tested in a simulated environment; there will be no actual physical home, and all sensors and controllers will be simulated.
*   High system reliability is important to insure there are no system failures that might affect the safety of home dwellers (e.g., security breaches, inadequate lighting, inappropriate temperature/humidity, or powering certain appliances when young children are present).

## 1.4 Definitions
*   **Authentication**: Any process by which it is verified that someone is who they claim they are. This typically involves submission and verification of a username and a password.
*   **Broadband Internet**: A high data rate Internet access, typically contrasted with slower dial-up access.
*   **DH (Digital Home)**: The name of the prototype smart home product that is be produced by DigitalHomeOwner.
*   **DigitalHomeOwner**: The division of HomeOwner Inc. responsible for producing DigitalHome products.
*   **Encryption**: The process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
*   **Gateway Device**: A home networking device used to connect devices in the home to the Internet or other Wide Area Networks.
*   **HomeOwner Inc.**: The largest national retail chain serving the needs of home owners in building, furnishing, repairing, and improving their homes.
*   **Humidistat**: An instrument that measures and controls relative humidity.
*   **Security Breach**: An external act that bypasses or contravenes the digital home security system. For example, if an intruder opens a door where the contact sensor is set to “on”, the system will sense a ‘security breach”.
*   **Set Point**: A numeric valuable that establishes the desired value of an environmental quality (e.g., a temperature value of 70° F).
*   **Transport Layer Security**: Cryptographic protocols that provide security for communications over networks such as the Internet.

# 2 References
*   [ASHRAE 2010] Website for American Society of Heating, Refrigerating and Air-Conditioning Engineers, accessed October 2010, http://www.ashrae.org/ .
*   [HLRD 2010] DigitalHomeOwner Division, Digital Home High Level Requirements Definition , Homeowner Inc., September 2010.
*   [HO2305] Sykes, J., and Rook, R., Guidelines for Developing HomeOwner Technical Reports , HO2305., Homeowner Inc., March 2002.
*   [HO4710] Kramer, S., HomeOwner Coding Standard , HO4710.,Homeowner Inc., August 2009.
*   [HO2010] Digital Home Use Case Model , HomeOwner Inc, DigitalHomeOwner Division, October 24, 2010.
*   [IEEE830] IEEE Std 830-1998, IEEE Recommended Practice for Software Requirements Specifications , Institute of Electrical and Electronics Engineers, Inc., 1998.
*   [IEEE 1008] ANSI/IEEE Std 1008-1987, IEEE Standard for Software Unit Testing , Institute of Electrical and Electronics Engineers, Inc., 1987.
*   [IEEE 1012] IEEE Std 1012-2004, IEEE Standard for Software Verification and Validation , Institute of Electrical and Electronics Engineers, Inc., 2004.
*   [IEEE1016] IEEE Std 1016-2009, IEEE Standard for Information Technology - Systems Design - Software Design Descriptions , Institute of Electrical and Electronics Engineers, Inc., 2009.
*   [IEEE1028] IEEE Std 1028-2008, IEEE Standard for Software Reviews and Audits, Institute of Electrical and Electronics Engineers, Inc., 2008.
*   [Meyer 2004] Meyer, G., Smart Home Hacks: Tips & Tools for Automating Your House, O’Reilly, 2004.

# 3 Requirements
## 3.1 Functions
*   **General**
    *   The DigitalHome System shall allow a web-ready computer, cell phone or PDA to control a home's temperature, humidity, lights, security, and the state of small appliances.
    *   The communication center of the DH system shall be a DH home web server, through which a user shall be able to monitor and control home devices and systems.
    *   Each DigitalHome shall contain a master control device (the DH Gateway Device) that connects to the home’s broadband Internet connection, and uses wireless communication to send and receive communication between the DigitalHome system and the home devices and systems.
    *   The DigitalHome shall be equipped with various environmental controllers and sensors (thermostats, humidistats, contact sensors, security alarms, and power switches).
    *   Using wireless communication, sensor values can be read and saved in the home database.
    *   Controller values can be sent to controllers to change the DH environment.
*   **Thermostat**
    *   A user shall be able to monitor and control a home’s temperature from any location.
    *   A user shall be able to read the temperature at a thermostat position.
    *   A user shall be able to set thermostat temperatures between 60°F and 80°F, inclusive, at one-degree increments.
    *   The system shall support up to eight thermostats, which may be controlled individually or collectively.
    *   A single thermostat shall be placed in an enclosed space.
    *   For each thermostat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
    *   If a manual temperature setting is made on the device, it shall remain in effect until the end of the current time period.
    *   The system shall support Fahrenheit and Celsius temperature values.
*   **Humidistat**
    *   A user shall be able to monitor and control a home’s humidity from any location.
    *   A user shall be able to read the humidity at a humidistat position.
    *   A user shall be able to set the humidity level from 30% to 60%, inclusive, at 1% increments.
    *   The system shall support up to eight humidistats.
    *   A single humidistat shall be placed in an enclosed space.
    *   If a manual setting is made on the device, it shall remain in effect until the end of the current time period.
    *   For each humidistat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
*   **Security System**
    *   The system shall manage up to fifty door and window contact sensors.
    *   The system shall be able to activate one sound alarm and one light alarm subsystem.
    *   When a security breach occurs (a contact sensor is set to OPEN), the alarm system shall be activated.
*   **Appliance Management**
    *   The system shall provide for management of small appliances and lighting units by allowing a user to turn them on or off.
    *   The system shall manage up to one hundred 115 volt, 10 amp power switches.
    *   The system shall provide information about the state of a power switch (OFF or ON).
    *   The system shall be able to change the state of a power switch.
    *   If a manual state change is made on the device, it shall remain in that state until the end of the current time period.
*   **Planning and Reporting**
    *   The system shall provide a planner for a user to set preset home parameters for certain time periods.
    *   A user shall be able to create or modify a monthly plan that specifies, for up to four daily time periods, the environmental parameter settings.
    *   A user shall be able to override planned parameter values.
    *   The system shall be able to provide a monthly report for any month in the past two years.
    *   The month report shall contain daily average, maximum, and minimum values for temperature and humidity for each device.
    *   The month report shall provide the day and time for any security breaches.
    *   The month report shall indicate periods when the DH System was not in operation.
*   **Error Handling**
    *   All DigitalHome operations shall incorporate exception handling so that the system responds to a user with a clear, descriptive message when an error or an exceptional condition occurs.

## 3.2 Performance requirements
*   Displays of environmental conditions shall be updated at least every two seconds.
*   Sensors shall have a minimum data acquisition rate of 10 Hz.
*   An environmental sensor or controller device must be within 1000 feet of the master control device to be in communication with the system.
*   The system shall support up to eight thermostats.
*   The system shall support up to eight humidistats.
*   The system shall manage up to fifty door and window contact sensors.
*   The system shall manage up to one hundred power switches.

## 3.3 Usability requirements
*   The system shall provide users with online documentation.
*   The user documentation shall include an FAQ section.
*   The user documentation shall include a section that explains how parameters are set and sensor values are read, including limitations and constraints.
*   The user documentation shall include a section that describes how to use the DH Planner.
*   The system shall respond to a user with a clear, descriptive message when an error or an exceptional condition occurs.

## 3.5 Logical database requirements
*   The system shall use a home database to store sensor values.
*   The system shall store planning and usage data.
*   The system shall retain data for at least two years to provide historical reports.
*   The system shall store system configuration and default parameter settings.
*   The system shall store user account information.

## 3.6 Design constraints
*   The DigitalHome project shall employ widely used, accepted, and available hardware and software technology and standards.
*   The system shall adhere to the standards, policies and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers [ASHRAE 2010].
*   HomeOwner has designated object-oriented development, using UML 2.0, as the preferred method for development.
*   The development shall use methods and techniques such as documentation, abstraction, information hiding, and module independence to support system maintenance.
*   The development shall use IEEE standards [IEEE830, IEEE1008, IEEE1016, IEEE1028] and the HomeOwner Coding Standard [HO4710].
*   All modules and components of the prototype shall be designed and implemented for potential incorporation into a fully specified commercial version.

## 3.7 Software system attributes
*   **Reliability**
    *   The DigitalHome System must be highly reliable with no more than 1 failure per 10,000 hours of operation.
*   **Availability**
    *   The Digital Home System shall incorporate backup and recovery mechanisms.
    *   The system will back up all system data daily at a time set by the DH Technician.
    *   If the system fails, a recovery mechanism shall restore system data from the most recent backup.
*   **Security**
    *   The DigitalHome web system shall provide for authentication and information encryption through a recognized reliable and effective security technology, such as Transport Layer Security.
    *   Login to a user account shall require entry of an account name and a password.
*   **Maintainability**
    *   The development of the DH system shall use methods and techniques such as documentation of requirements, design, and code; use of abstraction, information hiding and module independence in system design; and use of IEEE and HomeOwner standards.
    *   All modules and components of this prototype version shall be designed and implemented in such a manner that they may be incorporated in a fully specified commercial version of the DigitalHome System.
*   **Portability**
    *   [N/A]

## 3.8 Supporting information
There is a supplementary document that provides additional detail and information about the DigitalHome requirements: the Digital Home Use Case Model [HO2010].

# 4 Verification
## 4.1 Functions
[N/A]

## 4.2 Performance requirements
[N/A]

## 4.3 Usability requirements
[N/A]

## 4.5 Logical database requirements
[N/A]

## 4.6 Design constraints
[N/A]

## 4.7 Software system attributes
[N/A]

# 5 Appendices
## 5.1 Assumptions and dependencies
*   The DigitalHome Software Requirements Specification (SRS) is based on the DigitalHome Customer Need Statement.
*   The product is based on the Digital Home High Level Requirements Definition [HLRD 2010].
*   The home system requires an Internet Service Provider (ISP) that is widely available (e.g., cable modem, high speed DSL).
*   The simulated environment for testing will be realistic and adhere to the physical properties and constraints of an actual home and to real sensors and controllers.

## 5.2 Acronyms and abbreviations
*   **ASHRAE**: American Society of Heating, Refrigerating and Air-Conditioning Engineers
*   **DH**: Digital Home
*   **DSL**: Digital Subscriber Line
*   **FAQ**: Frequently Asked Question
*   **HVAC**: Heating, Ventilation and Air Conditioning
*   **ISP**: Internet Service Provider
*   **PDA**: Personal Digital Assistant
*   **RF**: Radio Frequency
*   **SRS**: Software Requirements Specification