# 1 Introduction

## 1.1 Purpose
This document specifies the requirements for the development of DigitalHome (DH), a "Smart House" system. This initial version of DigitalHome will be a limited prototype, intended for HomeOwner management to make business decisions about the future commercial development of DigitalHomeOwner products and services.

## 1.2 Scope
The software product to be produced is named DigitalHome (DH).

DigitalHome is a home management system that allows home residents to easily manage their daily lives by providing for a lifestyle that brings together security, environmental and energy management (temperature, humidity and lighting), entertainment, and communications. The system will allow a home user to manage devices that control the environment of a home. The scope of this prototype project is limited to the management of devices which control temperature, humidity, security, and power to small appliances and lighting units, through the use of a web-ready device.

The primary objective of this prototype is to enable HomeOwner management to make informed business decisions regarding the future commercial development of DigitalHomeOwner products and services. The DigitalHome Software Requirements Specification (SRS) is based on the DigitalHome Customer Need Statement and the Digital Home High Level Requirements Definition [HLRD 2010].

## 1.3 Product overview

### 1.3.1 Product perspective
DigitalHome is a home management system, an element of a larger "Smart House" concept developed by the DigitalHomeOwner Division of HomeOwner Inc. The Smart House components consist of household devices (e.g., heating and air conditioning units, security systems, small appliances, and lighting units), sensors and controllers for these devices, communication links between components, and a computer system to manage them.

The user interacts with the DigitalHome system through a personal web page hosted on either the DigitalHome web server or a local home server. This web server communicates, via a home wireless gateway device, with the sensor and controller devices within the home.

#### System interfaces
The DigitalHome system interfaces with:
- A personal web page on the DigitalHome web server or a local home server for user interaction.
- A home wireless gateway device, which acts as a master control unit, connecting to the home’s broadband Internet connection and communicating wirelessly with in-home sensor and controller devices.

#### User interfaces
The software product provides a web-based interface accessible via a web-ready computer, cell phone, or PDA. Users are expected to be familiar with basic web operations such as logging in, logging out, browsing web pages, and submitting information and requests. The system will also provide online user documentation.

#### Hardware interfaces
The DigitalHome system interfaces with various hardware components:
- **DH Gateway Device:** The master control unit that connects to a broadband Internet connection and contains an RF Module for wireless communication with other DigitalHome devices. It operates up to a 1000-foot range for indoor transmission.
- **Sensors and Controllers:**
    - **Digital programmable thermostats:** Monitor and regulate temperature (range 14°F to 104°F / -10°C to 40°C). Up to eight thermostats are supported.
    - **Digital programmable humidistats:** Monitor and regulate humidity. Up to eight humidistats are supported.
    - **Magnetic alarm contact switches:** Monitor entry through doors or windows. Up to fifty contact sensors are supported.
    - **Security sound and light alarms:** Activated upon security breaches. Includes one sound alarm and one light alarm subsystem with multiple lights.
    - **Digital programmable power switches:** Monitor and change the state (ON/OFF) of small appliances and lighting units (115 volt, 10 amp). Up to one hundred power switches are supported.
- **Web-ready devices:** Computers, cell phones, or PDAs used by users to access the system.

#### Software interfaces
The DigitalHome system utilizes a DH Home Web Server, which provides:
- Interaction with and control of DH elements.
- Storage of DH plans and data.
- Ability to establish and maintain DH User Accounts.
- Backup service for user account information, user plans, and a home database.
No specific external software products (e.g., operating systems, databases) are explicitly named with version numbers or detailed interface definitions beyond the general web server functionality.

#### Communications interfaces
The DigitalHome system relies on the following communication interfaces:
- **Internet Service Provider (ISP):** Required for the home system, preferably widely available broadband (cable modem, high-speed DSL).
- **Broadband Internet connection:** Used by the DH Gateway Device.
- **Wireless communication (RF Module):** Between the DH Gateway Device and in-home DigitalHome devices (sensors and controllers). This is used for reading sensor values and sending controller values.

#### Memory constraints
The system requires storage for DH plans and data, user account information, and a home database. All system data (configuration, default parameter settings, planning, and usage data) will be backed up daily. No explicit numerical memory constraints are specified.

#### Operations
The system supports various operations:
- **User-initiated operations:** General users can log in/out, browse web pages, and submit information/requests via the web interface to monitor and control home devices.
- **Master User operations:** Master users can change system configuration, add user accounts, and change default parameter settings.
- **DH Technician operations:** Technicians are responsible for setting up and maintaining system configuration, setting system parameters, establishing user accounts, and starting/stopping system operation.
- **Scheduled operations:** Users can schedule environmental parameter settings (temperature, humidity, appliance states) for specific time periods (e.g., 24 one-hour settings per day for thermostats/humidistats).
- **Manual overrides:** Manual settings on devices or via the web interface will remain in effect until the end of the planned or default time period, then revert to scheduled settings.
- **Data processing support:** The system stores plans and data and can generate monthly reports on home management and control for the past two years.
- **Backup and recovery:** The system incorporates daily backup of all system data and a recovery mechanism to restore data from the most recent backup in case of failure (power loss, internet loss, hardware/software failure).

#### Site adaptation requirements
A DH Technician is responsible for setting up and maintaining the configuration of a DH system, including setting system parameters and establishing user accounts. The backup time for system data is also set by the DH Technician during system setup. The prototype system will be tested in a simulated environment that adheres to the physical properties and constraints of an actual home and real sensors/controllers, but there will be no actual physical home or physical sensors/controllers.

#### Interfaces with services
The home system requires an Internet Service Provider (ISP) for broadband Internet access.

### 1.3.2 Product functions
The DigitalHome system is a home management system designed to allow home residents to easily manage their daily lives by providing security, environmental and energy management (temperature, humidity, and lighting), entertainment, and communications.

The major functions of the software include:
- **General Control:** Allowing web-ready devices (computer, cell phone, PDA) to monitor and control a home's temperature, humidity, lights, security, and the state of small appliances via a DH home web server.
- **Temperature Management:** Monitoring current temperature, setting thermostat temperatures within a range (60°F to 80°F in 1-degree increments), scheduling up to 24 one-hour settings per day, and supporting Fahrenheit and Celsius values.
- **Humidity Management:** Monitoring current humidity, setting humidity levels within a range (30% to 60% in 1% increments), and scheduling up to 24 one-hour settings per day.
- **Security Management:** Managing door/window contact sensors and activating sound and light alarms upon a security breach.
- **Appliance Management:** Monitoring the ON/OFF state of small appliances and lighting units, and changing their states.
- **Planning and Reporting:** Providing a monthly planner for users to preset environmental parameters and appliance states for specific time periods, allowing overrides, and generating monthly reports on historical data (temperature, humidity, security breaches, system uptime) for the past two years.

Additional details on system functionality and relationships between entities are provided in the Digital Home Use Case Model [HO2010].

### 1.3.3 User characteristics
The DigitalHome system is designed for two primary user groups:

- **DigitalHome General Users:**
    - Able to monitor and control their home environment using the DH system.
    - Familiar with their home layout and the location of sensor and control devices.
    - Not familiar with the technical features of the DH system but proficient with web interfaces (logging in/out, browsing, submitting information).
- **DigitalHome Master Users:**
    - Possess the same rights as a DH Technician.
    - Able to change system configuration, add user accounts, and modify default parameter settings.
- **DigitalHome Technicians:**
    - Responsible for setting up and maintaining the configuration of a DH system.
    - Experienced with hardware, software, and web services associated with such systems.
    - Specially trained by DigitalHomeOwner on the functionality, architecture, and operation of the DH system.
    - Have elevated rights to set up, make configuration changes (e.g., system parameters, user accounts), and start/stop system operation.

### 1.3.4 Limitations
The following limitations and constraints apply to the DigitalHome system:

- **Project Scope:** This SRS describes a limited prototype version, not a comprehensive or complete specification of all DigitalHome requirements.
- **Development Environment:** 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.
- **Regulatory Requirements and Policies:**
    - The system shall adhere to the standards, policies, and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers [ASHRAE 2010].
    - All system documents must be up-to-date, use the HomeOwner document format [HO2305], and reside in the HomeOwner Document Archive upon project completion.
    - Object-oriented development using UML 2.0 is the preferred method for software development, with exceptions requiring CIO approval.
- **Hardware Limitations:** Environmental sensor or controller devices must be within 1000 feet of the master control device (DH Gateway) for communication.
- **Quality Requirements:** The system must be highly reliable, with no more than 1 failure per 10,000 hours of operation.
- **Criticality, Safety, and Security:**
    - High system reliability is crucial to prevent failures that could affect home dweller safety (e.g., security breaches, inadequate lighting, inappropriate temperature/humidity for ill individuals, or powering appliances when young children are present).
    - The system must provide authentication and information encryption (e.g., Transport Layer Security) for user accounts, requiring account name and password for login.
- **Project Constraints:**
    - The prototype must be completed within twelve months of inception.
    - The development team will consist of five engineers, with management support from the DigitalHomeOwner Director.
    - The development team will use the development process specified by Digital HomeOwner Inc.
    - The project will employ widely used, accepted, and available hardware and software technology and standards where possible.
    - The cost of DigitalHome elements should be minimized.
    - Major changes to this SRS must be approved by the Director of the DigitalHomeOwner Division.

## 1.4 Definitions
- **ASHRAE:** American Society of Heating, Refrigerating and Air-Conditioning Engineers
- **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 to be produced by DigitalHomeOwner.
- **DigitalHomeOwner:** The division of HomeOwner Inc. responsible for producing DigitalHome products.
- **DSL (Digital Subscriber Line):** A family of technologies that provides digital data transmission over the wires of a local telephone network.
- **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.
- **FAQ:** Frequently Asked Question.
- **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.
- **HVAC:** Heating, Ventilation and Air Conditioning.
- **Humidistat:** An instrument that measures and controls relative humidity.
- **ISP:** Internet Service Provider.
- **PDA:** Personal Digital Assistant.
- **RF:** Radio Frequency.
- **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 value that establishes the desired value of an environmental quality (e.g., a temperature value of 70°F).
- **SRS:** Software Requirements Specification.
- **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
The DigitalHome system shall provide the following fundamental actions:

### General System Functions
- 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 (temperature controller-sensors: thermostats, humidity controller-sensors: humidistats, contact sensors, security sound and light 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.
- 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.

### Thermostat Functions
- The DigitalHome programmable thermostat shall allow a user to monitor and control a home’s temperature from any location, using a web-ready computer, cell phone, or PDA.
- A DH user shall be able to read the temperature at a thermostat position.
- A DH user shall be able to set the thermostat temperatures to between 60°F and 80°F, inclusive, at one-degree increments.
- Up to eight thermostats shall be placed in rooms throughout the home.
- The thermostats may be controlled individually or collectively, so that temperature can be controlled at different levels in different home spaces.
- A single thermostat shall be placed in an enclosed space for which the air temperature is to be controlled.
- For each thermostat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
- If a thermostat device allows a user to make a manual temperature setting, the setting shall remain in effect until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period.
- A thermostat unit shall communicate, through wireless signals, with the master control unit.
- The system shall support Fahrenheit and Celsius temperature values.
- The system shall be compatible with centralized HVAC systems (gas, oil, electricity, solar, or a combination of two or more).

### Humidistat Functions
- The DigitalHome programmable humidistat shall allow a user to monitor and control a home’s humidity from any location, using a web-ready computer, cell phone, or PDA.
- A DH user shall be able to read the humidity at a humidistat position.
- A DH user shall be able to set the humidity level for a humidistat, from 30% to 60%, inclusive, at 1% increments.
- Up to eight humidistats shall be placed in rooms throughout the home.
- A single humidistat shall be placed in an enclosed space for which the humidity is to be controlled.
- If a humidistat device allows a user to make a manual temperature setting, the setting shall remain in effect until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period.
- For each humidistat, up to twenty-four one-hour settings per day for every day of the week can be scheduled.
- A DigitalHome system shall use wireless signals to communicate, through the master control unit, with the humidistats.

### Security System Functions
- The DigitalHome security system consists of contact sensors and a set of security alarms.
- A DigitalHome system shall be able to manage up to fifty door and window contact sensors.
- A DigitalHome system shall be able to activate both light and sound alarms: one sound alarm and one light alarm subsystem, with multiple lights.
- When a security breach occurs and a contact sensor is set OPEN, the alarm system shall be activated.

### Appliance Management Functions
- The DigitalHome programmable Appliance Manager shall provide for management of a home’s small appliances, including lighting units, by allowing a user to turn them on or off as desired.
- The Appliance Manager shall be able to manage up to one hundred 115 volt, 10 amp power switches.
- The system shall be able to provide information about the state of a power switch (OFF or ON), indicating whether an appliance connected to the power switch is OFF or ON.
- The system shall be able to change the state of a power switch (OFF to ON, or ON to OFF), in turn changing the state of an appliance connected to the power switch.
- If a user changes the state of a power switch device manually, the device shall remain in that state until the end of the planned or default time period, at which time the planned or default setting will be used for the next time period.

### DH Planning and Reporting Functions
- DigitalHome Planner shall provide a user with the capability to direct the system to set various preset home parameters (temperature, humidity, security contacts, and on/off appliance/light status) for certain time periods.
- DigitalHome provides a monthly planner.
- For a given month and year, a user shall be able to create or modify a month plan that specifies for each day, for up to four daily time periods, the environmental parameter settings (temperature, humidity, contact sensors and power switches).
- A user shall be able to override planned parameter values, through the DH website, or if available, through manual switches on household devices.
- For a given month and year, in the past two years, DigitalHome shall be able to provide a report on the management and control of the home.
- The month report shall contain daily average, maximum (with time) and minimum (with time) values of temperature and humidity for each thermostat and humidistat, respectively.
- The month report shall provide the day and time for which any security breaches occurred, that is, when the security alarms were activated.
- The month report shall provide a section that indicates the periods of time when the DH System was not in operation.

## 3.2 Performance requirements
- Displays of environmental conditions (temperature, humidity, contact sensors and power switches) shall be updated at least every two seconds.
- Sensor (temperature, humidity, contact sensor, power state) shall have a minimum data acquisition rate of 10 Hz.
- An environmental sensor or controller device shall have to be within 1000 feet of the master control device to be in communication with the system.

## 3.3 Usability requirements
- The general user, while not familiar with the technical features of the DH system, shall be able to use the web interface to perform simple web operations (logging in and logging out, browsing web pages, and submitting information and requests).
- The DigitalHome System shall provide users with online documentation about the DigitalHome system installed in their home, including:
    - An FAQ section addressing common use and maintenance questions.
    - A section explaining how DH parameters are set and sensor values are read, including limitations and constraints on settings and sensor reading accuracy.
    - A section describing how to use the DH Planner.

## 3.5 Logical database requirements
The system shall store the following types of information:
- DH plans and data.
- User account information.
- Home database.
- Sensor values.
- Preset home parameters (temperature, humidity, security contacts, on/off appliance/light status).
- Monthly plans specifying daily environmental parameter settings for up to four daily time periods.
- Historical daily average, maximum, and minimum temperature and humidity values for each thermostat and humidistat for the past two years.
- Day and time of security breaches for the past two years.
- Periods of time when the DH System was not in operation for the past two years.
- All system data (configuration, default parameter settings, planning, and usage data).

Integrity constraints:
- Thermostat temperatures shall be between 60°F and 80°F, inclusive, in one-degree increments.
- Humidistat humidity levels shall be between 30% and 60%, inclusive, in 1% increments.

Security:
- User account information shall be protected.

Data retention:
- Monthly reports on home management and control shall be available for the past two years.
- All system data shall be backed up daily.

## 3.6 Design constraints
- The development team will use the development process specified by Digital HomeOwner Inc.
- Where possible, the DigitalHome project will employ widely used, accepted, and available hardware and software technology and standards, both for product elements and for development tools.
- The system shall adhere to the standards, policies and procedures of the American Society of Heating, Refrigerating and Air-Conditioning Engineers [ASHRAE 2010].
- All system documents (Software Requirements Specification, Architectural Design Specification, Module Detailed Design, Module Source Code, and all Test Plans) shall be up-to-date, use the Homeowner document format [HO2305] and reside in the HomeOwner Document Archive at completion of the project.
- HomeOwner has designated object-oriented development, using UML 2.0, as the preferred method for development of software for HomeOwner products. Exceptions to this rule must be approved by the CIO.
- 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.

## 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 DH System will backup all system data (configuration, default parameter settings, planning, and usage data) on a daily basis, with the backup time set by the DH Technician at system set up.
- If the DH System fails (due to power loss, loss of internet access, or other software or hardware failure), the system recovery mechanism shall restore system data (configuration, default parameter settings, planning, and usage data) from the most recent backup.

### Security
- Upon installation, a DigitalHome user account shall be established.
- The DigitalHome web system shall provide for authentication and information encryption through a recognized reliable and effective security technology, such as Transport Layer Security.
- Log in to an 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.
    - Use of IEEE standards [IEEE830, IEEE1008, IEEE1016, IEEE1028] and the HomeOwner Coding Standard [HO4710].

### Portability
[N/A]

## 3.8 Supporting information
[N/A]

# 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].
- There is a supplementary document, the Digital Home Use Case Model [HO2010], that provides additional detail and information about the DigitalHome requirements.
- The development team will use the development process specified by the Digital HomeOwner Inc.
- 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
- **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 to be produced by DigitalHomeOwner.
- **DigitalHomeOwner:** The division of HomeOwner Inc. responsible for producing DigitalHome products.
- **DSL (Digital Subscriber Line):** A family of technologies that provides digital data transmission over the wires of a local telephone network.
- **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.
- **FAQ:** Frequently Asked Question.
- **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.
- **HVAC:** Heating, Ventilation and Air Conditioning.
- **Humidistat:** An instrument that measures and controls relative humidity.
- **ISP:** Internet Service Provider.
- **PDA:** Personal Digital Assistant.
- **RF:** Radio Frequency.
- **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 value that establishes the desired value of an environmental quality (e.g., a temperature value of 70°F).
- **SRS:** Software Requirements Specification.
- **Transport Layer Security:** Cryptographic protocols that provide security for communications over networks such as the Internet.