<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.iobridge.net/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel>
        <title>ioBridge Wiki api</title>
        <description></description>
        <link>http://www.iobridge.net/wiki/</link>
        <lastBuildDate>Thu, 09 Sep 2010 00:15:16 -0400</lastBuildDate>
        <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
        <image>
            <url>http://www.iobridge.net/wiki/lib/images/favicon.ico</url>
            <title>ioBridge Wiki</title>
            <link>http://www.iobridge.net/wiki/</link>
        </image>
        <item>
            <title>Data Feed API</title>
            <link>http://www.iobridge.net/wiki/api/data-feed-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;data-feed-api&quot; id=&quot;data-feed-api&quot;&gt;Data Feed API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;em&gt;For the ioBridge IO-204 Monitor and Control Module&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Data Feed API&quot; [1-84] --&gt;
&lt;h2&gt;&lt;a name=&quot;introduction&quot; id=&quot;introduction&quot;&gt;Introduction&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Each module that you have linked and registered to your account has a unique Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;. When requested, the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; returns a JSON or &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt; formatted snapshot of your module’s input and output states as well as any META information you have supplied such as Location, Latitude, Longitude, Labeling, and Scaling. The returned data allows for the creation of data logging, charting, custom scaling, mash-ups, and importing into server and client-side scripting. The &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; is lightweight and allows you to easily extend the ioBridge system data to remote systems, servers, clients, desktops, and applications.
&lt;/p&gt;

&lt;p&gt;
The Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; is linked on your Module List under the Actions heading.
&lt;/p&gt;

&lt;p&gt;
We are excited to see how you will extend the data from your module to your applications and services. Visit &lt;a href=&quot;http://www.iobridge.net/projects&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.net/projects&quot;  rel=&quot;nofollow&quot;&gt;www.iobridge.net/projects&lt;/a&gt; for ideas and to submit your own ideas, comments, and project developments.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Introduction&quot; [85-1030] --&gt;
&lt;h2&gt;&lt;a name=&quot;extending-the-api&quot; id=&quot;extending-the-api&quot;&gt;Extending the API&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
You may extend the data to server-side scripts, desktop applications, and client-side browser-based applications.
&lt;/p&gt;

&lt;p&gt;
Here are some ways you can extend the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; into your application:

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Google Gadgets and Desktop Widgets&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Windows and Mac Widgets&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Custom Analog Sensor Scaling&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Data Charting&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Data Logging&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Google Maps&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Weather Widgets&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Extending the API&quot; [1031-1413] --&gt;
&lt;h2&gt;&lt;a name=&quot;limitations&quot; id=&quot;limitations&quot;&gt;Limitations&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The feed requests are cached for 10 seconds, which means your application will only return new data every 10 seconds. ioBridge acts a proxy between the world and your module, so you don’t have to worry about your project going viral. We will only link to your module once every 10 seconds regardless of the number of people viewing your application, widget, or website based on the Data Feed &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Limitations&quot; [1414-1837] --&gt;
&lt;h2&gt;&lt;a name=&quot;server-side-json&quot; id=&quot;server-side-json&quot;&gt;Server-side JSON&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
You can safely request your Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; from any server-side scripting language like &lt;acronym title=&quot;Practical Extraction and Report Language&quot;&gt;Perl&lt;/acronym&gt;, Python, or &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; that supports JSON. The Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; returns the &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; header of “Content-type: application/json”.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Server-side JSON&quot; [1838-2068] --&gt;
&lt;h3&gt;&lt;a name=&quot;json-feed-url-example&quot; id=&quot;json-feed-url-example&quot;&gt;JSON Feed URL Example&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JSON Feed URL Example&quot; [2069-2171] --&gt;
&lt;h3&gt;&lt;a name=&quot;json-object&quot; id=&quot;json-object&quot;&gt;JSON Object&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;{
&amp;quot;module&amp;quot;: {
      	&amp;quot;serial&amp;quot;: &amp;quot;24000XXX&amp;quot;,
            &amp;quot;label&amp;quot;: &amp;quot;ioServer Monitor&amp;quot;,
            &amp;quot;lat&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;long&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;location&amp;quot;: &amp;quot;Gainesville, FL&amp;quot;,
            &amp;quot;datetime&amp;quot;: &amp;quot;Dec-24-2008 00:35:22 AM&amp;quot;,
            &amp;quot;status&amp;quot;: &amp;quot;Online&amp;quot;,
            &amp;quot;channels&amp;quot;: [
{&amp;quot;channel&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Channel 1&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;384&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;384&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;On&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;1&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;2&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Channel 2&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;308&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;308&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;3&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Channel 3&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;4&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Channel 4&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;2.737&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;560&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Voltage&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;Down&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;}
                        ]
        }
}&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JSON Object&quot; [2172-3388] --&gt;
&lt;h2&gt;&lt;a name=&quot;server-side-xml&quot; id=&quot;server-side-xml&quot;&gt;Server-side XML&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
By adding the format parameter to the Data Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, you can alternatively format the results in &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Server-side XML&quot; [3389-3519] --&gt;
&lt;h3&gt;&lt;a name=&quot;xml-feed-url-example&quot; id=&quot;xml-feed-url-example&quot;&gt;XML Feed URL Example&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&amp;amp;format=xml&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;XML Feed URL Example&quot; [3520-3632] --&gt;
&lt;h3&gt;&lt;a name=&quot;xml-object&quot; id=&quot;xml-object&quot;&gt;XML Object&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code xml&quot;&gt;&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;?xml&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;version&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span class=&quot;re2&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;
        &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;module&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;serial&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2400XXXX&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/serial&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;ioServer Monitor&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;lat&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/lat&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;long&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/long&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;location&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Gainesville, FL&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/location&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;datetime&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2009-07-03 02:20:36&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/datetime&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;status&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Online&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/status&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;channel_1&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Channel 1&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2.737&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;14&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Voltage&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;On&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Off&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;0&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    	    &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/channel_1&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;channel_2&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Channel 2&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;310&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;310&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Raw&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;On&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Off&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;0&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    	    &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/channel_2&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;channel_3&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Channel 3&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;256&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;256&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Raw&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;On&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Off&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;0&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
    	    &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/channel_3&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;channel_4&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Channel 4&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/label&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;279&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;279&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputRaw&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Raw&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/AnalogInputScale&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;On&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalInputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Off&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutput&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
        		&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;0&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/DigitalOutputState&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
            &lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/channel_4&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;sc3&quot;&gt;&lt;span class=&quot;re1&quot;&gt;&amp;lt;/module&lt;span class=&quot;re2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;XML Object&quot; [3633-5645] --&gt;
&lt;h2&gt;&lt;a name=&quot;client-side-json&quot; id=&quot;client-side-json&quot;&gt;Client-side JSON&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
If you are using jQuery or other client-scripting libraries to parse JSON, you have the ability to use JSONP (JSON with Padding) to get JSON from two different domains using Callback.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Client-side JSON&quot; [5646-5858] --&gt;
&lt;h3&gt;&lt;a name=&quot;jsonp-callback-data-feed-url&quot; id=&quot;jsonp-callback-data-feed-url&quot;&gt;JSONP Callback Data Feed URL&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&amp;amp;callback=?&lt;/pre&gt;

&lt;p&gt;
When callback is used, the Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; returns a JSONP object.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JSONP Callback Data Feed URL&quot; [5859-6041] --&gt;
&lt;h3&gt;&lt;a name=&quot;jsonp-object&quot; id=&quot;jsonp-object&quot;&gt;JSONP Object&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;jsonp1230097032945({
        &amp;quot;module&amp;quot;: {
            &amp;quot;serial&amp;quot;: &amp;quot;24000XXX&amp;quot;,
            &amp;quot;label&amp;quot;: &amp;quot;ioServer Monitor&amp;quot;,
            &amp;quot;lat&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;long&amp;quot;: &amp;quot;&amp;quot;,
            &amp;quot;location&amp;quot;: &amp;quot;Gainesville, FL&amp;quot;,
            &amp;quot;datetime&amp;quot;: &amp;quot;Dec-24-2008 00:36:40 AM&amp;quot;,
            &amp;quot;status&amp;quot;: &amp;quot;Online&amp;quot;,
            &amp;quot;channels&amp;quot;: [
{&amp;quot;channel&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Temperature&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;103.6&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;665&amp;quot;
, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Temp F&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;On&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;2&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Channel Tester&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;337&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;337&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;Hi&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;Off&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;3&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;Servo&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;269&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;269&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;On&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;On&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;1&amp;quot;},
{&amp;quot;channel&amp;quot;: &amp;quot;4&amp;quot;, &amp;quot;label&amp;quot;: &amp;quot;IR&amp;quot;, &amp;quot;AnalogInput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;AnalogInputRaw&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;AnalogInputScale&amp;quot;: &amp;quot;Raw&amp;quot;, &amp;quot;DigitalInput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalInputState&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutput&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;DigitalOutputState&amp;quot;: &amp;quot;0&amp;quot;}
                        ]
        }
})&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JSONP Object&quot; [6042-7283] --&gt;
&lt;h2&gt;&lt;a name=&quot;keys-and-meta-information&quot; id=&quot;keys-and-meta-information&quot;&gt;Keys and Meta Information&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
You set the keys and meta information on the Modules tab. Data and configuration entered on the Modules tab are the returned labels and scaling in the &lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt;/JSON object. Only I/O and Serial Channel modes return data in the feed. 
&lt;/p&gt;

&lt;p&gt;
The following keys are available to parse in your feed:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Keys and Meta Information&quot; [7284-7607] --&gt;
&lt;h3&gt;&lt;a name=&quot;serial&quot; id=&quot;serial&quot;&gt;serial&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Module Serial Number
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;serial&quot; [7608-7646] --&gt;
&lt;h3&gt;&lt;a name=&quot;label&quot; id=&quot;label&quot;&gt;label&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Entered Module Label
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;label&quot; [7647-7684] --&gt;
&lt;h3&gt;&lt;a name=&quot;lat&quot; id=&quot;lat&quot;&gt;lat&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Entered Latitude (Decimal Degrees)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;lat&quot; [7685-7734] --&gt;
&lt;h3&gt;&lt;a name=&quot;long&quot; id=&quot;long&quot;&gt;long&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Entered Longitude (Decimal Degrees)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;long&quot; [7735-7786] --&gt;
&lt;h3&gt;&lt;a name=&quot;location&quot; id=&quot;location&quot;&gt;location&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Entered Location Description
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;location&quot; [7787-7835] --&gt;
&lt;h3&gt;&lt;a name=&quot;datetime&quot; id=&quot;datetime&quot;&gt;datetime&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Date and Time of Module Snapshot
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;datetime&quot; [7836-7888] --&gt;
&lt;h3&gt;&lt;a name=&quot;status&quot; id=&quot;status&quot;&gt;status&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Status of Module (Offline, Online)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;status&quot; [7889-7941] --&gt;
&lt;h3&gt;&lt;a name=&quot;channel&quot; id=&quot;channel&quot;&gt;channel&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Channel Number 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;channel&quot; [7942-7976] --&gt;
&lt;h3&gt;&lt;a name=&quot;label1&quot; id=&quot;label1&quot;&gt;label&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Entered Channel Label
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;label&quot; [7977-8015] --&gt;
&lt;h3&gt;&lt;a name=&quot;analoginput&quot; id=&quot;analoginput&quot;&gt;AnalogInput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Scaled Analog Input value (Voltage, Raw, Temperature)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;AnalogInput&quot; [8016-8092] --&gt;
&lt;h3&gt;&lt;a name=&quot;analoginputraw&quot; id=&quot;analoginputraw&quot;&gt;AnalogInputRaw&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Relative Analog Input Value (0-1023)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;AnalogInputRaw&quot; [8093-8155] --&gt;
&lt;h3&gt;&lt;a name=&quot;analoginputscale&quot; id=&quot;analoginputscale&quot;&gt;AnalogInputScale&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Selected Scale of Analog Input
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;AnalogInputScale&quot; [8156-8214] --&gt;
&lt;h3&gt;&lt;a name=&quot;digitalinput&quot; id=&quot;digitalinput&quot;&gt;DigitalInput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Labeled Digital Input State
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DigitalInput&quot; [8215-8266] --&gt;
&lt;h3&gt;&lt;a name=&quot;digitalinputstate&quot; id=&quot;digitalinputstate&quot;&gt;DigitalInputState&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Digital Input State (1,0)

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DigitalInputState&quot; [8267-8320] --&gt;
&lt;h3&gt;&lt;a name=&quot;pulsecountraw&quot; id=&quot;pulsecountraw&quot;&gt;PulseCountRaw&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Raw Onboard Pulse Count (Firmware C4 or above)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;PulseCountRaw&quot; [8321-8392] --&gt;
&lt;h3&gt;&lt;a name=&quot;digitaloutput&quot; id=&quot;digitaloutput&quot;&gt;DigitalOutput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Labeled Digital Output State
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DigitalOutput&quot; [8393-8446] --&gt;
&lt;h3&gt;&lt;a name=&quot;digitaloutputstate&quot; id=&quot;digitaloutputstate&quot;&gt;DigitalOutputState&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Digital Output State (1,0)

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;DigitalOutputState&quot; [8447-8502] --&gt;
&lt;h3&gt;&lt;a name=&quot;lastserialinput&quot; id=&quot;lastserialinput&quot;&gt;LastSerialInput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Last Serial Data Received by Serial Smart Board (Firmware C3 or above)

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;LastSerialInput&quot; [8503-8599] --&gt;
&lt;h3&gt;&lt;a name=&quot;lastserialoutput&quot; id=&quot;lastserialoutput&quot;&gt;LastSerialOutput&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Last Serial Data Sent by Serial Smart Board (Firmware C3 or above)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;LastSerialOutput&quot; [8600-8694] --&gt;
&lt;h2&gt;&lt;a name=&quot;parsing-json&quot; id=&quot;parsing-json&quot;&gt;Parsing JSON&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
You can get access to any of the data in the JSON Object by parsing out the desired keys.
&lt;/p&gt;

&lt;p&gt;
For example here is a jQuery request and data selection from feed:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
function checkTemp() {
	
	$.getJSON(&amp;quot;http://www.iobridge.com/interface/feed/FD_0BosKdymNbB3LyiFYUVI&amp;amp;callback=?&amp;quot;,
	function (data) {
        storeTemp(data.module.channels[0].AnalogInput); updateGraph();
	});
		
}
&lt;/pre&gt;

&lt;p&gt;
“data.module.channels[0].AnalogInput “ references the scaled analog input value on channel 1 of the IO-204 Module.
&lt;/p&gt;

&lt;p&gt;
If you would want the modules serial number, the reference would be “data.module.serial” using the serial key under module.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Parsing JSON&quot; [8695-9355] --&gt;
&lt;h2&gt;&lt;a name=&quot;client-side-application-step-by-step&quot; id=&quot;client-side-application-step-by-step&quot;&gt;Client-side Application Step-by-Step&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
From soup to nuts, we wanted to show you a complete application extension of the Data Feed &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; and the steps involved. Share your projects at &lt;a href=&quot;http://www.iobridge.com/projects&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/projects&quot;  rel=&quot;nofollow&quot;&gt;www.iobridge.com/projects&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
The following projects takes your Feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; extracts the Scaled Analog Input from Channel 1 and feeds Google Charts to return a Google-o-Meter indicating the current temperature using jQuery.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Step 1:&lt;/strong&gt; Create a new &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; file called &lt;em&gt;ServerTempNeedle.html&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Step 2:&lt;/strong&gt; Create the &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; frame work – head and body

&lt;/p&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc0&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;ioBridge Server Temperature&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;container&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
	&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;data_graph&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Step 3:&lt;/strong&gt; Load jQuery from Google JSAPI to the document header

&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://www.google.com/jsapi&amp;quot;&amp;gt;&amp;lt;/script&amp;gt; 
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 
    google.&lt;span class=&quot;me1&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;jquery&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Step 4:&lt;/strong&gt; Add a ready function when the &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; fully loads to check the temperature from the feed and set a timer that will check the temperature every 10 seconds

&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;document&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;ready&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	checkTemp&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;// Gets initial temperature&lt;/span&gt;
	setInterval&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;checkTemp()&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; 10000&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;// Sets a 10 Second timer&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Step 5:&lt;/strong&gt; Add function that checks the temperature and updates the graph when the data is returned (use your feed &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; to get your data or use our public feed to get our server temperature)

&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; checkTemp&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
	$.&lt;span class=&quot;me1&quot;&gt;getJSON&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&amp;amp;callback=?&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;data&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
			&lt;span class=&quot;co1&quot;&gt;// Channel 1 is the first element in the array&lt;/span&gt;
			updateGraph&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;data.&lt;span class=&quot;me1&quot;&gt;module&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;channels&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;0&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;AnalogInput&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;	
&amp;nbsp;
	&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Step 6:&lt;/strong&gt; Add function to get the Google chart and display it in the “data_graph” division in the document body

&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; updateGraph&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;temp&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; newTemp &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; temp&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	newTemp &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; 100 &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; newTemp&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; chart_url &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://chart.apis.google.com/chart?&amp;quot;&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; chart_type &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;cht=gom&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; chart_size &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chs=300x200&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; chart_title &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chtt=ioBridge Server Temperature&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; chart_data &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chd=t:&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; newTemp &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chl=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; temp &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot; F&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; url &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; chart_url &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; chart_type &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; chart_size &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; chart_title &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; chart_data&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; i &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;img&amp;gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;attr&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;src&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; url&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;#data_graph&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;empty&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;i&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
&lt;strong&gt;Step 7:&lt;/strong&gt; Save file and open in web browser such as Safari, Chrome, Firefox, Opera, or Internet Explorer

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Client-side Application Step-by-Step&quot; [9356-11918] --&gt;
&lt;h2&gt;&lt;a name=&quot;live-examples&quot; id=&quot;live-examples&quot;&gt;Live Examples&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.iobridge.com/ServerTempNeedle.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/ServerTempNeedle.html&quot;  rel=&quot;nofollow&quot;&gt;ioBridge Server Temperature Needle&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.iobridge.com/ServerTempChart.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/ServerTempChart.html&quot;  rel=&quot;nofollow&quot;&gt;ioBridge Server Temperature Chart&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Live Examples&quot; [11919-12120] --&gt;
&lt;h2&gt;&lt;a name=&quot;google-chart-temperature-meter-source-code&quot; id=&quot;google-chart-temperature-meter-source-code&quot;&gt;Google Chart - Temperature Meter Source Code&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc0&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;ioBridge Server Temperature&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.google.com/jsapi&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
    google.load(&amp;quot;jquery&amp;quot;, &amp;quot;1&amp;quot;);
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
function updateGraph(temp) {
&amp;nbsp;
	var newTemp = temp-50;
	newTemp = 100 - newTemp;
&amp;nbsp;
	var chart_url = &amp;quot;http://chart.apis.google.com/chart?&amp;quot;
	var chart_type = &amp;quot;cht=gom&amp;quot;;
    	var chart_size = &amp;quot;&lt;span class=&quot;sc1&quot;&gt;&amp;amp;chs=300x200&amp;quot;;&lt;/span&gt;
	var chart_title = &amp;quot;&lt;span class=&quot;sc1&quot;&gt;&amp;amp;chtt=ioBridge Server Temperature&amp;quot;;&lt;/span&gt;
	var chart_data = &amp;quot;&lt;span class=&quot;sc1&quot;&gt;&amp;amp;chd=t:&amp;quot; + newTemp + &amp;quot;&amp;amp;chl=&amp;quot; + temp + &amp;quot; F&amp;quot;;&lt;/span&gt;
	var url = chart_url + chart_type + chart_size + chart_title + chart_data;
&amp;nbsp;
	var i = $(&amp;quot;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/img.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;img&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&amp;quot;).attr(&amp;quot;src&amp;quot;, url);
	$(&amp;quot;#data_graph&amp;quot;).empty().append(i);
}
&amp;nbsp;
function checkTemp() {
	$.getJSON(&amp;quot;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&lt;span class=&quot;sc1&quot;&gt;&amp;amp;callback=?&amp;quot;,&lt;/span&gt;
&lt;span class=&quot;sc1&quot;&gt;	function (data) {&lt;/span&gt;
&lt;span class=&quot;sc1&quot;&gt;  	    updateGraph(data.module.channels[0].AnalogInput);&lt;/span&gt;
	});
}
&amp;nbsp;
$(document).ready(function() {
	checkTemp(); // Gets initial temperature
	setInterval(&amp;quot;checkTemp()&amp;quot;, 10000); // Sets a 10 Second timer
});
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;container&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;data_graph&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Google Chart - Temperature Meter Source Code&quot; [12121-13456] --&gt;
&lt;h2&gt;&lt;a name=&quot;google-chart-temperature-chart-source-code&quot; id=&quot;google-chart-temperature-chart-source-code&quot;&gt;Google Chart - Temperature Chart Source Code&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc0&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt; xmlns&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;ioBridge Server Temperature&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;https://www.google.com/jsapi&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
  google.load(&amp;quot;jquery&amp;quot;, &amp;quot;1&amp;quot;);
  google.load(&amp;quot;feeds&amp;quot;, &amp;quot;1&amp;quot;);
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
// Globals
var SecondsToSpan = 3600;  //Max of 6400
var PointsToKeep;
var sOffset = 0;
var UpperLimit;
&amp;nbsp;
function InitiateChart(){ 
&amp;nbsp;
   PointsToKeep = SecondsToSpan / 10;  // number of data point to keep in the plot 
&amp;nbsp;
   my_state.values = [];
&amp;nbsp;
   checkTemp();
&amp;nbsp;
   // call for a new data point every 10 seconds
   setInterval('checkTemp()',10000);
&amp;nbsp;
}
&amp;nbsp;
function my_state() { }
&amp;nbsp;
// This function puts the data into the Array
function storeValue(DataPoint) {
&amp;nbsp;
    // Update Page
    $(&amp;quot;#currentTemp&amp;quot;).text(DataPoint);
&amp;nbsp;
   DataPoint = Math.round(DataPoint);
&amp;nbsp;
   my_state.values.push(DataPoint);
&amp;nbsp;
   // If the plot has been open longer than SecondsToSpan then remove the first data point		
   if (my_state.values.length &amp;gt; PointsToKeep) {     
&amp;nbsp;
      my_state.values.splice(0,1);
      sOffset = sOffset + 10; 
   }
}
&amp;nbsp;
function reScale() {
&amp;nbsp;
  UpperLimit = 0;
&amp;nbsp;
  // Find the max value in the array
  for (var i = 0; i &lt;span class=&quot;sc2&quot;&gt;&amp;lt; my_state.values.length; i++ &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;      if &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;my_state.values&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; &amp;gt;&lt;/span&gt; UpperLimit){
         UpperLimit = my_state.values[i] * 1.05;
      }
   }
}
&amp;nbsp;
// Encode the data for google charts
function ioEncode( valueArray ) {
&amp;nbsp;
   var chartData = [];
&amp;nbsp;
      for (var i = 0; i &lt;span class=&quot;sc2&quot;&gt;&amp;lt; my_state.values.length; i++&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;         var currentValue &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; my_state.values&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;i&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt; * 100 &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt; UpperLimit;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;	     currentValue &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; Math.round&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;currentValue&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;         chartData.push&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;currentValue&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;	&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;      &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;   var stringTemp &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; chartData.join&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;','&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   var newString &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;t:&amp;quot;&lt;/span&gt; + stringTemp;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   return newString;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;function checkTemp&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;	$.getJSON&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/api/feed/key=0BosKdymNbB3LyiFYUVI&amp;amp;callback=?&amp;quot;&lt;/span&gt;,&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;	function &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;        storeValue&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;data&lt;/span&gt;.module.channels&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;0&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;.AnalogInput&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;; reScale&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;; updateGraph&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;	&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;//&lt;/span&gt; This function takes care of formating the URL &lt;span class=&quot;kw3&quot;&gt;for&lt;/span&gt; google charts and updating the image&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;function updateGraph&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;   var chart_url &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://chart.apis.google.com/chart?&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   var chart_type &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;cht=lc&amp;quot;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   var chartSec &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; my_state.values.length - &lt;span class=&quot;nu0&quot;&gt;1&lt;/span&gt;;  	&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;   chartSec &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; chartSec * 10 + sOffset;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;   var chart_size &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chs=400x350&amp;amp;chtt=ioBridge Server Temperature&amp;amp;chds=0,100&amp;amp;chxt=x,y,x,y&amp;amp;chxl=2:||Time (s)||3:|||Temp||&amp;amp;chxr=1,0,&amp;quot;&lt;/span&gt; + UpperLimit + &lt;span class=&quot;st0&quot;&gt;&amp;quot;|0,&amp;quot;&lt;/span&gt; + sOffset + &lt;span class=&quot;st0&quot;&gt;&amp;quot;,&amp;quot;&lt;/span&gt; + chartSec;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   var chart_data &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;chd=&amp;quot;&lt;/span&gt; + ioEncode&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;my_state.values&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;   var url &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; chart_url + chart_type + chart_size + chart_data;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;   var i &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;lt;img&amp;gt;&lt;/span&gt;&lt;/span&gt;&amp;quot;).attr(&amp;quot;src&amp;quot;, url);
   $(&amp;quot;#data_graph&amp;quot;).empty().append(i);
&amp;nbsp;
}
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/script.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;script&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;  
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;onload&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;InitiateChart()&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;container&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;data_graph&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;sc1&quot;&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;header&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
	    Current Temperature is &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/span.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;span&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;currentTemp&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/span.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;span&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;sc1&quot;&gt;&amp;amp;deg;&lt;/span&gt;F&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
	    This chart will automatically add another data point every 10 seconds.   
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/div.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;div&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Google Chart - Temperature Chart Source Code&quot; [13457-16755] --&gt;
&lt;h2&gt;&lt;a name=&quot;additional-resources&quot; id=&quot;additional-resources&quot;&gt;Additional Resources&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.iobridge.com/ServerTempNeedle.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/ServerTempNeedle.html&quot;  rel=&quot;nofollow&quot;&gt;ioBridge Server Temperature Needle&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.iobridge.com/ServerTempChart.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/ServerTempChart.html&quot;  rel=&quot;nofollow&quot;&gt;ioBridge Server Temperature Chart&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.iobridge.com/technology&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/technology&quot;  rel=&quot;nofollow&quot;&gt;ioBridge Technology Page&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Additional Resources&quot; [16756-] --&gt;</description>
        <category>api</category>
            <pubDate>Sun, 24 Jan 2010 12:44:34 -0400</pubDate>
        </item>
        <item>
            <title>JavaScript Widget Control API</title>
            <link>http://www.iobridge.net/wiki/api/javascript-widget-control-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;javascript-widget-control-api&quot; id=&quot;javascript-widget-control-api&quot;&gt;JavaScript Widget Control API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
To get access to the JavaScript Widget Control &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;, create a widget, note the widgetID, and embed the widget in the body of your web page.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JavaScript Widget Control API&quot; [1-184] --&gt;
&lt;h2&gt;&lt;a name=&quot;embed-code&quot; id=&quot;embed-code&quot;&gt;Embed Code&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Drop the widget Embed Code into your website and the ioBridge JavaScript Library is appended to the header of your page and gives you access to special ioBridge commands to control your widgets.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Embed Code&quot; [185-402] --&gt;
&lt;h3&gt;&lt;a name=&quot;example-widget-embed-code&quot; id=&quot;example-widget-embed-code&quot;&gt;Example Widget Embed Code&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
document.&lt;span class=&quot;kw1&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;unescape&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;%3Cscript src='&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/widgets/io.js?Q6Vs3RepsH6I' type='text/javascript'%3E%3C/script%3E&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Example Widget Embed Code&quot; [403-648] --&gt;
&lt;h3&gt;&lt;a name=&quot;hide-widget-code&quot; id=&quot;hide-widget-code&quot;&gt;Hide Widget Code&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;

If you don&amp;#039;t need to see the actual widget, you can hide it using the following commands. It&amp;#039;s recommend to embed hidden widgets near or right befire the &amp;lt;/body&amp;gt; html tag.
&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&amp;lt;div id=&amp;quot;ioWidgets&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
document.&lt;span class=&quot;kw1&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;unescape&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;%3Cscript src='&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/widgets/io.js?Q6Vs3RepsH6I' type='text/javascript'%3E%3C/script%3E&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Hide Widget Code&quot; [649-1110] --&gt;
&lt;h2&gt;&lt;a name=&quot;widgetid&quot; id=&quot;widgetid&quot;&gt;widgetID&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The widgetID is the string at the end of the widget code:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.com/widgets/io.js?Q6Vs3RepsH6I&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/widgets/io.js?Q6Vs3RepsH6I&quot;  rel=&quot;nofollow&quot;&gt;http://www.iobridge.com/widgets/io.js?Q6Vs3RepsH6I&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Q6Vs3RepsH6I is the widgetID for the above widget.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetID&quot; [1111-1294] --&gt;
&lt;h2&gt;&lt;a name=&quot;javascript-commands&quot; id=&quot;javascript-commands&quot;&gt;JavaScript Commands&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;JavaScript Commands&quot; [1295-1327] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetexecute&quot; id=&quot;widgetexecute&quot;&gt;widgetExecute&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Use &lt;em&gt;widgetExecute&lt;/em&gt; on widgets that have one, fixed action. For example, if you created a fixed position servo widget that when normally clicked it sets a servo to a fixed position. Running &lt;em&gt;widgetExecute&lt;/em&gt; from JavaScript allows JavaScript to execute the widget. The widget reacts just like if a user clicked on the widget.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;widgetExecute(&amp;#039;Q6Vs3RepsH6I&amp;#039;);&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetExecute&quot; [1328-1716] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetsetstate&quot; id=&quot;widgetsetstate&quot;&gt;widgetSetState&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If the widget has two states, like On and Off buttons on an X10 widget or a toggle button, use the &lt;em&gt;widsetSetState&lt;/em&gt; JavaScript command.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;on&quot; id=&quot;on&quot;&gt;On:&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;widgetSetState(&amp;#039;Q6Vs3RepsH6I&amp;#039;,1);&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;off&quot; id=&quot;off&quot;&gt;Off:&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
&lt;strong&gt;widgetSetState(&amp;#039;Q6Vs3RepsH6I&amp;#039;,0);&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetSetState&quot; [1717-1983] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetsetstring&quot; id=&quot;widgetsetstring&quot;&gt;widgetSetString&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Variable serial and servo widgets need to use &lt;em&gt;widgetSetString&lt;/em&gt; to send data to your module.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;widgetSetString(&amp;#039;Q6Vs3RepsH6I&amp;#039;,&amp;#039;This is my serial message&amp;#039;);&lt;/strong&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetSetString&quot; [1984-2170] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetgetvalue&quot; id=&quot;widgetgetvalue&quot;&gt;widgetGetValue&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you have a widget that reads in the value of a digital input or analog input, you can get the that value by using &lt;em&gt;widgetGetValue&lt;/em&gt; from JavaScript.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;var myTemperature = widgetGetValue(&amp;#039;Q6Vs3RepsH6I&amp;#039;);&lt;/strong&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetGetValue&quot; [2171-2406] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetgetstring&quot; id=&quot;widgetgetstring&quot;&gt;widgetGetString&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you have a variable message widget, you can get the current string by using &lt;em&gt;widgetGetString&lt;/em&gt; from JavaScript. Use for variable servo position widgets and serial messages.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;var servoPosition = widgetGetString(&amp;#039;Q6V123epsH6I&amp;#039;);&lt;/strong&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetGetString&quot; [2407-2667] --&gt;
&lt;h2&gt;&lt;a name=&quot;special-characters&quot; id=&quot;special-characters&quot;&gt;Special Characters&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
If you want to send special characters and bytes with &lt;em&gt;widgetSetString&lt;/em&gt;, use the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; encoded characters.
&lt;/p&gt;

&lt;p&gt;
For example, if you wanted to break a message into two lines with a carriage and linefeed, issue this JavaScript command: 
&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;widgetSetString&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;'Q6Vs3RepsH6I'&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;'This is line 1.%0D%0AThis is line 2.'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
The result will be:
&lt;/p&gt;

&lt;p&gt;
This is line 1.
&lt;/p&gt;

&lt;p&gt;
This is line 2.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;%0D&lt;/strong&gt; = carriage return
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;%0A&lt;/strong&gt; = linefeed
&lt;/p&gt;

&lt;p&gt;
Here is a table that lists all of the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; codes:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.w3schools.com/TAGS/ref_urlencode.asp&quot; class=&quot;urlextern&quot; title=&quot;http://www.w3schools.com/TAGS/ref_urlencode.asp&quot;  rel=&quot;nofollow&quot;&gt;URL Codes&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Special Characters&quot; [2668-3242] --&gt;
&lt;h2&gt;&lt;a name=&quot;example-application&quot; id=&quot;example-application&quot;&gt;Example Application&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.net/wiki/projects/iturn&quot; class=&quot;wikilink1&quot; title=&quot;projects:iturn&quot;&gt;iTurn - Servo Widget Control&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Example Application&quot; [3243-] --&gt;</description>
        <category>api</category>
            <pubDate>Thu, 02 Jul 2009 23:40:32 -0400</pubDate>
        </item>
        <item>
            <title>Module API</title>
            <link>http://www.iobridge.net/wiki/api/module-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;module-api&quot; id=&quot;module-api&quot;&gt;Module API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The Module &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; is under development with limited private testing. There is not a scheduled public release date at the moment.
&lt;/p&gt;

&lt;p&gt;
The new &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; will allow permissions-based, full control and monitoring of the module from JavaScript, &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt;, &lt;acronym title=&quot;Practical Extraction and Report Language&quot;&gt;Perl&lt;/acronym&gt;, Python, Java, and supporting a wide-range of web-applications and desktop application.

&lt;/p&gt;

&lt;/div&gt;
</description>
        <category>api</category>
            <pubDate>Wed, 04 Mar 2009 22:11:34 -0400</pubDate>
        </item>
        <item>
            <title>PHP Widget Control API</title>
            <link>http://www.iobridge.net/wiki/api/php-widget-control-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;php-widget-control-api&quot; id=&quot;php-widget-control-api&quot;&gt;PHP Widget Control API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; Widget Control &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; is a &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; script that resides on your own server. All you have to do is place the source code into a file named &lt;em&gt;iobridge-proxy.php&lt;/em&gt; and call it from your own scripts and applications. The script acts as a proxy between your applications and the ioBridge widgets. You can use this script from anything that can GET a &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; including same-site &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/acronym&gt; scripts, JavaScript, VisualBasic, Desktop Widgets, Python, &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt;, &lt;acronym title=&quot;Practical Extraction and Report Language&quot;&gt;Perl&lt;/acronym&gt;, etc.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;PHP Widget Control API&quot; [1-487] --&gt;
&lt;h2&gt;&lt;a name=&quot;widget-types&quot; id=&quot;widget-types&quot;&gt;Widget Types&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
All widget types are supported. If a widget returns a value, the values are also passed through the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Widget Types&quot; [488-618] --&gt;
&lt;h3&gt;&lt;a name=&quot;single-action&quot; id=&quot;single-action&quot;&gt;Single Action&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
A widget that has a single button and when it&amp;#039;s pressed executes a single action falls into this category. All you have to do is pass the widgetID or the widget label to execute these widgets through the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Single Action&quot; [619-852] --&gt;
&lt;h3&gt;&lt;a name=&quot;variable&quot; id=&quot;variable&quot;&gt;Variable&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Widgets that require a parameter to execute are variable widgets. You have to send the widgetID or label and the value in the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;. Works for variable pulse widgets, servo widgets, and serial widgets. 

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Variable&quot; [853-1072] --&gt;
&lt;h3&gt;&lt;a name=&quot;onoff&quot; id=&quot;onoff&quot;&gt;On/Off&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Some widgets have On/Off states. To execute the Off state pass the widget ID and the state 0. To execute the On state pass the widgetID and the state of 1. If you use the widget label method, you will have to get the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; for both states and hard code them into the switch/case section of the script. Use these settings for controlling digital outputs and X10 widgets.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;On/Off&quot; [1073-1458] --&gt;
&lt;h3&gt;&lt;a name=&quot;monitor&quot; id=&quot;monitor&quot;&gt;Monitor&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
If you want to get the state of an digital output / input or analog input, pass the widgetID or label and the script returns the scaled or labeled values. The scale is dependent on what the widget has been set to.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Monitor&quot; [1459-1691] --&gt;
&lt;h2&gt;&lt;a name=&quot;widgetid&quot; id=&quot;widgetid&quot;&gt;widgetID&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Before you get started, create widgets using the ioBridge Interface and note their widgetIDs. We will use these IDs with the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; to control or access the associated widget.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.net/wiki/_detail/api/widgetid.jpg?id=api%3Aphp-widget-control-api&quot; class=&quot;media&quot; title=&quot;api:widgetid.jpg&quot;&gt;&lt;img src=&quot;http://www.iobridge.net/wiki/_media/api/widgetid.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetID&quot; [1692-1910] --&gt;
&lt;h2&gt;&lt;a name=&quot;step-by-step&quot; id=&quot;step-by-step&quot;&gt;Step-by-Step&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Create a file named &lt;em&gt;iobridge-proxy.php&lt;/em&gt; and copy the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; source code into it&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Upload the new file to your server&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Access the script using GET statements by passing parameters into the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Step-by-Step&quot; [1911-2140] --&gt;
&lt;h2&gt;&lt;a name=&quot;parameters&quot; id=&quot;parameters&quot;&gt;Parameters&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Some parameters are required to use the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;. 
&lt;/p&gt;

&lt;p&gt;
You can either send a widgetID or a widget label to control widgets. Using a widgetID is a little slower than hard setting the widget URLs with a widget label.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Parameters&quot; [2141-2371] --&gt;
&lt;h3&gt;&lt;a name=&quot;widgetid-method&quot; id=&quot;widgetid-method&quot;&gt;widgetID Method&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://your-server.com/iobridge-proxy.php?widgetID=XXXXXXXXXX&amp;amp;value=2000&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetID Method&quot; [2372-2483] --&gt;
&lt;h3&gt;&lt;a name=&quot;widget-label-method&quot; id=&quot;widget-label-method&quot;&gt;Widget Label Method&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://your-server.com/iobridge-proxy.php?widget=servo&amp;amp;value=2000&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Widget Label Method&quot; [2484-2593] --&gt;
&lt;h3&gt;&lt;a name=&quot;parameters1&quot; id=&quot;parameters1&quot;&gt;Parameters&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Parameter &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Usage &lt;/th&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; widgetID &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; WidgetID or your widget &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; widget &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Case Label for quick access to associated widget &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; value &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Pass a variable widget a value, like setting a servo position &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; state &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Set to 0 for the Off state and 1 for the On state of an Output Control Widget &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; debug &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Set to display widget &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;, requires widgetID to also be passed &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Parameters&quot; [2594-2977] --&gt;
&lt;h2&gt;&lt;a name=&quot;widgeturl&quot; id=&quot;widgeturl&quot;&gt;widgetUrl&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
If you choose to use the Widget Label method, you will have to obtain the widget URLs for each of your widgets. The &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; is easy to obtain with the Proxy Script. This method is a bit more complex, but when it&amp;#039;s all setup you gain 30-40% faster and the URLs will be easier to understand.
&lt;/p&gt;

&lt;p&gt;
To get the &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; that is associated widget, pass the widgetID and set the debug parameters from a web browser.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;http://your-server.com/iobridge-proxy.php?widgetID=XXXXXXXXXX&amp;amp;debug=1&lt;/pre&gt;

&lt;p&gt;
Returns:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&lt;/pre&gt;

&lt;p&gt;
The returned &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; is a snap shot of the widget with the current settings. The &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; is valid as long as it is being used regularly - sessionIDs expire with inactivity. If you make changes to the widget, you will have to obtain a new widget &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;.
&lt;/p&gt;

&lt;p&gt;
Once you have a valid widget &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; you can hard code it to the Switch/Case section of the script, tag it with a label, and access it from the proxy by its label. We recommend adding a comment to the &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; script that has the orgignal widgetID so you can easily find it for later use.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;widgetUrl&quot; [2978-4119] --&gt;
&lt;h2&gt;&lt;a name=&quot;php-proxy-source-code&quot; id=&quot;php-proxy-source-code&quot;&gt;PHP Proxy Source Code&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code php&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;
&lt;span class=&quot;co4&quot;&gt;/**
*	ioBridge Proxy that forwards calls to your ioBridge widgets
*
*	@version 1.1 July 3, 2009 - Added URL debug and &amp;quot;widget&amp;quot; select case by ioBridge Support
*	@version 1.0 June 21, 2009 - Original version Marc Fonteijn &amp;lt;marcfonteijn[ at ]gmail.com&amp;gt;
*
*	@link http://www.iobridge.net/forum/index.php/topic,447.0.html Comments &amp;amp; suggestions
*	@license http://creativecommons.org/licenses/GPL/2.0/ Released under a Creative Commons GNU GPL License
*/&lt;/span&gt;
  &lt;span class=&quot;re0&quot;&gt;$widgetID&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'widgetID'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;re0&quot;&gt;$widget&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;  &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'widget'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;re0&quot;&gt;$state&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'state'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'value'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;re0&quot;&gt;$debug&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$_GET&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;st_h&quot;&gt;'debug'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/urldecode&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;urldecode&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$widgetID&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;re0&quot;&gt;$url&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_Widget&amp;amp;widgetID=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$widgetID&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;dt=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;a href=&quot;http://www.php.net/time&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;time&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/curl_init&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_init&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;a href=&quot;http://www.php.net/curl_setopt&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_setopt&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; CURLOPT_RETURNTRANSFER&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'1'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/curl_exec&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_exec&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;a href=&quot;http://www.php.net/curl_close&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_close&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;www.iobridge.com/interface/?actionID=&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;a href=&quot;http://www.php.net/isset&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$state&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$state&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;www.iobridge.com/interface/?actionID=&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; 1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$end&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;  &lt;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;a href=&quot;http://www.php.net/substr&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;substr&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$end&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; 4&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$debug&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
         &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
         &lt;a href=&quot;http://www.php.net/exit&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
  &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;kw1&quot;&gt;switch&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$widget&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;toggle&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;analog&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;off&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;on&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;servo&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/interface/?actionID=RM_XXXXXXXXXXXX&amp;amp;sessionID=XXXXXXXXXXXXXXXXXXXX&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
        &lt;span class=&quot;kw1&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
  &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;setValue=&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;.&lt;/span&gt; &lt;a href=&quot;http://www.php.net/urlencode&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;urlencode&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$value&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
      &lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/curl_init&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_init&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$widgetUrl&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;a href=&quot;http://www.php.net/curl_setopt&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_setopt&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; CURLOPT_RETURNTRANSFER&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'1'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/curl_exec&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;curl_exec&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$ch&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;=&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;re0&quot;&gt;$end&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;  &lt;a href=&quot;http://www.php.net/strpos&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;strpos&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;kw1&quot;&gt;echo&lt;/span&gt; &lt;a href=&quot;http://www.php.net/substr&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;substr&lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$response&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt; 2&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$end&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$start&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt; 3&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
  &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;sy1&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;PHP Proxy Source Code&quot; [4120-6637] --&gt;
&lt;h2&gt;&lt;a name=&quot;php-proxy-without-javascript&quot; id=&quot;php-proxy-without-javascript&quot;&gt;PHP Proxy without JavaScript&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The &lt;acronym title=&quot;Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt; Proxy script is perfect for when you need to control the module without the use of JavaScript. Older mobile clients on a standard mobile phone can&amp;#039;t process client side scripting, but they often support &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt;.
&lt;/p&gt;

&lt;p&gt;
You can use the proxy with links or &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; forms.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;PHP Proxy without JavaScript&quot; [6638-6945] --&gt;
&lt;h3&gt;&lt;a name=&quot;links-example&quot; id=&quot;links-example&quot;&gt;Links Example&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;PHP Proxy with Links&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iobridge-proxy.php?widget=LED&amp;amp;value=Hello+World&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Send Message to LCD&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; | 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iobridge-proxy.php?widget=servo&amp;amp;value=1000&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Servo Left&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; | 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iobridge-proxy.php?widget=servo&amp;amp;value=2000&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Servo Right&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/iframe.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;iframe&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;frameborder&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/iframe.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;iframe&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Links Example&quot; [6946-7459] --&gt;
&lt;h3&gt;&lt;a name=&quot;html-form-example&quot; id=&quot;html-form-example&quot;&gt;HTML Form Example&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;PHP Proxy with HTML Form&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/form.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;form&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;action&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://your-server.com/iobridge-proxy.php&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;method&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;get&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/textarea.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;textarea&lt;/span&gt;&lt;/a&gt; row&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;2&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;cols&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/textarea.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;textarea&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt; 
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/input.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;input&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;widget&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;serial&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;          
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/input.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;input&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Submit&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;          
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/form.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;form&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
     &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/iframe.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;iframe&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;iframe&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;width&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;frameborder&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/iframe.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;iframe&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;HTML Form Example&quot; [7460-8023] --&gt;
&lt;h2&gt;&lt;a name=&quot;resources&quot; id=&quot;resources&quot;&gt;Resources&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

&lt;a href=&quot;http://www.iobridge.net/projects/2009/06/serial-lcd-and-io-204-mash-up-using-javascript-php/&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.net/projects/2009/06/serial-lcd-and-io-204-mash-up-using-javascript-php/&quot;  rel=&quot;nofollow&quot;&gt;Sample Application to Control Serial LCD&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.marcathing.com/2009/06/21/an-easy-api-for-the-iobrigde-to-use-with-ajax-php-java-phyton-etc/&quot; class=&quot;urlextern&quot; title=&quot;http://www.marcathing.com/2009/06/21/an-easy-api-for-the-iobrigde-to-use-with-ajax-php-java-phyton-etc/&quot;  rel=&quot;nofollow&quot;&gt;Marc Fonteijn&amp;#039;s Original ioBridge PHP Proxy API&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.net/wiki/api/javascript-widget-control-api&quot; class=&quot;wikilink1&quot; title=&quot;api:javascript-widget-control-api&quot;&gt;JavaScript Widget Control API&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Resources&quot; [8024-] --&gt;</description>
        <category>api</category>
            <pubDate>Thu, 09 Jul 2009 04:02:01 -0400</pubDate>
        </item>
        <item>
            <title>Serial API</title>
            <link>http://www.iobridge.net/wiki/api/serial-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;serial-api&quot; id=&quot;serial-api&quot;&gt;Serial API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The most reliable way to get serial data from a &lt;a href=&quot;http://www.iobridge.net/wiki/smart-boards/serial-smart-board&quot; class=&quot;wikilink1&quot; title=&quot;smart-boards:serial-smart-board&quot;&gt;Serial Smart Board&lt;/a&gt; programmatically is through the Serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.  Of course with the reliability comes a little complexity.  A continuous serial stream differs greatly from the request/response model of &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;.  In order to deliver serial content, the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server uses long polling &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; connections, &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; keys, and FIFO Buffer.  
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Serial API&quot; [1-443] --&gt;
&lt;h2&gt;&lt;a name=&quot;long-polling-http&quot; id=&quot;long-polling-http&quot;&gt;Long Polling HTTP&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

In a normal &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; transaction, a request is made (from a browser or a server-side script) in the form of a GET.  The server receives the GET request and immediately assembles the data for the reply.  The data may be a static file or created dynamically.  In either case, the data is sent back to the requester as soon as possible.  The original requester then receives and processes the data and processes.
&lt;/p&gt;

&lt;p&gt;
In a long polling &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt;, a request is again made with a GET command.  Although, with a long polling request the server does not always immediately reply.  The server may hang onto the connection for quite a while until some other even triggers a response to be sent to the waiting requester.  Alternately, the connection may hang too long and the request will timeout.
&lt;/p&gt;

&lt;p&gt;
The serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; uses long polling requests.  Since serial data can arrive at serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server at any time, it is beneficial to have a request already queued up in order to pass the serial data along with the least latency.
&lt;/p&gt;

&lt;p&gt;
In general, the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; works as follows. A script makes a request for serial data.  The serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server hangs onto that request until a chunk of serial data from a particular module/channel is received or the connection times out.  If data is received, it is passed on as the response to the request for data.  If no data was received from the module then an empty message is sent back as the response.    
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Long Polling HTTP&quot; [444-1888] --&gt;
&lt;h2&gt;&lt;a name=&quot;the-concept-of-serial-api-fifo-buffers&quot; id=&quot;the-concept-of-serial-api-fifo-buffers&quot;&gt;The Concept of Serial API FIFO Buffers&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

FIFO: First In First Out
&lt;/p&gt;

&lt;p&gt;
In practice, a script requesting serial data will make requests over and over to the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.  The script will make an initial request and upon receiving a reply, it will act on the data and make another request for more data.  The only problem with this scenario is that it is possible for entire chunks of serial data to get lost.  For example, suppose there is a request awaiting data on the server.  Now, imagine two chunks of serial data are sent from the module within milliseconds of each other.  The first chunk of data will be used to fulfill the waiting request.  By the time the originating script receives the first data chunk, processes it and issues another request, the second piece of serial data will have been lost.  This is because the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server didn&amp;#039;t see any outstanding requests for serial data from this module/channel.
&lt;/p&gt;

&lt;p&gt;
To overcome this problem of lost messages, FIFO buffers are uses to ensure no serial data is lost between requests.  Upon the first serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; request for data, a unique buffer is created and given a unique name.  From that point on, serial data received from a particular module/channel is placed in the buffer.  Consequently, requests for serial data are served out of that buffer.  This means that serial data from a module will fill a buffer while requests for serial data will empty the buffer.  This way no serial data is lost.  A buffer will remain active as long as at least one request for data is made every 60 seconds.  A request to the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server will timeout after 30 seconds and the server will respond with an emtpy message.  In the case the originating script will just make another request.  In 60 seconds elapse without a request for data from a particular buffer, the buffer will be deleted along with the data contained in it.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;The Concept of Serial API FIFO Buffers&quot; [1889-3775] --&gt;
&lt;h2&gt;&lt;a name=&quot;the-serial-api-key&quot; id=&quot;the-serial-api-key&quot;&gt;The Serial API Key&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

To provide a measure of security against unauthorized eavesdropping of your serial data, a lengthy alpha-numeric &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key is used to access serial data.  Each &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key is set to a specific module and channel combination.  The &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key is used in &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; requests for serial data.  Contact ioBridge support if you would like a serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; Key generated for you.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;The Serial API Key&quot; [3776-4162] --&gt;
&lt;h2&gt;&lt;a name=&quot;the-serial-data-object&quot; id=&quot;the-serial-data-object&quot;&gt;The Serial Data Object&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

The serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server responds in the form of a JSON object.  The ojects elements are as follows:

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; serialObject.serial - module&amp;#039;s serial number&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; serialObject.channel - I/O channel of the serial board&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; serialObject.timedate - time stamp of when the data was sent&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; serialObject.streamID - streamID of the live buffer&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; serialObject.SerialData - the actual serial data   &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;The Serial Data Object&quot; [4163-4590] --&gt;
&lt;h2&gt;&lt;a name=&quot;sequence-of-events-for-using-the-serial-api&quot; id=&quot;sequence-of-events-for-using-the-serial-api&quot;&gt;Sequence of Events for using the Serial API&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

First take care of the following steps.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Attach Serial Smart Board to an I/O channel and set the configuration settings (mode, baudrate).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Attach serial peripheral and check for proper data transmission with the serial widgets.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Attain a Serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key for you particular module and I/O channel.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Now for the general sequence of how the script requesting serial data should operate.

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Initial request is made to the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; with the appropriate &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key and streamID=new.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Eventually, the serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; server will respond with a JSON object.  The serialObject.SerialData element may be empty if no serial data was receive from the module.  The object will contain an alpha-numeric string assigned to serialObject.streamID.  This is the unique identifier for the buffer that was created upon the initial request in step 1.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; The script will make another request with the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; key.  The streamID will be set to the value returned in step 2.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Server will respond with a JSON object.  The returned streamID element will be the same as in step 2.  Go to step 3.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Sequence of Events for using the Serial API&quot; [4591-5724] --&gt;
&lt;h2&gt;&lt;a name=&quot;example-code-using-jquery&quot; id=&quot;example-code-using-jquery&quot;&gt;Example Code using jQuery&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;

This example will make calls to the Serial &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;.  On the initial call, a serial buffer will be created with a unique streamID.  This same streamID is used on subsequent calls.  If serial data is returned in the serialObject then it is shown in the &lt;strong&gt;updateID&lt;/strong&gt; division.  
&lt;/p&gt;
&lt;pre class=&quot;code javascript&quot;&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt; 
&amp;lt;html&amp;gt; 
&amp;lt;head&amp;gt; 
&amp;lt;title&amp;gt;ioBridge Serial Buffer Stream&amp;lt;/title&amp;gt; 
&amp;nbsp;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;http://www.google.com/jsapi&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 
    google.&lt;span class=&quot;me1&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;jquery&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
    google.&lt;span class=&quot;me1&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;feeds&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;script type&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 
&amp;nbsp;
&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; checkSerial&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;returnedStreamID&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;returnedStreamID&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
	&lt;span class=&quot;kw1&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;returnedStreamID &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;new&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	$.&lt;span class=&quot;me1&quot;&gt;getJSON&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/api/serial/buffer/key=FD_XXXXXXXXXXXXXXXXXXXX&amp;amp;streamID=&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt;returnedStreamID&lt;span class=&quot;sy0&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;amp;callback=?&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;data&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;   
&amp;nbsp;
        	&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; SerialData &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; data.&lt;span class=&quot;me1&quot;&gt;serialObject&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;SerialData&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
		&lt;span class=&quot;kw1&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;SerialData&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;	
			document.&lt;span class=&quot;me1&quot;&gt;getElementById&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;'updateID'&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;innerHTML&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; SerialData&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt; 
		&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;	
&amp;nbsp;
		&lt;span class=&quot;kw2&quot;&gt;var&lt;/span&gt; streamID &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; data.&lt;span class=&quot;me1&quot;&gt;serialObject&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;streamID&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
        	checkSerial&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;streamID&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;			
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
$&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;document&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;.&lt;span class=&quot;me1&quot;&gt;ready&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	checkSerial&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sy0&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; 
&amp;lt;/head&amp;gt; 
&amp;lt;body&amp;gt; 
&amp;nbsp;
&amp;lt;div id=&amp;quot;updateID&amp;quot;&amp;gt;Listening...&amp;lt;/div&amp;gt;
&amp;nbsp;
&amp;lt;/body&amp;gt; 
&amp;lt;/html&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Example Code using jQuery&quot; [5725-] --&gt;</description>
        <category>api</category>
            <pubDate>Mon, 08 Jun 2009 04:05:55 -0400</pubDate>
        </item>
        <item>
            <title>Serial Web Services API</title>
            <link>http://www.iobridge.net/wiki/api/serial-web-services-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;serial-web-services-api&quot; id=&quot;serial-web-services-api&quot;&gt;Serial Web Services API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
The Serial Web Services &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; allows data sent into the &lt;a href=&quot;http://www.iobridge.net/wiki/smart-boards/serial-smart-board&quot; class=&quot;wikilink1&quot; title=&quot;smart-boards:serial-smart-board&quot;&gt;Serial Smart Board (SB-5)&lt;/a&gt; and be routed to web services from Twitter, Google, Yahoo, etc. Using this &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;, you can have a microcontroller send email, request stock quotes, and get the current temperature and time - opening up the world wide web to microcontrollers and embedded serial devices. The IO-204 acts as a conduit to the Internet and web services for microcontrollers connected to a serial smart board.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Serial Web Services API&quot; [1-513] --&gt;
&lt;h2&gt;&lt;a name=&quot;setup&quot; id=&quot;setup&quot;&gt;Setup&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Connect a serial device to the transmitter, receiver, and ground of the Serial Smart Board connected to the IO-204 Ethernet module. Match baud rate and signal type (true or inverted) on both your serial device and the serial smart board. Serial settings are configured on the Module tab.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Setup&quot; [514-819] --&gt;
&lt;h2&gt;&lt;a name=&quot;usage-limits&quot; id=&quot;usage-limits&quot;&gt;Usage Limits&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Usage Limits&quot; [820-844] --&gt;
&lt;h3&gt;&lt;a name=&quot;transactions&quot; id=&quot;transactions&quot;&gt;Transactions&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Using this &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; allows for so many transactions in a 24 hour period. Abuse will cause the disruption of messages temporally. The limit is 1440 transaction is a 24 hour period, which equates to one transaction per minute.

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Transactions&quot; [845-1087] --&gt;
&lt;h3&gt;&lt;a name=&quot;long-messages&quot; id=&quot;long-messages&quot;&gt;Long Messages&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The serial smart board has a buffer of 200B. When the buffer is full, the RTS pin goes high. The buffer clears a moment later and you can send more data. You can send long commands thru the board if you put a second of pacing between 200B chunks of the message. The &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; looks for the opening brackets and closing brackets before the service acts on the command. However, if you transmit more than 200B to the board without pacing, only 200B will be transmitted to the server which breaks the command.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Long Messages&quot; [1088-1613] --&gt;
&lt;h2&gt;&lt;a name=&quot;web-service-commands&quot; id=&quot;web-service-commands&quot;&gt;Web Service Commands&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
The format for commands are as follows: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;[[[command|parameters]]]&lt;/pre&gt;

&lt;p&gt;
Sending serial strings wrapped in brackets will cause the command to be routed to web services. The commands are delimited by pipes (“|”).

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Web Service Commands&quot; [1614-1864] --&gt;
&lt;h3&gt;&lt;a name=&quot;email&quot; id=&quot;email&quot;&gt;email&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[email|address|subject|body]]]&lt;/pre&gt;

&lt;p&gt;
Reply: Sent
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Use the email service to allow your microcontroller to send email, text messages, Twitter / Facebook updates, and UberNote notes&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;text-messaging&quot; id=&quot;text-messaging&quot;&gt;Text Messaging&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

You can also receive notifications to an event as a text message by entering your cell phone&amp;#039;s email address. Your cell phone number can be converted to an email address based on your service provider. 

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; AT&amp;amp;T: &lt;em&gt;yournumber&lt;/em&gt;@txt.att.net&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verizon: &lt;em&gt;yournumber&lt;/em&gt;@vtext.com&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; T-Mobile: &lt;em&gt;yournumber&lt;/em&gt;@tmomail.net &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;em&gt;&lt;strong&gt;Note:&lt;/strong&gt; ioBridge Corporation is not responsible for charges incurred by text messaging. Your standard text messaging rates apply with your mobile carrier. &lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;twitter-mail&quot; id=&quot;twitter-mail&quot;&gt;Twitter Mail&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

Twitter Mail allows you to send an email to a email address that&amp;#039;s linked to your Twitter account. They will then use the Twitter &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; to post a new Twitter for you. The service works extremely well. Once you get your Twitter Mail address you can natively add it to your Email Accounts on ioBridge.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://twittermail.com/&quot; class=&quot;urlextern&quot; title=&quot;http://twittermail.com/&quot;  rel=&quot;nofollow&quot;&gt;Twitter Mail&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;social-networks-via-pingfm&quot; id=&quot;social-networks-via-pingfm&quot;&gt;Social Networks via Ping.fm&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

Ping.fm allows you to update multiple social networks via email. Ping.fm is recommended to update your Twitter, Facebook, and GTalk status. Once you sign up at Ping.fm, you will have an email address that is linked to your social networks. Add that email account to your ioBridge.com account and now your ioBridge actions can tweet, update Facebook, etc.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://ping.fm/&quot; class=&quot;urlextern&quot; title=&quot;http://ping.fm/&quot;  rel=&quot;nofollow&quot;&gt;Ping.fm&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;ubernote&quot; id=&quot;ubernote&quot;&gt;UberNote&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;

UberNote is free note taking service that is a replacement for Google Notes. UberNote allows email access to post new notes. Once you setup and account, an email that is linked to your account is created and listed under your settings page. If your action sends a message to the UberMail address, it will be automatically posted to your account. UberNote also supports tagging and public &lt;acronym title=&quot;Rich Site Summary&quot;&gt;RSS&lt;/acronym&gt; feeds of notes.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://ubernote.com/&quot; class=&quot;urlextern&quot; title=&quot;http://ubernote.com/&quot;  rel=&quot;nofollow&quot;&gt;UberNote&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;email&quot; [1865-3829] --&gt;
&lt;h3&gt;&lt;a name=&quot;datetime&quot; id=&quot;datetime&quot;&gt;datetime&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[datetime]]]&lt;/pre&gt;

&lt;p&gt;
Reply: yyyy-mm-dd hh:nn:ss (GMT/UTC)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;datetime&quot; [3830-3915] --&gt;
&lt;h3&gt;&lt;a name=&quot;date&quot; id=&quot;date&quot;&gt;date&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[date]]]&lt;/pre&gt;

&lt;p&gt;
Reply: yyyy-mm-dd
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;date&quot; [3916-3974] --&gt;
&lt;h3&gt;&lt;a name=&quot;time&quot; id=&quot;time&quot;&gt;time&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[time]]]&lt;/pre&gt;

&lt;p&gt;
Reply:  hh:nn:ss (GMT/UTC)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;time&quot; [3975-4042] --&gt;
&lt;h3&gt;&lt;a name=&quot;stock&quot; id=&quot;stock&quot;&gt;stock&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[stock|symbol]]]&lt;/pre&gt;

&lt;p&gt;
Reply:  (last trade stock price)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;stock&quot; [4043-4125] --&gt;
&lt;h3&gt;&lt;a name=&quot;weather&quot; id=&quot;weather&quot;&gt;weather&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[weather|location|options]]]&lt;/pre&gt;

&lt;p&gt;
Location can be any zip code or city name.
&lt;/p&gt;

&lt;p&gt;
Options:

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; temp_f&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; temp_c&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; humidity&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; wind_condition&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sunrise&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sunset&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rain&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Default: temp_f
&lt;/p&gt;

&lt;p&gt;
Reply:  (weather info)
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;weather&quot; [4126-4370] --&gt;
&lt;h3&gt;&lt;a name=&quot;calc&quot; id=&quot;calc&quot;&gt;calc&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[calc|expression]]]&lt;/pre&gt;

&lt;p&gt;
Expressions are based off of &lt;a href=&quot;http://www.google.com/help/calculator.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.google.com/help/calculator.html&quot;  rel=&quot;nofollow&quot;&gt;Google Calculator&lt;/a&gt; syntax. You can convert units and perform mathematical operations.
&lt;/p&gt;

&lt;p&gt;
Reply:  (result)

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;calc&quot; [4371-4600] --&gt;
&lt;h3&gt;&lt;a name=&quot;get&quot; id=&quot;get&quot;&gt;get&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[get|url]]]&lt;/pre&gt;

&lt;p&gt;
Reply:  (response up to the first 70-80 characters)
&lt;/p&gt;

&lt;p&gt;
&lt;em&gt;Use the “get command” to GET a &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; of your choice.&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;get&quot; [4601-4751] --&gt;
&lt;h3&gt;&lt;a name=&quot;data_log&quot; id=&quot;data_log&quot;&gt;data_log&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;[[[data_log|key|timestamp|data]]]&lt;/pre&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; key: 18 alpha numeric characters - &lt;em&gt;The key is created at ioBridge.com by adding a Data Log from an External Source to your account. This key will tie the serial data being pushed to the database.&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; timestamp: yyyy-mm-dd hh:nn:00 - &lt;em&gt;If the timestamp field is blank, the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; will use the current GMT/UTC system time.&lt;/em&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; data: Serial string up to 50 characters&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

Reply:  Inserted
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;data_log&quot; [4752-5211] --&gt;
&lt;h2&gt;&lt;a name=&quot;arduino-example&quot; id=&quot;arduino-example&quot;&gt;Arduino Example&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Arduino Example&quot; [5212-5239] --&gt;
&lt;h3&gt;&lt;a name=&quot;request&quot; id=&quot;request&quot;&gt;Request&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;
Serial.print(&amp;quot;[[[stock|GOOG]]]&amp;quot;); 
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Request&quot; [5240-5307] --&gt;
&lt;h3&gt;&lt;a name=&quot;reply-handler&quot; id=&quot;reply-handler&quot;&gt;Reply Handler&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;
char charIn = 0;
byte i = 0;
char stringIn[32] = &amp;quot;&amp;quot;;

while(Serial.available()) {
    charIn = Serial.read();
    stringIn[i] = charIn;
    i += 1;
}

int stockPrice = atoi(stringIn);
&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Reply Handler&quot; [5308-5531] --&gt;
&lt;h2&gt;&lt;a name=&quot;basic-stamp-bs2-example&quot; id=&quot;basic-stamp-bs2-example&quot;&gt;Basic Stamp (BS2) Example&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Basic Stamp (BS2) Example&quot; [5532-5570] --&gt;
&lt;h3&gt;&lt;a name=&quot;humidity&quot; id=&quot;humidity&quot;&gt;Humidity&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The following command replies back with the current humidity percentage in Gainesville, FL.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SEROUT 8,84,[&amp;quot;[[[weather|Gainesville, FL|humidity]]]&amp;quot;]&lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;Sends serial data out of pin 8 of a BS2 at a baud rate of 9600 with an inverted signal&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Humidity&quot; [5571-5843] --&gt;
&lt;h3&gt;&lt;a name=&quot;basic-stamp-email&quot; id=&quot;basic-stamp-email&quot;&gt;Basic Stamp Email&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
The following command emails the current temperature measured by a serial temperature sensor.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;SEROUT 8,16468,[&amp;quot;[[[email|support@iobridge.com|My Temperature|My temperature in my room is &amp;quot;, SDEC tempF,&amp;quot;.]]]&amp;quot;]&lt;/pre&gt;

&lt;p&gt;
&lt;em&gt;Sends serial data out of pin 8 of a BS2 at a buad rate of 9600 with a true signal - SDEC tempF is from a serial sensor hooked up to the BS2&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Basic Stamp Email&quot; [5844-6238] --&gt;
&lt;h2&gt;&lt;a name=&quot;projects&quot; id=&quot;projects&quot;&gt;Projects&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iamshadowlord.com/2009/06/internet-enabled-message-center.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iamshadowlord.com/2009/06/internet-enabled-message-center.html&quot;  rel=&quot;nofollow&quot;&gt;Internet-enabled Message Center&lt;/a&gt; - Project from ioBridge user that uses the Arduino and the Serial Web Services &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; to get stock quotes, get weather, and send email.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Projects&quot; [6239-6503] --&gt;
&lt;h2&gt;&lt;a name=&quot;resources&quot; id=&quot;resources&quot;&gt;Resources&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.net/wiki/smart-boards/serial-smart-board&quot; class=&quot;wikilink1&quot; title=&quot;smart-boards:serial-smart-board&quot;&gt;Serial Smart Board (SB-5)&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.com/technology/web-enabled-arduino.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.iobridge.com/technology/web-enabled-arduino.html&quot;  rel=&quot;nofollow&quot;&gt;Web-enabled Arduino&lt;/a&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Resources&quot; [6504-] --&gt;</description>
        <category>api</category>
            <pubDate>Sun, 18 Apr 2010 21:24:18 -0400</pubDate>
        </item>
        <item>
            <title>Shell Script Widget Control API</title>
            <link>http://www.iobridge.net/wiki/api/shell-scripting-non-javascript-widget-control-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;shell-script-widget-control-api&quot; id=&quot;shell-script-widget-control-api&quot;&gt;Shell Script Widget Control API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This is a method of controlling widgets using &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt; requests only, and as such is amenable to being placed into Unix-like shell scripts.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Shell Script Widget Control API&quot; [1-182] --&gt;
&lt;h2&gt;&lt;a name=&quot;uri-method-summary&quot; id=&quot;uri-method-summary&quot;&gt;URI Method summary&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
There is a two-step procedure to talk to a widget.  You will need to know
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; the current time (in milliseconds from epoch; use the command “date +%s” from a GNU date or the result from the C function time() to get this time in seconds).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; your widgetID.  See &lt;a href=&quot;http://www.iobridge.net/wiki/api/javascript-widget-control-api&quot; class=&quot;wikilink1&quot; title=&quot;api:javascript-widget-control-api&quot;&gt;JavaScript Widget Control API&lt;/a&gt; for how to obtain a widgetID.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

The procedure is as follows.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Get a sessionID for your widget.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Send a message to your widget using the sessionID.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;getting-a-sessionid&quot; id=&quot;getting-a-sessionid&quot;&gt;Getting a sessionID&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Make a request for some JavaScript code using this &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt;:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
https://www.iobridge.com/interface/?actionID=RM_Widget&amp;amp;widgetID=XXXXXXXX&amp;amp;dt=NNNNNNNNN
&lt;/pre&gt;

&lt;p&gt;

Substitute XXXXXXXX with your widgetID and NNNNNNNN with the time in base 10.
&lt;/p&gt;

&lt;p&gt;
The server responds with a block of JavaScript which contains the sessionID.  The code is
somewhat tricky, and may change, but the data we need is in the first argument to the
JavaScript function DI().  This argument is a &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt; enclosed by &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;-encoded quotes.  This
&lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt; contains the sessionID, but the whole &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt; can be used as as stem for sending an
action to the widget, and will be called AAAAAAAA.
&lt;/p&gt;

&lt;/div&gt;

&lt;h4&gt;&lt;a name=&quot;using-the-action-base-uri-to-activate-a-widget&quot; id=&quot;using-the-action-base-uri-to-activate-a-widget&quot;&gt;Using the action base URI to activate a widget&lt;/a&gt;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
This is fairly simple.  Suppose your widget takes a value (e.g., serial send
widget, or servo variable position); then make a request with this &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt;:

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;
AAAAAAAA&amp;amp;setValue=MMMMMMMM&amp;amp;dt=NNNNNNNN
&lt;/pre&gt;

&lt;p&gt;

Substitute AAAAAAAA with the action base &lt;acronym title=&quot;Uniform Resource Identifier&quot;&gt;URI&lt;/acronym&gt; found above (it has the sessionID and widgetID encoded into it).  Substitute MMMMMMMM with the value to send to the widget in text.  (It&amp;#039;s a good idea to &lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt;-encode it if you&amp;#039;re not sanitizing the inputs.) Again, NNNNNNNN is the current time.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;URI Method summary&quot; [183-1877] --&gt;
&lt;h2&gt;&lt;a name=&quot;example-bash-script&quot; id=&quot;example-bash-script&quot;&gt;Example bash script&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
There is some sample code.  Replace the widgetIDs marked in the function parsewidget() with your own.  This script has been tested with a &lt;a href=&quot;http://www.iobridge.net/wiki/function-boards/serial-lcd&quot; class=&quot;wikilink1&quot; title=&quot;function-boards:serial-lcd&quot;&gt;Serial LCD (FB-7)&lt;/a&gt; and &lt;a href=&quot;http://www.iobridge.net/wiki/smart-boards/servo-controller-smart-board&quot; class=&quot;wikilink1&quot; title=&quot;smart-boards:servo-controller-smart-board&quot;&gt;Servo Controller Smart Board (SB-1)&lt;/a&gt;.
modules.
&lt;/p&gt;

&lt;p&gt;
This script requires the external commands “date”, “wget” and “hexdump”.  They are fairly common on most Unix/Linux/BSD systems.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Date_(Unix)&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Date_(Unix)&quot;  rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Date_(Unix)&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Wget&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Wget&quot;  rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Wget&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Hexdump&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Hexdump&quot;  rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Hexdump&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co0&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Daniel F. Smith, iobridge@dfsmith.net&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# Usage:&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    iobridge.sh &amp;lt;widget&amp;gt; message [message...]&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# The &amp;lt;widget&amp;gt; argument can be the widgetID or a friendly name&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# (see the parsewidget function).  If the friendly name starts   &lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# with &amp;quot;lcd&amp;quot;, then some convenient substitutions will be made&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# to the message (see the parsemessage function).&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;# E.g.,&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    ./iobridge.sh lcd '%clear%Hello world!'&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    ./iobridge.sh servo 400 2000 400&lt;/span&gt;
&lt;span class=&quot;co0&quot;&gt;#    ./iobridge.sh wuQRD6ENmrDq 1000&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;WGET&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;wget&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;HEXDUMP&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;usr&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;hexdump&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;DATE&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;bin&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;date&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; gethttp &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;re1&quot;&gt;$WGET&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-qO-&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; urlencode &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;r&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$HEXDUMP&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-ve&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;'/1 &amp;quot; %02X&amp;quot;'&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${r// /%}&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; stripquote &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;x&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;x&lt;/span&gt;=&lt;span class=&quot;co1&quot;&gt;${x/#\&amp;amp;\#39;/}&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;x&lt;/span&gt;=&lt;span class=&quot;co1&quot;&gt;${x/%\&amp;amp;\#39;/}&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$x&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; getTime &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; $&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span class=&quot;re1&quot;&gt;$SECONDS&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt; 1000 &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; getactionbaseurl &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;widget&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;
&amp;nbsp;
   &lt;span class=&quot;re2&quot;&gt;rmbaseurl&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;https://www.iobridge.com/interface/?actionID=RM_Widget&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;rmurl&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${rmbaseurl}&lt;/span&gt;&amp;amp;widgetID=&lt;span class=&quot;es3&quot;&gt;${widget}&lt;/span&gt;&amp;amp;dt=&lt;span class=&quot;es5&quot;&gt;`getTime`&lt;/span&gt;&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;rmdata&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;gethttp &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$rmurl&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&amp;nbsp;
   &lt;span class=&quot;re2&quot;&gt;diargs&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${rmdata/*DI\(/}&lt;/span&gt;&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;diargs&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${diargs/\)*/}&lt;/span&gt;&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;diarg1&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;stripquote &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${diargs/,*/}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$diarg1&lt;/span&gt;&amp;quot;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; parsewidget &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt;
   lcd&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Aj4OEj3OSzDw&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# dfsmith's personal LCD widget&lt;/span&gt;
      &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
   servo &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; servo1&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;wuQRD6ENmrDq&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# dfsmith's personal servo&lt;/span&gt;
      &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
   &lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
      &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;esac&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;function&lt;/span&gt; parsemessage &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;$2&amp;quot;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt;
   lcd&lt;span class=&quot;sy0&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;lcdesc&lt;/span&gt;=$&lt;span class=&quot;st_h&quot;&gt;'\xFE'&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%escape%/${lcdesc}&lt;/span&gt;}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%bright%/${lcdesc}&lt;/span&gt;B}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;X&amp;quot; (0-9)&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%delaybright%/${lcdesc}&lt;/span&gt;T}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;XD&amp;quot; (0-9,binary delay)&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%reset%/${lcdesc}&lt;/span&gt;Z}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%clear%/${lcdesc}&lt;/span&gt;C}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%home%/${lcdesc}&lt;/span&gt;H}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%move%/${lcdesc}&lt;/span&gt;L}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;RRCC&amp;quot; (row column)&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%cursoroff%/${lcdesc}&lt;/span&gt;K}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%cursoron%/${lcdesc}&lt;/span&gt;J}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%cursorblink%/${lcdesc}&lt;/span&gt;P}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%cursorsteady%/${lcdesc}&lt;/span&gt;Q}&amp;quot;&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%scroll%/${lcdesc}&lt;/span&gt;S}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;RS...\xFE&amp;quot; (row,speed)&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%hbar%/${lcdesc}&lt;/span&gt;G}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;RLLHHX&amp;quot; (row,L-label,R-label,a-k)&lt;/span&gt;
      &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${message//%vbar%/${lcdesc}&lt;/span&gt;V}&amp;quot;&lt;/span&gt; &lt;span class=&quot;co0&quot;&gt;# &amp;quot;X&amp;quot; (0-8)&lt;/span&gt;
      &lt;span class=&quot;sy0&quot;&gt;;;&lt;/span&gt;
   &lt;span class=&quot;kw1&quot;&gt;esac&lt;/span&gt;
   &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;urlencode &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$message&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;SECONDS&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;re1&quot;&gt;$DATE&lt;/span&gt; +&lt;span class=&quot;sy0&quot;&gt;%&lt;/span&gt;s&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;logicalwidget&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;; &lt;span class=&quot;kw3&quot;&gt;shift&lt;/span&gt;
&lt;span class=&quot;re2&quot;&gt;widget&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;parsewidget &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$logicalwidget&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re2&quot;&gt;actionbaseurl&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es5&quot;&gt;`getactionbaseurl &amp;quot;$widget&amp;quot;`&lt;/span&gt;&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;!&lt;/span&gt;= &lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;message&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;; &lt;span class=&quot;kw3&quot;&gt;shift&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;encodedmessage&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;parsemessage &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$logicalwidget&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$message&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
   &lt;span class=&quot;re2&quot;&gt;actionurl&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es3&quot;&gt;${actionbaseurl}&lt;/span&gt;&amp;amp;setValue=&lt;span class=&quot;es3&quot;&gt;${encodedmessage}&lt;/span&gt;&amp;amp;dt=&lt;span class=&quot;es5&quot;&gt;`getTime`&lt;/span&gt;&amp;quot;&lt;/span&gt;
   gethttp &lt;span class=&quot;st0&quot;&gt;&amp;quot;&lt;span class=&quot;es2&quot;&gt;$actionurl&lt;/span&gt;&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;gt;/&lt;/span&gt;dev&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;null
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Example bash script&quot; [1878-] --&gt;</description>
        <category>api</category>
            <pubDate>Thu, 02 Jul 2009 23:35:32 -0400</pubDate>
        </item>
        <item>
            <title>Static Widget API</title>
            <link>http://www.iobridge.net/wiki/api/static-widget-api</link>
            <description>


&lt;h1&gt;&lt;a name=&quot;static-widget-api&quot; id=&quot;static-widget-api&quot;&gt;Static Widget API&lt;/a&gt;&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
This &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; allows you to interact with your widgets via static &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; POST/GET calls vs. dynamic scripting. This enables direct and open access to your widgets to support third-party desktop and mobile applications.
&lt;/p&gt;

&lt;p&gt;
The &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; is simple enough for mobile phones to control and monitor widgets and robust enough to support LabVIEW applications.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Static Widget API&quot; [1-371] --&gt;
&lt;h2&gt;&lt;a name=&quot;get-the-widgetid&quot; id=&quot;get-the-widgetid&quot;&gt;Get the &amp;quot;widgetID&amp;quot;&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
A widget created on the ioBridge.com Interface created an embed tag for use on websites. To connect the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; calls to the widget you will need the the “widgetID”.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.iobridge.net/wiki/_detail/api/widgetid.jpg?id=api%3Astatic-widget-api&quot; class=&quot;media&quot; title=&quot;api:widgetid.jpg&quot;&gt;&lt;img src=&quot;http://www.iobridge.net/wiki/_media/api/widgetid.jpg&quot; class=&quot;media&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Get the widgetID&quot; [372-590] --&gt;
&lt;h2&gt;&lt;a name=&quot;api-access&quot; id=&quot;api-access&quot;&gt;API Access&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To access the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;, you can use GET or POST calls. You can also use “http” or “https” to send &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; calls.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;API Access&quot; [591-718] --&gt;
&lt;h3&gt;&lt;a name=&quot;http-get&quot; id=&quot;http-get&quot;&gt;HTTP GET&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/widgets/static/id=[widgetID]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;HTTP GET&quot; [719-804] --&gt;
&lt;h3&gt;&lt;a name=&quot;http-post&quot; id=&quot;http-post&quot;&gt;HTTP POST&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/widgets/static/post
id=[widgetID]&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;HTTP POST&quot; [805-896] --&gt;
&lt;h2&gt;&lt;a name=&quot;parameters&quot; id=&quot;parameters&quot;&gt;Parameters&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
To send additional parameters to the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;, use an ”&amp;amp;” as a delimiter for each parameter passed.
&lt;/p&gt;

&lt;p&gt;
Here is an example:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;http://www.iobridge.com/widgets/static/id=[widgetID]&amp;amp;value=1&amp;amp;format=xml&lt;/pre&gt;

&lt;p&gt;
Here are the parameters that you can send to the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt;:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Parameters&quot; [897-1177] --&gt;
&lt;h3&gt;&lt;a name=&quot;id&quot; id=&quot;id&quot;&gt;id&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;Required&lt;/em&gt; - widgetID of widget created on the ioBridge.com Interface
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;id&quot; [1178-1263] --&gt;
&lt;h3&gt;&lt;a name=&quot;value&quot; id=&quot;value&quot;&gt;value&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;Optional&lt;/em&gt; - Value to be passed to the widget (&lt;acronym title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/acronym&gt; encoded)

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Logic High/On/1&lt;/strong&gt; -  value=1&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Logic Low/Off/0&lt;/strong&gt; -  value=0&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;value&quot; [1264-1413] --&gt;
&lt;h3&gt;&lt;a name=&quot;format&quot; id=&quot;format&quot;&gt;format&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;Optional&lt;/em&gt; - Type of format for the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; response (Default is Text)

&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Text&lt;/strong&gt; - format=text&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt;&lt;/strong&gt; - format=html&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;acronym title=&quot;Wireless Access Protocol&quot;&gt;WAP&lt;/acronym&gt;/&lt;acronym title=&quot;Wireless Markup Language&quot;&gt;WML&lt;/acronym&gt;&lt;/strong&gt; - format=wml&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;&lt;acronym title=&quot;Extensible Markup Language&quot;&gt;XML&lt;/acronym&gt;&lt;/strong&gt; - format=xml&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;VXML&lt;/strong&gt; - format=vxml&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;JSON&lt;/strong&gt; - format=json&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;format&quot; [1414-1663] --&gt;
&lt;h3&gt;&lt;a name=&quot;callback&quot; id=&quot;callback&quot;&gt;callback&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;Optional&lt;/em&gt; - Callback parameter for JSONP objects and cross-domain scripting
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;callback&quot; [1664-1762] --&gt;
&lt;h2&gt;&lt;a name=&quot;api-responses&quot; id=&quot;api-responses&quot;&gt;API Responses&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
A call to the &lt;acronym title=&quot;Application Programming Interface&quot;&gt;API&lt;/acronym&gt; returns a response depending on the success and type of request. The response will be wrapped in the appropriate headers if the format parameter is passed.
&lt;/p&gt;

&lt;p&gt;
Here are the following possible responses:
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;API Responses&quot; [1763-2007] --&gt;
&lt;h3&gt;&lt;a name=&quot;sent&quot; id=&quot;sent&quot;&gt;Sent&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;If you send a command to a control widget and the command was issued successfully, you will get the word “Sent” returned back to you&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Sent&quot; [2008-2160] --&gt;
&lt;h3&gt;&lt;a name=&quot;error&quot; id=&quot;error&quot;&gt;Error&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;If you send a command to a control or monitor widget and the command was issued unsuccessfully, you will get the word “Error” returned back to you&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Error&quot; [2161-2328] --&gt;
&lt;h3&gt;&lt;a name=&quot;offline&quot; id=&quot;offline&quot;&gt;Offline&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;If the module is offline, the response will be “Offline”&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Offline&quot; [2329-2408] --&gt;
&lt;h3&gt;&lt;a name=&quot;values&quot; id=&quot;values&quot;&gt;Values&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;em&gt;If you send a call to a monitor widget, you will receive a scaled or labeled value depending on the widget settings&lt;/em&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Values&quot; [2409-2546] --&gt;
&lt;h2&gt;&lt;a name=&quot;example-applications&quot; id=&quot;example-applications&quot;&gt;Example Applications&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Example Applications&quot; [2547-2579] --&gt;
&lt;h3&gt;&lt;a name=&quot;secure-html-form&quot; id=&quot;secure-html-form&quot;&gt;Secure HTML Form&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This is an &lt;acronym title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/acronym&gt; form that uses &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; POST to send a value to a control widget. 

&lt;/p&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;Static Widget API with HTML Form&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/title.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;title&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/head.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;head&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/form.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;form&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;action&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;https://www.iobridge.com/widgets/static/post&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;method&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;post&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt; 
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/textarea.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;textarea&lt;/span&gt;&lt;/a&gt; row&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;2&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;cols&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;16&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;value&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/textarea.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;textarea&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/br.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;br&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/input.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;input&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;id&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;ah0MtPBUZN5c&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;       
          &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/input.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;input&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;submit&amp;quot;&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;value&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Submit&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;          
        &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/form.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;form&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/body.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;body&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt; 
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/html.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;html&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;Secure HTML Form&quot; [2580-3127] --&gt;
&lt;h3&gt;&lt;a name=&quot;wapwml-page&quot; id=&quot;wapwml-page&quot;&gt;WAP/WML Page&lt;/a&gt;&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
This example is a &lt;acronym title=&quot;Wireless Markup Language&quot;&gt;WML&lt;/acronym&gt; formatted page to control a digital output using &lt;acronym title=&quot;Hyper Text Transfer Protocol&quot;&gt;HTTP&lt;/acronym&gt; GET calls.

&lt;/p&gt;
&lt;pre class=&quot;code html4strict&quot;&gt;&lt;span class=&quot;sc2&quot;&gt;&amp;lt;?xml &lt;span class=&quot;kw3&quot;&gt;version&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;?&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc0&quot;&gt;&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//WAPFORUM//DTD WML 2.0//EN&amp;quot;&lt;/span&gt;
&lt;span class=&quot;sc0&quot;&gt;    &amp;quot;http://www.wapforum.org/dtd/wml20.dtd&amp;quot;&amp;gt;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;wml&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;card &lt;span class=&quot;kw3&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Room Lights&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/widgets/static/id=s3T4SXSOjH4X&amp;amp;value=1&amp;amp;format=wml&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;On&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
    &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt; &lt;span class=&quot;kw3&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;http://www.iobridge.com/widgets/static/id=s3T4SXSOjH4X&amp;amp;value=0&amp;amp;format=wml&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;Off&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/a.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;a&lt;/span&gt;&lt;/a&gt;&amp;gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;&lt;a href=&quot;http://december.com/html/4/element/p.html&quot;&gt;&lt;span class=&quot;kw2&quot;&gt;p&lt;/span&gt;&lt;/a&gt;&amp;gt;&lt;/span&gt;
  &lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;card&amp;gt;&lt;/span&gt;
&lt;span class=&quot;sc2&quot;&gt;&amp;lt;&lt;span class=&quot;sy0&quot;&gt;/&lt;/span&gt;wml&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- SECTION &quot;WAP/WML Page&quot; [3128-] --&gt;</description>
        <category>api</category>
            <pubDate>Wed, 24 Mar 2010 17:42:39 -0400</pubDate>
        </item>
    </channel>
</rss>
