Author Topic: Autelis Control?  (Read 23418 times)

Offline Sammy2

  • Hero Member
  • *****
  • Posts: 603
  • Karma: +3/-3
Re: Autelis Control?
« Reply #15 on: August 09, 2016, 06:55:02 pm »
Thanks, that is helpful.  Once you get the Autelis installed I will want you to download a couple of xml files from it using your browser and a few urls.  This will describe the mapping as it relates to the circuits (Aux 1-7) , heater, filter, and booster.  Interesting that the spa blower is separate from the circuits.  Do you know whether this is attached to one of the aux relays inside the panel or is this actually connected to the solar heater circuit?  Does it only come on when the water temp reaches a certain temperature?  I'll probably be able to figure all this out when I see the xml dumps.

How many valve actuators do you have?  I count potentially 3 here is there a 4th?

I am not home right now and haven't taken the Jandy PCB out of the panel box yet so am not sure what is going on inside. I will find out for you (and me too) tonight. I'm ordering the basic Autelis Jandy device. It seems as if Autelis is in Pacific Time so I hope to have it by this weekend but am waiting for them to confirm it is the right unit.

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #16 on: August 09, 2016, 07:07:34 pm »
Awesome, finally there will be someone with the correct gear to get this all figured out.  I wrote the original a couple of years ago hoping to have someone with the equipment to give me the info to finish it off for Jandy.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline Sammy2

  • Hero Member
  • *****
  • Posts: 603
  • Karma: +3/-3
Re: Autelis Control?
« Reply #17 on: August 09, 2016, 07:15:47 pm »
Awesome, finally there will be someone with the correct gear to get this all figured out.  I wrote the original a couple of years ago hoping to have someone with the equipment to give me the info to finish it off for Jandy.

The order has been placed.

Offline Sammy2

  • Hero Member
  • *****
  • Posts: 603
  • Karma: +3/-3
Re: Autelis Control?
« Reply #18 on: August 11, 2016, 07:23:05 pm »
Thanks, that is helpful.  Once you get the Autelis installed I will want you to download a couple of xml files from it using your browser and a few urls.  This will describe the mapping as it relates to the circuits (Aux 1-7) , heater, filter, and booster.  Interesting that the spa blower is separate from the circuits.  Do you know whether this is attached to one of the aux relays inside the panel or is this actually connected to the solar heater circuit?  Does it only come on when the water temp reaches a certain temperature?  I'll probably be able to figure all this out when I see the xml dumps.

How many valve actuators do you have?  I count potentially 3 here is there a 4th?

I am expecting delivery tomorrow of the Autelis unit but won't have time to hook it up or provide answers to your questions until Saturday, possibly Sunday. Where/how do I download the xml files? Which URL's do you need?

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #19 on: August 11, 2016, 08:48:38 pm »
Awesome!  Once you get it hooked up run the following urls.  These will give me a listing of what the xml response will be.  Some of these may return nothing and that is telling in itself.

Code: [Select]
http://<autelis ip>/names.xml
http://<autelis ip>/status.xml
http://<autelis ip>/pumps.xml
http://<autelis ip>/chem.xml

After you type the url into a browser if you right click and choose View Source you should be able to save it.  If it throws an error on these then this is telling as well.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline mda

  • Sr. Member
  • ****
  • Posts: 464
  • Karma: +9/-0
Re: Autelis Control?
« Reply #20 on: August 12, 2016, 12:10:23 am »
@rstrouse, I would be happy to test it as well but i am having some stability issues i need to get past before i can install another plug-in (vera3 UI5). In the meantime, in case it is helpful: I have a Jandy iAqualink 2.0 control system for my pool and spa, with one Jandy variable speed pump, one pentair heater, one pentair single speed booster pump for the spa, one air blower for the spa, and one jandy Aquapure salt water chlorine generator (new model). I have a pool light and spa light, both Jandy LEDs (color), and one of my AUX's controls a "Deck Jets" water feature.

Info on my Jandy controller:

Code: [Select]
Model   B0029221
Type  RS-8 Combo
Firmware     T.1

Remotes
ePump 02.00    1
iAquaLink WiFi 4
Serial Adaptr  1
AquaPure       1
OneTouch       1
OneTouch       4

My Autelis info is:

Code: [Select]
Model: 6520
DIP Switches: 00000000
Software Version: 1.6.8

  AUX Labels
AUX1: Booster Pump
AUX2: Spa Light
AUX3: Pool Light
AUX4: Air Blower
AUX5: Deck Jets
(the rest of the AUXes are unused)

/names.xml returns a 404

/status.xml returns:
Code: [Select]
<response>
<system>
<runstate>8</runstate>
<model>6520</model>
<dip>00000000</dip>
<opmode>0</opmode>
<vbat>615</vbat>
<lowbat>0</lowbat>
<version>1.6.8</version>
<time>1470974442</time>
</system>
<equipment>
<pump>0</pump>
<pumplo></pumplo>
<spa>1</spa>
<waterfall></waterfall>
<cleaner></cleaner>
<poolht2></poolht2>
<poolht>1</poolht>
<spaht>1</spaht>
<solarht>0</solarht>
<htpmp></htpmp>
<aux1>0</aux1>
<aux2>0</aux2>
<aux3>0</aux3>
<aux4>0</aux4>
<aux5>0</aux5>
<aux6>0</aux6>
<aux7>0</aux7>
<aux8></aux8>
<aux9></aux9>
<aux10></aux10>
<aux11></aux11>
<aux12></aux12>
<aux13></aux13>
<aux14></aux14>
<aux15></aux15>
<aux16></aux16>
<aux17></aux17>
<aux18></aux18>
<aux19></aux19>
<aux20></aux20>
<aux21></aux21>
<aux22></aux22>
<aux23></aux23>
</equipment>
<temp>
<poolsp>86</poolsp>
<poolsp2>60</poolsp2>
<spasp>102</spasp>
<pooltemp>88</pooltemp>
<spatemp>84</spatemp>
<airtemp>66</airtemp>
<solartemp>0</solartemp>
<tempunits>F</tempunits>
</temp>
</response>

/pumps.xml returns:

Code: [Select]
<response>
<pumps>
<vsp1>13</vsp1>
<vsp2></vsp2>
<vsp3></vsp3>
<vsp4></vsp4>
</pumps>
</response>

/chem.xml returns:

Code: [Select]
>response>
<chem>
<avail>9</avail>
<chlrp>30</chlrp>
<saltp>70</saltp>
<chlrs>5</chlrs>
<salts>70</salts>
<orp1>0</orp1>
<orp2>0</orp2>
<ph1>0</ph1>
<ph2>0</ph2>
<orpfd1>0</orpfd1>
<orpfd2>0</orpfd2>
<phfd1>0</phfd1>
<phfd2>0</phfd2>
</chem>
</response>

Unfortunately pump RPM and watts used only appear in the keypad emulator, Autelis has not been able to get me that info as usable fields (if i could get them i could apply a formula to determine when my filter needs to be cleaned).

Attached are a few screen shots of my Autelis' UI in case that is useful. Happy to provide any additional info I can.

-mda


Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #21 on: August 12, 2016, 01:59:42 am »
@mda, Awesome! I was hoping you popped up. 

The pump rpm and wattage kind sucks I assume you are running a Jandy pump or is it a Pentair VS?  The wattage and rpm rock in the Pentair because it lets you look at wattage vs rpm to determine the filter percentage.  Not perfect by any means but certainly measurable if the cleaner is off and its just running normal flow.

Looks like you have an AquaPure can I assume there is no ORP or PH feed?  Do you have solar installed... I assume yes since the value for solarht is 0?

Finally after a good grillin' I noticed your names are showing in Autelis but they do not appear in the xml (404).  Can you go to the screen where you define these and right click --> view source so I can see how they are referencing these names.  This should allow me to import them like I do with Pentair.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline mda

  • Sr. Member
  • ****
  • Posts: 464
  • Karma: +9/-0
Re: Autelis Control?
« Reply #22 on: August 12, 2016, 02:30:21 am »
The pump rpm and wattage kind sucks I assume you are running a Jandy pump or is it a Pentair VS? 

Yes, a Jandy VS pump

Quote
The wattage and rpm rock in the Pentair because it lets you look at wattage vs rpm to determine the filter percentage.  Not perfect by any means but certainly measurable if the cleaner is off and its just running normal flow.

Yep, sucks. Attached is a screen shot of the RPM and Wattage showing on the Keypad emulator. 3 screens of data rotate and this is the 3rd. When I view source i don't see the info though so perhaps its pulled by javascript or something? Here is the page source of that /keypad.htm page. Is there anyway you could extract it?

Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autelis Pool Control</title>
<link href="autelis.css" rel="stylesheet" type="text/css" />
<script src="ajax.js" type="text/javascript"></script>
<meta name="format-detection" content="telephone=no">
</head>

<body>
<div id="shadow-one"><div id="shadow-two"><div id="shadow-three"><div id="shadow-four">
<div id="page">

<div style="padding:0 0 5px 5px"><img src="autelis.png" alt="Autelis" /></div>

<div id="menu">
<a href="systeminfo.htm">System Information</a>
<a href="equipment.htm">Equipment Control</a>
<a href="temperature.htm">Temperature Control</a>
<a href="reminders.htm">Reminders</a>
<a href="isy.htm">ISY Settings</a>
<a href="keypad.htm">Keypad</a>
<a href="macros.htm">Macros</a>
<a href="pumps.htm">Pumps</a>
<a href="chem.htm">Chemistry</a>
<a href="settings.htm">Setup</a>
</div>


<div id="content">
<div id="keypad">
<div id="kpleft">
    <div id="kptopleft"><button onclick="doButton(3)">Pg Up</button></div>
<div id="kpmiddleleft"><button onclick="doButton(2)">Back</button></div>
    <div id="kpbottomleft"><button onclick="doButton(1)">Pg Dn</button></div>
</div>
<div id="kpmain">
<p id="kptxt0"></p>
<p id="kptxt1"></p>
<p id="kptxt2"></p>
<p id="kptxt3"></p>
<p id="kptxt4"></p>
<p id="kptxt5"></p>
<p id="kptxt6"></p>
<p id="kptxt7"></p>
<p id="kptxt8"></p>
<p id="kptxt9"></p>
<p id="kptxt10"></p>
<p id="kptxt11"></p>
</div>
<div id="kpright">
<div id="kptopright"><button onclick="doButton(6)">Up</button></div>
    <div id="kpbottomright"><button onclick="doButton(5)">Dn</button></div>
</div>
<div id="kpbottom"><button onclick="doButton(4)">Select</button></div>
</div>
</div>
<script type="text/javascript">
<!--
var offset, hll, effects;

function updateKeypad(xmlData) {
// Check if a timeout occurred
if(!xmlData)
return;
if(xmlData.childNodes.length < 15)
{ // screen isn't ready to update
setTimeout("newAJAXCommand('/keypad.xml', updateKeypad)",50);
return;
}
offset = xmlData.getElementsByTagName('offset')[0];
if (offset != null)
offset = offset.firstChild.data.split(',',3);
else return;
hll = xmlData.getElementsByTagName('hll')[0];
if (hll != null)
hll = parseInt(hll.firstChild.data);
else return;
effects = xmlData.getElementsByTagName('effects')[0];
if (effects != null)
effects = effects.firstChild.data.split(',',4);
else return;

for (var i=0; i < 12; i++)
{
for(var j=0;j<3;j++)
offset[j]=parseInt(offset[j]);
var line=i;
if(offset[0] > 0 && i >= offset[1] && i <= offset[2])
{
line += offset[0];
if(line > offset[2])
line -= (offset[2] - offset[1] + 1);
}
var text = xmlData.getElementsByTagName('b'+ line)[0];
if (text != null)
{
text = text.firstChild;
if (text != null)
{
text=text.data;
text = getFormat(text,i);
document.getElementById("kptxt" + i).innerHTML = text;
}
else
{
document.getElementById("kptxt" + i).setAttribute("class", "");
document.getElementById("kptxt" + i).innerHTML = " ";
}
}
}
setTimeout("newAJAXCommand('/keypad.xml', updateKeypad)",750);
}

function getFormat(text,line)
{
if(hll == line)
document.getElementById("kptxt" + line).setAttribute("class", "highlight");
else
document.getElementById("kptxt" + line).setAttribute("class", "");

if(effects[0] != null && effects[0] == line)
{
if(effects[1] < 16 && effects[2] < 16)
{
var i1 = parseInt(effects[1]);
var i2 = parseInt(effects[2]) + 1;
var sub1 = text.substring(0,i1);
var sub2 = text.substring(i1,i2);
var sub3 = text.substring(i2);
if(effects[3] == 1)
text = (getSpecialChars(sub1) + "<font style='background:#ddd'>" + getSpecialChars(sub2) + "</font>" + getSpecialChars(sub3));
else if(effects[3] == 4)
text = (getSpecialChars(sub1) + "<u>" + getSpecialChars(sub2) + "</u>" + getSpecialChars(sub3));
return trim(text);
}
}
return trim(getSpecialChars(text));
}

function doButton(num)
{
newAJAXCommand('/keypad.cgi?key='+num);
}

function getSpecialChars(text)
{
text = text.replace(/[_]/g, "&darr;");
text = text.replace(/[\^]/g, "&uarr;");
text = text.replace(/[`]/g, "&deg;");
text = text.replace(/[>]/g, "&rarr;");
text = text.replace(/[}]/g, "&rarr;");
text = text.replace(/[{]/g, "&larr;");
return text;
}

function trim(text)
{
return text.replace(/((^[ ]+)|([ ]+$))/g, "");
}

function doKeyPress(e){
var key;
var keynum = (window.event) ? e.which : e.keyCode;
switch(keynum)
{
case 13: //enter
case 32: //space
case 39: //rarr
case 101: //num5
case 102: //num6
key = 4;
killKey(e)
break;
case 37: //larr
case 100: //num4
key = 2;
killKey(e)
break;
case 33: //pageup
case 103: //num7
case 105: //num9
key = 3;
killKey(e)
break;
case 34: //pagedn
case 97: //num1
case 99: //num3
key = 1;
killKey(e)
break;
case 38: //uarr
case 104: //num8
key = 6;
killKey(e)
break;
case 40: //darr
case 98: //num2
key = 5;
killKey(e)
break;
}
if(key != null)
doButton(key);
}

function killKey(e)
{ if (e.preventDefault)
        e.preventDefault();
    else e.returnValue = false;
}

document.onkeydown=doKeyPress;
newAJAXCommand('/keypad.xml', updateKeypad);
//-->
</script>
</div></div></div></div></div>
<div id="footer">Copyright &copy; 2013 Autelis, LLC</div>
</body>
</html>

Quote
Looks like you have an AquaPure can I assume there is no ORP or PH feed?

Correct, no ORP or PH feed

Quote
Do you have solar installed... I assume yes since the value for solarht is 0?

No solar installed

Quote
Finally after a good grillin' I noticed your names are showing in Autelis but they do not appear in the xml (404).  Can you go to the screen where you define these and right click --> view source so I can see how they are referencing these names.  This should allow me to import them like I do with Pentair.

I am not sure which names you are looking for. Here is the source of my /settings.htm that shows the names of my AUXes


Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autelis Pool Control</title>
<link href="autelis.css" rel="stylesheet" type="text/css" />
<script src="ajax.js" type="text/javascript"></script>
</head>

<body>
<div id="shadow-one"><div id="shadow-two"><div id="shadow-three"><div id="shadow-four">
<div id="page">

<div style="padding:0 0 5px 5px"><img src="autelis.png" alt="Autelis" /></div>

<div id="menu">
<a href="settings.htm">Settings</a>
<a href="alerts.htm">Alerts</a>
<a href="lsetup.htm">Lights</a>
<a href="psetup.htm">Pumps</a>
<a href="msetup.htm">Macros</a>
<a href="http://autelis.com/wiki/index.php?title=Pool_Control_for_Jandy/Zodiac#Equipment_Setup" target="_blank">Help</a>
<a href="systeminfo.htm">Exit</a>
</div>

<div id="content">
<form method="post" action="javascript:doSubmit();" name="settings">
<fieldset>
<br></br>
<div><label>New Password:</label>
<input maxlength=15 type="password" id="authpw" value="" /></div>
<div><label>Confirm Password:</label>
<input maxlength=15 type="password" id="authpw2" value="" /></div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;AUX Labels</div>
<div><label>AUX1:</label>
<input maxlength=15 type="text" id="aux1label" value="Booster Pump"/></div>
<div><label>AUX2:</label>
<input maxlength=15 type="text" id="aux2label" value="Spa Light" /></div>
<div><label>AUX3:</label>
<input maxlength=15 type="text" id="aux3label" value="Pool Light" /></div>
<div><label>AUX4:</label>
<input maxlength=15 type="text" id="aux4label" value="Air Blower" /></div>
<div><label>AUX5:</label>
<input maxlength=15 type="text" id="aux5label" value="Deck Jets" /></div>
<div><label>AUX6:</label>
<input maxlength=15 type="text" id="aux6label" value="AUX6" /></div>
<div><label>AUX7:</label>
<input maxlength=15 type="text" id="aux7label" value="AUX7" /></div>
<div><label>AUX8:</label>
<input maxlength=15 type="text" id="aux8label" value="AUX8" /></div>
<div><label>AUX9:</label>
<input maxlength=15 type="text" id="aux9label" value="AUX9" /></div>
<div><label>AUX10:</label>
<input maxlength=15 type="text" id="aux10label" value="AUX10" /></div>
<div><label>AUX11:</label>
<input maxlength=15 type="text" id="aux11label" value="AUX11" /></div>
<div><label>AUX12:</label>
<input maxlength=15 type="text" id="aux12label" value="AUX12" /></div>
<div><label>AUX13:</label>
<input maxlength=15 type="text" id="aux13label" value="AUX13" /></div>
<div><label>AUX14:</label>
<input maxlength=15 type="text" id="aux14label" value="AUX14" /></div>
<div><label>AUX15:</label>
<input maxlength=15 type="text" id="aux15label" value="AUX15" /></div>
<div><label>Extra Aux:</label>
<input type="checkbox" id="extraaux" class="sm"  /></div>
<div><label>AUX16:</label>
<input maxlength=15 type="text" id="aux16label" value="" /></div>
<div><label>AUX17:</label>
<input maxlength=15 type="text" id="aux17label" value="" /></div>
<div><label>AUX18:</label>
<input maxlength=15 type="text" id="aux18label" value="" /></div>
<div><label>AUX19:</label>
<input maxlength=15 type="text" id="aux19label" value="" /></div>
<div><label>AUX20:</label>
<input maxlength=15 type="text" id="aux20label" value="" /></div>
<div><label>AUX21:</label>
<input maxlength=15 type="text" id="aux21label" value="" /></div>
<div><label>AUX22:</label>
<input maxlength=15 type="text" id="aux22label" value="" /></div>
<div><label>AUX23:</label>
<input maxlength=15 type="text" id="aux23label" value="" /></div>
<br></br>
<div><input type="submit" class="sm" value="Save Changes" /></div>
</fieldset>
</form>
<form method="post" action="/settings.htm" id="hiddensettings">
</form>
</div>
<script type="text/javascript">
<!--
// Fill the hidden form and submit
function doSubmit() {
var hform=document.getElementById("hiddensettings");
var newelement;
var pw1=document.getElementById("authpw").value;
if(pw1.length>0)
{
if(pw1 == document.getElementById("authpw2").value)
{
newelement = document.createElement("input");
newelement.setAttribute("type", "hidden");
newelement.setAttribute("name", "authpw");
newelement.value=pw1;
hform.appendChild(newelement);
}
else
{
alert("Passwords do not match!");
return
}
}
for(i=1; i<24; i++)
{
newelement = document.createElement("input");
newelement.setAttribute("type", "hidden");
newelement.setAttribute("name", "aux" + i + "label");
newelement.value=document.getElementById("aux" + i + "label").value;
if(newelement.value.length>0)
hform.appendChild(newelement);
}
newelement = document.createElement("input");
newelement.setAttribute("type", "hidden");
newelement.setAttribute("name", "extraaux");
newelement.setAttribute("value", document.getElementById("extraaux").checked?"1":"0");
hform.appendChild(newelement);
hform.submit();
}
//-->
</script>

</div></div></div></div></div>
<div id="footer">Copyright &copy; 2013 Autelis, LLC</div>
</body>
</html>

Here is the source of /psetup.htm where i configure the names of my pump speeds

Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autelis Pool Control</title>
<link href="autelis.css" rel="stylesheet" type="text/css" />
<script src="ajax.js" type="text/javascript"></script>
</head>

<body>
<div id="shadow-one"><div id="shadow-two"><div id="shadow-three"><div id="shadow-four">
<div id="page">

<div style="padding:0 0 5px 5px"><img src="autelis.png" alt="Autelis" /></div>

<div id="menu">
<a href="settings.htm">Settings</a>
<a href="alerts.htm">Alerts</a>
<a href="lsetup.htm">Lights</a>
<a href="psetup.htm">Pumps</a>
<a href="msetup.htm">Macros</a>
<a href="http://autelis.com/wiki/index.php?title=Pool_Control_for_Jandy/Zodiac#Equipment_Setup" target="_blank">Help</a>
<a href="systeminfo.htm">Exit</a>
</div>

<div id="content">
<fieldset>
<div><label>Pump Number:</label>
<select id="pnum" onfocus="chgPump(this.selectedIndex)" onchange="selectPump(this.selectedIndex)"><option>1</option><option>2</option><option>3</option><option>4</option></select></div>
<div><label>Speed 1 Label:</label>
<input maxlength=15 type="text" id="splabel1"/></div>
<div><label>Speed 2 Label:</label>
<input maxlength=15 type="text" id="splabel2"/></div>
<div><label>Speed 3 Label:</label>
<input maxlength=15 type="text" id="splabel3"/></div>
<div><label>Speed 4 Label:</label>
<input maxlength=15 type="text" id="splabel4"/></div>
<div><label>Speed 5 Label:</label>
<input maxlength=15 type="text" id="splabel5"/></div>
<div><label>Speed 6 Label:</label>
<input maxlength=15 type="text" id="splabel6"/></div>
<div><label>Speed 7 Label:</label>
<input maxlength=15 type="text" id="splabel7"/></div>
<div><label>Speed 8 Label:</label>
<input maxlength=15 type="text" id="splabel8"/></div>
<br><br>
<div class="ct"><button id="bsave" onClick="saveNames()">Save</button></div>
</fieldset>
<form method="post" action="/psetup.htm" id="hform">
</div>
<script type="text/javascript">
<!--
var pspeeds = [ "Pool","Spa","Fountain","Speed4","Pool Heat","Spa Heat","Speed7","In Floor","","","","","","","","","","","","","","","","","","","","","","","","" ];

function chgPump(num){
for(var i=0;i<8;i++)
pspeeds[(num * 8) + i] = document.getElementById("splabel" + (i+1)).value;
}
function selectPump(num){
for(var i=0;i<8;i++)
document.getElementById("splabel" + (i+1)).value = pspeeds[(num * 8) + i];
}
function saveNames() {
chgPump(document.getElementById("pnum").selectedIndex);
var hform = document.getElementById("hform");
for (var j=0;j<pspeeds.length;j++)
{
newelement = document.createElement("input");
newelement.setAttribute("type", "hidden");
newelement.setAttribute("name", "splabel" + j );
newelement.value=pspeeds[j];
if(newelement.value.length>0)
hform.appendChild(newelement);
}
hform.submit();
}
selectPump(0);
//-->
</script>


</div></div></div></div></div>
<div id="footer">Copyright &copy; 2013 Autelis, LLC</div>
</body>
</html>

Here is the source of /msetup.htm where i setup the names of my OneTouch macros:

Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autelis Pool Control</title>
<link href="autelis.css" rel="stylesheet" type="text/css" />
<script src="ajax.js" type="text/javascript"></script>
</head>

<body>
<div id="shadow-one"><div id="shadow-two"><div id="shadow-three"><div id="shadow-four">
<div id="page">

<div style="padding:0 0 5px 5px"><img src="autelis.png" alt="Autelis" /></div>

<div id="menu">
<a href="settings.htm">Settings</a>
<a href="alerts.htm">Alerts</a>
<a href="lsetup.htm">Lights</a>
<a href="psetup.htm">Pumps</a>
<a href="msetup.htm">Macros</a>
<a href="http://autelis.com/wiki/index.php?title=Pool_Control_for_Jandy/Zodiac#Equipment_Setup" target="_blank">Help</a>
<a href="systeminfo.htm">Exit</a>
</div>

<div id="content">
<fieldset>
<br></br>
<div>&nbsp;&nbsp;Macro Labels</div>
<div><label>Macro 1:</label>
<input maxlength=15 type="text" id="mlabel1" value="All Off"/></div>
<div><label>Macro 2:</label>
<input maxlength=15 type="text" id="mlabel2" value="Spa Mode" /></div>
<div><label>Macro 3:</label>
<input maxlength=15 type="text" id="mlabel3" value="Pool Mode" /></div>
<div><label>Macro 4:</label>
<input maxlength=15 type="text" id="mlabel4" value="Deck Jets" /></div>
<div><label>Macro 5:</label>
<input maxlength=15 type="text" id="mlabel5" value="Heat Up Spa" /></div>
<div><label>Macro 6:</label>
<input maxlength=15 type="text" id="mlabel6" value="Lights" /></div>
<br></br>
<div class="ct"><button id="bsave" onClick="saveNames()">Save</button></div>
</fieldset>
<form method="post" action="/msetup.htm" id="hform">
</div>
<script type="text/javascript">
<!--
function saveNames() {
var hform = document.getElementById("hform");
for(var i=1; i<7; i++)
{
newelement = document.createElement("input");
newelement.setAttribute("type", "hidden");
newelement.setAttribute("name", "mlabel" + i );
newelement.value=document.getElementById("mlabel" + i).value;
if(newelement.value.length>0)
hform.appendChild(newelement);
}
hform.submit();
}
//-->
</script>

</div></div></div></div></div>
<div id="footer">Copyright &copy; 2013 Autelis, LLC</div>
</body>
</html>

Let me know if you need anything else. Thanks!

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #23 on: August 12, 2016, 03:15:10 am »
Do me a favor get a

http://<autelis ip>/keypad.xml
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline mda

  • Sr. Member
  • ****
  • Posts: 464
  • Karma: +9/-0
Re: Autelis Control?
« Reply #24 on: August 12, 2016, 03:40:51 am »
Do me a favor get a

http://<autelis ip>/keypad.xml

When all the equipment is off it cycles through 2 screens if my heat is enabled (otherwise it just sits on the first screen):


First screen:
Code: [Select]
<response><b0>Jandy AquaLinkRS</b0><b1></b1><b2>  08/12/16 Fri  </b2><b3></b3><b4></b4><b5>Filter Pump OFF </b5><b6>    Air 65`F    </b6><b7>                </b7><b8></b8><b9>Equipment ON/OFF</b9><b10>OneTouch  ON/OFF</b10><b11>   Menu / Help  </b11><hll>9</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

Second screen:
Code: [Select]
<response><b0>Equipment Status</b0><b1></b1><b2> Pool Heat ENA  </b2><b3>  Spa Heat ENA  </b3><b4></b4><b5></b5><b6></b6><b7></b7><b8></b8><b9></b9><b10></b10><b11></b11><hll>15</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

When the filter pump is on it cycles through 4 screens:

First screen:
Code: [Select]
<response><b0>Jandy AquaLinkRS</b0><b1></b1><b2>  08/12/16 Fri  </b2><b3>    12:25 AM    </b3><b4></b4><b5>   Pool 84`F    </b5><b6>    Air 64`F    </b6><b7>                </b7><b8></b8><b9>Equipment ON/OFF</b9><b10>OneTouch  ON/OFF</b10><b11>   Menu / Help  </b11><hll>9</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

Second screen: (in this case, the VS pump is running, the pool heater is on, and the spa heat is enabled but not running. If the heaters were not on or enabled it would just show "Filter Pump")
Code: [Select]
<response><b0>Equipment Status</b0><b1></b1><b2>  Filter Pump   </b2><b3>   Pool Heat    </b3><b4>  Spa Heat ENA  </b4><b5></b5><b6></b6><b7></b7><b8></b8><b9></b9><b10></b10><b11></b11><hll>15</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

Third screen: (with the RPM and Wattage)
Code: [Select]
<response><b0>Equipment Status</b0><b1></b1><b2>Jandy ePUMP   1 </b2><b3>     RPM: 3450  </b3><b4>   Watts: 1965  </b4><b5></b5><b6></b6><b7></b7><b8></b8><b9></b9><b10></b10><b11></b11><hll>15</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

Fourth screen:
Code: [Select]
<response><b0>Equipment Status</b0><b1></b1><b2>  AquaPure 30%  </b2><b3> Salt 3900 PPM  </b3><b4></b4><b5></b5><b6></b6><b7></b7><b8></b8><b9></b9><b10></b10><b11></b11><hll>15</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

Or when the pump is priming the 3rd screen is this:
Code: [Select]
<response><b0>Equipment Status</b0><b1></b1><b2>Jandy ePUMP   1 </b2><b3> *** Priming ***</b3><b4>     Watts: 4   </b4><b5></b5><b6></b6><b7></b7><b8></b8><b9></b9><b10></b10><b11></b11><hll>15</hll><effects>15,13,15,2</effects><offset>0,2,9</offset></response>

It sits on the first screen for about 10 seconds and on each of the other screens for about 5 seconds each.


Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #25 on: August 12, 2016, 11:16:27 am »
Hmmm... well there's the pump data in the keypad.xml but I don't see the circuit names anywhere.  I'll shoot off an e-mail to the Autelis folks to see if I can get the aux labels.

I have figured out another method for the speed but the wattage evades me.  Surely, this couldn't be simply an estimated calculation of the speed.  When your pump is steady at 3450 does the wattage jump around?  That too I will pose with Autelis.

As for the macros, can you launch these from anywhere on the Autelis interface?  I assume these work like feature circuits in where you can set multiple bits of equipment on the pad with a single button but do not involve a relay on the panel.
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline mda

  • Sr. Member
  • ****
  • Posts: 464
  • Karma: +9/-0
Re: Autelis Control?
« Reply #26 on: August 12, 2016, 03:47:58 pm »
When your pump is steady at 3450 does the wattage jump around?  That too I will pose with Autelis.

The wattage moves around, it is reported by the Jandy system to all "keypads" (including the Autelis). Here is a screen shot of Jandy's iAqualink control system on the "Status" page.

Quote
As for the macros, can you launch these from anywhere on the Autelis interface?  I assume these work like feature circuits in where you can set multiple bits of equipment on the pad with a single button but do not involve a relay on the panel.

These are the "One Touch" macros build on the Jandy control system that the Autelis just calls from its Macros page. On the Jandy system you configure which devices to turn on etc in each of the macros. For context look at the section "JANDY AQUALINK RS ONE TOUCH" in this brochure http://www.jandy.com/~/media/zodiac/global/downloads/sl/sl6450.pdf

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #27 on: August 14, 2016, 02:48:35 pm »
@mda,

Can you get me a view source from the temperature.htm

Thanks
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler

Offline mda

  • Sr. Member
  • ****
  • Posts: 464
  • Karma: +9/-0
Re: Autelis Control?
« Reply #28 on: August 14, 2016, 04:41:30 pm »
@mda,

Can you get me a view source from the temperature.htm

Thanks

Sure...


Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Autelis Pool Control</title>
<link href="autelis.css" rel="stylesheet" type="text/css" />
<script src="ajax.js" type="text/javascript"></script>
<meta name="format-detection" content="telephone=no">
</head>

<body>
<div id="shadow-one"><div id="shadow-two"><div id="shadow-three"><div id="shadow-four">
<div id="page">

<div style="padding:0 0 5px 5px"><img src="autelis.png" alt="Autelis" /></div>

<div id="menu">
<a href="systeminfo.htm">System Information</a>
<a href="equipment.htm">Equipment Control</a>
<a href="temperature.htm">Temperature Control</a>
<a href="reminders.htm">Reminders</a>
<a href="isy.htm">ISY Settings</a>
<a href="keypad.htm">Keypad</a>
<a href="macros.htm">Macros</a>
<a href="pumps.htm">Pumps</a>
<a href="chem.htm">Chemistry</a>
<a href="settings.htm">Setup</a>
</div>


<div id="content">
<div class="item gray" id="airt" style="display:none">
<div class="subitem one"></div>
<div class="subitem two">Air Temperature: <label id="airtemp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three"></div>
</div>
<div class="item gray" name="pool" id="poolt" style="display:none">
<div class="subitem one"></div>
<div class="subitem two">Pool Temperature: <label id="pooltemp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three"></div>
</div>
<div class="item gray" id="poolspbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolsp&temp=dn');">-</button></div>
<div class="subitem two">Pool Setpoint: <label id="poolsp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolsp&temp=up');">+</button></div>
</div>
<div class="item green" id="poolhtbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolht&value=0');">OFF</button></div>
<div class="subitem two">Pool Heat: <label id="poolht">ON</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolht&value=1');">ON</button></div>
</div>
<div class="item gray" name="pool2" id="poolt2" style="display:none">
<div class="subitem one"></div>
<div class="subitem two">Pool Temperature 2: <label id="pooltemp2">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three"></div>
</div>
<div class="item gray" id="poolsp2bg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolsp2&temp=dn');">-</button></div>
<div class="subitem two">Pool Setpoint 2: <label id="poolsp2">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolsp2&temp=up');">+</button></div>
</div>
<div class="item green" id="poolht2bg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolht2&value=0');">OFF</button></div>
<div class="subitem two">Pool Heat 2: <label id="poolht2">ON</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=poolht2&value=1');">ON</button></div>
</div>
<div class="item gray" name="spa" id="spat" style="display:none">
<div class="subitem one"></div>
<div class="subitem two">Spa Temperature: <label id="spatemp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three"></div>
</div>
<div class="item gray" id="spaspbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=spasp&temp=dn');">-</button></div>
<div class="subitem two">Spa Setpoint: <label id="spasp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=spasp&temp=up');">+</button></div>
</div>
<div class="item green" id="spahtbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=spaht&value=0');">OFF</button></div>
<div class="subitem two">Spa Heat: <label id="spaht">ON</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=spaht&value=1');">ON</button></div>
</div>
<div class="item gray" name="solar" id="solart" style="display:none">
<div class="subitem one"></div>
<div class="subitem two">Solar Temperature: <label id="solartemp">100</label>&deg; <label name="tempunits">F</label></div>
<div class="subitem three"></div>
</div>
<div class="item green" id="solarhtbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=solarht&value=0');">OFF</button></div>
<div class="subitem two">Solar Heat: <label id="solarht">ON</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=solarht&value=1');">ON</button></div>
</div>
<div class="item green" id="htpmpbg" style="display:none">
<div class="subitem one"><button class="sm" onClick="newAJAXCommand('set.cgi?name=htpmp&value=0');">OFF</button></div>
<div class="subitem two">Heat Pump: <label id="htpmp">ON</label></div>
<div class="subitem three" ><button class="sm" onClick="newAJAXCommand('set.cgi?name=htpmp&value=1');">ON</button></div>
</div>
</div>

<div class="spacer">&nbsp;</div>
<script type="text/javascript">
<!--
// Parses the xmlResponse from status.xml and updates the status
function updateStatus(xmlData) {
// Check if a timeout occurred
if(!xmlData)
return;

// Loop over temp info
var temp = xmlData.getElementsByTagName('temp')[0];
if (temp == null)
return;
for (var i=0; i < temp.childNodes.length; i++)
{
var item = document.getElementById(temp.childNodes[i].tagName);
//if(item)
{
var test = temp.childNodes[i].firstChild;
if (test != null)
{
test=test.nodeValue;
switch(temp.childNodes[i].tagName)
{
case 'airtemp':
case 'pooltemp':
case 'pooltemp2':
case 'spatemp':
case 'solartemp':
if(item)
{
if(parseInt(test) > 150)
test -= 256;
item.innerHTML = test;
}
break;
case 'poolsp':
case 'poolsp2':
case 'spasp':
if (!item) break;
if(getTemplist(item)==null)
{
item.innerHTML = '<select class="templist" onfocus="this.name=\'selectactive\'" onblur="this.name=\'\'" onchange="this.blur();newAJAXCommand(\'set.cgi?wait=1&name=' + item.id + '&temp=\' + this.options[this.selectedIndex].value);"></select>';
var tempsel = getTemplist(item);
var lowtemp = (xmlData.getElementsByTagName('tempunits')[0].firstChild.nodeValue == 'F') ? 34 : 1;
var hitemp = (xmlData.getElementsByTagName('tempunits')[0].firstChild.nodeValue == 'F') ? 104 : 40;
for (var j=lowtemp;j<=hitemp;j++)
{
var newtemp = document.createElement('option');
newtemp.text=j;
tempsel.add(newtemp,null);
}
}
var tempsel = getTemplist(item);
for (var j=0;j<=tempsel.childNodes.length;j++)
{
if(tempsel.childNodes[j]!=null && tempsel.childNodes[j].text==test && tempsel.selectedIndex != j && tempsel.name!='selectactive')
{
tempsel.selectedIndex=j;
break;
}
}
break;
case 'tempunits':
var templabels = document.getElementsByName('tempunits');
if(templabels==null)
break;
for (var j=0; j < templabels.length; j++)
templabels[j].innerHTML=test;
break;
}

}
}
}

//Check equipment status and hide/show
var poolstatus = xmlData.getElementsByTagName('pump')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('pumplo')[0].firstChild)
if(poolstatus == '0')
poolstatus = xmlData.getElementsByTagName('pumplo')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('spa')[0].firstChild)
var spastatus = xmlData.getElementsByTagName('spa')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('spaht')[0].firstChild)
var spahtstatus = xmlData.getElementsByTagName('spaht')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('poolht')[0].firstChild)
var poolhtstatus = xmlData.getElementsByTagName('poolht')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('poolht2')[0].firstChild)
var poolht2status = xmlData.getElementsByTagName('poolht2')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('solarht')[0].firstChild)
var solarhtstatus = xmlData.getElementsByTagName('solarht')[0].firstChild.nodeValue;
if(xmlData.getElementsByTagName('htpmp')[0].firstChild)
var htpmpstatus = xmlData.getElementsByTagName('htpmp')[0].firstChild.nodeValue;

//Set heat status and colors

if(solarhtstatus != null)
{
switch(solarhtstatus)
{
case '0':
document.getElementById('solarht').innerHTML='OFF';
document.getElementById('solarhtbg').setAttribute("class",'item gray');
break;

case '1':
document.getElementById('solarht').innerHTML='Enabled';
document.getElementById('solarhtbg').setAttribute("class",'item green');
break;

case '2':
document.getElementById('solarht').innerHTML='ON';
document.getElementById('solarhtbg').setAttribute("class",'item red');
break;
}
document.getElementById('solarhtbg').style.display = 'block';

if(spastatus == '1' || poolstatus=='1')
document.getElementById('solart').style.display = 'block';
else
document.getElementById('solart').style.display = 'none';
}

if(htpmpstatus != null)
{
switch(htpmpstatus)
{
case '0':
document.getElementById('htpmp').innerHTML='OFF';
document.getElementById('htpmpbg').setAttribute("class",'item gray');
break;

case '1':
document.getElementById('htpmp').innerHTML='Enabled';
document.getElementById('htpmpbg').setAttribute("class",'item green');
break;

case '2':
document.getElementById('htpmp').innerHTML='ON';
document.getElementById('htpmpbg').setAttribute("class",'item red');
break;
}
document.getElementById('htpmpbg').style.display = 'block';
}

if(Number(xmlData.getElementsByTagName('poolsp')[0].firstChild.nodeValue) <= Number(xmlData.getElementsByTagName('pooltemp')[0].firstChild.nodeValue))
document.getElementById('poolt').className = 'item red';
else
document.getElementById('poolt').className = 'item blue';


switch(poolhtstatus)
{
case '0':
document.getElementById('poolht').innerHTML='OFF';
document.getElementById('poolhtbg').setAttribute("class",'item gray');
break;

case '1':
document.getElementById('poolht').innerHTML='Enabled';
document.getElementById('poolhtbg').setAttribute("class",'item green');
break;

case '2':
document.getElementById('poolht').innerHTML='ON';
document.getElementById('poolhtbg').setAttribute("class",'item red');
break;
}

document.getElementById('poolhtbg').style.display = 'block';
document.getElementById('poolspbg').style.display = 'block';
document.getElementById('airt').style.display = 'block';

if(spastatus != '1' && poolstatus=='1')
document.getElementById('poolt').style.display = 'block';
else
document.getElementById('poolt').style.display = 'none';

if(poolht2status != null)
{
if(poolstatus == '1' && poolhtstatus == '0')
{
if(Number(xmlData.getElementsByTagName('poolsp2')[0].firstChild.nodeValue) <= Number(xmlData.getElementsByTagName('pooltemp')[0].firstChild.nodeValue))
document.getElementById('poolt').className = 'item red';
else
document.getElementById('poolt').className = 'item blue';
}
switch(poolht2status)
{
case '0':
document.getElementById('poolht2').innerHTML='OFF';
document.getElementById('poolht2bg').setAttribute("class",'item gray');
break;

case '1':
document.getElementById('poolht2').innerHTML='Enabled';
document.getElementById('poolht2bg').setAttribute("class",'item green');
break;

case '2':
document.getElementById('poolht2').innerHTML='ON';
document.getElementById('poolht2bg').setAttribute("class",'item red');
break;
}
document.getElementById('poolht2bg').style.display = 'block';
document.getElementById('poolsp2bg').style.display = 'block';
}


if(spahtstatus!=null)
{
if(Number(xmlData.getElementsByTagName('spasp')[0].firstChild.nodeValue) <= Number(xmlData.getElementsByTagName('spatemp')[0].firstChild.nodeValue) )
document.getElementById('spat').className = 'item red';
else
document.getElementById('spat').className = 'item blue';

switch(spahtstatus)
{
case '0':
document.getElementById('spaht').innerHTML='OFF';
document.getElementById('spahtbg').setAttribute("class",'item gray');
break;

case '1':
document.getElementById('spaht').innerHTML='Enabled';
document.getElementById('spahtbg').setAttribute("class",'item green');
break;

case '2':
document.getElementById('spaht').innerHTML='ON';
document.getElementById('spahtbg').setAttribute("class",'item red');
break;
}
document.getElementById('spahtbg').style.display = 'block';
document.getElementById('spaspbg').style.display = 'block';

if(spastatus == '1')
document.getElementById('spat').style.display = 'block';
else
document.getElementById('spat').style.display = 'none';
}


}
function getTemplist(it) {
var retnode = null;
if(it.childNodes != null)
{
for (var i = 0; i < it.childNodes.length; i++)
{
if(it.childNodes[i].className == "templist")
{
retnode=it.childNodes[i];
break;
}
}
}
return retnode;
}
newAJAXCommand('status.xml', updateStatus, true);
//-->
</script>

</div></div></div></div></div>
<div id="footer">Copyright &copy; 2013 Autelis, LLC</div>
</body>
</html>

Offline rstrouse

  • Hero Member
  • *****
  • Posts: 788
  • Karma: +27/-9
Re: Autelis Control?
« Reply #29 on: August 14, 2016, 06:23:03 pm »
@mda

Thanks, now can I get you to go to the screen where you set the setpoints for your AquaPure and do the same thing?

Edit: Later that same day

I'm getting close.  There are several items that I need to figure out but Autelis sent me a message and they are trying to make the pump RPM and Wattage available for VS pumps.  If they do it similar to the Pentair version it will also make VF pumps as well so I have coded accordingly.
  • I realize you are on UI5 and I have coded what I assume will work on UI5 but I am not sure since I do not have that platform... we'll see
  • The WaterColors interface will be interesting.  I think I want to use the colorpicker control but I think that is UI7 only maybe this is another branch.
  • Below are some progress pics

@Sammy,  How's the install of your Autelis going?


« Last Edit: August 14, 2016, 09:07:07 pm by rstrouse »
1xVera3 1.7.619, 4xLinear WT00Z, 3xLinear WS15Z, 1xLeviton VRCZ4, 10xCooper RF9540, 1xLeviton VRFI10, 1xLeviton VP00R, 2xLinear GD00Z-4, 1xGE/Jasco 45612, 1xGE/Jasco 45610,  4xGE/Jasco 45605, 2xYale YRD220-ZW-619, 1xCaddx NX584, Autelis Intellitouch Pool Control, OpenSprinkler