GNU remotecontrol
1 Overview
2 Scope
2.1 Information Technology
2.2 Energy Management
2.3 End User
2.4 Financial Management
3 Key Principles
3.1 Present Capabilities
3.2 HVAC Thermostat
3.3 Choosing Decision Makers
3.3.1 HVAC
3.3.2 Information Technology
3.3.3 Conclusion
3.4 Security Considerations
3.4.1 Supervisory Control And Data Acquisition
3.4.2 Industrial Control System
3.4.3 System Administration-Audit-Network Security
3.5 Frequently Asked Questions
3.5.1 Why do we call it GNU remotecontrol?
3.5.2 Why do I need GNU remotecontrol?
3.5.3 How do I know who changed what?
3.5.4 What will GNU remotecontrol do for me?
3.5.5 Can I figure my energy usage for my HVAC units?
3.5.6 How do I use GNU remotecontrol?
3.5.7 Can I use GNU remotecontrol and Remote Monitoring Server together?
3.5.8 What about the weather, can I tie weather related data into GNU remotecontrol and Remote Monitoring Server?
3.5.9 Mobile access for GNU remotecontrol?
3.5.10 Do I need to install anything to my computer?
3.5.11 How many different users will be able to use GNU remotecontrol?
3.5.12 Encryption.....is GNU remotecontrol safe to use with my network?
3.5.13 Is GNU remotecontrol compatible with BACnet?
3.5.14 Can I use GNU remotecontrol to help Test & Balance my HVAC system?
3.6 Future Capabilities
4 GNU remotecontrol & BACnet
4.1 Introduction
4.2 Associated Specifications
4.3 Going Forward
5 Tax Benefit
6 System Architecture and Concepts
6.1 Web Server
6.1.1 Security Model
6.1.2 Requirements
6.1.3 Configuration
6.2 Database Server
6.2.1 Security Model
6.2.2 Requirements
6.2.3 Configuration
6.2.4 Translations
6.3 Remote Monitoring Server
6.3.1 Security Model
6.3.2 Options
6.3.3 Requirements
6.3.4 Configuration
6.4 Nagios Plugins
6.4.1 Proliphix Alarms
6.4.2 Thermostat Plugin - check_ubicom
6.4.2.1 Syntax Example - IMPERIAL
6.4.2.2 Result Example - IMPERIAL
6.4.2.3 Syntax Example - METRIC
6.4.2.4 Result Example - METRIC
6.4.2.5 Syntax Example - Macro
6.4.3 Weather Plugin - check_weather
6.4.3.1 Syntax Example - IMPERIAL
6.4.3.2 Result Example - IMPERIAL
6.4.3.3 Syntax Example - METRIC
6.4.3.4 Result Example - METRIC
6.4.3.5 Syntax Example - Macro
6.5 Email Server
6.5.1 Security Model
6.5.2 Options
6.5.3 Requirements
6.5.4 Configuration
6.6 Frequently Asked Questions
6.6.1 What is RMS?
6.6.2 What is Remote Monitoring Server?
6.6.3 Why do I need RMS?
6.6.4 What will RMS do for me?
6.6.5 How do I use RMS?
6.6.6 Does a Remote Monitoring Server do graphing?
6.6.7 Mobile access for RMS?
6.6.8 Is it difficult to use RMS?
6.6.9 How many emails/SMS messages will I get?
6.6.10 How many different email addresses will you send me notifications to?
6.6.11 Can I use RMS to help Test & Balance my HVAC system?
6.6.12 Do I need RMS?
6.6.13 Really, how do I know that I need RMS?
7 Usage Instructions
7.1 Browser Selection
7.2 Time
7.3 admin.php
7.3.1 Purpose
7.3.2 Fields
7.3.3 Usage
7.4 index.php
7.4.1 Purpose
7.4.2 Fields
7.4.3 Usage
7.4.3.1 Adding a Thermostat
7.4.3.2 View Settings
7.4.3.3 Write to a Thermostat - Date and Time
7.4.3.4 Write to a Thermostat - HVAC Settings
7.4.3.5 Object Parameters
7.5 transactionhistory.php
7.5.1 Purpose
7.5.2 Fields
7.5.3 Usage
7.6 Troubleshooting
8 Usage Recommendations
8.1 Start Small
8.2 Strongly Encouraged
8.3 Food for Thought
9 Use Case Scenarios
9.1 Scenario 1 - Building Maintenance
9.2 Scenario 2 - Office Worker
9.3 Scenario 3 - Property Manager
9.4 Scenario 4 - Restaurant Operations
9.5 Scenario 5 - Certified Energy Manager
9.6 Scenario 6 - Industrial Manufacturing Facility
9.7 Scenario 7 - Facility Manager
9.8 Scenario 8 - External Information
9.9 Scenario 9 - Financial Manager
9.10 Scenario 10 - Automated Meter Reading
9.11 Scenario 11 - Smart Metering
9.12 Scenario 12 - Utility Providers
9.13 Summary
10 Implementation Cost
11 Roadmap
11.1 Interoperability
11.2 HVAC Original Equipment Manufacturer - Feature Addition
11.3 HVAC Aftermarket Equipment Manufacturer - Feature Addition
11.4 Cost Benefit Analysis
12 REFERENCE
12.1 Cabling 101
12.1.1 Introduction
12.1.2 Cable
12.1.3 Grounding
12.1.4 Installation
12.1.5 Termination
12.1.6 Testing
12.1.7 Usage Notes
12.1.8 Cautionary
12.2 Power over Ethernet (PoE) 101
12.2.1 Introduction
12.2.2 Power Sourcing Equipment (PSE)
12.2.3 Powered Device (PD)
12.2.4 Midspan
12.2.5 Endspan
12.2.6 Usage Notes
12.2.7 Cautionary
13 Contributors
Appendix A GNU Free Documentation License
GNU remotecontrol
*****************
This manual is for GNU remotecontrol (version 1.0, 7 January 2013).
1 Overview
**********
GNU remotecontrol is a web application serving as a management tool for
multiple IP enabled HVAC thermostats (device), and other Building
Automation devices. The purpose of GNU remotecontrol is to read from
and write to multiple IP enabled thermostats all at one time.
The GNU remotecontrol framework is designed to work with any IP
enabled HVAC thermostat, but can be easily developed to operate any
number of networked devices. This framework is built with cURL
(http://en.wikipedia.org/wiki/CURL), PHP
(http://en.wikipedia.org/wiki/PHP), and MySQL
(http://en.wikipedia.org/wiki/MySQL). Its system architecture is
enabled on a server-client principle, where users can login to the
server using a web browser to manage multiple remote devices from a
single web interface. The GNU remotecontrol framework was developed to
work in combination with a Remote Monitoring Server, which monitors
configurable device parameters and can generate automatic system
responses and alerts. If required, the GNU remotecontrol is both
scalable and distributable over multiple computers serving different
roles in the HVAC or remote device management framework. The Proliphix
(http://www.proliphix.com/) IP thermostat (currently the only true IP
enabled HVAC thermostat on the market) was used to develop the GNU
remotecontrol web application. The Application Programming Interface
(http://en.wikipedia.org/wiki/Application_programming_interface) (API)
*Proliphix IP Devices HTTP API, Revision 1.8* is used to read from and
write to the Object Identification (OID) numbers defined in the API for
the thermostat device.
The intended structure of this documentation is to provide as much
assistance as possible to understanding *why* you need/want to use GNU
remotecontrol and instruction for *how* to use GNU remotecontrol. Our
research during the development of GNU remotecontrol found users
operated best when they were given the opportunity to gain a high-level
understanding of all the technologies associated with GNU remotecontrol.
This documentation is written as a combined reference manual and
technical manual for GNU remotecontrol. The *Scope* section contains a
listing of the minimum recommended chapter reading, per role. Each
section in *System Architecture and Concepts* contains instructions for
*Security Model*, any *Options* that are recommended, *Requirements* to
run that technology, and *Configuration* of that technology.
We recognize this documentation contains a lot of material. The
documentation is segmented for you to select what you need to read to
get going with GNU remotecontrol. We have done all we know how to
structure this documentation in a Table of Contents that helps you
easily find what you are looking for, obtain a complete understanding of
each role, and master the minimum recommended chapter reading as simply
and quickly as possible. It is our hope you find this documentation
contains all of the information you need to successfully and
effortlessly use GNU remotecontrol. With that said, we give you GNU
remotecontrol.
2 Scope
*******
The scope of this documentation is to address the 3 roles that function
daily in the usage of GNU remotecontrol; *Information Technology*,
*Energy Management*, and *End User*. A 4th role, *Financial
Management*, is a role that operates in the Cost Benefit Analysis
(http://en.wikipedia.org/wiki/Cost%E2%80%93benefit_analysis) and in
reviews to evaluate facility improvement opportunities. The
documentation contains information pertinent to each role. The intended
end result is to help equip each role with the necessary definitions and
reference information to further high-level communication among the
roles.
The following list is the minimum recommended chapter reading, per
role.
2.1 Information Technology
==========================
* *Note Key Principles::.
* *Note System Architecture and Concepts::.
* *Note Usage Instructions::.
* *Note Usage Recommendations::.
2.2 Energy Management
=====================
* *Note Key Principles::.
* *Note GNU remotecontrol & BACnet::.
* *Note Tax Benefit::.
* *Note System Architecture and Concepts::.
* *Note Usage Instructions::.
* *Note Usage Recommendations::.
* *Note Use Case Scenarios::.
* *Note Implementation Cost::.
* *Note Roadmap::.
* *Note REFERENCE::.
2.3 End User
============
* *Note Key Principles::.
* *Note Usage Instructions::.
* *Note Usage Recommendations::.
* *Note Use Case Scenarios::.
2.4 Financial Management
========================
* *Note Key Principles::.
* *Note GNU remotecontrol & BACnet::.
* *Note Tax Benefit::.
* *Note System Architecture and Concepts::.
* *Note Usage Instructions::.
* *Note Usage Recommendations::.
* *Note Use Case Scenarios::.
* *Note Implementation Cost::.
* *Note Roadmap::.
* *Note REFERENCE::.
3 Key Principles
****************
3.1 Present Capabilities
========================
GNU remotecontrol is designed to substantially reduce the time & effort
necessary to remotely manage multiple IP thermostats, while
significantly increasing your productivity through its many useful and
time saving features. The User Interface is no more difficult than
using any other web application involving simple check boxes and
pull-down menus. GNU remotecontrol, combined with the Remote Monitoring
Server, work together as a complete HVAC energy management system. GNU
remotecontrol more than pays for itself by saving time/effort in manual
labor for managing all resources individually.....and then some.
3.2 HVAC Thermostat
===================
It is necessary to understand the design and usage intent of the HVAC
thermostat to fully grasp the design and usage intent of GNU
remotecontrol.
The HVAC thermostat (http://en.wikipedia.org/wiki/thermostat) is
often a combination of either a relay
(http://en.wikipedia.org/wiki/Relay) or a semiconductor device
(http://en.wikipedia.org/wiki/Semiconductor_device) to have circuits
either opened or closed, off or on. Examples of this include heating,
cooling, or a fan. The addition of a scheduling option to turn any of
these items off or on at a certain date/time does make it more practical
of a device in terms of managing day-to-day operation of a HVAC system.
Adding in the ability to track run time duration for heating, cooling,
or a fan help energy efficiency measurements. The final addition of
remote access, through the traditional IP enabled data network, takes
the HVAC thermostat to an interconnected device capable of multiple
read/write techniques. The cable from the thermostat to the HVAC
equipment is solid core 18-AWG
(http://en.wikipedia.org/wiki/American_wire_gauge), either 4 or 8
separately jacketed wires, depending on system capability, all contained
within a protective jacket.
3.3 Choosing Decision Makers
============================
You will most likely need to work with others who have a different skill
set than you do to achieve an effective energy management strategy. It
is necessary to carefully plan for your selection of the decision makers
you choose to work with. Choosing decision makers that are capable to
run your HVAC and IT systems is paramount to the success of your system
performance.
3.3.1 HVAC
----------
Being a licensed Professional Engineer
(http://en.wikipedia.org/wiki/Professional_engineer) does not make that
person a Certified Energy Manager
(http://en.wikipedia.org/wiki/Certified_Energy_Manager) (CEM). They are
separate qualifications, each with their own requirements. Go with a
Certified Energy Manager to help you determine if you qualify for any
tax benefit for commercial building being rated as energy efficient.
Even if you don't qualify for a tax benefit, you will most likely find a
very beneficial set of methods to increase your energy management
strategies that makes paying the Certified Energy Manger well worth the
expense.
3.3.2 Information Technology
----------------------------
Being in an IT role does not make one qualified do an end-to-end design
of an IT system. Relevant certifications help to know if one is really
capable to do what they say they can do. Experience is probably the
strongest credential one can have for being capable to run an IT system.
Simply put, operation does not equal design. They are separate
qualifications, each with their own requirements.
3.3.3 Conclusion
----------------
Look to your *Cost Benefit Analysis* for decision making on how you need
to design and operate your energy management strategy.
3.4 Security Considerations
===========================
The following is a list of information that will greatly help you plan
for the network implementation and configuration of your energy
management strategy.
3.4.1 Supervisory Control And Data Acquisition
----------------------------------------------
SCADA (http://en.wikipedia.org/wiki/SCADA) speaks to the industrial side
of HVAC automation.
3.4.2 Industrial Control System
-------------------------------
ICS (http://en.wikipedia.org/wiki/Industrial_Control_Systems) speaks to
industrial production facilities.
3.4.3 System Administration-Audit-Network Security
--------------------------------------------------
SANS (http://www.sans.org/) specializes in Internet Security training.
3.5 Frequently Asked Questions
==============================
3.5.1 Why do we call it GNU remotecontrol?
------------------------------------------
This code was originally called *JUT*....."*J*ust *U*se *T*his" to
represent the intention of this software automation to take the
complicated and make it very, very simple, from a user perspective. The
name changed to GNU remotecontrol, when code was released under the GNU
license.
3.5.2 Why do I need GNU remotecontrol?
--------------------------------------
If you have IP thermostats, you know that it takes time/effort to keep
your energy usage down and control your climate for your comfort. This
time and effort is increased with each remote device or HVAC unit that
you want to administrate. GNU remotecontrol helps you spend less
time/effort administrating your IP thermostats, provides automated
record keeping of what changed, who changed it, and when it was changed.
GNU remotecontrol deployment helps keep your energy usage as low as
possible.
3.5.3 How do I know who changed what?
-------------------------------------
The access logs of your Web Server, your Operating System, and all of
the other technologies that achieve user validation of a web
application. Technologies that are time tested, tried and true, that
you can count on. No need to reinvent the wheel, use what works very
well when possible.
3.5.4 What will GNU remotecontrol do for me?
--------------------------------------------
Free up your time/effort for starters. Also, enable you to know who did
what to your IP thermostats when GNU remotecontrol was used to change
your IP thermostats. Finally, your GNU remotecontrol application can
help you minimize your energy costs.
3.5.5 Can I figure my energy usage for my HVAC units?
-----------------------------------------------------
The IP thermostat will very much help with that measurement.
3.5.6 How do I use GNU remotecontrol?
-------------------------------------
Pretty easy, actually. Select the IP thermostats you want to change the
settings of.....make the change.....and that's it. You can easily see
the time/effort you save changing the air conditioning from 75oF to 73oF
for several IP thermostats, all at once! Then, imagine changing your
setback schedule somehow on top of that, for say 30 different IP
thermostats, all at once!
3.5.7 Can I use GNU remotecontrol and Remote Monitoring Server together?
------------------------------------------------------------------------
Oh, yes. Think of GNU remotecontrol as writing to your IP thermostats,
and Remote Monitoring Server reading information about your IP
thermostats. The two go hand in hand. They are intended to work
together.
3.5.8 What about the weather, can I tie weather related data into GNU remotecontrol and Remote Monitoring Server?
-----------------------------------------------------------------------------------------------------------------
Yes. Use your Remote Monitoring Server to collect information about the
weather from International Weather Services for the location of your IP
thermostat. That will tell you a great deal about the quality of your
energy management strategy.
3.5.9 Mobile access for GNU remotecontrol?
------------------------------------------
Yes, but that depends on who you have for cell phone service, the type
of cell phone you have, and the Internet browser on that phone.
3.5.10 Do I need to install anything to my computer?
----------------------------------------------------
No. GNU remotecontrol is a WC3 (http://www.w3.org/standards/) compliant
web application. More times than not, your network is ready to go
as-is.
3.5.11 How many different users will be able to use GNU remotecontrol?
----------------------------------------------------------------------
You can set up different user accounts, but the nature of an IP
thermostat means the people touching it be very clear with each other as
to how they want to set the IP thermostat.
3.5.12 Encryption.....is GNU remotecontrol safe to use with my network?
-----------------------------------------------------------------------
We recommend you use a High Grade (AES-256 bit) encryption to secure the
connection from your computer to your GNU remotecontrol server and
verify the identity of your server with your own signed SSL Certificate.
The connection from your computer to your IP thermostat is not changed
from your normal connection to your Proliphix IP thermostat.
3.5.13 Is GNU remotecontrol compatible with BACnet?
---------------------------------------------------
Yes. *Note GNU remotecontrol & BACnet::.
3.5.14 Can I use GNU remotecontrol to help Test & Balance my HVAC system?
-------------------------------------------------------------------------
Yes. Remote Monitoring Server & GNU remotecontrol work together to help
you do just this. Recorded data of your HVAC system's usage and outdoor
weather information is priceless for testing & balancing. The review of
recorded data offers considerable cost savings, in both time and effort,
to when optimizing your system setup. Additionally, you can reduce the
number of people necessary to do the testing and balancing down to 1
person.
3.6 Future Capabilities
=======================
The next logical step is to expand GNU remotecontrol and become
certified with industrial HVAC, lighting control, access control, and
fire detection technologies. The BACnet communication protocol is an
excellent candidate for connection to the GNU remotecontrol framework.
*Note GNU remotecontrol & BACnet::. The MODBUS
(http://en.wikipedia.org/wiki/Modbus) communication protocol may also be
implemented at a future date, but demand for this capability enhancement
is not clearly understood.
4 GNU remotecontrol & BACnet
****************************
4.1 Introduction
================
The BACnet (http://www.bacnet.org/) data communication protocol of
ASHRAE (http://www.ashrae.org/) provides the BACnet XML Working Group
(http://www.bacnet.org/WG/XML/index.html).
4.2 Associated Specifications
=============================
The following is a list of information that will greatly help you plan
for the usage of the data captured in your energy management strategy.
* *Extensible Markup Language* - XML
(http://en.wikipedia.org/wiki/XML)
_"The design goals of XML emphasize simplicity, generality, and
usability over the Internet. It is a textual data format with
strong support via Unicode for the languages of the world.
Although the design of XML focuses on documents, it is widely used
for the representation of arbitrary data structures, for example in
web services."_
_"XML documents consist entirely of characters from the Unicode
repertoire. Except for a small number of specifically excluded
control characters, any character defined by Unicode may appear
within the content of an XML document."_
* *Representational State Transfer* - REST
(http://en.wikipedia.org/wiki/Representational_state_transfer)
_"Unlike SOAP-based web services, there is no "official" standard
for RESTful web services. This is because REST is an architecture,
unlike SOAP, which is a protocol. Even though REST is not a
standard, a RESTful implementation such as the Web can use
standards like HTTP, URI, XML, etc."_
* *BACnet* ADDENDA AND COMPANION STANDARDS
(http://www.bacnet.org/Addenda/index.html)
* Addendum 135-2008al
(http://www.bacnet.org/Addenda/Add-135-2010al-PPR3-Draft-4_chair_approved.pdf)
* Addendum 2004-135c
(http://www.bacnet.org/Addenda/Add-2004-135c.pdf)
* Addendum 135-2010am
(http://www.bacnet.org/Addenda/Add-135-2010am-APR1-1_chair-approved.pdf)
* *The Native PHP* XML Parser
(http://www.php.net/manual/en/book.xml.php)
4.3 Going Forward
=================
The roadmap of GNU remotecontrol is a commitment to International
standards and protocols for Information Technology to provide
availability, relevance, transparency, and maintenance of the GNU
remotecontrol framework. (*Note Roadmap::.) The BACnet XML Working
Group is an excellent example of these attributes.
5 Tax Benefit
*************
Internal Revenue Bulletin: 2006-26
(http://www.irs.gov/irb/2006-26_IRB/ar11.html), *Notice 2006-52*,
_Deduction for Energy Efficient Commercial Buildings_ defines the tax
deduction allowed for the hardware and software required for GNU
remotecontrol to operate in commercial buildings in the United States.
The costs for GNU remotecontrol are 100% tax deductible.....if you meet
these requirements. The tax deduction, combined with spending less
money for energy due to an improved energy management strategies, means
GNU remotecontrol more than pays for itself.
6 System Architecture and Concepts
**********************************
The following pieces of the GNU remotecontrol architecture are
*necessary*.
* Web Server
* Database Server
The following pieces of the GNU remotecontrol architecture are
*optional*.
* Remote Monitoring Server
* Email Server
6.1 Web Server
==============
GNU remotecontrol uses PHP v5.3.9 and MySQL v5.5.2, in combination with
cURL v7.28.1, running without difficulty on either Windows or Linux.
6.1.1 Security Model
--------------------
GNU remotecontrol is configured with the security necessary for any
other Web Server (http://en.wikipedia.org/wiki/Web_server). You are
responsible for setting up your security on your Web Server.
6.1.2 Requirements
------------------
GNU remotecontrol can run anywhere that can run PHP with cURL and MySQL.
GNU remotecontrol runs without any known problems on Apache
(http://en.wikipedia.org/wiki/Apache_HTTP_Server) and IIS
(http://en.wikipedia.org/wiki/Internet_Information_Services). Running
GNU remotecontrol on a lightweight
(http://en.wikipedia.org/wiki/Comparison_of_lightweight_web_servers) Web
Server versus a complete
(http://en.wikipedia.org/wiki/Comparison_of_web_servers) Web Server is
possible, but not recommended. This is due to the security benefits of
a complete Web Server. Again, you are responsible for setting up your
security on your Web Server.
6.1.3 Configuration
-------------------
Follow the configuration stated by the Web Server you so choose to use.
Here is what you need for running GNU remotecontrol on Apache, after
you setup your security on your Web Server.
* *Apache httpd.config:*
Options FollowSymLinks
AllowOverride None
Order allow,deny Allow from all
AuthType Digest
AuthName "tstat"
AuthUserFile "PATH_TO...../passwords_digest"
Require user [Same user account name you setup for your database
user account.]
* *Settings necessary in your PHP configuration (php.ini):*
register_globals = Off
auto_globals_jit = On
* *Extensions necessary in your PHP installation:*
php_curl
php_mysqli
6.2 Database Server
===================
GNU remotecontrol uses PHP v5.3.9 and MySQL v5.5.2, in combination with
cURL v7.28.1, running without difficulty on either Windows or Linux.
It is important to consider the option of a Federated Database System
(http://en.wikipedia.org/wiki/Federated_database_system). This option
provides for the benefit of leveraging other Database Systems to work
with your GNU remotecontrol database. You are not bound to only use
MySQL for your GNU remotecontrol. Thinking outside of the box here will
most likely bring you innovation of how you can implement your GNU
remotecontrol.
6.2.1 Security Model
--------------------
GNU remotecontrol is configured with the security necessary for any
other Database System (http://en.wikipedia.org/wiki/Database_system).
You are responsible for setting up your security on your Database
Server.
6.2.2 Requirements
------------------
Follow the requirements stated by the Database System you so choose to
use.
GNU remotecontrol runs without any known problems on MySQL. Running
GNU remotecontrol on a lightweight
(http://en.wikipedia.org/wiki/Back-end_database#Small_Database_Systems)
Database Server versus a complete
(http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems)
Database Server is possible, but not recommended. This is due to the
security benefits of a complete Database Server. Again, you are
responsible for setting up your security on your Database Server.
6.2.3 Configuration
-------------------
Follow the requirements stated by the Database System you so choose to
use.
There is only 1 database script, _iptstat.sql_. This is in the
folder _/dbscripts_. This script builds the GNU remotecontrol database.
From there, you apply your security model as you see fit.
6.2.4 Translations
------------------
All databases have a character set and collation setting that can be
configured to handle languages with special characters. The Character
Sets and Collations
(http://dev.mysql.com/doc/refman/5.5/en/charset-charsets.html) specify
what you can add to your tables. This does not have to be a global
setting. This can be table-specific or even column-specific.
GNU remotecontrol is built to display in any language you can get
into the database. You can also edit the contents, as you prefer, with
wording that is more appropriate for your end-users. This will help
ease your usage of GNU remotecontrol.
6.3 Remote Monitoring Server
============================
GNU remotecontrol uses PHP v5.3.9 and MySQL v5.5.2, in combination with
cURL v7.28.1, running without difficulty on either Windows or Linux.
6.3.1 Security Model
--------------------
GNU remotecontrol is configured with the security necessary for any
other Remote Monitoring (http://en.wikipedia.org/wiki/Remote_monitoring)
application. You are responsible for setting up your security on your
Remote Monitoring Server.
6.3.2 Options
-------------
The question must be answered.....*why would you not monitor your
systems*? If your answer contents you to not have a Remote Monitoring
Server, so be it. Perhaps you trust the decisions and work of others
enough to not bother with setting up a Remote Monitoring Server. That
is often a poor choice.
Running a Remote Monitoring Server is the easy part of having a
Remote Monitoring Server. The biggest decision you have to make
is.....* are you going to run it, or is someone else*? Then, and only
then, choose the technology combination you want to have for your Remote
Monitoring Server. Do not let your skill set alone decide what is best
for meeting your needs. Determine what you needs are, count the cost,
and then choose your technology.
We have developed plugins for Nagios that quite nicely round out the
energy management strategy. Check out the *Nagios Plugins*.
*Popular Options*
* Nagios (http://www.nagios.org/)
* Solar Winds (http://www.solarwinds.com/)
* M/Monit (http://www.mmonit.com/)
Note:: There are many, many other options to choose.
6.3.3 Requirements
------------------
Follow the requirements stated by the Remote Monitoring application you
so choose to use.
6.3.4 Configuration
-------------------
Follow the configuration stated by the Remote Monitoring application you
so choose to use
6.4 Nagios Plugins
==================
We have developed 2 plugins to round out the GNU remotecontrol
Architecture. The outcome of these plugins is to capture numbers
related to your IP enabled thermostat and RSS feeds for weather
information out of doors. Numbers are so much easier for processing
data to achieve knowledge. Text, images, video, and so on are on quite
complicated to process into knowledge. The metrics of Temperature
(http://en.wikipedia.org/wiki/Temperature), Humidity
(http://en.wikipedia.org/wiki/Humidity), Wind-Speed
(http://en.wikipedia.org/wiki/Wind_speed), Wind-Chill
(http://en.wikipedia.org/wiki/Wind_chill), and Atmospheric (Barometric)
Pressure (http://en.wikipedia.org/wiki/Barometric_pressure) help to
analyze your entire HVAC system and determine if your energy management
strategy is working for you. Other metrics can be added in as
preferred, as shared below.
6.4.1 Proliphix Alarms
----------------------
The Proliphix thermostat device has 4 alarms.
* Low Temperature
* High Temperature
* High Humidity
* Filter Change
Alarms in the thermostat device were considered for displaying in
index.php or another web page not developed (perhaps something like a
GNU remotecontrol alarms.php web page). Feedback from users during
development of GNU remotecontrol showed their preference is to be
informed of alarms from a Remote Monitoring Server notification. This
approach also provides logging of all monitored information, a feature
not available in the thermostat device.
The Temperature and Humidity alarms are already provided for in the
Nagios checks we have developed. The Filter Change alarm has various
pre-determined options to select; 10, 30, 60, 90, 120, 240, 365 Runtime
Days. This does not account for dust accumulating on a filter, should
the power be off to the thermostat device. This logic combination is
determined as insufficient to use for monitoring when to change the
filter of an HVAC system. Reasoning for this determination includes:
* Various pollutants enter filters at different times in different
ways.
* Allergens are more prevalent in the Spring compared to the other
seasons of the year.
* Dust is more common if a manufacturing facility has dust as a
byproduct of manufacturing.
* Dust is generated from Wood Stoves and Fire Places. Heating needs
often change throughout the year.
* Dust Storms (http://en.wikipedia.org/wiki/Dust_storm) are common in
arid and semi-arid regions. Dust Storms require additional filter
inspections to make sure equipment will not be damaged from
improper ventilation.
* An end-user is the best person to determine when to change a filter
based upon the environmental conditions that may or may not change.
The Proliphix API only supports reading these alarms, not setting an
alarm threshold or clearing an alarm event. The user must go to the web
server of the Proliphix thermostat device for setting an alarm threshold
or clearing an alarm event. Also, there is only a single alarm issued
per alarm type until the alarm type event is cleared in the thermostat
device. This logic combination means a threshold may be exceeded, go
back within the threshold, and then be exceeded again. This example is
an excellent illustration of the value gained by having a Remote
Motoring Server watching your network, your devices, and anything else
you can monitor.
Finally, since the thermostat device has a threshold of how many read
events the unit can support per minute, we did not want to overwhelm the
device. An example of this overwhelming of the device is:
* Having a separate web page for viewing these alarms, after they are
read from the thermostat device.
* Then, returning to index.php to see those alarms.....again.
* Then, going into the device to clear the alarm and/or adjust
thresholds.
* Then, going back to index.php to see what an alarm reads.
* Then, going back into the separate to see what an alarm reads.
The API is quite distinct about this cautioning of too many read
events per minute through the API. The combination of the web server of
the thermostat device and index.php is a proper approach to use back and
forth and not overwhelm the thermostat device.
6.4.2 Thermostat Plugin - check_ubicom
--------------------------------------
Please review the source code for each of these plugins to see detailed
instruction for proper usage. The following is an outline of the
detailed instruction.
This plugin will attempt to read temperature and humidity from an IP
thermostat. Successful reads initially set the response to 'STATE_OK'.
If the temperature or humidity falls outside the range set by the
'warn-temperature' or the 'warn-humidity' arguments, then the response
is upgraded to 'STATE_WARNING'. If the temperature or humidity falls
outside the range set by the 'critical-temperature' or the
'critical-humidity' arguments, then the response is further upgraded to
'STATE_CRITICAL'. Failure to read both values (due to timeout or
parsing failure) results in a 'STATE_UNKNOWN' response.
Temperature and humidity arguments may specify a minimum, a maximum,
or both. A ':' character must be used to follow a minimum or precede a
maximum. For example.....
6.4.2.1 Syntax Example - IMPERIAL
.................................
_check_ubicom -wt :70 -ct :90 -wh 10: -ch 5: -t 60 -I
example.remote-mon.com -u /status.shtml_
6.4.2.2 Result Example - IMPERIAL
.................................
* Returns CRITICAL if temperature is above 90F or humidity is below
10%.
* Returns WARNING if temperature is above 70F or humidity is below 5.
* Returns OK if temperature is 70F or below.
* Returns UNKNOWN if no response received within 60 seconds.
6.4.2.3 Syntax Example - METRIC
...............................
_check_ubicom -m -wt 0:30 -critical-temperature=-10:50 -I
example.remote-mon.com -u /status.shtml_
6.4.2.4 Result Example - METRIC
...............................
* Returns CRITICAL if temperature is below -10C or above 50C.
* Returns WARNING if temperature is below 0C or above 30C.
* Returns OK if temperature is from 0C to 30C.
* Returns UNKNOWN if no response received within 10 seconds.
6.4.2.5 Syntax Example - Macro
..............................
define command{
command_name check_ubicom_whatever
command_line $USER1$/check_ubicom -I 10.10.10.22 -p 8264
}
6.4.3 Weather Plugin - check_weather
------------------------------------
Please review the source code for each of these plugins to see detailed
instruction for proper usage. The following is an outline of the
detailed instruction.
The check_weather plugin checks the wind-chill, wind-speed, humidity,
pressure, and temperature received from Yahoo! Weather RSS Feed
(http://developer.yahoo.com/weather/) for a single station code. The
return value is always OK or UNKNOWN.
You are certainly free to use any other RSS feed you prefer.
Examples of this include The Weather Channel
(http://portal.theweatherchannel.com/) and Weather Underground
(http://www.wunderground.com/weather/api/). All of these RSS feeds have
free and paid options. Please carefully read their provisions if you
select to use their RSS feed.
The performance values returned by the check_weather plugin, *in
order*, are:
1. wind-chill (apparent temperature) in degrees F or degrees C
2. wind-speed in m.p.h. or km.p.h.
3. relative humidity in percent
4. barometric pressure in in.Hg or mm.Hg
5. current temperature in degrees F or degrees C
6.4.3.1 Syntax Example - IMPERIAL
.................................
_check_weather -z USTN0268_
6.4.3.2 Result Example - IMPERIAL
.................................
OK|52 8 88 29.68 52
1. 52 degrees Fahrenheit wind-chill
2. 8 mph wind-speed
3. 88% relative humidity
4. 29.7 in.Hg barometric pressure
5. 52 degrees Fahrenheit actual temperature
6.4.3.3 Syntax Example - METRIC
...............................
_check_weather -z USTN0268 -m_
6.4.3.4 Result Example - METRIC
...............................
OK|35 12.8748 88 753.872 35
1. 35 degrees Celsius wind-chill temperature
2. 12.8 km/h wind-speed
3. 88% relative humidity
4. 758.8 mm.Hg barometric pressure
5. 35 degrees Celsius actual temperature
6.4.3.5 Syntax Example - Macro
..............................
define command{
command_name check_weather_knox
command_line $USER1$/check_weather -z USTN0268
}
These plugins are developed under the Nagios License
(http://www.nagios.com/legal/).
6.5 Email Server
================
6.5.1 Security Model
--------------------
GNU remotecontrol is configured with the security necessary for any
other Email Server (http://en.wikipedia.org/wiki/Email_server). You are
responsible for setting up your security on your Email Server.
6.5.2 Options
-------------
The email used in the GNU remotecontrol Architecture is for sending
email from your Remote Monitoring Server to you, via your Email Server.
Options include either a Physical Server
(http://en.wikipedia.org/wiki/Server_%28computing%29), a Virtual Server
(http://en.wikipedia.org/wiki/Virtual_server), or an email service such
as DynDNS Email (http://www.dyn.com/email/) or Google Mail
(http://support.google.com/mail/bin/answer.py?hl=en&answer=13287) to
achieve what is necessary for the Email Server of the GNU remotecontrol
Architecture.
Managing email activity is a full-time job. Managing Email Accounts
(http://en.wikipedia.org/wiki/Email_account), managing Electronic
Mailing List (http://en.wikipedia.org/wiki/Electronic_mailing_list) and
Distribution list (http://en.wikipedia.org/wiki/Distribution_lists),
dealing with spam, viruses, and other security threats.....it really is
a lot to juggle. Do yourself a big favor and become very clear on these
3 items:
* Mail Delivery Agent
(http://en.wikipedia.org/wiki/Mail_Delivery_Agent)
* Mail Transfer Agent
(http://en.wikipedia.org/wiki/Mail_transfer_agent)
* Mail User Agent (http://en.wikipedia.org/wiki/Mail_user_agent)
Then, do yourself a *very* big favor and become *very* familiar with
these 4 items:
* Email Authentication
(http://en.wikipedia.org/wiki/E-mail_authentication)
* S/MIME (http://en.wikipedia.org/wiki/S/MIME)
* SMTP Authentication
(http://en.wikipedia.org/wiki/SMTP_Authentication)
* Transport Layer Security
(http://en.wikipedia.org/wiki/Transport_Layer_Security)
Check out Masquerading and Relaying
(http://www.sendmail.org/m4/masquerading.html) for mental expansion.
The combinations of running email on a single server are almost
limitless. Combining a Physical Server with a Virtual Server and
different email services make for assuring email is achieved about as
close to a certainty as possible.
6.5.3 Requirements
------------------
Follow the requirements stated by the Email application you so choose to
use.
Please note that you do not need to get into encrypted email
(http://en.wikipedia.org/wiki/Encrypted_email), unless you want to. The
big difference is encrypted email encrypts the file in your email
client. The Email Authentication moves an un-encrypted email through an
encrypted means of transporting the said email. Think of it as a paper
letter in a paper envelope in a concrete hallway versus a paper letter
in a strong box in the middle of a city sidewalk.
Now, having a familiarity understanding of these items will equip you
to have a very successful talk with your Email Administrator, or your
Internet Service Provider, or a Mail Relay Provider. That administrator
will ask you several questions about how you want email handled for your
GNU remotecontrol. Prepare beforehand for that discussion. The
discussion will go much better if you are familiar with and understand
these items.
6.5.4 Configuration
-------------------
Follow the configuration stated by the Email application you so choose
to use.
The email you most likely will want is to be notified of a condition
occurring and you are notified by your Remote Monitoring Server. You do
not need to keep the email, nor do you need to do any reporting on the
emailing. All of the information you would ever need to report on lives
in your Remote Monitoring Server as either log files or a database. The
benefit of your email is to be notified when you need to look into
something, and that is all. The benefit of that awareness is priceless.
Combine that with managing those email notifications to you and others
in the lists of email addresses, a list that can and often changes,
makes email really valuable for managing the time of everyone involved.
Note:: Don't use an SMS address when sending email to cell phones.
Use the cell phone's email address via the Free Email To SMS
Gateways (http://www.makeuseof.com/tag/email-to-sms/). Major
United States Carriers offer this to both email and SMS users.
Look for the same options of the cell phone provider's of the land
in which you live. You will be much happier using the cell phone's
email address, as you can easily track if the message went out or
not, versus wondering about the SMS system.....in which knowing is
often a mystery. Finally, it is 1 less system to work with.
6.6 Frequently Asked Questions
==============================
6.6.1 What is RMS?
------------------
RMS is the acronym of Remote Monitoring Server.
6.6.2 What is Remote Monitoring Server?
---------------------------------------
A Remote Monitoring Server regularly keeps track of your chosen
networked device (computers, email servers, web servers, routers, IP
thermostats, et cetera) and notifies you with alerts of any problems
when they occur.
6.6.3 Why do I need RMS?
------------------------
If you want to know the status of any IP addressable device, you need to
monitor it. If you do not have the time/effort available to stand there
and watch the device yourself, you need something to automatically
monitor it and record the results for you to review at your leisure.
Ideally, that Remote Monitoring Server will promptly notify you of
anything occurring that you have defined as a problem. An automated
technology that remotely monitors your equipment, commonly referred to
as....._stuff_.....and alerts you when there is a problem. This is RMS.
6.6.4 What will RMS do for me?
------------------------------
Watch your "stuff" and tell you when your "stuff" has a problem. It
logs the results of the monitoring of your "stuff" for you to review in
a web page based format. That will help you figure out very quickly if
something is wrong and what is wrong with your "stuff".
6.6.5 How do I use RMS?
-----------------------
Pretty easy, actually. Setup your Remote Monitoring Server and decide
what network and devices you want monitored. From there, you receive an
email and/or SMS message to your cell phone when there is a problem.
6.6.6 Does a Remote Monitoring Server do graphing?
--------------------------------------------------
Oh yes, yes indeed!
6.6.7 Mobile access for RMS?
----------------------------
Yes, but it depends on who you have for cell phone service, the type of
cell phone you have, and the Internet browser on that phone.
6.6.8 Is it difficult to use RMS?
---------------------------------
No more difficult than receiving an email or SMS message. From there,
looking at a web page to see the history of your monitoring activity, if
you like.
6.6.9 How many emails/SMS messages will I get?
----------------------------------------------
More than enough for you to know if and when there is a problem. A
notification system is almost limitless in how it can be configured for
you. A good example is not receiving all SMS message in the middle of
the night, but only the SMS messages you conclude you must have 'round
the clock. When you receive a notification, how many times you receive
a subsequent notification for the same failure, and who receives that
notifications.....all set up as you want.
6.6.10 How many different email addresses will you send me notifications to?
----------------------------------------------------------------------------
Often, there is a primary and a secondary person in a monitoring
notification.Each person has an email address and an SMS address,
receiving email and SMS notifications to each address.....as you prefer.
Or, it is sent to a Distribution List. The combination of options are
plentiful to send email, rest assured.
6.6.11 Can I use RMS to help Test & Balance my HVAC system?
-----------------------------------------------------------
Yes. RMS & GNU remotecontrol work together to help you do just this.
Having recorded data for your system usage and outdoors weather
information is priceless for testing & balancing. It offers
considerable cost savings, in both time and effort, to review recorded
data to optimize your system setup. Additionally, you can reduce the
number of people necessary to do the testing and balancing down to 1
person.
6.6.12 Do I need RMS?
---------------------
Not to sound silly, but RMS prevents a mess. It is impossible to
consciously improve anything without first measuring it. You may
stumble upon a way to improve it, but is that a pro-active approach to
managing anything? Of course not. To help improve things, RMS helps by
monitoring the status your resources. The unknown things of life can
crop in and cause problems. The faster you know about a problem, the
faster you can stop any damage that problem may cause. RMS helps you
take advantage of the opportunity to improve how you manage things, so
the chance of a problem returning becomes less likely.
6.6.13 Really, how do I know that I need RMS?
---------------------------------------------
If you worry about your "stuff", and your "stuff" has an IP address, you
need RMS.
7 Usage Instructions
********************
It is our hope the preceding chapters have given you the opportunity to
gain a high-level understanding of all the technologies associated with
GNU remotecontrol. You are now ready to learn how to use GNU
remotecontrol.
Tool Tips (http://en.wikipedia.org/wiki/Tooltip) are present on a few
of the form controls in GNU remotecontrol. Most GUI web browsers
require UTF-8 (http://en.wikipedia.org/wiki/UTF-8) to display Tool Tips.
The encoding of the GNU remotecontrol database is ISO-8859-1 (Latin 1).
Therefore, some characters of some display languages may not properly
render in the Tool Tips. There are 2 ways to resolve this problem.
* Change the word in the database for the said Tool Tip to either
another word, an abbreviation of the word, or an acronym of the
word.
* Change the encoding of all of the GNU remotecontrol web pages and
the GNU remotecontrol database to the encoding used by your GUI web
browser.
Please see the section below for more information regarding *Browser
Selection*.
7.1 Browser Selection
=====================
GNU remotecontrol is designed for usage with either Mozilla Firefox
(http://www.mozilla.org/), or with Konqueror
(http://www.konqueror.org/). Microsoft Internet Explorer
(http://en.wikipedia.org/wiki/Internet_Explorer) (IE), though one of the
worlds first graphical
(http://en.wikipedia.org/wiki/History_of_the_web_browser) options for a
web browser (http://en.wikipedia.org/wiki/Web_browser) and is credited
with helping to grow the Internet past text browsing
(http://en.wikipedia.org/wiki/Timeline_of_web_browsers), the application
IE (http://www.microsoft.com/ie) simply changes too much and too often
to deal with all of the inconsistencies of the browser not being
compliant with International Standards
(http://www.w3.org/standards/agents/browsers) of the World Wide Web. In
addition, IE only runs on the Windows operating system whereas GNU
remotecontrol runs on any server that can run PHP
(http://php.net/downloads.php).....of which there are many.
Please review the various *Use Case Scenarios* prior to reading how
to go about using GNU remotecontrol. These examples will greatly help
you to see the value of using GNU remotecontrol.
7.2 Time
========
This section is quite important, perhaps the most important of all. The
absence of all devices being set to the same time often results in many
problems, problems which are often catastrophic in nature. We have
written this section to try to eliminate Clock Synchronization
(http://en.wikipedia.org/wiki/Clock_synchronization) errors from
hindering the efficiency of your energy management strategy.
The definition of Time can mean many things to many people. We
define Time (http://en.wikipedia.org/wiki/Time) as _a dimension in which
events can be ordered from the past through the present into the future,
and the measure of durations of events and the intervals between them_.
Date is a collection of time. Daylight Savings Time
(http://en.wikipedia.org/wiki/Daylight_saving_time) is the most common
occurrence of Time Change (http://en.wikipedia.org/wiki/Time_change).
Time Dilation (http://en.wikipedia.org/wiki/Time_dilation) is not a
problem with HVAC operation, nor is the Hafele Keating Effect
(http://en.wikipedia.org/wiki/Hafele%E2%80%93Keating_experiment), as the
facility is not traveling.
The biggest problem with having multiple clocks is Clock Drift
(http://en.wikipedia.org/wiki/Clock_drift) and the necessary correction
for Delta T (http://en.wikipedia.org/wiki/Delta-T) to account for
Terrestrial Time (http://en.wikipedia.org/wiki/Terrestrial_Time). This
Clock Drift problem is globally resolved when Daylight Savings Time
occurs. The time standard the majority of the world uses is Coordinated
Universal Time
(http://en.wikipedia.org/wiki/Coordinated_Universal_Time), often
referred to as *UTC*. This time standard is achieved by the Atomic Clock
(http://en.wikipedia.org/wiki/Atomic_clock) delivering International
Atomic Time (http://en.wikipedia.org/wiki/International_Atomic_Time).
Examples of how time differences can cause damage and harm people are
in a manufacturing facility
(http://en.wikipedia.org/wiki/Daylight_saving_time#Complexity) and while
using medical equipment
(http://www.fda.gov/MedicalDevices/Safety/AlertsandNotices/PublicHealthNotifications/ucm062068.htm).
Awareness during the Daylight Savings Time change is the easiest way to
avert any unforeseen problems. Remember, even if you don't live in a
location that observes Daylight Savings Time, there is still a time
correction that occurs to resolve Delta T. Finally, you may have newly
installed equipment that was incorrectly configured during installation
and erroneously activates the hourly time change when Daylight Savings
Time occurs.
We decided to align the time of the thermostat to the time of the GNU
remotecontrol server, and have the Time Zone
(http://en.wikipedia.org/wiki/Time_zone) of each thermostat as a
required field in the thermostat profile. The Time Zone information
lives in the *timezoneoffset* table in the GNU remotecontrol database,
as a Greenwich Mean Time (http://en.wikipedia.org/wiki/Gmt) (GMT) offset
(http://en.wikipedia.org/wiki/List_of_UTC_time_offsets). Please read
the sections for *index.php*, explaining the *Time Zone Offset* field,
and the section *Write to a Thermostat - Date and Time* for more
information about how we have accomplished this action. The capability
to use Database Management to manage your thermostats is very much
improved by having the Time Zone information as a field in your GNU
remotecontrol database.
We originally developed code to enable setting each thermostat to a
specifically different time, but decided against using that option.
Setting each thermostat to a different time would defeat achieving Clock
Synchronization, resulting in loads of confusion when comparing your
HVAC logged data with logged data from other sources, such as Weather
Services, other Building Automation technologies, and Network Security.
*Reference Information*
* Simple Network Time Protocol (SNTP)
(http://en.wikipedia.org/wiki/SNTP)
* Network Time Protocol (NTP)
(http://en.wikipedia.org/wiki/Network_Time_Protocol)
* NTP Server Misuse and Abuse
(http://en.wikipedia.org/wiki/NTP_server_misuse_and_abuse)
* NIST Authenticated NTP Service
(http://www.nist.gov/pml/div688/grp40/auth-ntp.cfm)
So, all you have to do is make certain the time on your GNU
remotecontrol server is set to the time you prefer. Then, save yourself
a lot of hassle and set the time on your devices every month by using
GNU remotecontrol. Finally, use GNU remotecontrol to change any IP
enabled thermostat during the Daylight Savings Time change. This will
make certain all of your thermostats are correct and have all of your
logged data match up properly when comparing by time.
7.3 admin.php
=============
7.3.1 Purpose
-------------
This web page provides User Management in the GNU remotecontrol
application.
7.3.2 Fields
------------
* *User Name* - The GNU remotecontrol user account.
* *Max # Therms* - The maximum number of thermostats allowed for that
user account.
7.3.3 Usage
-----------
Add user accounts with the *exact same name* you setup the user accounts
in your Web Server. Edit and Delete user accounts from this web page,
as well. Security to access this web page is completely handled by the
Web Server and the Operating System running your Web Server. You need
to restrict access to this web page to only allow the user accounts you
want to be able to add/edit/delete the other user accounts.
We added a management option to this web page, per a request received
during our design of GNU remotecontrol. The demand for this feature is
the desire to increase awareness of the need to also setup Remote
Monitoring for a newly added thermostat. The intent of this feature is
to provide a check and balance for all roles that use GNU remotecontrol.
You set the total number of thermostats the user account can have to
whatever you prefer.
7.4 index.php
=============
7.4.1 Purpose
-------------
This web page provides the ability to manage your individual
thermostats, all at one time.
7.4.2 Fields
------------
* *Display Language* - This form control selects the language you
choose to display your GNU remotecontrol session for your GNU
remotecontrol user account. The language option you choose to
display GNU remotecontrol is saved in your GNU remotecontrol user
account profile in the GNU remotecontrol database. This setting is
saved for you so you do not have to choose a language option each
time you use GNU remotecontrol. Selecting another language option
to display GNU remote control will update this setting of your GNU
remotecontrol user account in the GNU remotecontrol database. This
display information lives in the *language* table in the GNU
remotecontrol database. You can edit this information to better
suit your liking or add another language to the GNU remotecontrol
database. Please see the section *Usage Recommendations* for
instruction to achieve either of these options.
* *Device Name* - This object stores the device name of the
thermostat. This object is controlled through the web interface on
the General Settings web page of the thermostat.
* *Site Name* - This object stores the device location of the
thermostat. This object is controlled through the web interface on
the General Settings web page of the thermostat.
* *Model #* - This object stores the device model number. It is
read-only, and resident in the thermostat device firmware.
* *Custom Name* - This field is unique to GNU remotecontrol and not
on the device. We added this field to supplement the *Device Name*
and *Site Name* fields on the device. The intent of this field is
to increase capability when you use your Database Management to
separate out thermostats for management purposes currently
unforeseen. It is always nice to have more capability than
necessary. An example of how to use this field is to enter GPS
(http://en.wikipedia.org/wiki/Gps) coordinates of where your
thermostat is located or further define the *Site Name* field.
* *Description* - This field is unique to GNU remotecontrol and not
on the device. We added this field to supplement the *Device Name*
and *Site Name* fields on the device. The intent of this field is
to increase capability when you use your Database Management to
separate out thermostats for management purposes currently
unforeseen. It is always nice to have more capability than
necessary. An example of how to use this field is to enter GPS
(http://en.wikipedia.org/wiki/Gps) coordinates of where your
thermostat is located or further define the *Site Name* field.
* *Domain Name/IP* - This field is unique to GNU remotecontrol. You
must setup your network to access your thermostat inside and/or
outside of your local network. This entry is the address necessary
for your GNU remotecontrol server to get to your thermostat device.
Enter into this field whatever that address is, whether it is a
private IP address, a public IP address, or a Fully Qualified
Domain Name (http://en.wikipedia.org/wiki/Fqdn) address, as
concluded through your Domain Name System
(http://en.wikipedia.org/wiki/Domain_Name_System) resolution.
* *Port* - This is the port your thermostat is set to use for the
address it has been assigned. Please see the field *Domain
Name/IP* for understanding of how to populate this field. This
object is controlled through the web interface on the Network
Settings web page of the thermostat.
* *Time Zone Offset* - This is the Time Zone of where the thermostat
is located. This information lives in the *timezoneoffset* table
in the GNU remotecontrol database. You may want to use either the
*Custom Name* or *Description* fields to record Time Zone as a
reminder note to yourself. Also, you will most likely want to use
Database Management to update this field in the GNU remotecontrol
database when Daylight Savings Time occurs. Please read the
section *Time* for more information on this recommendation.
* *Login * - This field contains the *admin* user account of the
thermostat. Click *Set* after you have added the thermostat. You
are prompted to enter and save the password for the admin user
account of the thermostat. See the section *Adding a Thermostat*
below for more detailed information.
7.4.3 Usage
-----------
You are ready to use index.php web page after you have setup the
admin.php user accounts. The detailed sections below address how to use
each capability.
Loading index.php causes each attribute of each device to be read.
Please see the section *Adding a Thermostat* for more information. The
thermostats entered in your GNU remotecontrol database will populate
with the current values of the first device in the profile list upon the
initial load of index.php. Click the hyperlink _View Settings_ to see
the parameters currently set on the device. You only view the settings
of a single thermostat device, one at a time. This is listed as
_Currently Viewing_, after clicking the hyperlink _View Settings_.
Please see the section *View Settings* for more information.
The data from a thermostat device is not loaded if the thermostat
device cannot be reached or if the thermostat device is unresponsive.
Remember, index.php does not populate the values for this thermostat
device if this thermostat device is first in your listing,
A status indicator appears next to each selected thermostat device
when the submission is complete. This status indicator can render:
_Done_, _NoTrans_, or _Error_. A Tool Tip will appear with more
information when hovering over this status indicator.
PHP errors are logged to your PHP logging, if you have this feature
enabled in your PHP configuration. A logging mechanism for errors
returned directly from a thermostat device writes that information to
the _errorlog_ table in the GNU remotecontrol database. This logging
will occur when the thermostat device is reachable and responsive, but
something goes awry with the submission, or if there is something wrong
with the device and the device returns an error.
Day in and day out, you will want to know the settings on the
different IP enabled thermostats you are charged with caring for. Using
GNU remotecontrol will help you see if anyone has changed the settings
on an IP enabled thermostat, thereby altering and/or defeating your
energy management strategy. Combing into the equation a Remote
Monitoring Server with Email Server notification and you are on top of
the game for energy management.
*Reload* index.php at any time you prefer to poll each device and
read the current parameters of the attributes for all device entries.
See *Troubleshooting* for more information.
7.4.3.1 Adding a Thermostat
...........................
Highlighted fields are required.
You must have the password to the *admin* user account for the device
you want GNU remotecontrol to write to. This is to ensure that the user
of GNU remotecontrol has administrative authority to the device.
Mandating usage of the admin user account further assures that writing
to the device occurs by a user with complete authority to that device.
Complete the highlighted fields, click *Add*, and click *Set* to enter
the admin user account password for that thermostat. You have now
completely added your first thermostat to GNU remotecontrol.
Repeat the above paragraph for all remaining thermostats you wish to
add to GNU remotecontrol.
*Reload* index.php at any time you prefer to poll each device and
read the current parameters of the attributes for all device entries.
See *Troubleshooting* for more information.
7.4.3.2 View Settings
.....................
Click _View Settings_ to load the parameters of that specific thermostat
into the *HVAC Settings*, *Setback Scheduling*, and *Sensor Settings*.
_View Settings_ will toggle to display as *Currently Viewing*. This
capability allows you to easily see what each thermostat is set to once
you load index.php, versus having to go to each individual thermostat to
review this information. This is a *very* powerful time and bandwidth
saving capability.
*Reload* index.php at any time you prefer to poll each device and
read the current parameters of the attributes for all device entries.
See *Troubleshooting* for more information.
7.4.3.3 Write to a Thermostat - Date and Time
.............................................
Our research during the development of GNU remotecontrol found users
want 2 separate buttons to operate GNU remotecontrol. They want a
button to set the time on a thermostat and another button to set the
rest of the HVAC settings on the thermostat. Here are the steps when
using GNU remotecontrol for writing Date and Time to any device:
1. Select the device you want to write to by way of the check-box.
2. Click *Set Time on Selected Thermostats*.
The Date and Time of the GNU remotecontrol server is displayed to the
right of this button. The time of the GNU remotecontrol server is not
necessarily the same time of the computer you are using. When you click
*Set Time on Selected Thermostats*, the following is achieved:
1. The exact current Date and Time of Greenwich Mean Time is captured
in a memory variable.
2. The Date and Time for each selected thermostat is calculated in
comparison to Greenwich Mean Time and the GMT offset stored in the
profile of each thermostat.
3. Writing that calculated Date and Time to each selected thermostat
device.
4. The Transaction Log is updated with the OLD and NEW Date and Time
of each thermostat device.
This capability enables you to then use transactionhistory.php and/or
Database Management to see if any thermostat device is gaining or losing
time, identifying if you need to investigate a particular thermostat
device. Please review the section above called *Time* for more
information as to why this functionality has been designed.
*Reload* index.php at any time you prefer to poll each device and
read the current parameters of the attributes for all device entries.
See *Troubleshooting* for more information.
7.4.3.4 Write to a Thermostat - HVAC Settings
.............................................
Our research during the development of GNU remotecontrol found users
want 2 separate buttons to operate GNU remotecontrol. They want a
button to set the time on a thermostat and another button to set the
rest of the HVAC settings on the thermostat. Here are the steps when
using GNU remotecontrol for writing HVAC Settings to any device:
1. Select the device you want to write to by way of the check-box.
2. Change the attributes and parameters as you prefer.
3. Click *Submit*.
Once you click the *Submit* button, GNU remotecontrol goes to each
device, makes the changes, and populates the Transaction Log in the GNU
remotecontrol database. This capability enables you to then use
transactionhistory.php and/or Database Management to see if any
thermostat device is changing settings, identifying if you need to
investigate who is doing this or if the device is problematic. Finally,
index.php is refreshed and *only* the attributes that were changed are
reflected with their new values. The benefit of this automation is the
entire list of device attributes are not polled again. This is a very
powerful time and bandwidth saving capability.
*Reload* index.php at any time you prefer to poll each device and
read the current parameters of the attributes for all device entries.
See *Troubleshooting* for more information.
7.4.3.5 Object Parameters
.........................
The list of objects and parameters available for you to select is listed
below.
*-HVAC Settings-*
*HVAC Mode:*
* Off
* Heat
* Cool
* Auto
*Fan Mode:*
* Auto
* On
* Schedule
*Setback Status:*
* Normal
* Hold
* Override
*Setback Heat:*
* Degree Setting
*Setback Cool:*
* Degree Setting
*-Setback Scheduling-*
*Period*
* Morning
* Day
* Evening
* Night
*Time*
* Hour
* Minute
* AM/PM
*Day Class Schedules*
* Occupied
* Unoccupied
* Other
*Heat*
* Degree Setting
*Cool*
* Degree Setting
*Fan*
* Off
* On
* 15, 30, 45 minutes
*Default Weekly Schedule - Days*
* Sunday
* Monday
* Tuesday
* Wednesday
* Thursday
* Friday
* Saturday
*Default Weekly Schedule - Setback Scheduling*
* Occupied
* Unoccupied
* Other
*-Sensor Settings-*
*Local Sensor - State*
* Disabled
* Enabled
*Local Sensor - Averaging*
* Disabled
* Enabled
*Local Sensor - Correction*
* Degree Setting Correction
*Remote Sensor 1 - State*
* Disabled
* Enabled
*Remote Sensor 1 - Averaging*
* Disabled
* Enabled
*Remote Sensor 1 - Correction*
* Degree Setting Correction
*Remote Sensor 2 - State*
* Disabled
* Enabled
*Remote Sensor 2 - Averaging*
* Disabled
* Enabled
*Remote Sensor 2 - Correction*
* Degree Setting Correction
7.5 transactionhistory.php
==========================
7.5.1 Purpose
-------------
This web page provides the Transaction Log in the GNU remotecontrol
application. This web page is read-only, with search fields to quickly
and easily find what you are looking for.
7.5.2 Fields
------------
* *Thermostat* - The thermostat that was changed.
* *Field* - The device attribute that was changed.
* *Old Value* - The previous parameter of the attribute that was
changed.
* *New Value* - The current parameter of the attribute that was
changed.
* *Timestamp* - The Date/Time the device attribute was changed.
7.5.3 Usage
-----------
Enter search values in the respective fields to quickly filter and
display the rows you are looking for.
The field headers of this web page are rendered in the display
language you choose, but the field data of this web page is not
translated into another display language. The field data is only
rendered in English. This is because the Proliphix thermostat device
only renders in English. This provides you confidence the information
you are looking at transactionhistory.php can be easily compared to the
information rendered in the web server of the Proliphix thermostat
device.
7.6 Troubleshooting
===================
* Go to your error log for your Web Server any time you find a
problem where you are not receiving an error directly from GNU
remotecontrol.
* Review the _errorlog_ table to read the information transmitted by
the thermostat device to learn why the thermostat device failed to
properly respond.
* If the IP enabled thermostat is not available because it is powered
off or the data network that contains the IP enabled thermostat has
problems, here is what is achieved:
1. During load of index.php, as it reads the device (IP enabled
thermostat) list from the grid at the top to go and get their
current settings, should any device be unavailable, GNU
remotecontrol will proceed on after a few seconds of no
response to look for the next device instead of halting the
process.
2. Look to the status indicator next to each selected thermostat
device when the submission is complete. This status indicator
can render: _Done_, _NoTrans_, or _Error_. A Tool Tip will
appear with more information when hovering over this status
indicator.
8 Usage Recommendations
***********************
8.1 Start Small
===============
You can run GNU remotecontrol on a laptop, a desktop, even a hand-held
computer.....as long as you can achieve setting up your Web Server and
Database Server.
It will probably be much easier on you to setup a GNU remotecontrol
system while using your existing Energy Management Control System. This
will allow you to learn, test, try, think, try some more, all
side-by-side with all of your existing systems. Then, when you are
ready, switch over seamlessly to use GNU remotecontrol as your primary
system, along with your (then) old Energy Management Control System, to
make sure you are absolutely comfortable with your setup of your GNU
remotecontrol system. Finally, once your are comfortable with your GNU
remotecontrol, decommission your old Energy Management Control System.
Benefits of running GNU remotecontrol on a smaller hardware
combination include:
* Getting GNU remotecontrol up and running for a Proof-of-Concept.
* Managing the HVAC systems of different sites without having to be
at each of those sites.
8.2 Strongly Encouraged
=======================
* Restrict your data network to only allow a few network addresses to
connect to the IP enabled thermostats. This makes sure the IP
enabled thermostat does not get overloaded from too many users
trying to access it where it fails to respond, possibly requiring
the IP enabled thermostat to be power cycled. Use, instead, the
logged data of by minute and by quarter hour to run your monitoring
and reporting. (Please continue reading for more information to
accomplish this recommendation.)
* Setup your Remote Monitoring Server to log sensor readings every
minute. Do this for 15 concurrent minutes. Delete previous
records so you only have the 15 readings in this record set at any
given time. Then, you have a granular recording of data in
combination with your Remote Monitoring Server recording the same
information in 15-minute intervals. It takes about a minute for a
change to register on a sensor, shy of an extreme combination of
circumstances. This sensor reading approach provides you with all
of the monitoring and reporting data you could ever hope for.
* Script setting the time on your IP enabled thermostats. Recommend
setting the time every month, at a minimum. Clocks of all kinds
are always gaining or losing a few seconds here and there, to the
point that it adds up to a few minutes here and there. Setting the
time on a regular monthly basis avoids the whole gaining and losing
problem.
* Roaming Brown Outs
(http://en.wikipedia.org/wiki/Brownout_%28electricity%29) and
Natural Disasters in the vicinity of your thermostat devices cause
for your thermostat devices to have all kinds of power supply
problems. Your thermostat device may very well have a weak
on-board battery. That means the Date and Time on your thermostat
has a poor chance of being correct and any Setback Scheduling on
the device has little to no chance of being properly executed. Set
the Date and Time every hour on your thermostat device, at the very
minimum. The fact that a Natural Disaster has occurred means your
energy management strategy will most likely not be able to occur,
anyway. Plan some type of HVAC Settings for dealing with a Natural
Disaster. Perhaps a plan for the Winter months and a plan for the
Summer months. Perhaps turning on the fan for Architecture
Ventilation
(http://en.wikipedia.org/wiki/Ventilation_%28architecture%29) is
the best course of action, promoting health and safety in the
facility. Perhaps activating heating or cooling is also in the
best course of action. Use scripting to help you meet this need.
* Use Database Management to change the Time Zone field in the
thermostat profile when Daylight Savings Time occurs. For example,
Database Management will convert North America Eastern Standard
Time, with a GMT offset of -5, to North America Eastern Daylight
Time, with a GMT offset of -4. Remember, there is Australian
Eastern Time and North American Eastern Time, each with Daylight
and Standard options. Clearly, Database management will help you
keep all of your settings correct in your GNU remotecontrol
database. Using Database Management will also save you the time
and effort of using index.php to manually change each thermostat
you have setup in GNU remotecontrol. Set it up as a SQL script to
change the Time Zone entry in the thermostat profile. Run the
script when Daylight Savings Time occurs.
* Script setting your heating/cooling/ventilation levels as a
comparison of outdoors conditions. Say so many degrees difference
between outside and inside, same for a difference in percentage of
relative humidity.
* Use the Remote Monitoring of your location to change a website
appearance
(http://css-tricks.com/using-weather-data-to-change-your-websites-apperance-through-php-and-css/).
* Use the Remote Monitoring of your location to build Software
Widgets (http://en.wikipedia.org/wiki/Software_widget) and/or Web
Widgets (http://en.wikipedia.org/wiki/Web_widget).
* Setup a simple web page that will fit the temperature and humidity
readings of both the thermostats and the weather conditions you
care about onto the screen of your cell phone
(http://en.wikipedia.org/wiki/Microbrowser). You then can easily
see, in a single viewing (http://en.wikipedia.org/wiki/Mobile_Web),
what you care to know.
* Editing of a Display Language in GNU remotecontrol mandates editing
the contents of the _language_ table and the _resource_ table in
the GNU remotecontrol database. Edit these tables with the entries
you prefer. Reload index.php in your browser. The changes you
made to the _language_ table and the _resource_ table in the GNU
remotecontrol database are then displayed in all GNU remotecontrol
user account sessions of GNU remotecontrol.
* Adding a Display Language to the GNU remotecontrol database
mandates adding data to the _language_ table and the _resource_
table in the GNU remotecontrol database. Add the new fields and
data with the entries you prefer. Reload index.php in your
browser. The changes you made to the _language_ table and the
_resource_ table in the GNU remotecontrol database are then
displayed in all GNU remotecontrol user account sessions of GNU
remotecontrol.
8.3 Food for Thought
====================
There are many different ways you can use the data you collect:
* Really Simple Syndication (http://en.wikipedia.org/wiki/Rss) (RSS)
* Atom (http://en.wikipedia.org/wiki/Atom_%28standard%29)
* Web Service (http://en.wikipedia.org/wiki/Web_service)
* Software Widget (http://en.wikipedia.org/wiki/Software_widget)
* Web Widget (http://en.wikipedia.org/wiki/Web_widget)
9 Use Case Scenarios
********************
The following are very real examples, with abstract names, to illustrate
how to put all of this technology together so it will work for you.
9.1 Scenario 1 - Building Maintenance
=====================================
This person is overworked and underpaid at the *ABC Corporation*. They
have a boss that all the time wants to know if "thus and so" got done.
This person needs a way to get things done faster and have automated
documentation that it is complete.
This person uses GNU remotecontrol to help with setting the HVAC in
this company, and does a screen shot of the Transaction Log for their
boss to see, as their boss wants an email to see what happens.
9.2 Scenario 2 - Office Worker
==============================
This person is overworked and underpaid at *Super-Duper Insurance
Company*. They haves a boss that all the time wants to know if "thus
and so" got done. They need a way to get things done faster and have
automated documentation that it is complete.
They use GNU remotecontrol to help with setting the HVAC in this
company, and does a screen shot of the Transaction Log for their boss to
see, as their boss wants an email to see what happens.
9.3 Scenario 3 - Property Manager
=================================
This person is overworked and underpaid at *Manage 4 You Property
Management Corporation*. They have a boss that all the time wants to
know if "thus and so" got done. This person needs a way to get things
done faster and have automated documentation that it is complete.
This person uses GNU remotecontrol to help with setting the HVAC in
the properties to achieve considerable savings on energy cost, and does
a screen shot of the Transaction Log for their boss to see, as their
boss wants an email to see what happens.
9.4 Scenario 4 - Restaurant Operations
======================================
This person is doing pretty well in life. This person owns several
restaurants around town called *Super Good Eats*. Each site has 2
different HVAC units. This person also setup an IP thermostat in their
house. Later, they needed to care for their elderly mother, so they put
an IP thermostat in the house of their mother. When this person sets
the IP thermostat in their house, they set the house of their mother the
same way. This way, this person knows pretty well how things are in the
house of their mother, even though they are not there with their mother.
The corporate office is all of the time messing with the IP
thermostat and there is a lot of inner-office politics from this
problem. This person wanted that problem to go away, and to quit paying
through the nose in electric bill to keep the air conditioning going.
This person set's the corporate office the same as their home, so they
know the climate in the office pretty is much the same as the climate in
their home. The owner can now can shut down arguments often before they
occur.
This person is saving so much money on energy costs they were able to
buy a cabin in the mountains for when they and their family want to get
away from the ocean front, where they live. This person remotely sets
the temperature before they arrive at their cabin. The owner also makes
sure that the temperature and humidity in their cabin is not too extreme
when they are away, so pipes don't burst, and that there is not a
mold/mildew problem.
9.5 Scenario 5 - Certified Energy Manager
=========================================
The Certified Energy Manager (CEM) needs to manage multiple sites for
multiple customers. The CEM needs to log data over a long time period.
The CEM needs to adjust set-points on different HVAC equipment to work
out the specific energy control measures for each customer. The CEM has
multiple Direct Digital Control
(http://en.wikipedia.org/wiki/Direct_Digital_Control) (DDC) points. The
CEM needs to know a great deal of information from these DDC points.
The CEM could very much benefit from having all of this information
coming to them in a structured manner, all stored in a database,
leveraging their already existing Information Technology to access and
manage this collection of resources.
The CEM can setup GNU remotecontrol over different computers. The
Web Server, Database Server, Email Server, and Remote Monitoring Server
are all separate from the CEM laptop. The CEM is free to travel and
access GNU remotecontrol as necessary to adjust set-points, while
receiving notifications that something needs attention. The CEM is not
bound to their office all day long.
9.6 Scenario 6 - Industrial Manufacturing Facility
==================================================
This site has many different air-handling units, many different dampers,
and several sources of heat. The facility has adequate staff to handle
on-site maintenance. See the section above regarding the Certified
Energy Manger to learn more about the aspect of accessing and managing
Direct Digital Control (DDC) points.
The benefit here is using GNU remotecontrol to decrease reaction time
when Remote Monitoring finds a temperature or humidity threshold is
close to being reached and not interrupt manufacturing operations.
9.7 Scenario 7 - Facility Manager
=================================
This scenario is a refinement of the Industrial Manufacturing Facility
illustration, but wider in scope than only manufacturing.
The Facility Manager often does not have a Certified Energy Manger to
work with them. See the section above regarding the Certified Energy
Manger to learn more about the aspect of accessing and managing Direct
Digital Control (DDC) points.
This site has many different air-handling units, many different
dampers, and several sources of heat. The facility has adequate staff
to handle on-site maintenance. The benefit here is using GNU
remotecontrol to decrease reaction time when Remote Monitoring finds a
temperature or humidity threshold is close to being reached and not
interrupt facility operations.
Examples of their daily maintenance routine includes:
* Cleaning thermostats and sensors after they get a build up of dust,
oil, or other pollutants on them, defeating their ability to
operate well or at all.
* Assist with device calibrating efforts, as a hand-held thermostat
and a networked sensor showing the same reading is always
preferred.
* Justifying HVAC upgrades, as appropriate, to different areas of the
facility. Examples of this include a fan, a compressor, a coil, or
changing from constant air volume to a variable air volume terminal
unit.
* Managing workers to achieve these tasks.
There are loads of reasons to implement automation in this facility.
Mostly, to help the staff accomplish their work in a timely manner, and
assure they have a way to schedule vacation time for the staff.
9.8 Scenario 8 - External Information
=====================================
See the *Cautionary* paragraph in the *Power over Ethernet* section. It
is necessary to understand about powering a thermostat for this scenario
to make sense. There are countless ways to bring external information
sensors into your IP enabled thermostat and use your Remote Monitoring
Server to get that data to you.
9.9 Scenario 9 - Financial Manager
==================================
The Financial Manager is the person that has spending authority over the
facility. Month after month, they have high electric and fuel bills
because their facility is running either too hot or too cold due to an
inability to effectively operate the HVAC systems. They do not have
separate meters to know what part of the facility is using however much
electricity or fuel. They simply have to do something, as they cannot
justify these high expense every month. They lead a Cost Benefit
Analysis (http://en.wikipedia.org/wiki/Cost%E2%80%93benefit_analysis)
for their facility, leveraging the staff that works at the facility, a
Certified Energy Manager, off-site staff, and anyone else they need to
complete their Cost Benefit Analysis. The end result is to know if GNU
remotecontrol will help them lower their electric and fuel bills. Most
likely, it will.
9.10 Scenario 10 - Automated Meter Reading
==========================================
Automated Meter Reading
(http://en.wikipedia.org/wiki/Automated_meter_reading) is not the same
as Smart Metering (http://en.wikipedia.org/wiki/Smart_meter). They are
both part of Advanced Metering Infrastructure
(http://en.wikipedia.org/wiki/Smart_meter#Advanced_metering_infrastructure).
Smart Metering has much more capability than Automated Meter Reading.
Suffice it to say, if you are going to implement either of these
technologies, it only makes sense to be able to do something with all of
that data. Responding by changing your HVAC system, as appropriate,
very much helps to increase the effectiveness of you energy management
strategy. Connect your Remote Monitoring Server to the data coming in
from your Automated Meter Reading or Smart Metering so you can compare
that data to the rest of the data you are capturing. You will have a
very clear picture of how much energy you are using to achieve your
energy management strategy.
9.11 Scenario 11 - Smart Metering
=================================
Smart Metering (http://en.wikipedia.org/wiki/Smart_meter) is not the
same as Automated Meter Reading
(http://en.wikipedia.org/wiki/Automated_meter_reading). They are both
part of Advanced Metering Infrastructure
(http://en.wikipedia.org/wiki/Smart_meter#Advanced_metering_infrastructure).
Smart Metering has much more capability than Automated Meter Reading.
Suffice it to say, if you are going to implement either of these
technologies, it only makes sense to be able to do something with all of
that data. Responding by changing your HVAC system, as appropriate,
very much helps to increase the effectiveness of you energy management
strategy. Connect your Remote Monitoring Server to the data coming in
from your Automated Meter Reading or Smart Metering so you can compare
that data to the rest of the data you are capturing. You will have a
very clear picture of how much energy you are using to achieve your
energy management strategy.
9.12 Scenario 12 - Utility Providers
====================================
This provider has decided to offer an energy management service to their
customer. They have thousands and thousands of customers. They need a
way to help their customer manage their thermostat for generating
heating and cooling, but also maintain air flow in their residential and
commercial facilities. This provider also needs to improve their
ability to monitor energy consumption, plan for energy manufacturing,
and manage emergencies such as roaming Brownouts
(http://en.wikipedia.org/wiki/Brownout_%28electricity%29) caused by
storms and other catastrophic events. Please see the section *Usage
Recommendations* for more information.
Turning off all power to the HVAC system as a whole removes the
ability of the HVAC fan to circulate air and maintain air flow. This
defeats the energy management strategy, as circulating some amount of
air necessary for a variety of reasons. Perhaps most importantly,
Environmental Health and Safety
(http://en.wikipedia.org/wiki/Environmental_Health_and_Safety) has
different ventilation requirements for residential, commercial, and
industrial facilities.
This provider has a 2 part offering to their customers. Part 1, the
provider uses GNU remotecontrol to do more than just turn off the
electricity, water, and/or fuel to the HVAC unit. They are now capable
of providing either heating or cooling adjustments while having the HVAC
fan circulate air, or only circulate air without a heating or cooling
adjustment. This combination of options now available are much more
than turning off the entire HVAC unit. Part 2, the provider also uses
Smart Metering to connect HVAC usage with energy meter readings to log
readings on an hourly basis. This combined offering provides for better
control and usage of energy resources, HVAC resources, and visibility to
understand customer energy usage. Energy usage as the billing cycle
progresses and historically, of course. Imagine how happy the customer
will be to be able to see that granular level of detailed billing.
9.13 Summary
============
There is no single reason to implement GNU remotecontrol. The reasoning
is often multiple and overlapping. All of these reasons help to
decrease your costs and increase your comfort level. Think locally and
globally, and you will easily see there is more good reason to use GNU
remotecontrol than ever considered before.
10 Implementation Cost
**********************
The GNU remotecontrol framework leverages already existing Information
Technologies of a Data Network, Web Server with a complete Operating
System, Database Server, Remote Monitoring Server, and Email Server.
The cost to implement GNU remotecontrol is then reduced to the following
ordered list:
1. Labor to obtain and prepare GNU remotecontrol.
2. Labor to configure your already existing Information Technologies.
3. Purchase cabling to run from your data network to your IP enabled
thermostat.
4. Labor to install cabling from your data network to your IP enabled
thermostat.
5. Purchase IP enabled thermostat.
6. Purchase a power supply for IP enabled thermostat.
7. Labor to install IP enabled thermostat.
8. Labor to install power supply for IP enabled thermostat.
9. Labor to configure IP enabled thermostat.
Note:: It is highly recommended you choose external sensors for
your IP enabled thermostat having pre-wired cabling long enough to
reach where you need the external sensor to reside. Adding in more
cable between a device and an external sensor is often problematic.
Mixing different cable types, in either quality of cable or type of
cable.....or both.....very often result with problems to having
accurate sensor readings. This pre-wired cabling, per manufacturer
design and intent of their sensor, decreases the likelihood of the
sensor resulting with skewed metrics. Most external sensors are
extremely touchy. This is a good thing, as it provides you with
accurate metrics. However, proper cable selection of an external
sensor is paramount to proper metrics. Go with the option of a
manufacturer having enough cable as-built to meet your needs and
not splicing on additional cable. Finally, consider the benefit of
connecting your external sensor directly to your IP enabled
thermostat, provided the IP enabled thermostat can accept it. The
benefit of sensor averaging is highly valuable to improving system
performance. A direct connection to the IP enabled thermostat also
eliminates the need for another power supply to operate the
external sensor.
The cost to implement GNU remotecontrol, in comparison with a lesser
energy management strategy for any HVAC system, justifies the completion
of a Cost Benefit Analysis
(http://en.wikipedia.org/wiki/Cost%E2%80%93benefit_analysis) to
determine if GNU remotecontrol is appropriate for your circumstances.
Most likely, it is.
11 Roadmap
**********
The GNU remotecontrol Road Map is planned for and limited by the
following boundaries.
11.1 Interoperability
=====================
The Future of GNU remotecontrol is a commitment to International
standards and protocols for Information Technology to provide
availability, relevance, transparency, and maintenance of the GNU
remotecontrol framework. The BACnet XML Working Group is an excellent
example of these attributes. For more information, *Note GNU
remotecontrol & BACnet::.
11.2 HVAC Original Equipment Manufacturer - Feature Addition
============================================================
OEM's have not added the feature of IP enablement in the past. The
benefits for OEM's to add IP enablement to their thermostat product
offering far outweigh any hindrance from remaining a standalone device.
Examples of these benefits include interoperability, furthered energy
management strategies, and increased customer satisfaction from the new
capability of remote access to their thermostat.
11.3 HVAC Aftermarket Equipment Manufacturer - Feature Addition
===============================================================
AEM's have added the feature of IP enablement in the past with limited
success. This is mostly due to the dependency on another piece of
proprietary technology to handle translation of some proprietary
technology to the data network for the thermostat. The proprietary
aspect of the technology will often bottleneck the success of that
technology. The success of the thermostat as a complimentary good is
well proven. There are hundreds of different programmable thermostats
for sale at both the local home supply stores and globally. Proper
selection of any aftermarket product or service is critical to the
success of the primary product being supplemented. A simple example of
this is selecting the different parts to enhance an engine for an
automobile, or a boat, or a snow mobile, et cetera. Aftermarket
Equipment Manufacturers must demonstrate they have in their offering the
capability to not damage the existing primary product. Specifically, a
heating and cooling system. There must also be solid proof their
offering enhances system performance by adding additional
feature/benefit combinations. Finally, their offering must be
constructed to meet manufacturing directives, such as RoHS
(http://en.wikipedia.org/wiki/ROHS).
11.4 Cost Benefit Analysis
==========================
The outcome of your Cost Benefit Analysis
(http://en.wikipedia.org/wiki/Cost%E2%80%93benefit_analysis) will help
you see your Return on Investment
(http://en.wikipedia.org/wiki/Rate_of_return) (ROI). This will most
likely be the bottom line to the success of GNU remotecontrol for you.
The Retro Commission (http://sccmet.com/whatis.html) (RCx) of any
facility, small or large, is best evaluated by.....*is it worth it*?
Even Testing-Adjusting-Balancing
(http://en.wikipedia.org/wiki/Testing_Adjusting_Balancing) a system is
well worth the time and effort, to make sure your system is setup as
suitable for your needs and wants. The answer to this ROI question
mandates completing several different calculations to make that
determination. New construction does not require as many calculations
to come to that determination, but often mandates different aspects to
be evaluated and then calculated. Don't forget to add in the
cost/saving of Information Technology. This list includes system
design, capital expenditures, and system operation. Then, don't forget
to add in your End User cost/saving for training and system operation.
Not every facility must have a complete set of calculations to know
what you need to do for your energy management strategy. Consider
simple advice on best practices offered by your *qualifed* Decision
Makers to help you select what is best for you. Regardless of what you
choose for your energy management strategy, have a plan.....work the
plan.....review and revise your plan, as appropriate.
The cost to implement GNU remotecontrol, in comparison with a lesser
energy management strategy for any HVAC system, justifies the completion
of a Cost Benefit Analysis
(http://en.wikipedia.org/wiki/Cost%E2%80%93benefit_analysis) to
determine if GNU remotecontrol is appropriate for your circumstances.
Most likely, it is.
12 REFERENCE
************
12.1 Cabling 101
================
12.1.1 Introduction
-------------------
The intent of this writing is *not* to make you an expert in cabling.
The intent is to provide you with the necessary reference information,
tips, and recommendations for you to wisely use cabling. There is no,
repeat.....no substitute for hands on experience with cabling.
Please carefully read all of this information before you attempt your
cabling efforts. Experience is a great teacher, so don't be afraid or
discouraged if you mix up wiring patterns or do not terminate a
connection well enough through the proper amount of pressure on a wire
connector in the beginning of your cabling efforts.
12.1.2 Cable
------------
Category 5 cable (http://en.wikipedia.org/wiki/Category_5_cable) is
available in many forms. The cable is solid core 24-AWG
(http://en.wikipedia.org/wiki/American_wire_gauge). 8 separately
jacketed wires, twisted in pairs, making 4 pairs all contained within a
protective jacket. The jacket that wraps around that cable is either
Plenum (http://en.wikipedia.org/wiki/Plenum_cable) or Non-Plenum.
Plenum cable is rated for a fire hazard area. Category 5 cabling is
often rated as low-voltage (http://en.wikipedia.org/wiki/Low_voltage),
meaning you do not need a license to install the cable. Please contact
your local fire authority for more information.
12.1.3 Grounding
----------------
Proper cable grounding is essential for safety. The assumption that the
cable carries a low amount of voltage is true, but it also carries
enough capability to damage the equipment connected together via your
cable and you.....the cabling person. The differences between
surge-suppression (http://en.wikipedia.org/wiki/Surge_suppression) and
transient-voltage-suppression
(http://en.wikipedia.org/wiki/Transient-voltage-suppression_diode)
cannot be stated enough. Please contact your local fire authority for
more information.
12.1.4 Installation
-------------------
Category 5 cable is installed in either electrical conduit
(http://en.wikipedia.org/wiki/Electrical_conduit), cable trays
(http://en.wikipedia.org/wiki/Cable_tray), or J-Hooks
(https://www.google.com/search?q=j-hooks). Cable must, must, must be
properly supported to prevent stretching the copper wire and cause for
minor breaks in the wire. Minor wire breaks cause for performance
issues in quality-of-service
(http://en.wikipedia.org/wiki/Quality_of_service), and lead to a
breakage in one or more wires. Cable is laid out in a pattern of either
a main distribution frame
(http://en.wikipedia.org/wiki/Main_distribution_frame) or an
intermediate distribution frame
(http://en.wikipedia.org/wiki/Intermediate_distribution_frame).
12.1.5 Termination
------------------
Properly installed cable is then connected with some type of registered
jack/plug (http://en.wikipedia.org/wiki/Registered_jack). This end
result is called a cable termination or a wire termination.
12.1.6 Testing
--------------
All cabling must have continuity
(http://en.wikipedia.org/wiki/Continuity_test) all of the time. A
simple cable tester (http://en.wikipedia.org/wiki/Cable_tester) is
probably the most manageable continuity tester
(http://en.wikipedia.org/wiki/Continuity_tester) there is after cable
has been terminated with a registered jack/plug to determine if you have
continuity. If you have nothing else to test with, connecting 2 bare
wires together with a wire nut (http://en.wikipedia.org/wiki/Wire_nut)
on one end, then testing the other ends with a multi-meter
(http://en.wikipedia.org/wiki/Multimeter) is always an option. This is
quite valuable after cable has been laid in place and you want to know
if it has continuity before terminating the cable.
12.1.7 Usage Notes
------------------
* You have the probability of good quality-of-service
(http://en.wikipedia.org/wiki/Quality_of_service) after cable is
properly installed, but it is not guaranteed. Wise planning of
your installation is paramount to not having problems related to
cabling.
* Most cable installations go through some type of usage change
during the lifecycle of the cable. Today, imagine you have 1
device connecting to 1 port on your data network switch. Tomorrow,
you may need more devices to connect to the same port on that same
data network switch. That means you need to put another data
network switch into the picture. Where that additional data
network switch will reside is the unknown. Moving more data across
that same cable means the quality of that cable, and the quality of
installing that cable, really does matter. Sure, you can always
pull more cable. However, you still need more ports on a data
network switch that lives somewhere to connect those additional
devices. Wise choices for cable installation provides more options
to choose from, options that can easily increase cost effectiveness
for owning and operating your equipment.
* Your continuity tester will help you see when you have the proper
wiring pattern and the proper amount of pressure on a wire
termination.
* A majority of the cables manufacturers post a required a minimum
bend radius for their cable of, "_four times the diameter_" to
avoid problems. A cable loop that is too small results in nothing
more than broken cable. Minor wire breaks cause for performance
issues in quality-of-service. It is not worth installing lesser
quality cable that will cause you problems, nor is it worth
installing good cable in a way that will cause you problems. Plan
your installation and you will have years of satisfaction from your
cable.
* Pull some extra cable, loop it in a circle, and wire tie the cable
loop together. That provides for moving terminated cable a bit if
necessary, and provides extra cable should you mix up things when
you terminate the cable and need to correct the termination.
* The satisfaction from installing your own cable is great, indeed.
The cost of installing your own cable is sometimes best paid for
through a cabling company. Count the cost and choose either your
own labor or labor from a cabling company that best suits you
requirements.
* Remember, quality-of-service
(http://en.wikipedia.org/wiki/Quality_of_service) is only possible
after cable is properly installed.
12.1.8 Cautionary
-----------------
Whatever you do, always install your cable as required by your fire
authority and always, always, always properly support your cable with
either electrical conduit, cable trays, or J-Hooks. Suffice it to say,
cable that is not properly supported will eventually have small cracks
in the wire, resulting in a quality-of-service
(http://en.wikipedia.org/wiki/Quality_of_service) loss, progressing to
intermittent continuity problems, and ultimately completely break the
wire somewhere within the cable jacket.
12.2 Power over Ethernet (PoE) 101
==================================
12.2.1 Introduction
-------------------
Power over Ethernet (http://en.wikipedia.org/wiki/Power_over_Ethernet)
is quite possibly the best thing to come along to the Information
Technology world of hardware since the 1980's. Literally, it is that
wonderful! The essence of PoE is you can use cable that is rated as
low-voltage (http://en.wikipedia.org/wiki/Low_voltage) to power a
multitude of PoE hardware devices
(http://en.wikipedia.org/wiki/Power_over_Ethernet#Uses). The list of
what is capable of PoE is constantly growing. Here are some common PoE
terms to understand.
12.2.2 Power Sourcing Equipment (PSE)
-------------------------------------
The PSE
(http://en.wikipedia.org/wiki/Power_over_Ethernet#Power_sourcing_equipment)
is the network PoE element that inserts power onto a Category 5 cable.
It may be an endspan device, such as a PoE-enabled data network switch,
or a midspan device located between the data network switch and the
Powered Device (PD).
12.2.3 Powered Device (PD)
--------------------------
A PD (http://en.wikipedia.org/wiki/Power_over_Ethernet#Powered_device)
is the PoE capable device that receives power over Category 5 cable. It
could be a PoE-enabled IP telephone, a Wireless Access Point, an IP
enabled HVAC thermostat, any other IP device that needs electrical
power.
12.2.4 Midspan
--------------
A midspan device is a PSE that inserts power onto the Category 5 cable.
It is situated between the data network switch and the PD. Typically,
midspan devices are added to existing networks to allow the use of
PoE-enabled PD's.
12.2.5 Endspan
--------------
An endspan device is typically a data network switch that incorporates
PoE capabilities. Endspan devices often are implemented when a new
network is created, to avoid adding both midspan devices and a data
network switch.
12.2.6 Usage Notes
------------------
Now, should you need/want to move a device such as a Wireless Access
Point, an IP telephone, or an HVAC sensor to another location.....image
how nice it would be to not have to juggle the powering of that device.
There are many combination
(http://en.wikipedia.org/wiki/Power_over_Ethernet#Powering_devices)
options available for PoE capable hardware.
Pressing onward, imagine a device is locked up and you need to power
the device off and then turn it back on. Walking to that device could
very well be a hassle, and could require opening a lot of access panels.
Using PoE, you can turn off the power over your data network and then
turn it back on.
The thing for you with PoE is you need to determine how much
electrical power you need. That will tell you what specification you
need to comply with. The manufacturer of the PoE device will tell you
what standards they are compatible with. From there, buy the PoE
supply. Your selection is either a simple single-port power injector
(Midspan), or a rack-mounted
(http://www2.microsemi.com/PowerDsine/Products/Midspan/) midspan power
injector, or buy new data network switches that have PoE built-in as an
integrated feature (Endspan). Count the cost and choose as best suits
you.
The biggest benefit of PoE is you have the ability to have a better
handle on your surge-suppression
(http://en.wikipedia.org/wiki/Surge_suppression) and
transient-voltage-suppression
(http://en.wikipedia.org/wiki/Transient-voltage-suppression_diode)
efforts. This is because you so chose to install your cabling as
recommended. Running a wire as an extension off of an HVAC unit, or a
wall outlet, to supply electricity to power the PoE capable hardware,
without also providing proper protection for that PoE hardware, is
absolutely and positively nothing but trouble. That trouble often shows
up as electrical damage in the form of peculiar performance of the
hardware, or even hardware failure.
12.2.7 Cautionary
-----------------
Here is a strong and very simple example of why powering your IP enabled
thermostat from an HVAC unit is a bad idea. The drain line on the HVAC
unit somehow gets blocked. This triggers the float switch to prevent
flooding and that powers down the whole system. The thermostat has then
been turned off due to the absence of power to the thermostat. The same
is true if you power your IP enabled thermostat from your HVAC and not
PoE. *That means you will be unable to access your IP enabled thermostat
from your data network*.
Note:: You can also hook your float switch to your IP enabled
thermostat, as an external information sensor, and know when that
float switch is activated via Remote Monitoring. Power over
Ethernet is a really good idea.
Whatever you do, always use cable safely. Please contact your local
fire authority for more information.
13 Contributors
***************
Stephen Dawson, Robert Tallent, Robert Vincent, Michael Jacoby, and a
host of others too many to keep track of. Their contribution is well
respected and greatly appreciated.
Appendix A GNU Free Documentation License
*****************************************
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or
noncommercially. Secondarily, this License preserves for the
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.
It complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for
free software, because free software needs free documentation: a
free program should come with manuals providing the same freedoms
that the software does. But this License is not limited to
software manuals; it can be used for any textual work, regardless
of subject matter or whether it is published as a printed book. We
recommend this License principally for works whose purpose is
instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium,
that contains a notice placed by the copyright holder saying it can
be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
"Document", below, refers to any such manual or work. Any member
of the public is a licensee, and is addressed as "you". You accept
the license if you copy, modify or distribute the work in a way
requiring permission under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall
subject (or to related matters) and contains nothing that could
fall directly within that overall subject. (Thus, if the Document
is in part a textbook of mathematics, a Secondary Section may not
explain any mathematics.) The relationship could be a matter of
historical connection with the subject or with related matters, or
of legal, commercial, philosophical, ethical or political position
regarding them.
The "Invariant Sections" are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in the
notice that says that the Document is released under this License.
If a section does not fit the above definition of Secondary then it
is not allowed to be designated as Invariant. The Document may
contain zero Invariant Sections. If the Document does not identify
any Invariant Sections then there are none.
The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed
of pixels) generic paint programs or (for drawings) some widely
available drawing editor, and that is suitable for input to text
formatters or for automatic translation to a variety of formats
suitable for input to text formatters. A copy made in an otherwise
Transparent file format whose markup, or absence of markup, has
been arranged to thwart or discourage subsequent modification by
readers is not Transparent. An image format is not Transparent if
used for any substantial amount of text. A copy that is not
"Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
SGML or XML using a publicly available DTD, and standard-conforming
simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG.
Opaque formats include proprietary formats that can be read and
edited only by proprietary word processors, SGML or XML for which
the DTD and/or processing tools are not generally available, and
the machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For
works in formats which do not have any title page as such, "Title
Page" means the text near the most prominent appearance of the
work's title, preceding the beginning of the body of the text.
The "publisher" means any person or entity that distributes copies
of the Document to the public.
A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as
"Acknowledgements", "Dedications", "Endorsements", or "History".)
To "Preserve the Title" of such a section when you modify the
Document means that it remains a section "Entitled XYZ" according
to this definition.
The Document may include Warranty Disclaimers next to the notice
which states that this License applies to the Document. These
Warranty Disclaimers are considered to be included by reference in
this License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and
has no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License
applies to the Document are reproduced in all copies, and that you
add no other conditions whatsoever to those of this License. You
may not use technical measures to obstruct or control the reading
or further copying of the copies you make or distribute. However,
you may accept compensation in exchange for copies. If you
distribute a large enough number of copies you must also follow the
conditions in section 3.
You may also lend copies, under the same conditions stated above,
and you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and
the Document's license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The
front cover must present the full title with all words of the title
equally prominent and visible. You may add other material on the
covers in addition. Copying with changes limited to the covers, as
long as they preserve the title of the Document and satisfy these
conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto
adjacent pages.
If you publish or distribute Opaque copies of the Document
numbering more than 100, you must either include a machine-readable
Transparent copy along with each Opaque copy, or state in or with
each Opaque copy a computer-network location from which the general
network-using public has access to download using public-standard
network protocols a complete Transparent copy of the Document, free
of added material. If you use the latter option, you must take
reasonably prudent steps, when you begin distribution of Opaque
copies in quantity, to ensure that this Transparent copy will
remain thus accessible at the stated location until at least one
year after the last time you distribute an Opaque copy (directly or
through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of
the Document well before redistributing any large number of copies,
to give them a chance to provide you with an updated version of the
Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document
under the conditions of sections 2 and 3 above, provided that you
release the Modified Version under precisely this License, with the
Modified Version filling the role of the Document, thus licensing
distribution and modification of the Modified Version to whoever
possesses a copy of it. In addition, you must do these things in
the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title
distinct from that of the Document, and from those of previous
versions (which should, if there were any, be listed in the
History section of the Document). You may use the same title
as a previous version if the original publisher of that
version gives permission.
B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in
the Modified Version, together with at least five of the
principal authors of the Document (all of its principal
authors, if it has fewer than five), unless they release you
from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license
notice giving the public permission to use the Modified
Version under the terms of this License, in the form shown in
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
Sections and required Cover Texts given in the Document's
license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title,
and add to it an item stating at least the title, year, new
authors, and publisher of the Modified Version as given on the
Title Page. If there is no section Entitled "History" in the
Document, create one stating the title, year, authors, and
publisher of the Document as given on its Title Page, then add
an item describing the Modified Version as stated in the
previous sentence.
J. Preserve the network location, if any, given in the Document
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
previous versions it was based on. These may be placed in the
"History" section. You may omit a network location for a work
that was published at least four years before the Document
itself, or if the original publisher of the version it refers
to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section
all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document, unaltered
in their text and in their titles. Section numbers or the
equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
"Endorsements" or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no
material copied from the Document, you may at your option designate
some or all of these sections as invariant. To do this, add their
titles to the list of Invariant Sections in the Modified Version's
license notice. These titles must be distinct from any other
section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text
has been approved by an organization as the authoritative
definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end of
the list of Cover Texts in the Modified Version. Only one passage
of Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document
already includes a cover text for the same cover, previously added
by you or by arrangement made by the same entity you are acting on
behalf of, you may not add another; but you may replace the old
one, on explicit permission from the previous publisher that added
the old one.
The author(s) and publisher(s) of the Document do not by this
License give permission to use their names for publicity for or to
assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under
this License, under the terms defined in section 4 above for
modified versions, provided that you include in the combination all
of the Invariant Sections of all of the original documents,
unmodified, and list them all as Invariant Sections of your
combined work in its license notice, and that you preserve all
their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name
but different contents, make the title of each such section unique
by adding at the end of it, in parentheses, the name of the
original author or publisher of that section if known, or else a
unique number. Make the same adjustment to the section titles in
the list of Invariant Sections in the license notice of the
combined work.
In the combination, you must combine any sections Entitled
"History" in the various original documents, forming one section
Entitled "History"; likewise combine any sections Entitled
"Acknowledgements", and any sections Entitled "Dedications". You
must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other
documents released under this License, and replace the individual
copies of this License in the various documents with a single copy
that is included in the collection, provided that you follow the
rules of this License for verbatim copying of each of the documents
in all other respects.
You may extract a single document from such a collection, and
distribute it individually under this License, provided you insert
a copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that
document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of a
storage or distribution medium, is called an "aggregate" if the
copyright resulting from the compilation is not used to limit the
legal rights of the compilation's users beyond what the individual
works permit. When the Document is included in an aggregate, this
License does not apply to the other works in the aggregate which
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half
of the entire aggregate, the Document's Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic
form. Otherwise they must appear on printed covers that bracket
the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section
4. Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also
include the original English version of this License and the
original versions of those notices and disclaimers. In case of a
disagreement between the translation and the original version of
this License or a notice or disclaimer, the original version will
prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to
Preserve its Title (section 1) will typically require changing the
actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, or distribute it is void,
and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the
copyright holder fails to notify you of the violation by some
reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from
that copyright holder, and you cure the violation prior to 30 days
after your receipt of the notice.
Termination of your rights under this section does not terminate
the licenses of parties who have received copies or rights from you
under this License. If your rights have been terminated and not
permanently reinstated, receipt of a copy of some or all of the
same material does not give you any rights to use it.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
version of this License "or any later version" applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the
Document does not specify a version number of this License, you may
choose any version ever published (not as a draft) by the Free
Software Foundation. If the Document specifies that a proxy can
decide which future versions of this License can be used, that
proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
11. RELICENSING
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server.
A "Massive Multiauthor Collaboration" (or "MMC") contained in the
site means any set of copyrightable works thus published on the MMC
site.
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
"Incorporate" means to publish or republish a Document, in whole or
in part, as part of another Document.
An MMC is "eligible for relicensing" if it is licensed under this
License, and if all works that were first published under this
License somewhere other than this MMC, and subsequently
incorporated in whole or in part into the MMC, (1) had no cover
texts or invariant sections, and (2) were thus incorporated prior
to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the
site under CC-BY-SA on the same site at any time before August 1,
2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
====================================================
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:
Copyright (C) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of free
software license, such as the GNU General Public License, to permit
their use in free software.