Claims
- 1. An apparatus for facilitating communication between a user interface and one or more external devices each capable of having a distinct communication protocol, the apparatus comprising:
at least one control adapter for transforming a particular communication protocol established between said user interface and said at least one control adapter into a common message format; one or more device adapters for transforming said distinct communication protocol established between one of said external devices and a respective one of said device adapters into said common message format; and a routing engine for routing said common format messages between a designated one of said control adapters and an appropriate one of said device adapters.
- 2. The apparatus according to claim 1, further comprising a configuration data storage for holding configuration data.
- 3. The apparatus according to claim 1, wherein each of said control adapters is configured to manage a control state that is kept in a control state storage included in each of said control adapters.
- 4. The apparatus according to claim 3, wherein each of said device adapters is configured to manage a device state that is kept in a device state storage at least one being provided in each of said device adapters.
- 5. The apparatus according to claim 5, wherein the apparatus is being be configured to facilitate one of an additional device adapter and an additional control adapter which are retrieved from an external data source.
- 6. A method for facilitating communication between at least one user interface and one or more external devices, said user interface having a communication link to a control adapter and said external device having a communication link to a device adapter, both said control adapter and said device adapter being in communication with a routing engine, the method comprising the steps of:
receiving from said user interface a device command for controlling said external device; translating, by said control adapter, said device command into a message having a format interpretable by said routing engine; said routing engine receiving said message, determining the appropriate device adapter and sending said message to said device adapter; said device adapter translating said message into a device control string having a format that can be processed by said device; and sending said device control string to said device.
- 7. The method according to claim 6, further comprising the steps of:
said device adapter receiving from said device, information about the results of a previously executed command; and said device adapter storing said information.
- 8. The method according to claim 6, further comprising the steps of:
said device adapter receiving from said routing engine a query for information about the status of said device; and said device adapter translating said information into a format that can be processed by said routing engine and returning said information to said routing engine.
- 9. The method according to claim 8, further comprising the steps of:
said routing engine looking up said appropriate control adapter to receive said information; and forwarding said information to said control adapter.
- 10. The method according to claim 9, further comprising the steps of:
said control adapter translating said information into a format that can be processed by said user interface and returning said information to said user interface.
- 11. The method according to claim 6, wherein the step of receiving from said user interface a command for controlling said external device includes the step of receiving a command for registering a specified event of said device, and further comprising the step of storing the registration of said specified event in an event database.
- 12. The method according to claim 11, further comprising the steps of:
said control adapter receiving, via said device adapter and said routing engine, from said device a notification about an occurrence of an event; said control adapter looking up the registration for said event in said event database; and notifying said user interface about the occurrence of said event, if said event is registered in said event database.
- 13. The method according to claim 6, wherein the step of receiving from said user interface a command for controlling said external device includes the step of receiving device adapter code for adding a new device adapter to said apparatus.
- 14. The method according to claim 6, wherein the step of receiving from said user interface a command for controlling said external device includes the step of receiving a device detection command for automatically adding a new device adapter to said apparatus.
- 15. The method according to claim 14, further comprising the steps of:
said device adapter sending a broadcast message for retrieving information from a new device; said device adapter retrieving information from said new device and storing said information.
- 16. A computer program product implemented by the execution of computer instructions stored on a computer readable media for facilitating communication between at least one user interface and one or more external devices, said user interface having a communication link to a control adapter and said external device having a communication link to a device adapter, both said control adapter and said device adapter being in communication with a routing engine, the computer program product including instructions comprising:
program means for receiving from said user interface a device command for controlling said external device; program means for translating, by said control adapter, said device command into a message having a format interpretable by said routing engine; program means for receiving said message, by said routing engine and for determining the appropriate device adapter and sending said message to said device adapter; program means for translating by said control adapter said message into a device control string having a format that can be processed by said device; and program means for sending said device control string to said device.
- 17. An apparatus for facilitating communication between at least one user interface and one or more home network devices for controlling environmental conditions, each said home network device being capable of having a distinct communication protocol, comprising:
a control adapter that receives a device command from said user interface for controlling said home network device, and translates said device command into a common format message; a device adapter for translating said common format message into a device control string having one of said distinct communication protocols that can be processed by said home network device; a routing engine for receiving said common format message from said control adapter, and for sending said common format message to an appropriate device adapter; wherein said device control string is sent to said home network device such that said environmental conditions are controlled by said home network devices in accordance with said device command from said user interface.
- 18. The apparatus according to claim 17, wherein said device adapter receives and stores information from said home network device regarding the results of a previously executed command.
- 19. The apparatus according to claim 17, wherein said device adapter comprises:
means for receiving from said routing engine a query for information about a status of said home network device; means for translating said information into said common format message that can be processed by said routing engine; and means for returning said information to said routing engine.
- 20. The apparatus according to claim 19, wherein said routing engine comprises:
means for determining an appropriate one of said control adapters to receive said information from said home network device; and means for forwarding said information to said appropriate control adapter.
- 21. The apparatus according to claim 20 wherein said control adapter comprises:
means for translating said information from said common format message into a user format that can be processed by said user interface; and means for returning said information to said user interface.
- 22. The apparatus according to claim 17, wherein said control adapter receives and stores a command from said user interface for registering a specified event of said device.
- 23. The apparatus according to claim 22, wherein said control adapter further comprises:
means for receiving, via said device adapter and said routing engine, from said home network device a notification about an occurrence of an event; means for determining the registration for said event in said event database; and means for notifying said user interface about the occurrence of said event when said event is registered in said event database.
- 24. The apparatus according to claim 17, wherein said control adapter receives from said user interface device adapter code for adding a new device adapter to said apparatus to operate in connection with a new home network device.
- 25. The apparatus according to claim 17, wherein said control adapter receives from said user interface a command a device detection command for automatically adding a new device adapter to said apparatus to operate in connection with a new home network device.
- 26. The apparatus according to claim 25, wherein said device adapter sends a broadcast message to retrieve and store information from said new home network device.
- 27. The apparatus according to claim 17 wherein the home network device controls at least one kitchen appliance.
- 28. The apparatus according to claim 17 wherein the home network device controls at least one electronic device.
- 29. The apparatus according to claim 17 wherein the home network device controls an environmental control unit.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is related to the subject matter of the following commonly assigned copending U.S. patent application, “Pervasive Home Network Portal”, having Ser. No. ________, docket no. DE9-2001-101, and filed concurrently herewith.