Claims
- 1. A machine readable memory encoded with a data structure for enabling a response to an input event in a packet-based premises automation system, the data structure comprising:
a plurality of input identifiers; a plurality of input event descriptions associated with the plurality of input identifiers, wherein each input identifier has at least one associated event description; and a plurality of action descriptions, at least one action description associated with each input event description.
- 2. The memory of claim 1 wherein at least one of the plurality of action descriptions causes a packet to be sent over a network in response to the input event.
- 3. The memory of claim 1 wherein at least one of the plurality of input identifiers refers to an internal input.
- 4. The memory of claim 1 wherein at least one of the plurality of input identifiers is of a format that can designate any of a plurality of distributed inputs.
- 5. The memory of claim 2 wherein at least one of the plurality of input identifiers is of a format that can designate any of a plurality of distributed inputs.
- 6. The memory of claim 3 wherein at least one of the plurality of input identifiers is of a format that can designate any of a plurality of distributed inputs.
- 7. A machine readable memory encoded with a data structure for providing a virtual input in a premises automation system, the data structure comprising:
a description of a logical relationship; a plurality of entries to which the logical relationship applies, each entry producing a Boolean result on which the logical relationship operates to produce the virtual input, each entry further comprising:
at least a first input identifier serving as a first operand; at least one operator; and at least a second operand; and a storage bit which corresponds to the virtual input.
- 8. The memory of claim 7 wherein the second operand in at least one of the plurality of entries is a second input identifier.
- 9. The memory of claim 7 wherein the second operand in at least one of the plurality of entries is a stored value.
- 10. The memory of claim 8 wherein the second operand in at least one of the plurality of entries is a stored value.
- 11. A method for providing a virtual input in a premises automation system, the method comprising:
producing a plurality of Boolean results, one Boolean result for each of a plurality of entries, each entry further comprising at least a first input identifier serving as a first operand, at least one operator, and at least a second operand; applying a logical relationship to the plurality of Boolean results to produce the virtual input; and setting a storage bit to correspond the virtual input.
- 12. The method of claim 11 wherein the second operand in at least one of the plurality of entries is a second input identifier.
- 13. The method of claim 11 wherein the second operand in at least one of the plurality of entries is a stored value.
- 14. The method of claim 12 wherein the second operand in at least one of the plurality of entries is a stored value.
- 15. Apparatus for providing a virtual input in a premises automation system, the apparatus comprising:
means for producing a plurality of Boolean results, one Boolean result for each of a plurality of entries, each entry further comprising at least a first input identifier serving as a first operand, at least one operator, and at least a second operand; means for applying a logical relationship to the plurality of Boolean results to produce the virtual input; and means for setting a storage bit corresponding to the virtual input.
- 16. A method of responding to an input event in a packet-based premises automation system, the method comprising:
detecting the input event by reference to a scan table stored in memory specifying the event in association with an input identifier; performing an action based on a description of the action which is stored in the scan table in association with the input event and the input identifier; determining if any internal variables need to be updated in conjunction with the action performed; and updating at least one internal variable if the at least one internal variable needs to be updated.
- 17. The method of claim 16 wherein the input event is a change at an external input and wherein the action comprises the sending of a packet on a network wherein the packet is formatted to communicate the occurrence of the event.
- 18. The method of claim 16 wherein the input identifier is of a format that can designate any of a plurality of distributed inputs.
- 19. The method of claim 17 wherein the input identifier is of a format that can designate any of a plurality of distributed inputs.
- 20. Apparatus for responding to an input event in a packet-based premises automation system, the apparatus comprising:
means for detecting the input event by reference to a scan table stored in memory specifying the event in association with an input identifier; means for performing an action based on a description of the action which is stored in the scan table in association with the input event and the input identifier; and means for updating at least one internal variable in conjunction with performing the action.
- 21. The apparatus of claim 20 wherein the means for performing further comprises means for sending a packet on a network, the packet being formatted to communicate the occurrence of the event.
- 22. A method of responding to a premises-related event in a premises automation system, the method comprising:
detecting the premises-related event by reference to at least one data structure stored in memory specifying the premises-related event in association with an input identifier; sending a packet over a network in response to the premises-related event, the packet being formatted to communicate the premises-related event; if a reply to the packet is expected, a pre-determined time period has elapsed, and the reply has not been received, performing a default action specified in the at least one data structure.
- 23. The method of claim 22 wherein the at least one data structure comprises:
a first data structure including the input identifier associated with the event, wherein the input identifier is of a format that can designate any of a plurality of distributed inputs; and a second data structure defining the default action.
- 24. The method of claim 22 wherein performing the default action further comprises setting an output.
- 25. The method of claim 23 wherein performing the default action further comprises setting an output, the output being described by an output identifier of a format that can designate any of a plurality of distributed outputs, the output identifier being stored in the second data structure in association with the default action.
- 26. Apparatus for responding to a premises-related event in a premises automation system, the apparatus comprising:
means for detecting the premises-related event in association with an input identifier; means for sending a packet over a network in response to the premises-related event, the packet being formatted to communicate the premises-related event; means for waiting a pre-determined time period during which a reply is expected; means for performing a default action specified if the reply is not received during the pre-determined time period.
- 27. The apparatus of claim 26 further comprising:
a first data structure including the input identifier associated with the premises-related event; and a second data structure defining the default action.
- 28. A method of setting an output in a premises automation system, the method comprising:
receiving a packet over a network, the packet formatted to direct a change in a state of the output, the output being interfaced to premises-based apparatus; determining, at least in part from the packet, an output identifier corresponding to the output, as well as the change in the state; and setting the output in accordance with the output identifier and the change in the state indicated in the packet in order to communicate with the premises-based apparatus.
- 29. The method of claim 28 wherein the packet is also formatted to direct a change in an internal variable associated with an input, and further comprising updating the internal variable in accordance with an input identifier in the packet.
- 30. The method of claim 28 wherein the output identifier is of a format that can designate any of a plurality of distributed outputs in the premises automation system.
- 31. The method of claim 29 wherein the output identifier is of a format that can designate any of a plurality of distributed outputs and the input identifier is of a format that can designate any of a plurality of distributed inputs in the premises automation system.
- 32. Apparatus for setting an output in a premises automation system, the apparatus comprising:
at least one output, the output operable to interface with premises-based apparatus; means for receiving a packet over a network, the packet formatted to direct a change in a state of the output; means for determining, at least in part from the packet, an output identifier corresponding to the output, as well as the change in the state; and means for setting the output in accordance with the output identifier and the change in the state indicated in the packet in order to communicate with the premises-based apparatus.
- 33. The apparatus of claim 32 wherein the packet is also formatted to direct a change in an internal variable associated with an input, and further comprising means for updating the internal variable in accordance with an input identifier in the packet.
- 34. The apparatus of claim 32 wherein the output identifier is of a format that can designate any of a plurality of distributed outputs in the premises automation system.
- 35. The apparatus of claim 33 wherein the output identifier is of a format that can designate any of a plurality of distributed outputs and the input identifier is of a format that can designate any of a plurality of distributed inputs in the premises automation system.
- 36. An input/output (I/O) unit for use in premises automation, the input/output unit comprising:
a processor for controlling the operation of the I/O unit; a plurality of inputs and outputs operatively connected to the processor, at least some of the inputs and outputs operable to communicate with premises-based apparatus; a network connection; and a memory connected to the processor, the memory encoded with program code to enable the processor to control the operation of the I/O unit to send a packet over the network connection in response to a premises-related event, the packet being formatted to communicate the premises-related event.
- 37. The I/O unit of claim 36 wherein the memory device is further encoded with program code that enables the I/O unit to wait for a pre-determined time period during which a reply to the packet is expected, and perform a default action if the reply is not received during the pre-determined time period.
- 38. The I/O unit of claim 37 wherein the memory device is further encoded with:
a first data structure including an input identifier associated with the premises-related event, wherein the input identifier is of a format that can designate any of a plurality of distributed inputs in a premises automation system with multiple I/O units; and a second data structure defining the default action.
- 39. The I/O unit of claim 36 wherein the memory device is further encoded with program code to enable the I/O unit to receive an output packet formatted to direct a change in a state of a specific output and set the output in accordance with an output identifier and the change in the state specified in the output packet.
- 40. The I/O unit of claim 37 wherein the memory device is further encoded with program code to enable the I/O unit to receive an output packet formatted to direct a change in a state of a specific output and set the output in accordance with an output identifier and the change in the state specified in the output packet.
- 41. The I/O unit of claim 38 wherein the memory device is further encoded with program code to enable the I/O unit to receive an output packet formatted to direct a change in a state of a specific output and set the output in accordance with an output identifier and the change in the state specified in the output packet.
- 42. An input/output (I/O) unit for use in premises automation, the input/output unit comprising:
a processor for controlling the operation of the I/O unit; a plurality of inputs and outputs operatively connected to the processor, at least some of the inputs and outputs operable to communicate with premises-based apparatus; a network connection operable to communicate with the processor; and a memory connected to the processor, the memory encoded with at least one data structure defining input events, and further encoded with program code to enable the processor to control the operation of the I/O unit to detect a specific input event by reference to the data structure and to perform an action associated with the input event.
- 43. The I/O unit of claim 42 wherein the input event is a change at a specific external input and wherein the action comprises the sending of a packet over the network connection and wherein the packet further comprises an input identifier corresponding to the input event which is of a format that can designate any of a plurality of distributed inputs in a premises automation system having multiple I/O units.
- 44. The I/O unit of claim 42 wherein the input event is a change in a specific internal input and wherein the action comprises the setting of a specific output in a premises automation system which can have multiple I/O units.
- 45. An input/output (I/O) unit for use in premises automation, the input/output unit comprising:
a processor for controlling the operation of the I/O unit; a plurality of outputs operatively connected to the processor, at least some of the outputs operable to communicate with premises-based apparatus; a network connection; and a memory connected to the processor, the memory encoded with program code to enable the processor to control the operation of the I/O unit to receive, over the network connection, a packet formatted to direct a change in a state of a specific output that is operable to communicate with premises-based apparatus and set the specific output in accordance with an output identifier and the change in the state indicated in the packet in order to communicate with the premises-based apparatus.
- 46. The I/O unit of claim 45 wherein the wherein the output identifier is of a format that can designate any of a plurality of distributed outputs in a premises automation system containing multiple, interconnected I/O units.
- 47. The I/O unit of claim 45 wherein the packet also comprises an input identifier and is further formatted to direct a change in a variable associated with a specific input corresponding to the input identifier.
- 48. The I/O unit of claim 46 wherein the packet also comprises an input identifier and is further formatted to direct a change in a variable associated with a specific input corresponding to the input identifier, and further wherein the input identifier is of a format that can designate any of a plurality of distributed inputs in a premises automation system including multiple, interconnected I/O units.
- 49. A method of controlling an output in a premises automation system, the method comprising:
determining the output and that the output needs to change state in order to communicate with premises-based apparatus; assembling a packet including an output identifier corresponding to the output, as well as the change in the state, wherein the output identifier is of a format that can specify any of a plurality of distributed outputs in the premises automation system; and sending the packet over a network, the packet formatted to direct the change in the state of the output to communicate with the premises-based apparatus.
- 50. The method of claim 49 further comprising determining that a variable associated with an input needs to change state, and wherein assembling the packet further comprises the inclusion of an input identifier in the packet, wherein the input identifier is of a format that can specify any of a plurality of distributed inputs in the premises automation system.
- 51. Apparatus for controlling an output in a premises automation system, the method comprising:
means for determining the output and that the output needs to change state in order to communicate with premises-based apparatus; means for assembling a packet including an output identifier corresponding to the output, as well as the change in the state, wherein the output identifier is of a format that can specify any of a plurality of distributed outputs in the premises automation system; and means for sending the packet over a network, the packet formatted to direct the change in the state of the output to communicate with the premises-based apparatus.
- 52. The apparatus of claim 51 further comprising:
means for determining that a variable associated with an input needs to change state; and means for inclusion in the packet of an input identifier, wherein the input identifier is of a format that can specify any of a plurality of distributed inputs in the premises automation system.
- 53 A computer program product for enabling a computer system to control an output in a premises automation system, the computer program product including a computer program comprising:
instructions for determining the output and that the output needs to change state in order to communicate with premises-based apparatus; instructions for assembling a packet including an output identifier corresponding to the output, as well as the change in the state, wherein the output identifier is of a format that can specify any of a plurality of distributed outputs in the premises automation system; and instructions for sending the packet over a network, the packet formatted to direct the change in the state of the output to communicate with the premises-based apparatus.
- 54 The computer program product of claim 53 wherein the computer program further comprises:
instructions for determining that a variable associated with an input needs to change state; and instructions for inclusion in the packet of an input identifier, wherein the input identifier is of a format that can specify any of a plurality of distributed inputs in the premises automation system.
- 55. Processor-controlled apparatus for connection to a premises automation system, the processor-controlled apparatus comprising:
a processor for controlling the operation of the apparatus; a network connection; at least one storage device operatively connected to the processor, the at least one storage device including program code to direct the processor-controlled apparatus to determine that an output needs to change state, to assemble and send over the network connection a packet including an output identifier corresponding to the output, as well as the change in the state, wherein the output identifier is of a format that can specify any of a plurality of distributed outputs in the premises automation system.
- 56. The processor controlled apparatus of claim 55 wherein the packet further comprises an input identifier corresponding to an input for which associated variables are to be updated, and further wherein the input identifier is of a format that can specify any of a plurality of distributed inputs in the premises automation system.
- 57. An input/output (I/O) unit for use in premises automation, the input/output unit comprising:
a processor for controlling the operation of the I/O unit; a plurality of inputs operatively connected to the processor, at least some of the inputs operable receive communication from premises-based apparatus; and a memory connected to the processor, the memory encoded with program code to enable the processor to control the operation of the I/O unit to provide virtual inputs through a data structure further comprising:
a description of a logical relationship; a plurality of entries to which the logical relationship applies, each entry producing a Boolean result on which the logical relationship operates to produce the virtual input, each entry further comprising:
at least a first input identifier serving as a first operand; at least one operator; and at least a second operand; and a storage bit which corresponds to the virtual input.
- 58. The I/O unit of claim 57 wherein the second operand in at least one of the plurality of entries is a second input identifier.
- 59. The I/O unit of claim 57 wherein the second operand in at least one of the plurality of entries is a stored value.
- 60. The I/O unit of claim 58 wherein the second operand in at least one of the plurality of entries is a stored value.
- 61. An input/output (I/O) unit for use in premises automation, the input/output unit comprising:
a processor for controlling the operation of the I/O unit; a plurality of inputs operatively connected to the processor, at least some of the inputs operable to receive communication from premises-based apparatus; and a memory connected to the processor, the memory encoded with program code to enable the processor to control the operation of the I/O unit to provide virtual inputs by producing a plurality of Boolean results, one Boolean result for each of a plurality of entries, each entry further comprising at least a first input identifier and applying a logical relationship to the plurality of Boolean results to produce the virtual input.
- 62. The I/O unit of claim 61 wherein at least one of the plurality of entries further comprises a second input identifier.
- 63. The I/O unit of claim 61 wherein at least one of the plurality of entries further comprises a stored value.
- 64. The I/O unit of claim 62 wherein at least one of the plurality of entries further comprises a stored value.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority from co-pending provisional patent application serial No. 60/298,313 filed Jun. 14, 2001 by the inventor hereof, the entire disclosure of which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60298313 |
Jun 2001 |
US |