Embodiments of the disclosed subject matter generally relate to the field of energy device management, and, more particularly, to systems and methods for enabling connectivity between a system controller and an ad hoc network of generator and load devices.
Technological advances and energy market forces have contributed to a growing prevalence of on-site energy management systems, such as those implemented in homes and other buildings, Such energy management systems may include components for implementing centralized control of generator devices and load devices. Local energy management systems can balance local energy consumption levels with available local and remote energy supplies. To increase efficiency, this balancing preferably accounts for many factors including power generation from variable energy generator devices (e.g., photovoltaic panels).
Networking technologies are used for managing and coordinating energy management system devices, such as household appliances, Network automation systems may provide network-level and application-level communication for enabling centralized management of various subsystems and/or devices within the network, For example, devices may be communicatively connected within a local area network to enable centralized control by a system controller.
Technology is being developed to address the connectivity requirements of localized energy management systems. Such connectivity should include application-level message/command processing and network/transmission protocols. Example communication standards/specifications include the ZigBee Alliance Smart Energy Profile (SEP) 2.0 specification. The SEP 2.0 specification standardizes many requirements of a smart energy ecosystem including device communication, connectivity, and command information sharing.
Some network devices and subsystems may not support centralized, coordinated management. Given the vast categories of new and legacy electronic devices, energy management systems continue to face system integration issues.
This disclosure describes various embodiments for managing devices within an energy management system. In one embodiment, the energy management system includes a first controller and a second controller that control communications with and manage devices. The first controller determines to transmit a system management application instruction to a device and converts the system management application instruction to a device controller instruction based on an identifier of the device. The first controller generates a system message that includes the device controller instruction and formats the system message based on a network transmission format. The first controller transmits the system message to the second controller. The second controller receives the system message from the first controller and reformats the system message based on a device controller interface format. The second controller transmits the reformatted system message to a controller interface of the device.
The present embodiments may be better understood by referencing the accompanying drawings.
The description that follows includes example systems, methods, techniques, instruction sequences and computer program products that embody techniques of the subject matter disclosed herein. However, it is understood that the described embodiments may be practiced without these specific details. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
As shown in
The solid, dotted, dashed, and dot-dashed lines in
The EMS 100 further includes a heating, ventilation, and air conditioning (HVAC) unit 106 as a load device. The HVAC unit 106 provides temperature control within an area, such as a home. Activation of the HVAC unit 106 is controlled by the thermostat 105, which is configured to monitor the operational state of the HVAC unit 106 with respect to air temperature. The thermostat 105 may receive operation and scheduling control instructions from the EMS controller 102. The control instructions enable the operational activity of the HVAC unit 106 to be coordinated with the operation of generator devices and other load devices within the EMS 100.
The EMS 100 comprises other load devices, including a recirculation pump 108 and a battery management unit 110. The recirculation pump 108 may be a constant or variable speed pump used to circulate water (e.g., in a swimming pool). The battery management unit 110 may be electrically connected to a battery (not depicted), which serves as a local electrical energy reserve within the EMS 100. The battery management unit 110 may monitor, charge, and discharge one or more batteries. The battery management unit 110 may also report information about a battery to the EMS controller 102. For example, the battery management unit 110 may report a battery's stored charge amount, instantaneous charging rate, instantaneous discharging rate, recorded charging levels, charge levels, and charge rates.
The EMS 100 may supplement energy received from the external power grid 136 with locally generated energy from energy generator devices. In the depicted embodiment, the EMS 100 includes two example local energy generator devices: a photovoltaic (PV) panel 120 and a micro combined heating and power (CHP) unit 118. The PV panel 120 is controlled, in part, by an inverter 130, which also functions to convert the DC power generated by the PV panel 120 into AC power. The inverter 130 may implement maximum power point tracking and/or other techniques to improve utilization of the PV panel 120. The inverter 130 may report, to the EMS controller 102, an instantaneous and/or recorded energy generation rate (e.g., power measured in kW). The inverter 130 may also report other power generation parameter data associated with the operational state of the PV panel 120. In some embodiments, the inverter 130 receives control instructions from the EMS controller 102.
The micro CHP unit 118 may utilize fuel to generate power while simultaneously generating recoverable heat for an enclosure, such as a home. The micro CHP unit 118 may report an instantaneous and/or recorded energy generation rate and other parameters to the EMS controller 102. The EMS controller 102 may change the operational state of the micro CHP unit 118 based on power consumption needs and power output limitations of the devices and/or the overall system.
As described above, the meter 134 monitors energy transferred between the external power grid 136 and the EMS 100. A load center 132 may receive AC power from the external power grid 136 through the meter 134 and may distribute this power to various load devices (e.g., the HVAC unit 106 and the recirculation pump 108) and energy reserves, such as a battery. The load center 132 may also receive AC power from local energy sources, such as the micro CHP unit 118 and the inverter 130. In addition, the load center 132 may provide access for manually activating and deactivating load and generator devices.
The load devices (e.g., the HVAC unit 106, the recirculation pump 108, and the battery management unit 110) and the generator devices (e.g., the micro CHP unit 118 and the PV panel 120) may be collectively referred to as terminal devices. To facilitate connectivity within the EMS 100, one or more of the terminal devices may include controller interfaces. In the depicted embodiment, the thermostat 105, the micro CHP unit 118, and the battery management unit 110 each include controller interfaces 112, 126, and 116, respectively. In one embodiment, each of the controller interfaces 112, 126, and 116 includes network communication interface functionality. The network communication interface functionality enables the thermostat 105, the micro CHP unit 118, and the battery management unit 110 to communicate with the EMS controller 102 via a network connectivity hub 104. In some embodiments, the EMS controller 102 and network connectivity hub 104 may be implemented in the same device, while in other embodiments, they may be separate devices. For example, the network interface functionality within the controller interfaces 112, 126, and 116 may be Wi-Fi® functionality.
As further depicted in
Each device's controller interface 112, 126, and 116 may be connected with a microcontroller and memory of the device. The device's memory may include device controller instructions for controlling the device. For example, the devices memories can include device controller instructions for controlling the thermostat 105, the micro CHP unit 118, and the battery management unit 110. For example, the device controller instructions can directly actuate and coordinate mechanical, electrical, and logical operations of the thermostat 105, and other terminal devices. In one embodiment, the device controller instructions may include a system management application client that cooperates with a system management application that is hosted by the EMS controller 102.
The system management application client may be stored within the controller interfaces 112, 126, and 116. The system management application client may be an application program or suite of programs conforming to a standards, such as the ZigBee Alliance SEP2.0 specification. The SEP 2.0 specification specifies an application layer for supporting communication between smart energy devices within a local area network. The EMS controller 102 may include a system management application that communicates across a LAN with system management application clients to manage the thermostat 105, the micro CHP unit 118, and the battery management unit 110. The LAN may utilize Wi-Fi. The LAN may also utilize a system management application for application-level message/command processing. Alternatively, the LAN may utilize wireline technology, such as a PLC protocol, an Ethernet protocol, etc.
One or more of the terminal devices within the EMS 100 may not be directly connected or otherwise logically associated with a LAN hosted by the EMS controller 102. For example, the recirculation pump 108 may include a controller interface 111 that does not include a network interface for communicating with the EMS controller 102 via a LAN. Furthermore, the recirculation pump's controller interface 111 may not include a system management application client compatible with the system management application hosted by the EMS controller 102. As shown in
As depicted and explained in further detail with reference to
In some instances, the terminal devices may utilize external controller interface modules that do not have LAN interface functionality. For example, as depicted in
The proxy agent controller 131 may be discovered by the EMS controller 102 and/or by the controller interface module 128. In one embodiment, the EMS controller 102 and/or the controller interface module 128 may use a device identifier (e.g., model or serial number) to locate the proxy agent controller 131 over an external network such as the Internet. In one embodiment, the EMS controller 102 and/or the controller interface module 128 may send a security code over the external network to obtain operational access to the proxy agent controller 131.
Embodiments of the EMS controller 102 may include a memory that stores computer-executable instructions for performing the tasks and functionalities described herein. The EMS controller 102 may further include and/or communicate with a system management application (not shown in
The controller device 200 further includes a communication interface 205. The communication interface 205 may comprise one or more interfaces capable of supporting Wi-Fi, Zigbee, Bluetooth, etc. The communication interface 205 includes an interface controller 207 for communicating with various power generator and load devices directly or via a hub (e.g., the network connectivity hub 104 in
The memory 210 comprises a non-transitory computer-readable storage medium that stores programs and data that control operations of the controller device 200. In the depicted embodiment, the memory 210 stores an operating system (OS) 230 and includes an application space 212. The OS 230 may be a flexible, multi-purpose OS such as that found in smartphones, or may be an embedded OS having more limited and specialized functionality. The OS 230 comprises code for managing and providing services to hardware and software components within the controller device 200. Among other code and instructions, the OS 230 includes process management code comprising instructions for interfacing application code with system hardware and software. The OS 230 further includes memory management code for allocating and managing the memory 210 for use by application and system-level programs. The OS 230 further includes I/O system management code including device drivers that enable the controller's hardware to communicate with external systems, such as a user's smartphone.
In one embodiment in which the controller device 200 functions as an EMS controller, the application space 212 may maintain a system management application 215. The system management application 215 contains management code 225 (computer executable instructions) and data including power and energy parameters, configuration, and activation schedules of generator and load devices within an energy management system. For example, the management code 225 may be SEP 2.0 application code including program instructions and data for coordinating and scheduling the activation, deactivation, power generation, power consumption, and other operational conditions of generator and load devices.
The system management application 215 may further comprise a device activation schedule 227 that includes scheduling information, such as activation schedules for terminal devices. The information within the device activation schedule 227 may be generated and utilized by instructions within the management code 225. In some embodiments, the management code may take user preferences into account, such as temperature comfort ranges for the HVAC activation schedule. During execution of the management code 225, the controller device 200 can process the scheduling information to generate system management application instructions that are transmitted to one or more terminal devices.
The controller device 200 may be configured as an EMS controller capable of translating data/commands between the system management application data/command format, and a device controller data/command format. In such an embodiment, an instruction conversion application 235 may be linked to or otherwise logically associated with the system management application 215. The instruction conversion application 235 may enable the controller device 200 to translate, map, or otherwise convert instructions and data between a system management application format and a device controller format.
The system management application 215 may further include a system management application member log 223. The system management application member log 223 may record data that identifies one or more terminal devices as being included in a system management application network. The system management application network comprises devices (i.e., terminal devices, EMS controller, etc.) that include a system management application or system management application client. The system management application member log 223 may include a device identifier and a member flag to indicate whether a terminal device belongs to a system management application network. If asserted, the member flag indicates that the terminal device's controller interface includes a system management application client. In one embodiment, the system management application member log 223 may record data that identifies one or more terminal devices, such as the recirculation pump 108, as not belonging to a system management application network. For example, the system management application member log 223 can include a device identifier for the recirculation pump 108 associated with an un-asserted member flag to indicate that the recirculation pump 108 is not included within the system management application network. The system management application member log 223 may be overridden, in this case, not all capable terminal devices in the system need be controlled.
In one embodiment, the instruction conversion application 235 includes translation code 232 and a translation table 234. The translation table 234 may include data entries that associatively map instructions in a command/data format used by the system management application 215 to a command/data format used by device controllers. For example, and as shown in
In the depicted embodiment, an EMS controller 330 includes an instruction conversion application 336. The instruction conversion application 336 combined with transmission reformatting provided by the proxy controller 340, enables the EMS controller 330 to control operations of and receive information from the terminal device 350. The instruction conversion application 336 may comprise a system management application conversion module 337 and a device control conversion module 339.
As shown in
In one embodiment, the EMS controller 330 may determine to transmit a system management application instruction to the terminal device 350. Before generating the system management application instruction, the EMS controller 330 accesses a system management application membership log (e.g., system management application member log 223) to determine whether the terminal device 350 includes a system management application client. If the terminal device does not include a system management application client, the system management application 334 utilizes the system management application conversion module 337.
In one embodiment, the system management application conversion module 337 converts the system management application instruction from a system management application format to a device controller instruction in a device controller format. To convert the instructions, the system management application conversion module 337 may execute translation code (e.g., translation code 232) and access an internally stored translation table (e.g., translation table 234). The EMS controller 330 then adds the converted system management application instruction to a message formatted according to a network transmission format, such as TCP/IP. The EMS controller 330 transmits the message (including converted system management application instruction) from its Wi-Fi interface 332 to the proxy controller's Wi-Fi interface 342.
As further depicted in
The terminal device's controller interface 352 transmits the system message to the device controller 354 for processing. In response to processing the system message, the device controller 354 may transmit a response message across the wireline interconnect 355 to the controller interface 346. The response message may include data and/or instructions formatted in accordance with the instruction semantics and data structure types conforming to the native instruction set of the device controller 354. The proxy controller 340 may process the response message using the transmission formatter 344. The transmission formatter 344 may include program instructions for reformatting the response message from a device transmission format (e.g., USB) to a network transmission format (e.g., TCP/IP). The proxy controller's Wi-Fi interface 342 transmits the reformatted response message to the EMS controller's Wi-Fi interface 332. The EMS controller 330 can process the response message using the device control conversion module 339. The device control conversion module 339 may reformat the response message received by the controller interface 346 from the terminal device 350. For example, the device control conversion module 339 can convert the device controller format into the system management application format.
Before an EMS controller can perform the operations described above, it may perform configuration operations.
The process begins at block 402 with the EMS controller receiving, from a proxy controller, a terminal device ID for a terminal device to which the proxy controller is connected. In one embodiment, the terminal device ID may be a device model code or a device serial number which may be obtained from a device barcode. Based on the terminal device ID, the EMS controller determines whether an instruction conversion application is available from a network source, such as an information server (block 404). For example, the EMS controller may utilize the terminal device ID to discover from network sources whether an instruction conversion application is available from one or more network servers. In response to determining that an instruction conversion application is available, the EMS controller requests and obtains the instruction conversion application from the network source (block 406). In one embodiment, the EMS controller downloads the instruction conversion application form the network source.
Proceeding at block 408, the EMS controller determines whether the instruction conversion application will cooperate with the EMS controller's system management application version. If the obtained instruction conversion application will cooperate with the hosted system management application, the EMS controller installs the instruction conversion application (block 414). The EMS controller may also update its locally stored system management application membership log accordingly (block 416).
At block 404, if the network sourced instruction conversion application will not cooperate with the hosted system management application, the EMS controller issues a system alert (block 410), and checks for an alternative source for an instruction conversion application (block 412). In response to locating an alternative source, the EMS controller installs the conversion application (block 414).
If the terminal device is not included in a system management application network (e.g., does not include a system management application client), the flow continues at block 508. At block 508, the EMS controller executes a system management application conversion module to convert the system management application instruction to a device controller instruction. At block 510, the EMS controller generates a system message in which to include the converted instruction, and formats the system message based on a network transmission format (e.g., TCP/IP).
At block 512, The EMS controller transmits the system message to a proxy controller. At block 514, the proxy controller reformats the system message based on a device controller interface format (e.g., USB). At block 516, the proxy controller transmits the reformatted system message to a terminal device's controller interface. If no response is received from the terminal device (block 518), the process returns to block 502. If a response message is received from the terminal device (block 518), the proxy controller reformats the response message from a device transmission format to a network transmission format (block 520). The proxy controller may then transmit the converted response message to the EMS controller as shown at block 522. In some embodiments, the process may return to block 502 following block 522.
As will be appreciated by one skilled in the art, aspects of the disclosed subject matter may be embodied as a system, method or computer program product. Accordingly, embodiments of the disclosed subject matter may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all be referred to herein as a “circuit,” “module,” or “system.” Furthermore, embodiments of the disclosed subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
It should be understood that
This application claims priority benefit of Provisional United States of America Application No. 62/120,250 filed Feb. 24, 2015.
Number | Date | Country | |
---|---|---|---|
62120250 | Feb 2015 | US |