A communication system includes a HAVi-based in-home network 140 and a
remote device 110 operative to communicate with an intermediate device
130 of the in-home network via Internet. The remote device loads a HAVi
applet (Havlet) 238 for controlling at least one of the in-home devices
using HAVi. The remote device also loads an HAVi API (HJA) emulator 310
which emulates HJA. The HJA emulator provides an interface for the Havlet
and communicates with a module 330 in the intermediate device. The
intermediate device includes the actual HJA 236 which provides the actual
interface functionality for the HAVi functions used by the Havlet. The
interface functionality is provided by controlling the intermediate
device and/or communicating with other in-home device(s) according to
application messages of the in-home application protocol. The
intermediate device loads the module for enabling communication between
the HJA emulator in the remote device and HJA loaded in the intermediate
device, giving a substantially transparent communication path between the
portable application program in the remote device and the HJA in the
intermediate device.