Not all methods make sense for each IV type. For instance, a setOn method is intended for manipulating Boolean IVs and is undefined for an IV of the character-string type. CAL commands passed between devices on the home network either manipulate or query the contents of IVs within CAL objects via methods to perform operations necessary to interoperate amongst themselves. Now that we have a basic working knowledge of CAL objects, we will identify some of the objects that exist in our previously-defined home network. Since this network only exists in our imagination, we can take the liberty of 'playing manufacturer' and dictate what and how features of our products are presented on the network.
Lets begin by discussing our garage door opener.
It has a single speed motor and a set of limit switches connected so that it knows if the door is fully opened or closed. Table 2 summarizes how we will expose its set of features to the home network. Note that the binary control object provided as an interface to the drive motor has been designated as a reporting object limited to read-only access. At first glance, a read-only control interface seems like a conflict of terms. However, our intention is to provide information to the home network concerning activation of this motor by the standard remote controls we keep in our automobiles.