US 20060009863 A1
A building automation system including user interface units with touchscreens, power drivers, and a controller, all connected to a common trunk conductor. The power drivers are connected to the electrical devices and AC wiring. The building automation system further includes wireless remote controls that are connected to the trunk either through a user interface unit or a wireless transceiver. Any electrical device in the building may be controlled by any of the user interface units and wireless remote controls.
68. A method of doing business comprising:
licensing at least a portion of an electronic system technology to a licensee, said electronic system including an electronic slave device and an electronic controller,
assigning said licensee a protective code;
storing in said controller software or firmware instructing said controller to:
receive said protective code from said slave device; and
not recognize or communicate with said slave device if said code is not received.
69. A method as in
70. A method as in
71. A method of enforcing copyright protection for software or firmware, said method comprising:
providing an electronic system including a system controller and a electronic device, said system controller including a processor and a memory, said electronic device including protectable software or firmware;
said memory including instructions to cause said processor not to communicate with or recognize said device if said software or firmware does not include a proper copyright notice.
72. A method as in
73. A method as in
74. A method as in
75. A method as in
1. Field of the Invention
The invention in general relates to systems for controlling electrical devices in a building, and more particularly to such a system that allows the control of each electrical device in the building to be individually programmed.
2. Statement of the Problem
Over the course of the past two decades, a great change has occurred in the level of convenience provided by today's consumer products. The progress of technology has led consumers beyond wanting basic functions in their consumer products; they now want products that pamper and have features that are “intelligent.”
One industry that exemplifies this new expectation is the automotive sector. As users sit in their cars, everything they need is at their fingertips. Cruise controls maintain their speed while they listen to the stereo. If a user wants to reach another person, they press a single button on their car phone, the audio mutes automatically, and they speak as if the person is sitting before them. If a user isn't sure of the route they are taking, they press another button and a map appears on a screen to their side. When they reach their destination, the car's security system is automatically armed and the door locks with one press of a button on their key chain.
Yet buildings, such as houses and commercial structures, don't offer this same level of convenience and luxury. Buildings are more varied and complex than cars, creating difficulty in producing a one-size-fits-all system. In addition, a homeowner or other building user is also not stationary, like the driver is in his car. Historically, buildings have been served by separate and dissimilar systems for the control of lighting, security, climate, entertainment, and other controls. Each system has been completely independent of the others. Later, alarm companies began to add lighting features, and lighting companies began to add HVAC features, and so on. Then companies emerged that tried to tie all these subsystems together with yet another system. The failing in this approach was the “glue” that holds these systems together—the electronic connections and, more significantly, the programming system. The current state-of-the-art of this “glue” is such that the task of integrating these disparate functions becomes very complex and tedious.
Automation systems of today are a result of this history. They consist of separate systems for lighting, security, and HVAC, typically joined together by an extended version of a home theater remote control. Limitations arise from this approach. Since these systems were initially designed to serve a single function, the connection points to other systems or controls are limited. In turn, the degree to which a component of one system can interact with another is also limited. The number of interactions between the two systems is small. For instance, you can make a light come on when a security sensor trips, but to do this with a large number of sensor/light pairs is difficult.
Furthermore, each system has it's own programming method. To install or modify a combined system requires detailed knowledge of each individual system. This places a very high skill level requirement on potential installers. A combined system with four or five vendors means that each system must have its own backup or valuable programming information will be lost. There is no centralized backup point for these existing systems. When a change is made, the installer must be sure to remember to make a backup on the spot and to keep the system files together, further adding to the high level of complexity experienced by common installers.
In addition, all of the significant existing systems require a personal computer (PC) as part of the programming process. This means that each system must be installed on the programmer's PC and that the application must be run while connected to the system to make a change. If another system needs a change, the serial port connection must be moved to the other system and the new application must then be loaded and run, usually requiring a completely different method of programming than the previous system. If the systems utilize an advanced remote control or central touchscreen/display system, it too will be programmed in a different manner, causing the whole process to be repeated again.
Some systems use a PC as the controller. This is a natural temptation because PCs have a nice keyboard, large displays, and big hard disks. The problem is that they are highly complex and prone to crashes. The reliability of PCs is not likely to increase because both the operating systems and the applications become more and more complex. As vendors focus on new features to differentiate their products, no engineering resource is left available to improve reliability. A crashed home installation cannot be required to be “re-booted” in the middle of the night by the homeowner.
Some systems control lighting only and not security. Generally, these systems require PC programming (RS232 connection). They also include keypads-buttons/faceplates that require engraving, which requires detailed pre-construction planning to ensure keypad functions/engraving. Plus, they require large power enclosures and homeruns from each controlled device to the enclosures.
For example, U.S. Pat. No. 6,211,870 issued Apr. 3, 2001 to William Foster teaches a portable hand-held remote control which may be utilized for selecting designated functions in a plurality of remotely controllable multimedia processing units. The user-selectable screen objects are initially created from a general-purpose computer and transferred to the remote user interface unit. U.S. Pat. No. 6,192,282 issued Feb. 20, 2001 to Smith et al. teaches a building automation system that utilizes a central computer to provide instructions to devices of a building. The communications for the devices are all routed to the central computer via a large number of cables. Both these systems require a high level of programming, as well as a complex array of electronic communication lines.
Computerized systems typically coordinate communications by assigning each electronic device a unique address. One common way of handling the need for a unique address is that products are assigned a unique number during the production process, and this number is programmed into the device. A problem with this method is that it requires an extra production step that often requires specialized equipment.
Other systems are based on radio frequency (RF) technology and when these systems are maximized, they require additional transmitters/receivers to grow the system. These systems generally control lighting only and not security, plus they also require PC programming.
3. Solution to the Problem
The present invention solves the above problems with a building automation system that controls every system in a building in an integrated, consistent manner. For example, rather than looking at a switch on a wall as the control for a specific device, such as a light, a fan, a fireplace, or a sprinkler system, the present invention implements small user interfaces, such as touchscreens and wireless remote controls, each of which can control any device from anywhere in the building. The default display for the interface is a simple display that controls the devices in the room, or the part of the room, in which the user interface is located. This interface can be programmed to have any level of complexity, but typically will have the complexity of a conventional four-switch switchbox. By touching a button, the user can switch to another simple display that controls the devices in another room, or another part of the room. Thus, instead of walking around the building to operate various sets of switches, the user can stay in one place and “bring” the switches to herself or himself. This is a major change that affects the very relationship between a homeowner and his dwelling or a building tenant and the building.
The invention provides a central controller, a plurality of user interface units, and a plurality of device drivers, all connected to the same trunk conductor. The device drivers are also connected to the devices they drive and to a power supply. The central controller preferably stores all the settings for the device drivers. When a user operates a user interface, such as a touchscreen unit, the unit preferably sends data to the controller, which changes the settings for the specified device driver. Periodically, for example, every 50 milliseconds, the controller updates the settings for all drivers.
Preferably, there is a pair of trunk conductors, comprising a twisted pair of conductors. Preferably, this twisted pair is the inner pair of an eight-conductor CAT5 cable. Preferably, another twisted conductor pair of the cable straddles the inner pair and provides the system power, and the rest of the conductors provide the system ground. Preferably, there is a plurality of trunk cables in a building. Thus, if one trunk is cut or otherwise disabled after the building is built, to get the devices on that trunk up and running again, one only needs to make one connection between the disabled trunk and another trunk.
The feature of storing all control information in a single central controller, and updating it with input data that can come from any user interface and apply to any driven device, makes the system easy to use as discussed above, but also makes it easy to install. The installer does not have to have expert knowledge of any system. The installer only needs to connect a cable to the controller and route it to the junction boxes in the building. Then a user interface or driver is connected to each junction box as needed. This portion of the installation is, in fact, as simple or simpler than installing a conventional AC wiring system. Someone knowledgeable about the programming of the system can then proceed to program the system.
If a builder is building many similar or identical living units, such as a tract of townhouses or apartments, the installation becomes even simpler. Someone knowledgeable about programming the system programs one living unit, then the programming is copied to the other units. Preferably, a memory card is inserted into a memory card slot in the controller, and the controller automatically downloads the programming. The memory card is then inserted into the controller in another living unit, and the programming is, preferably, uploaded to all the interfaces, drivers, and the controller of that unit.
The invention provides a building automation system comprising: a plurality of programmable user interface units, each of the user interface units located in a room or associated area of a building; a plurality of power drivers, each of the power drivers located in a room or associated area of the building; a controller comprising a processor and a memory; and an electrical signal trunk connected to the controller; wherein each of the user interface units and each of the power drivers are connected to the electrical signal trunk. Preferably, the user interface units include a touchscreen. Preferably, each of the user interface units is capable of controlling each of the power drivers via the controller. Preferably, the building automation system further includes an electrical circuit panel and an electrical power conductor connected between the electrical circuit panel and each of the power drivers. Preferably, the electrical signal trunk is a low voltage control wiring, and most preferably, CAT5 cable. Preferably, the building automation system includes a plurality of electrical devices, each of the electrical devices electrically connected to one of the power drivers, the electrical devices comprising a plurality of different types of devices selected from the group consisting of lighting fixtures, fans, security systems, audio/video systems, heating systems, air conditioning systems, garage doors, garage door sensors, doorbells, window controls, sprinkler controls, garage door openers, electronic gate openers, driveway heaters, sidewalk heaters, fireplace controls, intercoms, speakers, microphones, dampers, digital cameras, hot water heaters, telephones, aquarium controls, water feature controls, pool/spa controls, fire protection systems, thermostats, and switched outlets. Preferably, the user interface units include a button separate from the touchscreen, the button adapted to control an electrical device in the room or associated area in which the user interface unit is located. Preferably, the electrical device is a lighting fixture, and the system a light for illuminating the button. Preferably, the system includes two types of wireless remote control, IR and RF, wherein the IR wireless remote control controls only the electrical devices in the room in which it is located, and the RF wireless remote control can control devices in any room of the structure. Preferably, the IR wireless remote control further includes a selector button, wherein operating the selector button changes the electrical device controlled by the wireless remote control. Preferably, the IR wireless remote control further includes up/down buttons, wherein selecting the up/down buttons adjusts the electrical output to the selected electrical device. Preferably, the IR wireless remote control further includes a flashlight and a flashlight activation button. Alternatively, the invention also provides a third type of wireless remote control, which transmits radio frequency (RF) signals as well as infrared (IR) signals, allowing the features of the two basic types to be combined. Preferably, the touchscreen displays a scene screen object for controlling a plurality of the electrical devices with a single touch. Preferably, the touchscreen displays a program screen object enabling the user to program any controllable electrical device in the building or associated areas. Preferably, the touchscreen displays screen objects for accessing three or more functions selected from the group consisting of: time, date, temperature, weather, security, intercom, audio, and sprinklers. Preferably, the user interfaces include a level control for controlling the level of power applied to an electrical device. Preferably, the level control includes a bar graph device for indicating the power level at which the level control is set. Preferably, the touchscreen displays a rooms screen object for displaying a listing of the rooms and associated areas of the building. Preferably, the touchscreen displays a screen object for displaying a list of all controllable electrical devices in the rooms and associated areas of the building.
In another aspect, the invention provides a building automation system comprising: a controller comprising a microprocessor and a memory; a plurality of programmable user interface units, each of the user interface units located in a room in a building; each user interface unit comprising: a touchscreen, a speaker, and a microphone; each user interface unit is capable of controlling an electrical device in a room in which the controller is located; and each user interface unit is capable of controlling an electrical device in a room different than the room in which the controller is located. Preferably, each user interface unit further includes a camera. Preferably, each user interface unit further includes a motion detector.
In a further aspect, the invention provides a building automation system comprising: a plurality of programmable user interface units, each of the user interface units located in a different room in a building; and each user interface unit is capable of controlling three or more appliances selected from the group consisting of lighting fixtures, fans, security systems, audio/video systems, heating systems, air conditioning systems, garage doors, doorbells, window controls, sprinkler controls, garage door openers, electronic gate openers, driveway heaters, sidewalk heaters, fireplace controls, intercoms, speakers, microphones, dampers, digital cameras, hot water heaters, telephones, aquarium controls, water feature controls, pool/spa controls, fire protection systems, thermostats, and switched outlets.
In still a further aspect, the invention provides a user interface unit for a building automation system, the user interface unit comprising: a touch screen; a speaker; a microphone; and control electronics capable of controlling three or more appliances selected from the group consisting of lights, fans, security systems, audio systems, heating systems, air conditioning systems, garage doors, doorbells, window controls, sprinklers, fireplaces, intercoms, and thermostats. Preferably each user interface unit further comprises an occupancy sensor. Preferably, each user interface unit further comprises a camera.
In yet another aspect, the invention provides a user interface unit for controlling an appliance in a selected room in a building, the user interface unit comprising: a graphical display; a memory for storing a plurality of displays to be displayed on the graphical display, the plurality of displays including a selected room display suitable for controlling the appliance in the selected room and at least one display suitable for controlling an electrical appliance in a room different than the selected room; a room button on the user interface unit; and a processor responsive to the room button for displaying the selected room display. Preferably, the selected room is the room in which the user interface unit is located. Preferably, the button is on the graphical display.
The invention also provides a method of controlling a selected electrical appliance located in a first room in a building, the method comprising: pressing a program screen object on a touchscreen user interface unit located in a second room different than the first room; responsive to the pressing, displaying on the touchscreen user interface unit a list of a plurality of appliances in the building and an indication of which room in the building in which each of the appliances is located; touching the screen to select the selected appliance from the list, responsive to the selecting, displaying on the touchscreen a list of attributes of the selected appliance; and programming the attributes. Preferably, the method further includes automatically arranging buttons showing the attributes on the screen. Preferably, the method further provides after the programming, touching a room screen object on the screen, and responsive to the touching the room key, displaying a screen including a control button for an appliance in the second room. Preferably, the list of appliances includes two or more appliances selected from the group consisting of lighting fixtures, fans, security systems, audio/video systems, heating systems, air conditioning systems, garage doors, doorbells, window controls, sprinkler controls, garage door openers, electronic gate openers, driveway heaters, sidewalk heaters, fireplace controls, intercoms, speakers, microphones, dampers, digital cameras, hot water heaters, telephones, aquarium controls, water feature controls, pool/spa controls, fire protection systems, thermostats, and switched outlets.
The invention further provides a product for controlling a selected electrical appliance located in a first room in a building, the product comprising: instructions for directing a processing unit to: display a program screen object; receive an input that the program screen object has been activated; responsive to the input, display a list of a plurality of appliances in the building and an indication of which room in the building in which each of the appliances is located; receive an input identifying a selected appliance on the list; display a list of attributes of the selected appliance; receive a value for a selected attribute; and communicate a signal for setting the selected attribute of the selected appliance in accordance with the value; and a media readable by the processing unit that stores the instructions.
In a further aspect, the invention provides a method of controlling at least three different appliances in a building having at least three rooms, each of the three appliances being in a different one of the rooms, the method comprising: entering any one of the three rooms; and operating a touchscreen control panel in the entered room to control any one of the three appliances. Preferably, the operating comprises: selecting a screen object corresponding to a selected appliance; and utilizing the selected screen object to control the selected appliance.
In yet a further aspect, the invention provides a method of programming a building automation system comprising: a plurality of programmable user interface units, each user interface unit located in a different room of a building; a controller; and an electrical signal trunk connecting the controller and the user interface units; the method comprising: electrically connecting a non-volatile memory unit storing a program to the controller; the controller recognizing that the non-volatile memory contains a program appropriate for programming the control system; and the controller uploading the program into each of the user interface units. Preferably, the recognizing comprises: the controller recognizing that the programmable appliance user interface units do not contain a program; and the controller recognizing that the non-volatile memory unit stores a program appropriate for the user interface units. Preferably, the recognizing comprises the controller recognizing that the non-volatile memory unit stores an update to a program stored in the user interface units; and the uploading comprises the controller updating the program in the user interface units. Preferably, the electrically connecting comprises engaging a plug/socket connected to the non-volatile memory with a plug/socket connected to the controller.
The invention also provides a method of backing up a building automation system comprising: a plurality of programmable appliance user interface units, each user interface unit located in a different room of a building; a controller; and an electrical signal trunk connecting the controller and the user interface units; the method comprising: electrically connecting a non-volatile memory unit storing to the controller; the controller recognizing that the non-volatile memory is blank; and the controller downloading data from the user interface units to the non-volatile memory. Preferably, the electrically connecting comprises engaging a plug/socket connected to the non-volatile memory with a plug/socket connected to the controller.
The invention also provides a method of installing a building automation system in a building having a circuit panel including a plurality of electrical power lines, a first electrical device installed in a first room in the building, a second electrical device installed in a second room in the building, the method comprising: installing a first user interface unit in the first room and a second user interface unit in the second room; electrically connecting the first user interface unit and the second user interface unit to a controller having a CPU and a memory; electrically connecting the first electrical device to a first power driver and the second electrical device to a second power driver; electrically connecting the first user interface unit to the first power driver and the second user interface unit to the second power driver; and using the plurality electrical power lines to supply power to the first power driver and the second power driver.
In still a further aspect, the invention provides a method of programming a building automation system comprising: providing a first building automation system in a first building; programming the first building automation system; providing a second building automation system in a second building; and copying the programming of the first building automation system to the second building automation system. Preferably, the copying comprises copying the programming of the first building automation system to a removable medium; transporting the removable medium to the second building; and copying the programming of the first building automation system from the removable medium to the second building automation system.
The invention also provides a slave device for use in a building automation system, the slave device comprising: a memory; a processor; a signal input/output for connecting the processor to an electrical signal trunk; a touchscreen display; and a room button separate from the touchscreen display for controlling an electrical device.
In a further aspect, the invention provides a slave device for use in a building automation system, the slave device comprising: a memory; a processor; a signal input/output for connecting the processor to an electrical signal trunk; a touchscreen display; and software or firmware stored in the memory for causing the touchscreen to display a screen object for listing the electrically controllable devices in the rooms and associated areas in the building.
In yet another aspect, the invention provides a slave device for use in a building automation system, the slave device comprising: a memory; a processor; a signal input/output for connecting the processor to an electrical signal trunk; a touchscreen display; and software or firmware stored in the memory for causing the touchscreen to display a screen object for listing the rooms and associated areas in the building.
The invention also provides a remote control device for use in a building automation system, the remote control device comprising: a memory; a processor; a selector key for selecting a function to be controlled; a display for displaying an indication of the function to be controlled; and an up/down key for controlling the function. Preferably, the remote control further includes a flashlight.
The invention also provides a level control for use in a building automation system, the level control comprising: a memory; a processor; a signal input/output for connecting the processor to an electrical signal trunk; an infrared receiver; and a level control indicator to indicate the level at which the level control is set.
In still another aspect, the invention provides a slave device for use in a building automation system, the slave device comprising: a memory containing a protective code; a processor; a trunk output connected to the processor; and software or firmware directing the processor to output the code on the trunk output in response to a predetermined signal received on the trunk. Preferably, the slave device is a device selected from the group consisting of a touchscreen user interface, a remote user interface, a level control device, and a power driver.
In yet another aspect, the invention provides a method of doing business comprising: licensing an electronic system technology to a licensee, the electronic system including an electronic slave device and an electronic controller; assigning the licensee a protective code; storing in the controller software or firmware instructing the controller to: receive the protective code from the slave device; and not recognize or communicate with the slave device if the code is not received. Preferably, the electronic system is a building automation system. Preferably, the process of receiving the protective code includes sending a message from the controller to the slave device and receiving the protective code in response to the message.
In yet a further aspect, the invention provides a method of enforcing copyright protection for software or firmware, the method comprising: providing an electronic system including a system controller and an electronic device, the system controller including a processor and a memory, the electronic device including protectable software or firmware; the memory including instructions to cause the processor not to communicate with or recognize the device if the software or firmware does not include a proper copyright notice. Preferably, the system requires a working address for the device to communicate with the controller, and the not communicating with or recognizing comprises not providing a working address to the device.
The present invention eliminates the need to access a PC to control home management features. It further eliminates the need for an “always-on” and/or dedicated PC to control home management features and eliminates program incompatibility issues running on a Windows-based PC. The present invention provides convenient access to all home management features from anywhere a user interface unit is installed. In addition, the controller is reliable, efficient and compact. Other features, objects, and advantages of the invention will become apparent from the following description when read in conjunction with the accompanying drawings.
Five types of user interface units 201 are shown in
An important feature of the invention is that all slave devices 201, 202 have an electrical signal input/output 290, 291, 292, 293, 294, etc., connected to a signal trunk 159, 170, which trunk is connected to controller 122. Herein, the term “electrical signal” is used in the normal sense that includes electrical pulses that carry information; and the term “signal trunk” or simply “trunk” means a conductor that carries non-trivial information, and does not include conductors that only carry power.
As will be seen in more detail in connection with the discussion of
2. Hardware and Functioning of Hardware
Turning now to the details of
Drivers 127, 143, 158, 206, 220, 222, 229, 231, and 237 receive the data needed to set the power level provided to the driven devices from controller 122. The data is provided to the controller by a network of user interface units 132, 140, 150, 162, 168, 169, and 176 (via transceiver 177) via low voltage control trunks 159 and 170. Specifically, user interface units 132, 140, 152, and 162 are connected with controller 122 via low voltage control trunk 170. User interface units 168, 169, and transceiver 177 are connected with controller 122 via low voltage trunk 159. In
A feature of the invention is that a single control trunk, such as 170, can be used to control many devices. However, in practice, a building may include one or several control trunks 159, 170 where each trunk enables communications between that portion of the building that a particular trunk services and controller 122. Thus, if one control trunk goes down, only a portion of a building is affected, and the affected portion can be brought back on line simply by connecting its control trunk to a working control trunk at one place. If a new device is installed in a building with an automation system according to the invention, the driver for the device only needs to be connected to any available control trunk. For example, if a user wishes to install a new level control 140 in closet 46, the user simply locates the nearest control trunk and connects the level control to it. In this case, the connection can be made with either trunk 159 or trunk 170. This is so because the same data is communicating across all of the control trunks 159, 170.
User interface unit 162 is low voltage and, as discussed in connection with
Turning to display 250, for clarity, to differentiate between hardware devices 201, 202, 203 and devices that appear on the display of touchscreen units, buttons and other devices that are shown on the screen will be referred to herein as “screen objects”. Display 250 shown in
Display 250 also includes an additional pages button 253. This button permits the user to page through additional displays programmed for the room. That is, in large rooms there will be more buttons programmed than can be effectively displayed on one display; these can be reached through the additional pages button. Display 250 also displays the accurate time and room temperature at 254.
Up/down switch 189, selector switch 191, display 190, and the operating software of controller 122 and remote 150 operate together to permit the user to control any function in the room in which the remote is located. System 120 knows which room the remote is in by recognizing which wall interface unit, such as 162, is receiving its IR signal. Both remote 150 and controller 122 are programmed to control selected functions in each room. The function to be controlled is selected with selector switch 191. The remote indicates which function is being controlled using a two letter code, such as “LT” for light, “AU” for audio, “HT” for temperature, “AL” for alarms, “L1,” “L2,” or “L3” for supplemental lights, etc. By pressing selector 191, the user can cycle through the available functions. Up/down button 189 then controls the function shown in display 190. For example, if a user wanted to dim the lights in the room, the user would depress selector button 191 until “LT” is displayed on the two-character display, and then the user would depress the down arrow button of up/down buttons 189 to dim the lights in the room. The IR signals that remote 150 produces are the same for each room. For example, if the “LT” function is selected by selector 191 and up/down switch 189 is pushed up, the same IR signal, which we shall call the “LT Up” signal, is emitted by remote 150, no matter what the room in which it is located. Controller 122 is programmed to know what device(s) is or are to be controlled by the “LT Up” signal in each room. If, in this example, the remote is in family room 44 and system 120 is programmed to control recessed ceiling lighting 21 when the “LT” is selected by the remote, then when the “LT Up” signal is received by interface unit 152 and passed to controller 122 via trunk 170, controller 122 places the appropriate communication on trunk 170 to cause driver 143 to increase the power level to recessed lighting 21.
Wireless remote control user interface 150 allows a user to walk through a building and control the things only in the room the user is in without worrying about controlling other things in the building. So, for instance, if a user walks into a room and presses up/down buttons 189, wireless remote control 150 controls the lighting in that room, or whatever other function that the user has set up as the primary function of up/down buttons 189 in that room. It can provide complete access to every function of building automation system 120: it can allow a user to open their garage door; arm or disarm the security system; turn lights on, off or dim; or adjust audio levels and temperature as a user walks through a building. Preferably, wireless remote control 150 is waterproof and can be slipped into a user's pocket, fastened to a chain, or placed on their desk. While wireless remote control 150 is being charged by wireless remote charger 193, buttons 189, 191, and 192 on wireless remote control 150 are operable to a user.
Level controls 140 preferably operate similar to a true rocker style level control operation and include full dimming capabilities. Level controls 140 have the familiar look of most architectural style level controls, but a number of extra features have been added. Preferably, level controls 140 are capable of creating lighting scenes and turning ceiling fans on simultaneously with one touch. Level controls 140 preferably are programmed to start lighting with a gradual rise to the selected brightness level, and gently fade the lighting fixtures when switched off. Level controls 140 “remember” the last light level used and will go directly to that level when switched on and off.
An important aspect of the building automation system according to the invention is the software and firmware programming stored in the memories discussed above. This software includes software and firmware controlling the internal functioning of user interface units 201 and drivers 202. For example, touchscreen interface units 132, 162, and 176 include software that creates the display on the units. This internal software is generally known in the art, and one skilled in the art can easily create such software or firmware based on the description of interface units 201, the displays in the interface units that utilize displays, and drivers 202 given herein. Thus, it will not be discussed in detail herein. However, the software that facilitates the communications between controller 122 and slave devices 201, 202 is novel and important to the invention. We will first present a brief overview of this programming, and then discuss it in detail.
As indicated above, when system 120 is installed, every slave device 201, 202 is connected to a trunk. When the system is commissioned each slave device, including all user interfaces 201 and all drivers 202, including all add-on cards 117, is assigned an address. Communications between controller 122 and slave devices 201, 202 follow a novel protocol, the data packet 420 that is illustrated in
Turning now to the details of the software and the programming of system 120, as indicated above, when a new system is first installed, the first part of the programming process is a task called “commissioning”. The commissioning process is shown in
The purpose of the commissioning date is to facilitate reuse of system devices. An installer may install a device in a system for a given customer. If that customer then desires an upgrade, the removed device becomes available for other uses in other systems. Since a device only responds in a system with the appropriate commissioning date, the previously programmed device will not cause an address conflict in the new system and will not be recognized until a renewed commissioning process changes the device's commissioning date.
Once each slave device has been assigned an address, the system can be programmed. The commissioning process places a list of all devices and where they are located in controller 122. A programming button is also placed on each touchscreen. The programming process is shown in
It is a feature of the invention that the commissioning and programming processes are interruptible and resumable—that the user may move between the processes as needed, working in the manner deemed the most comfortable.
An important part of the invention is the manner in which slave devices 201, 202 communicate with controller 122. As indicated above, in the preferred embodiment, building automation system 120 utilizes RS422 transmission over 100 ohm terminated CAT5 cable in 8-bit asynchronous format at 250 or 500 kilo baud with CRC-16 error checking. Communication between the controller, the drivers, touchscreens, level control, and other devices is controlled and timed by the controller. The controller starts a communications round preferably every 50 msec. The start of a new round is signaled by the first of series of global messages, as described in detail below. In the preferred embodiment, there are no slave responses to global messages except during the commissioning process as described above. The first slave device is then sent a message and must return a response within a short time. This process proceeds until all of the devices have been serviced.
The messages exchanged between that controller and slave usually contain an update of control data. If data has not changed since the previous round, shorter messages are utilized that just check status. Examples of longer messages include screen changes for touchscreens, video images, and software updates. In some cases, time may not permit communications with all of the desired data transfer to complete in a single 50 msec interval, requiring data to be split into multiple messages sent over successive rounds. The most common example is that of software updates occurring while the system is already heavily loaded, for instance due to video image transfers.
The specific details of a message depend on the devices involved. However, the general format of a message is as described in the following protocol.
Messages originating at controller 122 include global messages 422 and data messages, such as 428. Global messages are messages sent by the controller to all devices in the system with no device sending a response, except for commissioning. The data sent in these messages is of interest to all or to a multitude of slave devices. In the preferred embodiment, global messages are synchronization messages, though other global messages are possible. Sync messages are used to signal the beginning of each communication round. They also provide global data that is needed by most slave devices. All sync messages utilize the following format:
A group of the messages provides a complete time, date, and commissioning date update throughout the system, and devices that utilize this data keep a record in local memory that is updated each time the data is received. Slaves monitor the reception process so that if a data value does not arrive on time, the rest of the data is ignored until the next 001sssss message. All clocks in the system are synchronized within 600 milliseconds of the master.
A Detach message is sent if a device button is pushed before the controller is ready to commission it. This occurs if a device other than a touchscreen is pushed before a programming touchscreen has been assigned or if another touchscreen is touched before the system time and date have been set. The message is also used to drop the system out of commissioning mode after a timeout period has elapsed. The Detach message uses the following format:
Data messages include Device Status Interrogation messages, Send Main Variables messages, Send Data messages, and Request Data messages. Device Status Interrogation messages have the following format:
The Send Main Variable message is a space-saving way to send any combination of the first seven variables. This requires six bytes to send one variable value or eleven bytes to send seven variables. The Send Main Variable message has the following format:
The Send Data message sends up to 256 bytes of data. The destination for the data is specified in the instruction coding in byte 2. The format of the Send Data message is as follows:
The Request Data message is sent by the controller and causes a block of data to be sent by the slave. Its format is as follows:
Messages are also sent by slave devices 201 and 202. Slaves only respond to messages which contain their specific working address and commissioning date. The only two exceptions to this rule have been explained above in the section describing the commissioning process. In the preferred embodiment, there are four types of slave messages: Status Returned; Main Variables. Changed; Request for Screen, Program or Scene Data; and Changed Variables or Requested Data Returned. The Status Returned message only is used for returning device status. Its format is as follows:
The Main Variables Changed message returns the changed values for up to seven variables. It has the following format:
The Request for Screen, Program or Scene Data message requests the data from the controller. It has the following format:
The Changed Variables or Requested Data Returned message returns the data previously requested. It has the following format:
The messages sent by slave devices 201, 202 preferably also include a manufacturer's, licensee's, installer's, or other protective code. This code is preferably inserted into memory 1022, 1322, 1319, 286 of the slave devices at manufacture, during installation, or at some other time, and included in the Requested Data Returned message, but may also be included in any of the other messages, or contained within a separate message used during the commissioning process. For example, it may be sent with the first signal sent by device 201, 202 when the commissioning button is pressed. In the preferred embodiment, the Device Data bytes in the messages described in detail above contain this code.
The fundamental purpose of this code is to protect the integrity of system 120. System 120 according to the invention is a sophisticated system in which all electronic elements 122, 201, 202, and 203 depend on the other elements for the system to operate properly. Since a key aspect of the invention is that all electronic elements are connected to a common trunk, or just a few trunks, all of which connect to controller 122, a single defective or otherwise malfunctioning electronic element could paralyze a portion of the system. Further, it is recognized that once the system becomes commercially successful, others will be able to make cheap knock-offs of the electronic units, such as a level control 140 or other user interface 201 or driver 202. Generally, as known in the art, such knock-offs may be of inferior quality or contain software incompatibilities. For example, a knock-off may not utilize an UL-approved circuit board. Such an inferior board could cause a fire hazard or other problem.
On the other hand, manufacturers, distributors, and installers that agree to abide by strict manufacturing and installation specifications may be licensed by the owner of the technology of the invention. These licensed manufacturers, distributors, and installers will be able to be policed by the owner of the technology, thus ensuring a degree of quality that will not cause problems within system 120. Thus, these licensed manufacturers, distributors, and installers are assigned protective codes which identify them.
As indicated above, the protective codes are preferably included by a user interface 101 and device driver 102 in the Requested Data Returned message during the commissioning process. Controller 122 uses this code to indicate what licensed manufacturer or distributor made each device in the system, and to provide a file of manufacturers and licensees the devices of which are included in the system. If manufacturer or distributor is not the owner of the technology or a licensee, the controller will not recognize nor communicate with the device and it will not operate within the system. An alarm or other indication that a non-qualified device has been connected to a trunk may also be output.
The protective system also is useful in policing licensees. For example, it permits the installer, user, and technology owner to determine if a particular licensee is manufacturing inferior equipment or if an installer is making defective installations. It also prevents imitators from selling devices to be placed on the system, while allowing licensees to do so. In the preferred embodiment, the protection method has three parts: 1) All firmware and software is to be copyrighted and an embedded copyright notice is placed in all code; the notice is in ASCII format near the beginning of the object file. For example, the notice can read “Copyright 2003, LifeSpace Inc., Broomfield Colo. USA”. 2) The copyright notice is followed by two bytes that are reserved for a manufacturers code. Thus, a licensee uses a common code with the code creator's copyright notice in it, but the two bytes following the notice would be different for licensees. 3) During commissioning, the controller 122 will cause the copyright notice embedded in the device to be transmitted as part of a message. If it is not the appropriate copyright notice, the device is not given a working address, and will thus not operate in the system.
Controller 122 performs three key tasks: editing a program file, moving program data from controller 122 to user interface units 201, and interpreting the data returned by the target device. The task of editing a program file occurs through the cooperation of controller 122 and the touchscreen user interface units, such as 162. Preferably, screen editors are a part of the touchscreen user interface unit such as 162, and they allow program items to be selected, added, modified, and deleted. The user program resides as a file within controller memory 245. During the editing process, controller 122 must send appropriate segments of this file formatted for touchscreen 188 of the user interface units. Once a user program is edited in the controller's program file, it must be continuously interpreted to control the devices in the system.
A feature of the invention is that building automation system 120 passes data instead of passing commands. For example, if a user wants level control 140 to lower the lighting of control lighting fixture 142, the user contacts level control 140 to change the lighting level of lighting fixture 142. This contact changes a data variable in level control 140 and, as discussed above, controller 122 periodically queries level control 140 as to whether it has any changed data. Controller 122 changes the old data for the particular variable in the program to the new data and responds by sending a data signal to power driver 127 during the periodic data packet exchange to power driver 127 to change the power output to lighting fixture 142, which then changes the lighting output of lighting fixture 142. In another example, lighting fixture 142 may include both a lighting level variable and a dimming rate variable, which can be changed by a user. This information is again transferred to controller 122 that controls power driver 127 and lowers or raises the electrical output to lighting fixture 142 by the user desired rate and level.
Another feature of the invention is that all control information is retained in one place, the program data file in controller 122. Level control 140, power drivers 202, and user interface units 201 preferably also store locally the levels that they are set at so that, in case of a building automation system 120 fault, the electrical devices will remain at their previously set value. Alternatively, several different values can be stored at the user interface units, such as the level it is set to and another level in case of system fault. Screens are saved in controller 122, but also may be saved in the memory, such as 1022, of the user interface unit on which they are displayed. For example, the default screen is generally saved in the user interface unit memory as well as the controller. To make bringing up screens fast and easy, screens are saved under a screen file designation system, such as forms_rooms for the rooms selection screen. This designation is used by the programming to select a file to draw the screen.
The controller firmware also includes a novel process for copying a program, updating firmware for all devices, or backing up system 120. The process for copying a program or updating system firmware is shown in
If the memory is blank, at 406 (
Building automation system 120 according to the invention makes extensive use of LCD interface units 132, 162, 176 with touchscreens as the main means of user control. Part of the design philosophy of the system entails minimizing the number of levels of screens that a user must navigate to perform common functions. A key to accomplishing this is that most often used functions appear on the main screens. For example, the main screen of a touchscreen control unit might show buttons for dimming a light, setting some lighting scenes, switching a fan on and off and adjusting it's speed, and viewing the time, temperature, and date. Each of these functions is available with a single button push, and no other screens are needed to accomplish the function.
User programmable screen objects 603 include on/off objects 610, level control objects 612, scene objects 614, ROOMS objects 1106, blank spaces 621, additional pages objects 253, and special function objects 660, which include a TIME object 624, DATE object 627, TEMPERATURE object 630, HUMIDITY object 632, WEATHER object 640, SECURITY object 644, INTERCOM object 652, AUDIO object 656, and SPRINKLER object 661. The invention contemplates that many other user programmable screen objects 603 will be devised as building automation systems 120 according to the invention are developed.
On/off objects are used to control devices 203, which can either be on or off. Level control screen objects 612 are used to control devices that have desirable settings between on and off, such as the brightness of lamps or the speed of motors, such as in ceiling fans or fireplace blowers. As shown in
Scene buttons screen objects 614 allow a combination of devices to be set at the same time, each to a different value. The number of devices controlled is selectable. In the simplest case, a scene button screen objects may control only one setting of a single device, such as a button that, when pressed, turns a fireplace alternately on and off, or a button that sets one level to a lamp. A complex example is a button that might be labeled “FIRESIDE” which dims the main room lights, turns on mood lights over art objects, turns on the fireplace, and switches on the whole-house audio system to soft classical music. Scene button screen objects may be linked in groups that control the same devices but have independent levels, such as a set of lighting buttons labeled as “DINNER”, “CLEAN”, “CARDS”, AND “OFF”. In such a case, the DINNER button sets the lighting and music in the room, which is a dining room, at a relatively low level for eating, the CLEAN button sets the lighting at a full-on level and the music at an intermediate level for clean-up after eating, the CARDS button that sets the lighting at an intermediate level and the music at a low level for games, such as cards, and the OFF button turns the lighting and music off. Display 250 in
As discussed above in connection with
As discussed in connection with
Special function screen objects 660 correspond to usually pre-programmed subsystems of the system. The invention contemplates that other subsystems other than those shown also will be designed and used. When a special function screen object button 660 is pushed, a screen appears that is dedicated to that function. For simple functions, only a single screen is needed. Complex functions, such as the security subsystem, may utilize several screens. It should be noted that, as shown in
Building automation system 120 keeps track of time and date to a very high degree of accuracy, even through power failures, and distributes this time to all devices in the system. If TIME screen object 624 is programmed on a touchscreen, the current time is displayed in hours, minutes, and seconds. The format may be selected as AM/PM or military time. Touching TIME screen object 624 brings up a TIME ALARM SET screen 625 that allows the setting of alarms. A button on screen 625 brings up additional time features, such as displays of the current time in several time zones. The alarms and selection of the time zones are programmable by the user, but the time in each of the selected zones is automatically provided by controller 122, and the accuracy of that time may be further enhanced by the use of an optional WWV receiver 118 (
TEMPERATURE screen object 630 and HUMIDITY screen object 632 show the current temperature and humidity. Touching either TEMPERATURE screen object 630 or HUMIDITY screen object 632 lead to a series of HVAC screens 634, 636, 637, and 638. HVAC SET POINT screen 636 permits the setting of temperature, humidity, and other HVAC functions. Touching a HVAC SCHEDULE change button on screen 636 brings up a HVAC SCHEDULE CHANGE screen 638 that permits changing the HVAC schedules. Optionally, password screen 634 can be inserted between screens 630, 632 and screen 636, and/or password screen 637 can be inserted between screens 636 and 638. Screens 636 and 638 are iterative along path 639 until all HVAC settings are as desired.
Touching WEATHER screen object button 640 brings up a screen 641 that either provides weather data from local sources, provides weather information from third party service providers, such as Internet sites, or both. Several manufacturers produce suites of weather sensors for home or office building installation. Building automation system 120 can provide an optional port for interface to these systems. When the WEATHER button is pushed, a screen appears that indicates the current readings of the weather sensors. Using a HISTORY button on screen 641 brings up an additional screen 642 that displays the recent history of each of these weather parameters.
Conventional security sensors are scanned by system 120 using an optional security scanner module, preferably one of the add-on cards 117 in cabinet 172. As is known in the art, these include contact/closure sensors for the windows and doors of a house or building and motion detectors for detecting motion by an object within or outside of a building. All of these can be wired to the security scanner module. In addition, as indicated above, motion detectors and cameras are options that may be installed in user interfaces 201. The fact that a powerful processor and memory are included in each user interface unit and add-on card 117 permits sophisticated sound detection firmware to be included for detection of sounds such as breaking glass, a baby crying, an automobile in the driveway, chain saws, cries for help, and voice recognition software that can respond to an alarm at the sound of specific voices. Thus, system 120 can provide complete surveillance capabilities that include baby monitoring, visitor identification at entry doors, and whole-house supervision. Built-in motion detector 186 may be programmed to activate lights, digital camera 187, and alarms when an intruder is present. Furthermore, building automation system 120 can activate door locks in the building upon detection of an intruder as well. The system may be programmed so that motion detector 186 may initiate turning on lights when a person enters a room, and then gradually turn off when the person leaves. The security systems are preferably connected to a security system monitoring company or the police via a telecom interface function discussed below. When SECURITY screen object button 644 is pressed on a touchscreen, a SECURITY STATUS screen 646 appears showing the status of each zone of the security subsystem and whether or not the system is armed. This screen also has a PANIC button, which may be pressed to initiate an alarm manually. The security screens are preferably designed and programmed by a person experienced in the security area. Pressing one of the buttons on screen 646 brings up a lower level SECURITY PASSWORD screen 648 that requires the entry of a password, which leads to a SECURITY ERROR AND OVERRIDE screen 649 that permits the overriding of alarms. Optionally, a SECURITY ACCESS PASSWORD screen 645 may be inserted between screens 644 and 646.
Touching INTERCOM screen object button brings up a screen 654 or series of screens that permit voice communication with other rooms in the building.
Touching AUDIO screen object button 656 brings up a series of screens 658 that permit the control of source, channel, volume, and other features in a whole house stereo system. A feature of the invention is that control trunks 170, 159 can be used to move audio data as well as programming data. An audio module can be placed in control cabinet 172 that will provide the whole house with multiple channels of digital stereo audio. Alternatively, audio or video data may be piped throughout a building on wiring separate from system 120. In this case also, the audio/video system functions are preferably controlled by a module that is located within module bays 173 of control cabinet 172.
By addition of an optional sprinkler control module, usually in cabinet 172, system 120 is able to control lawn sprinklers, water features, and other similar systems. Like other subsystems, this has the advantage that the sprinklers may be controlled from any room in the house. Pressing SPRINKLER screen object button 660 brings up a SPRINKLER CONTROL screen, which shows the status of these systems and permits testing and other manual control. Further screens 666 allow the schedule of events of these devices to be programmed. If the weather subsystem is also installed, sprinkling may be controlled according to the measured rainfall, and features may be disabled while rain is occurring. The sprinkler system is preferably linked to the main time reference, so no resetting is needed for daylight savings time transitions. An optional SPRINKLER ACCESS PASSWORD screen 662 may be inserted between object 660 and screen 664, and an optional SPRINKLER SCHEDULE PASSWORD screen 665 may be inserted between screens 664 and 666. The sprinkler programming is iterative along path 668 until all sprinkler functions are set.
As also discussed above in connection with
Commissioning screens 700 are shown at the bottom of
Many other subsystems can be included in system 120 according to the invention. For example, preferably, building automation system 120 further includes a phone interface that provides the function of dialing an alarm monitoring company and playing a pre-recorded message. Also preferably, building automation system 120 accepts incoming calls to control the system from a remote location either by voice, tone, or digital modem signaling. User interface units 162 preferably include the capability to serve as speakerphones with a central phone number directory. The system can be used to control electronic door locks from any room in the house. Pool/spa controls, such as heating, chemical additives, and filters, aquarium controls for heating and filters, and other water features such as fountains and waterfalls are just some of the capabilities of the system.
A feature of the invention is that the programming system of building automation system 120 is symmetrical in design, meaning in the case where level control 140 is controlling lighting fixture 142, a user can go into the program and look at either lighting fixture 142 or level control 140 and change that interaction.
Building automation system 120 can be wired into existing homes or buildings that are pre-wired with low voltage control trunk 170. For installation into these homes or buildings, low voltage control trunk 170 is routed to the switch boxes in the existing house or building. The existing switch boxes are replaced with power drivers 127, 143, and 158 at that location and at that spot. Low voltage control trunk 170 goes to the actual switch location. For example, if you have four lights controlled by four level controls on the wall, then a power driver 127 would be put in place of the existing level controls and then a user interface unit 201, preferably a level control 140 or touchscreen 162, is placed over or near the power driver.
Furthermore, building automation system 120 can be wired into existing homes or buildings that do not include low voltage control trunks 170. In this scenario, power drivers 202 are installed in place of the existing switch plate and a user interface units 132, 162, or 140 are located above it. Because no low voltage control wiring is in place in this scenario, RF or other wireless circuitry added to interface units 132, 162, or 140 is used to provide the same functional control over the electrical devices. The existing AC wiring is routed to power drivers 202. User interface units 132, 136, 152, and 162 or level control 140 then communicate to controller 122, which also includes RF or other wireless circuitry.
A feature of the invention is that the functional connection of electrical devices is totally independent of the way in which they are wired. So long as every electrical device is attached to a driver connected to one of control trunks 170, it can be used in building automation system 120 in any manner the user desires. Thus, when installing an electrical system in a house, the electrical contractor only needs to be sure each electrical device is connected to a driver 202 that is connected to a trunk. User interface units 201 do not have to be associated with any particular device, but can be placed in the building as efficient and convenient control dictates.
All electronic elements in the system, including user interfaces 201, drivers 202, controller module 526, and cabinet 172, are available in designer and fashion colors that coordinate with receptacles, cable and TV jacks, and other accessory wall plates.
There has been described a novel and efficient building automation system. It should be understood that the particular embodiments shown in the drawings and described within this specification are for purposes of example and should not be construed to limit the invention. Further, it is evident that those skilled in the art may now make numerous uses and modifications of the specific embodiment described, without departing from the inventive concepts. It is also evident that the processes recited may in some instances be performed in a different order, or equivalent structures and processes may be substituted for the various structures and processes described. The structures and processes may be combined with a wide variety of other structures and processes.