1. A system for programming an application program controlling a home automation controller on a communication network, comprising:

  • a programming device operable connected to the communication network and remotely located from the home automation controller
  • a program package embedded in the programming device, the program package for creating and editing the application program;
  • at least one web page resident on the programming device and operable connected to the program package, wherein the web page is accessible to a user using a web browser to edit the application program controlling the home automation controller, wherein the home automation controller is graphically depicted in the web page, and,
  • an interface module for operable connecting the programming device to the communication network.

2. The web browser is resident within the programming device.

3. The application program is viewed as an at least one file within the programming device, accessible on the communication network using a standard File Transfer Protocol.

4. The application program is converted by the program package and viewed on the web browser through either Java or HTML.

5. The Home automation device is a programmable logic controller which supports some protocol like X10.

6. The communication network is Ethernet.

7. The interface module includes:

  • a real time operating system operating a central processing unit;
  • a network interface for communicating with the communication network;
  • a driver for communicating with the programming device;
  • a protocol stack;
  • a client task for communicating with the protocol stack for initiating received requests;
  • a server task for communicating with the protocol stack for responding to received requests;
  • a protocol task for communicating with the protocol stack for receiving and responding to protocol task requests.
  •  8. The communication network is a world-wide network known as the Internet using an Internet Protocol (IP).

9. The interface module functions as a web site on the Internet, the interface module including a global static IP address.

10. The protocol stack is a Transmission Control Protocol stack and wherein the protocol task includes a server task using a hypertext transport protocol (HTTP) task to deliver hypertext documents to the network interface.

 11. The HTTP task accepts a connection, parses an HTTP request, and calls the real time operating system to process the request.

 12. A system for programming an application program controlling a Home automation device on a communication network, comprising:

a programming device operable connected to the communication network wherein the programming device is resident within the home automation device;

a program package embedded in the programming device, the program package for creating and editing the application program;

at least one web page resident on the programming device and operable connected to the program package, wherein the web page is accessible to a user using a web browser to edit the application program controlling the home automation device, wherein the home automation device is graphically depicted in the web page.

 13. A system for programming an application program controlling a home automation device on a communication network, comprising:

a programming device operable connected to the communication network;

a program package embedded in the programming device, the program package for creating and editing the application program wherein the program package further includes a symbol editor and a language editor and wherein all symbols are stored within t he programming device, allowing any authorized device coupled to the communication network to edit the application program;

at least one web page resident on the programming device and operable connected to the program package, wherein the web page is accessible to a user using a web browser to edit the application program controlling the home automation device, wherein the home automation device is graphically depicted in the web page.

 14. A system for programming an application program controlling a home automation controller on a communication network, comprising:

a programming device operable connected to the communication network;

a program package embedded in the programming device, the program package for creating and editing the application program;

at least one web page resident on the programming device and operable connected to the program package, wherein the web page is accessible to a user using a web browser to edit the application program controlling the home automation controller, wherein the home automation controller is an output module, wherein the home automation controller is graphically depicted in the web page.

 

15. A system for programming an application program controlling a home automation device on a communication network, comprising:

a programming device operable connected to the communication network;

a program package embedded in the programming device, the program package for creating and editing the application program;

at least one web page resident on the programming device and operable connected to the program package, wherein the web page is accessible to a user using a web browser to edit the application program controlling the home automation device;

further including an interface module for operable connecting the programming device to the communication network wherein the interface module includes a dual TCP/IP stack for data transferring comprising a first stack capable of handling a broad range of TCP/IP messages and a second stack capable of handling a less broad range of TCP/IP messages more quickly than the first stack.

 

16. A system for programming an application program controlling a home automation controller on a communication network, comprising:

means for coupling the home automation controller to the communication network;

means for editing the application program resident in a programming device; and an at least one Web page resident in the programming device, the Web page linked to the editing means resident in the programming device, wherein the Web page is accessible to a user using a web browser coupled to the communication network through the coupling means, and wherein the Web page allows the user to access the editing means to edit the application program controlling the home automation controller wherein the home automation controller is graphically depicted in the Web page, and wherein the coupling means includes an interface module,the interface module including:

a real time operating system operating a central processing unit;

a network interface for communication with the communication network;

a driver for communicating with the programming device;

a protocol stack;

a client task for communicating with the protocol stack for initiating received requests;

a server task for communicating with the protocol stack for responding to received requests; and,

a protocol task for communicating with the protocol stack for receiving and responding to protocol task requests.

 

17. The web browser is resident within the programming device.

 18. The communication network is Ethernet.

 19. The application program is viewed as files within the programming device, accessible to the communication network using a standard File Transfer Protocol.

 20. The editing means includes a program package whereby the application program is converted by the program package and viewed as either Java or HTML.

 21. The communication network is a world-wide network known as the Internet using an Internet Protocol (IP).

 22. The interface module functions as a web site on the Internet, the interface module including a global IP address.

 23. The protocol stack is a Transmission Control Protocol stack and wherein the protocol task includes a server task using a hypertext transport protocol (HTTP) task to deliver hypertext documents to the network interface.

 24. The HTTP task accepts a connection, parses an HTTP request, and calls the real time operating system to process the request.

 25. A system for programming an application program controlling a home automation device on a communication network, comprising:

means for coupling the home automation device to the communication network;

means for editing the application program resident in a programming device; and an at least one Web page resident in the programming device, the Web page linked to the editing means resident in the programming device, wherein the Web page is accessible to a user using a web browser coupled to the communication network through the coupling means, and wherein the Web page allows the user to access the editing means to edit the application program controlling the home automation device, wherein the programming device is resident within the home automation device, wherein the home automation device is graphically depicted in the Web page.

 26. A system for programming an application program controlling a home automation device on a communication network, comprising:

means for coupling the home automation device to the communication network;

means for editing the application program resident in a programming device located remotely from the home automation device; and an at least one Web page resident in the programming device, the Web page linked to the editing means resident in the programming device, wherein the Web page is accessible to a user using a web browser coupled to the communication network through the coupling means, and wherein the Web page allows the user to access the editing means to edit the application program controlling the home automation device, wherein the program package further includes a symbol editor and a language editor wherein all symbols are stored within the programming device, allowing any authorized device coupled to the communication network to edit the application program.

 27. A system for programming an application program controlling a home automation device on a communication network, comprising:

means for coupling the home automation device to the communication network, wherein the coupling means includes an interface module, the interface module including a dual TCP/IP stack for data transferring comprising a first stack capable of handling a broad range of TCP/IP messages and a second stack capable of handling a less broad range of TCP/IP messages more quickly than the first stack;

means for editing the application program resident in a programming device; and an at least one Web page resident in the programming device, the Web page linked to the editing means resident in the programming device, wherein the Web page is accessible to a user using a web browser coupled to the communication network through the coupling means, and wherein the Web page allows the user to access the editing means to edit the application program controlling the home automation device.

 

28. A method of programming an application program for controlling a home automation controller operable connected to a communication network, the method comprising the steps of:

providing a programming device located remotely from the home automation controller for acc essing the application program;

viewing the application program using a web browser operably connected to the programming device, wherein the web browser graphically depicts a symbol representing the home automation controller;

editing the application program via a program package resident in the programming device, and

Transferring the application program to the home automation device.

 

29. The web browser is resident within the programming device.

 

30. The application program is viewed as an at least one file within the programming device, accessible on the communication network using a standard File Transfer Protocol.

 

31. The application program is converted by the program package and viewed on the web browser through either Java or HTML.

 

32. The home automation device is a programmable logic controller.

 

33. The home automation device is an output module.

 

34. The communication network is Ethernet.

 

35. The method ofinterface module for operable connecting the programming device to the communication network.

 

36. The method of the interface module includes:

a real time operating system operating a central processing unit;

a network interface for communicating with the communication network;

a driver for communicating with the programming device;

a protocol stack;

a client task for communicating with the protocol stack for initiating received requests;

a server task for communicating with the protocol stack for responding to received requests; and

a protocol task for communicating with the protocol stack for receiving and responding to protocol task requests.

 

37. The communication network is a world-wide network known as the Internet using an Internet Protocol (IP).

 

38. The interface module functions as a web site on the Internet, the interface module including a global IP address.

 

39. The protocol stack is a Transmission Control Protocol stack and wherein the protocol task includes a server task using a hypertext transport protocol (HTTP) task to deliver hypertext documents to the network interface.

 

40. The method of claim 39 wherein the HTTP task accepts a connection, parses an HTTP request, and calls the real time operating system to process the request.

 

41. A method of programming an application program for controlling a factor automation device operable connected to a communication network, the method comprising the steps of:

providing a programming device for accessing the application program, wherein the programming device is resident within the home automation device;

viewing the application program using a web browser operably connected to the programming device wherein the web browser graphically depicts a symbol representing the home automation device; and

editing the application program via a program package resident in the programming device.

 

42. A method of programming an application program for controlling a home automation device operable connected to a communication network, the method comprising the steps of:

providing a programming device located remotely from the factory automation device for accessing the application program;

viewing the application program using a web browser operable connected to the programming device; and

editing the application program via a program package resident in the programming device wherein the program package further includes a symbol editor and a language editor and wherein all symbols are stored within the programming device, allowing any authorized device coupled to the communication network to edit the application program.

 

43. A method of programming an application program for controlling a factory automation device operable connected to a communication network, the method comprising the steps of:

providing a programming device for accessing the application program that includes an interface module for operable connecting the programming device to the communication network wherein the interface module further includes a dual TCP/IP stack for data transferring comprising a first stack capable of handling a broad range of TCP/IP messages and a second stack capable of handling a less broad range of TCP/IP messages more quickly than the first stack;

viewing the application program using a web browser operable connected to the programming device; and

editing the application program via a program package resident in the programming device wherein the interface module further includes a dual TCP/IP stack for data transferring comprising a first stack capable of handling a broad range of TCP/IP messages and a second stack capable of handling a less broad range of TCP/IP messages more quickly than the first stack.