<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Chinese brand PSU_monitoring rs485 and Mango]]></title><description><![CDATA[<p dir="auto">I would like to add a Chines brand PSU monitorng device to Mango.<br />
from now on called "PSU"</p>
<p dir="auto">connection in between is PC -usb_rs485 adapter and PSU is rs485 port.</p>
<p dir="auto"><a href="/forum/uploads/files/1477579565568-psumonitoring_protocol.pdf">0_1477579559365_PSUmonitoring_protocol.pdf</a></p>
<p dir="auto">at the moment i am trying to get a "hit" with the Modscan node scan with following settings. but no luck</p>
<p dir="auto"><img src="https://camo.nodebb.org/0390a78603a3e9cfc9a1e7ed0847772ec7a619d9?url=https%3A%2F%2Fi.imgur.com%2FaYkyXfU.png" alt="0_1477579694887_upload-83782730-4a57-44fc-84c1-33dd89dccdb9" class=" img-fluid img-markdown" /></p>
<p dir="auto">It looks not like a standard Modbus protocol to me ( iam a newby) , and i dont know what protocol its talks , or what i should use in Mango.</p>
<p dir="auto">maybe someone can shine a light on it, and helping complete this how to.</p>
]]></description><link>https://forum.mango-os.com/topic/2517/chinese-brand-psu_monitoring-rs485-and-mango</link><generator>RSS for Node</generator><lastBuildDate>Thu, 11 Jun 2026 22:08:09 GMT</lastBuildDate><atom:link href="https://forum.mango-os.com/topic/2517.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 27 Oct 2016 14:50:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Wed, 28 Dec 2016 21:45:27 GMT]]></title><description><![CDATA[<p dir="auto">You can also run:</p>
<pre><code>delete from events
</code></pre>
<p dir="auto">In Mango's SQL console to flush the events table.<br />
Also, this thread is 💯. Great work all.</p>
]]></description><link>https://forum.mango-os.com/post/13564</link><guid isPermaLink="true">https://forum.mango-os.com/post/13564</guid><dc:creator><![CDATA[jeremyh]]></dc:creator><pubDate>Wed, 28 Dec 2016 21:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:56:49 GMT]]></title><description><![CDATA[<p dir="auto">i do see now, i got some Years in there that are far from now, gehehe . thats why it didnt had effect probably..</p>
<p dir="auto">thnx for the pointers.</p>
]]></description><link>https://forum.mango-os.com/post/13185</link><guid isPermaLink="true">https://forum.mango-os.com/post/13185</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:56:49 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:54:33 GMT]]></title><description><![CDATA[<p dir="auto">Ah, got it. So, to the right of that button are two date input fields. These restrict the range of the events in the display, and those which are acknowledged with the "Acknowledge all in view" button. The "Clear Dates" button just empties these fields, such that there is no date restriction on the events displayed on the page.</p>
]]></description><link>https://forum.mango-os.com/post/13184</link><guid isPermaLink="true">https://forum.mango-os.com/post/13184</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:54:33 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:50:47 GMT]]></title><description><![CDATA[<p dir="auto">i was refering to this :</p>
<p dir="auto"><img src="https://camo.nodebb.org/82fb4d0b0e48a4d053e0f1eabe44bc5628ad9cc8?url=https%3A%2F%2Fi.imgur.com%2FmIhgFLn.png" alt="0_1478634603932_upload-0ef18116-152a-4813-84f0-59d3cf60c4e5" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.mango-os.com/post/13183</link><guid isPermaLink="true">https://forum.mango-os.com/post/13183</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:50:47 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:46:14 GMT]]></title><description><![CDATA[<p dir="auto">Events can be purged from the system settings page, as well as setting a system policy for purging old events, and you can set the data source's event levels to DO_NOT_LOG if you expect it to generate a lot of events on the data source's edit page.</p>
<p dir="auto">I am not sure what you're refering to as 'clear dates' so I may not have understood exactly correct. Events on the events page (/events.shtm) get 'Acknowledged' to clear them from a user's view in the header. Actual deleting is handled by the purge settings in the system settings page, under "Purge settings"</p>
]]></description><link>https://forum.mango-os.com/post/13182</link><guid isPermaLink="true">https://forum.mango-os.com/post/13182</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:46:14 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:40:51 GMT]]></title><description><![CDATA[<p dir="auto">Thanks Phil(lips) , i am going to play with it ,   little stupid off topic question  :</p>
<p dir="auto">"How to purge all Information on "Urgent events" or "information " .  seems there is no option/knob when viewing the list. ( clear dates , seem to do nothing when selected periode )</p>
]]></description><link>https://forum.mango-os.com/post/13181</link><guid isPermaLink="true">https://forum.mango-os.com/post/13181</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:35:45 GMT]]></title><description><![CDATA[<p dir="auto">The first approach's benefit is just somewhat more efficiently extract many points' values from a single message. You can still do that with meta points, where the incoming message provides a context update to all the meta points. Also, you can return the DoorAlarm[1] in the meta point if the meta point is Numeric and it will be treated as a Numeric. The "DoorAlarm" string portion is just to identify the point in the object (map, dictionary) in the script, where the value portion would be set out to data points created on the scripting data source. Those points on the scripting data source would ultimately be used for displays or dashboards.</p>
]]></description><link>https://forum.mango-os.com/post/13180</link><guid isPermaLink="true">https://forum.mango-os.com/post/13180</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:35:45 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 19:23:15 GMT]]></title><description><![CDATA[<p dir="auto">Did made some progress, via an other approach ;</p>
<p dir="auto">Created : tcp/ip source ( 2 sec update period )<br />
Created : Data Point to that :</p>
<pre><code>     "loggingType":"NONE",
     "dataType":"ALPHANUMERIC",
     "queryable":true,
      "readCommand":"&lt;your_hex_request_for_your_device&gt;",
      "settable":false,
      "valueIndex":0,
      "valueRegex":".*",
</code></pre>
<p dir="auto">Created META-source<br />
Created : Data Point to that :</p>
<pre><code>     "name":"DoorAlarm",
     "enabled":true,
     "dataType":"ALPHANUMERIC",
     "updateContext":true,
     "varName":"p110"
</code></pre>
<p dir="auto">added in script field :</p>
<pre><code>// get Hex from source

// Alarm relays Bit ( 1 is Alarm )
var DoorAlarm = /[0-9A-Fa-f]{185}([0-9A-Fa-f]{1}).*/.exec(p110.value); 
var extractedValue = DoorAlarm[1];

// payload
return "DoorAlarm- " + DoorAlarm[1];
</code></pre>
<p dir="auto">...</p>
<p dir="auto">So i added some other "Meta-data points" for other values.<br />
This works ok, and i can understand how it works.</p>
<p dir="auto">Now the first approach has probably benefits in setting up many same kind devices/values i guess , so i am focusing on that as well , as i would like to understand how that should work.</p>
]]></description><link>https://forum.mango-os.com/post/13179</link><guid isPermaLink="true">https://forum.mango-os.com/post/13179</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Tue, 08 Nov 2016 19:23:15 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 08 Nov 2016 11:02:47 GMT]]></title><description><![CDATA[<p dir="auto">Alright. made some changes as, reading where not what the should be. now i get the right results from reading the Hex.</p>
<p dir="auto">Script "message Queue"</p>
<pre><code>// get Hex from source

var busVoltage = /[0-9A-Fa-f]{30}([0-9A-Fa-f]{16}).*/.exec(source.value); 
var extractedValue = busVoltage[1];

var PsuLoad = /[0-9A-Fa-f]{78}([0-9A-Fa-f]{16}).*/.exec(source.value); 
var extractedValue = PsuLoad[1];

// Alarm relays Bit ( 1 is Alarm )
var Alarm = /[0-9A-Fa-f]{185}([0-9A-Fa-f]{1}).*/.exec(source.value); 
var extractedValue = Alarm[1];

// door alarm Bit (1 is Door open )
var DoorAlarm = /[0-9A-Fa-f]{185}([0-9A-Fa-f]{1}).*/.exec(source.value); 
var extractedValue = DoorAlarm[1];


var message = busVoltage[1];

function toASCII(message) {
  var result = "";
  while(message.length &gt; 1) { //parse two characters at a time
     var charCode = message.substr(0, 2);
     result += String.fromCharCode( "0x" + charCode );
     message = message.substr(2); 
  }
  return result;
}

// swap bytes /hex

function swap32(val) {
return ((val &amp; 0xFF) &lt;&lt; 24)
       | ((val &amp; 0xFF00) &lt;&lt; 8)
       | ((val &gt;&gt; 8) &amp; 0xFF00)
       | ((val &gt;&gt; 24) &amp; 0xFF);
}

//print (message);


function hex2float(num) {
    var sign = (num &amp; 0x80000000) ? -1 : 1;
    var exponent = ((num &gt;&gt; 23) &amp; 0xff) - 127;
    var mantissa = 1 + ((num &amp; 0x7fffff) / 0x7fffff);
    return sign * mantissa * Math.pow(2, exponent);
}


function roundToTwo(num) {    
    return +(Math.round(num + "e+2")  + "e-2");
}


// covert Hex to String
var subresult = (toASCII(message));
// create human readabe number
var result = (roundToTwo(hex2float("0x" +subresult)));

// send payload
return target.value + "MainAlarm-" + Alarm[1] + ";" + "Door-" + DoorAlarm[1] + ";" + "busvolt-" + result + ";" ;

</code></pre>
<p dir="auto">at this point i get as result : MainAlarm-0;Door-0;busvolt-53.68;</p>
<p dir="auto">thats correct.</p>
<p dir="auto">so i have right input , further i am still completely lost in how i should proceed.</p>
<p dir="auto">i added my other (modbus) device and thats straight forward , enter the source and add data points to it. thats easy.<br />
now why cant i see the logic for the other source..</p>
]]></description><link>https://forum.mango-os.com/post/13178</link><guid isPermaLink="true">https://forum.mango-os.com/post/13178</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Tue, 08 Nov 2016 11:02:47 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 22:42:16 GMT]]></title><description><![CDATA[<p dir="auto">Well, looks something is working :</p>
<p dir="auto"><img src="https://camo.nodebb.org/d8679988c81182ba3e8dfed822655f685e0f2d22?url=https%3A%2F%2Fi.imgur.com%2FlJrxto5.png" alt="0_1478299096889_upload-f087c10f-9c3c-4807-abed-a0e87d2523ed" class=" img-fluid img-markdown" /></p>
<p dir="auto">i ques this is normal ?</p>
]]></description><link>https://forum.mango-os.com/post/13153</link><guid isPermaLink="true">https://forum.mango-os.com/post/13153</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 22:42:16 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 21:22:24 GMT]]></title><description><![CDATA[<p dir="auto">I would then modify the</p>
<pre><code>return target.value + result + ";" ;
</code></pre>
<p dir="auto">to</p>
<pre><code>return target.value + "busvolt-" + result + ";" ;
</code></pre>
<p dir="auto">But I think you will want to support multiple data extractions from the same message, like,</p>
<pre><code>return target.value + "busvolt-" + result + ";otherMeasuredValue-" + result2 ;
</code></pre>
<p dir="auto">Also, you may have to have call parseFloat, like so:</p>
<pre><code>identifierMap[ messageInfo[0] ].set( parseFloat( messageInfo[1] ));</code></pre>
]]></description><link>https://forum.mango-os.com/post/13152</link><guid isPermaLink="true">https://forum.mango-os.com/post/13152</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Fri, 04 Nov 2016 21:22:24 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 20:52:41 GMT]]></title><description><![CDATA[<p dir="auto">this is what i got,</p>
<p dir="auto"><img src="https://camo.nodebb.org/639c5ebbacd3499518284178a1c9ea3ffd9e2ab6?url=https%3A%2F%2Fi.imgur.com%2FH9mj4Yv.png" alt="0_1478292636682_upload-dbe30c51-4e24-4816-b5c5-ae67b8d033fc" class=" img-fluid img-markdown" /></p>
<p dir="auto">and point link details :</p>
<p dir="auto"><img src="https://camo.nodebb.org/344ad680804a2c986375a94c340abd1403691d3f?url=https%3A%2F%2Fi.imgur.com%2FUYAJOgt.png" alt="0_1478292718157_upload-66e0378e-4c51-419e-81e5-ae06d0dbb617" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.mango-os.com/post/13151</link><guid isPermaLink="true">https://forum.mango-os.com/post/13151</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 20:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 19:52:34 GMT]]></title><description><![CDATA[<p dir="auto">Yeah. It looks like right now you're setting message queue to something like</p>
<p dir="auto">49.73;49.73;49.73;</p>
<p dir="auto">The identifier would be useful if you have multiple values to get out of a message. You explicitly know their positions when you extract the values, so you can give them something you can identify them with. So instead your message queue may look like,</p>
<p dir="auto">busVoltage-49.73;busVoltage-49.73;busVoltage-49.73;otherValue-106.2;yetAnotherValue-78.1;</p>
<p dir="auto">such that you could identify where to set those values out to in the script.</p>
]]></description><link>https://forum.mango-os.com/post/13150</link><guid isPermaLink="true">https://forum.mango-os.com/post/13150</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Fri, 04 Nov 2016 19:52:34 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 19:48:24 GMT]]></title><description><![CDATA[<p dir="auto">"messageIdentiefier"  is the variable/object coming from point link script right ?</p>
]]></description><link>https://forum.mango-os.com/post/13149</link><guid isPermaLink="true">https://forum.mango-os.com/post/13149</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 19:48:24 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 19:27:00 GMT]]></title><description><![CDATA[<p dir="auto">That's just a variable name, so that later in the script you can type</p>
<pre><code>var ident = "messageIdentifier";
identifierMap[ ident ].set( /*your value here*/ );
</code></pre>
<p dir="auto">Where context points are added to the script through the UI of the Scripting data source.</p>
]]></description><link>https://forum.mango-os.com/post/13148</link><guid isPermaLink="true">https://forum.mango-os.com/post/13148</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Fri, 04 Nov 2016 19:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 19:23:07 GMT]]></title><description><![CDATA[<p dir="auto">ok learned "Object"</p>
<p dir="auto">Can someone point me some explanation links about :</p>
<pre><code>var identifierMap = { "messageIdentifier" : contextPoint1 ....  } 
</code></pre>
<p dir="auto">cant find much on " indentifierMap " on internet somehow.</p>
]]></description><link>https://forum.mango-os.com/post/13147</link><guid isPermaLink="true">https://forum.mango-os.com/post/13147</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 19:23:07 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 16:43:17 GMT]]></title><description><![CDATA[<p dir="auto">Ha! Well, we'll see how the politics here go ;)</p>
<p dir="auto">Identifier is just a name that you can use in both places. Object is a JavaScript term for things defined as { "key": value }. Other names are Map and Dictionary.</p>
]]></description><link>https://forum.mango-os.com/post/13145</link><guid isPermaLink="true">https://forum.mango-os.com/post/13145</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Fri, 04 Nov 2016 16:43:17 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 16:38:01 GMT]]></title><description><![CDATA[<p dir="auto">identifiers, object  etc, is probably JavaScript terms....hmm and i was thinking it was almost done, gehehe.<br />
i need a neighbor with programming skills ( the neighbors house is for sale btw )<br />
so back to learning books ..</p>
]]></description><link>https://forum.mango-os.com/post/13144</link><guid isPermaLink="true">https://forum.mango-os.com/post/13144</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 16:38:01 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 16:16:55 GMT]]></title><description><![CDATA[<p dir="auto">Looking at your message queue, there are no identifiers. I assume this is because this is always for the same point. You could connect the point link to a point directly representing that value, if there is only one point's value in a message. Otherwise, you'll want some identifiers so that your script can parse the message queue and set points identified by the identifier to the value. I would have the identifiers in an object, where the object looks something like...</p>
<pre><code>{ "identifier1" : p334, .....}
</code></pre>
<p dir="auto">Where p334 is the variable name for the context point of the script.</p>
]]></description><link>https://forum.mango-os.com/post/13143</link><guid isPermaLink="true">https://forum.mango-os.com/post/13143</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Fri, 04 Nov 2016 16:16:55 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Fri, 04 Nov 2016 16:11:51 GMT]]></title><description><![CDATA[<p dir="auto">i got this in " point links as script " , is this ok ?</p>
<p dir="auto"><img src="https://camo.nodebb.org/e330c20cd7642e26ac1386bdd3a24413ab049efb?url=https%3A%2F%2Fi.imgur.com%2FKBLZ580.png" alt="0_1478275755900_upload-2b88dd9b-44ca-49ba-82c2-ab67bf96dfa0" class=" img-fluid img-markdown" /></p>
<p dir="auto">and what to put in :</p>
<p dir="auto">the script - source script. ?</p>
<p dir="auto">i tried 1000 different combinations. and reading the wiki / manuals.  but sorry, i don't<br />
get it...</p>
]]></description><link>https://forum.mango-os.com/post/13141</link><guid isPermaLink="true">https://forum.mango-os.com/post/13141</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Fri, 04 Nov 2016 16:11:51 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Thu, 03 Nov 2016 11:34:22 GMT]]></title><description><![CDATA[<p dir="auto">now put all this in Mango needs again some pointers i think..</p>
]]></description><link>https://forum.mango-os.com/post/13118</link><guid isPermaLink="true">https://forum.mango-os.com/post/13118</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Thu, 03 Nov 2016 11:34:22 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Thu, 03 Nov 2016 10:54:12 GMT]]></title><description><![CDATA[<p dir="auto">Perfectum Resultativum ;</p>
<p dir="auto"><img src="https://camo.nodebb.org/b85ee8540d4ae373bbe82983a299b9e62f18a4a1?url=https%3A%2F%2Fi.imgur.com%2FEO6cBMB.png" alt="0_1478170444805_upload-5743d503-afdb-46f8-8648-2edc42e2fdcc" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.mango-os.com/post/13117</link><guid isPermaLink="true">https://forum.mango-os.com/post/13117</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Thu, 03 Nov 2016 10:54:12 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Thu, 03 Nov 2016 10:05:48 GMT]]></title><description><![CDATA[<p dir="auto">little update ,</p>
<p dir="auto">i found that i need to convert in javascript the with sort of</p>
<pre><code>function hex2float(num) {
var sign = (num &amp; 0x80000000) ? -1 : 1;
var exponent = ((num &gt;&gt; 23) &amp; 0xff) - 127;
var mantissa = 1 + ((num &amp; 0x7fffff) / 0x7fffff);
return sign * mantissa * Math.pow(2, exponent);
}



window.alert (hex2float("0xA4703942"));
//flipped does the trick
window.alert (hex2float("0x423970A4"));
// outcome 46,36..... ( not rounded )

``

so little progress here.</code></pre>
]]></description><link>https://forum.mango-os.com/post/13116</link><guid isPermaLink="true">https://forum.mango-os.com/post/13116</guid><dc:creator><![CDATA[hengst]]></dc:creator><pubDate>Thu, 03 Nov 2016 10:05:48 GMT</pubDate></item><item><title><![CDATA[Reply to Chinese brand PSU_monitoring rs485 and Mango on Tue, 01 Nov 2016 22:29:03 GMT]]></title><description><![CDATA[<p dir="auto">Nice!</p>
<p dir="auto">All the scripts use JavaScript.</p>
]]></description><link>https://forum.mango-os.com/post/13102</link><guid isPermaLink="true">https://forum.mango-os.com/post/13102</guid><dc:creator><![CDATA[phildunlap]]></dc:creator><pubDate>Tue, 01 Nov 2016 22:29:03 GMT</pubDate></item></channel></rss>