Programmable remote control for ethernet-enabled devices


User Manual

Table of ContentsUser_Manual.html
3i. TemplatesTemplates.html
3k. CommandsCommands.html

3j. Controls and Panels

Figure 23.

Figure 24.

Each activity, device, and template can have multiple panels of controls, in both portrait and landscape orientation (each must have at least one panel in each orientation, even if it has no controls).  Selecting an activity/device/template in the activity/device/template list will display its first portrait panel of controls (Figure 23).


To add a control to a panel, just touch the panel where you’d like the control.  The button will appear, highlighted with a delete button
in the upper left hand corner of the button, a resize button
in the upper right hand corner of the button, and a copy button     in the lower left hand corner of the button (e.g., see the “MUTE” button in Figure 22).  To edit an existing control, just touch it and it will be similarly highlighted with delete, resize, and copy buttons.  When a control is highlighted you may:

  1. Touch the delete button to delete the control.

  2. Touch and drag the resize button to resize it.

  3. Touch the copy button to make a copy of the control in the paste buffer.

  4. Touch and drag the control itself to move it.

  5. Touch and release the control to edit its properties, including its appearance and the command sequence assigned to it.

To copy and paste a control, highlight it and then touch the copy button to copy it to the paste buffer.  Then double tap the screen where you’d like a copy of the control, and a copy will be placed there.  The copy includes the commands assigned to the original control.  If you have not copied a control, then double tapping will not do anything.

When you resize or move a control, its location and size is forced to align with a grid to ease the design of your control layout.  Use of the grid can be disabled by setting the Mote preference “Button Grid” to “OFF” in the system “Settings” application.  By default, grid lines are displayed to facilitate button layout;  these may be hidden by setting the Mote preference “Grid Lines” to “OFF”.

When you touch a highlighted control to edit it, the control editor window will be presented.  The exact appearance will depend on the type of control.  Mote supports three types of controls (most users will only require the “button” type):

  1. 1)button — A button sends a sequence of commands when you press it.  The command sequence can be sent once, or at regular intervals while the button is being held pressed.  The control editor for a button is shown in Figure 24.  The button’s appearance is shown in the upper left hand corner, and will be updated as you change its properties.  The color of the button can be changed by selecting the “Color” button.  A button can have an image, a label, or both assigned to it.   Selecting “Image” presents you with a large selection of common images used on remote controls, as well as any custom images you may have already loaded.  There are more than one page of such images; swipe right or left, or touch on either side of the page selection indicator on the bottom of the screen to view the different images.  When you see the image you want, just touch it to select it.  Labels can be static, or can be updated with responses to queries (discussed later).  The “repeat” attribute determines the delay between finishing one command sequence and starting the next.  If you do not wish the button to repeat (which is probably true for most buttons), set “repeat” to “none” (the default value).

  1. 2)slider — A slider allows you to select a value from a range of values, and send commands embedding that value (using the $VAL token in command strings, described later).   The control editor for a slider is shown in Figure 25.  Press the “Design” button to design the appearance of the slider, including its color, the image and label to assign to the minimum and maximum values, whether it is vertical or horizontal, and whether a heads-up-display (HUD) shows the current value as you operate the slider.  The “range” button is used to specify the minimum and maximum values of the slider, and whether it uses floating point or integer values.  For most uses, you’ll want to set “repeat” to “none”, meaning the command sequence associated with the slider is sent only when the slider is released.  You can set it to an interval, in which case the command sequence is sent at regular intervals as long as you’re touching the slider, using the slider value at that time.  When repeating, there is a one second delay when you first touch the slider to give you time to initially position the slider before the first command is sent.

  1. 3)timer — A timer is a slider for selecting time intervals.  It functions exactly like a slider, where the range of values is in hours.  You also specify a time interval, in minutes.  The slider can only output values that are integral values of that interval.  For example, if you specify a range of 0 to 2 hours and an interval of 15 minutes, then the slider will only output the values 0, 0.25, 0.5, 0.75, 1.0 1.25, 1.5, 1.75 and 2.0.  If you use the HUD, the values are displayed in HH:MM format.  However the $VAL token is set to a floating pointing representation (i.e., 1.5 rather than 1:30).  This is to give the user greater flexibility formatting the output timer interval, as described later in the manual (in the “Commands” section).  Most users will not need to use timers.

  1. 4)switch — A switch allows you to send one set of commands when the switch is in the “on” (left) position, and another when it is in the “off” (right) position.  The control editor for a switch is show in Figure 26.   Press the “Design” button to design the appearance of the switch, including its color, image, label, and the labels for the “on” (left) and “off” (right) position, which replace the usual “ON” and “OFF” labels.  Commands are sent only when the switch position actually changes.  Switch commands can’t be set to repeat at regular intervals.

Note that the control in the control editor is active.  Command sequences will be sent when you interact with the control, and poll commands (discussed later) will also operate.  Thus, you can test out the control directly in the editor.

Each control can have a sequence of commands assigned to it, which is executed when you interact with the control.  You can add, delete, and reorder commands with the usual iPhone editing controls.  Edit an existing command by selecting it in the list of commands (editing commands is discussed later).  Delays may be added between commands.  Switches have both an “on” sequence of commands and an “off” sequence of commands.   Buttons can also execute a separate sequence of commands when you release the button (programmed using the “release” option — see Figure 24).  Care should be taken with release commands, as if you rely on the release command and you loose your wi-fi connection, the release command may not be received.  Most users won’t need release commands.

All controls can be used to “poll” devices.  Pressing the “poll” button in any control editor will allow you to specify a sequence of commands which are sent automatically by the control at regular intervals.  This is typically used to regularly query a device and display the results on the control itself (this will be discussed later).  The command sequence is always sent whenever a control’s panel appears.  If a repeat interval is specified, then the command sequence will continue to repeat at that interval until the panel is exited.  Care should be taken when polling.  Controls don’t respond to touches whenever a command sequence is being sent out.  Thus, if your polling sends out a sequence of commands with built in delays, they can freeze out your remaining controls.  You should typically use polling to send out just a single command which, as long at it responds quickly, should not affect the responsiveness of the rest of your controls.  Most users won’t need the polling capability.


Each newly created activity, device, or template has a single portrait panel.  You can add, delete, and move panels by selecting the panel button in the upper right hand corner of a button panel (see Figure 27).  Doing so displays the list in Figure 28.  You have the following mostly self-evident options:

  1. Delete This Panel — Delete the current panel.  You must always have at least one portrait panel.

  2. Add Portrait Panel — Add a new portrait panel.

  3. Add Landscape Panel - Add a new landscape panel.

  4. Add Button Template — This adds a pre-defined template of buttons to the current panel.  This only works if the panel is blank (has no buttons).  You will be presented with a list of the templates.  Select the desired template, and the first panel for that template will be displayed.  If there is more than one panel for that template you can swipe or touch on either side of the page indicator to view the available panels.  Press the “Save” button (upper right hand corner) when you identify the panel you want to use.  It can be faster to start with a template and change it than starting from scratch. Beware that templates may already have commands assigned to buttons.

  5. Save Panel To Template — Save the current panel as a template panel.  You will be prompted with the list of templates.  Select the template to which you wish to add this panel to.  Note that the commands assigned to the buttons will also be copied to the template.

  6. Cycle Panel Right — Move the current panel one slot right in the list of panels for this device/activity/template.  If its already the right-most panel, then it will cycle around to become the first panel.

To switch from the current portrait panel to the first landscape panel, or from the current landscape panel to the first portrait panel, just rotate your iPhone/iPod to the appropriate orientation.


Figure 27.

Figure 28


Figure 25.

Figure 26.