Autelis Help

I am running Autelis 1.6.9 with the latest openHAB 2 Autelis binding and running into several issues. So far I am able to see that the pump is on, but not able to turn it off or set the speed. I can see the pool heat setpoint and changing it works, but I can’t start the heater like I could with the openhab 1 autelis binding. Finally, I am not able to see or set the chlorine level or salt level.

My items:

Switch    Pool_Pump                           "Pool Pump"                                             <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:pumps-pump1"}
Number    Pool_Pump_Speed                     "Pool Pump Speed [%s]"                                  <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:"}
Switch    Pool_Heat                           "Pool Heat"                                             <pool_heater>   (Pool)                                  {channel="autelis:poolcontrol:Pool:temp-poolht"}
Number    Pool_SetPoint                       "Pool SetPoint [%.0f °F]"                               <temperature>   (Pool)                                  {channel="autelis:poolcontrol:Pool:temp-poolsp"}
Number    Pool_Temperature                    "Pool Temperature [%.0f °F]"                            <temperature>   (Pool)                                  {channel="autelis:poolcontrol:Pool:temp-pooltemp"}
Number    Pool_Chlorination                   "Chlorination Setpoint [%d %%]"                         <chlorine>      (Pool)                                  {channel="autelis:poolcontrol:Pool:chlor-poolsp"}
Number    Pool_Salt                           "Pool Salt Level [%d ppm]"                              <salt>          (Pool)                                  {channel="autelis:poolcontrol:Pool:chlor-salt"}

If I look at the XML I do see the data:

2017-05-18 14:27:26.519 [AutelisHandler            ] - http://10.88.64.89:80/status.xml 
 <response>
	<system>
		<runstate>8</runstate>
		<model>6520</model>
		<dip>00000000</dip>
		<opmode>0</opmode>
		<vbat>615</vbat>
		<lowbat>0</lowbat>
		<version>1.6.9</version>
		<time>1495132046</time>
	</system>
	<equipment>
		<pump>1</pump>
		<pumplo></pumplo>
		<spa>0</spa>
		<waterfall></waterfall>
		<cleaner></cleaner>
		<poolht2></poolht2>
		<poolht>0</poolht>
		<spaht>0</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>85</poolsp>
		<poolsp2>60</poolsp2>
		<spasp>102</spasp>
		<pooltemp>83</pooltemp>
		<spatemp>0</spatemp>
		<airtemp>85</airtemp>
		<solartemp>0</solartemp>
		<tempunits>F</tempunits>
	</temp>
</response>

2017-05-18 14:27:26.771 [AutelisHandler            ] - http://10.88.64.89:80/chem.xml 
 <response>
	<chem>
		<avail>9</avail>
		<chlrp>95</chlrp>
		<saltp>58</saltp>
		<chlrs>0</chlrs>
		<salts>58</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>

2017-05-18 14:27:27.018 [AutelisHandler            ] - http://10.88.64.89:80/pumps.xml 
 <response>
	<pumps>
		<vsp1>7</vsp1>
		<vsp2></vsp2>
		<vsp3></vsp3>
		<vsp4></vsp4>
	</pumps>
</response>

Can @digitaldan or anyone else lend a hand?

What version of the Autelis are you running, Jandy, Pentair, etc?

Jandy setup running T.1 firmware with ePump and aquaPure. I am able to set things via curl like the chlorine level:

curl "http://admin:admin@autelis.robotics.net/set.cgi?name=chlrp&chem=50"

I’m running Jandy as well (I think Dan is running the Pentair version) and I had to do a bit of hunting and pecking to find out the correct aux relays that were controlling the items that I wanted to use…I think the Pentair version is more specific in the naming of the various relays.

Here’s how my items are set up.

Number PoolAirTemp "Ambient Temperture  [%.1f °F]" { channel="autelis:poolcontrol:xxxxxx:temp-airtemp" }
Number PoolWaterTemp "Pool Temperture  [%.1f °F]" { channel="autelis:poolcontrol:xxxxxx:temp-pooltemp" }
Switch Pump "Pool Pump" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-pump" }
Switch Cleaner "Cleaner" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-cleaner " }
Switch WaterFall "Waterfall" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux2" }
Switch PoolLight "Pool Light" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux6" }
Switch BeachLight "Beach Light" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux5" }
Switch HotTubLight "Hot Tub Light" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux7" }
Switch HotTubBubbles "Hot Tub Bubbles" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux4" }
Switch HotTubJets "Hot Tub Jets" [ "Switchable" ] { channel="autelis:poolcontrol:xxxxxx:equipment-aux3" }

Hope this will give you some pointers in the right direction.

Just hit me that I got the aux assignments from the SETUP page in the Autelis web controls:

Thank you, but not sure that helps me since my system is not using any Aux relays. The part I am struggling with the most are pump speeds and chlorination levels.

Sorry I guess I misread your post a bit.

Do you have a channel set up for chlorine and salt?

If you add this to your items file does it return a value?

Number    Pool_Chlorination "Chlorination Setpoint [%d %%]"  { channel="autelis:yourname:yournumber:chlrp" }

Make sure and update the channel information with yours device name and number.

I think I may know whats going on, I need to add the Jandy channels to the thing-type.xml file in the binding. Also I see two errors in your config

Switch    Pool_Pump                           "Pool Pump"                                             <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:pumps-pump1"}
Number    Pool_Pump_Speed                     "Pool Pump Speed [%s]"                                  <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:"}

The syntax for channels is “responseType-childName” from the XML, so system-xxxx, equipment-xxxx, temp-xxxx, chem-xxxx, pumps-xxxx. From your xml there is no pumps-pump1 and the item Pool_Pump_Speed has no channel config (maybe that was just a copy and paste error).

In any case the difference in OH1 vs OH2 here is that channels are defined in the thing type XML file. I need to give this some thought. We either need to define all the Jandy options and then have a different thing types for it… or I can remove the static channels from the thing-type xml file and add them dynamically.

I thought each of the Autelis devices have a different model number based upon the pool controller they control. Could you not look for that model # and then load the appropriate channels for that system?

That should work, Jandy is 6520

Thanks for getting back to me, so names should be:

Switch    Pool_Pump                           "Pool Pump"                                             <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:equipment-pump"}
Number    Pool_Pump_Speed                     "Pool Pump Speed [%s]"                                  <pool_pump>     (Pool)                                  {channel="autelis:poolcontrol:Pool:pumps-vsp1"}
Switch    Pool_Heat                           "Pool Heat"                                             <pool_heater>   (Pool)                                  {channel="autelis:poolcontrol:Pool:equipment-poolht"}
Number    Pool_SetPoint                       "Pool SetPoint [%.0f °F]"                               <temperature>   (Pool)                                  {channel="autelis:poolcontrol:Pool:temp-poolsp"}
Number    Pool_Temperature                    "Pool Temperature [%.0f °F]"                            <temperature>   (Pool)                                  {channel="autelis:poolcontrol:Pool:temp-pooltemp"}
Number    Pool_Chlorination                   "Chlorination Setpoint [%d %%]"                         <chlorine>      (Pool)                                  {channel="autelis:poolcontrol:Pool:chem-chlorp"}
Number    Pool_Salt                           "Pool Salt Level [%d ppm]"                              <salt>          (Pool)                                  {channel="autelis:poolcontrol:Pool:chem-saltp"}

But if I understand you, that wont work until check and pumps are added. Will the binding take the saltp value and multiply by 50 so that it is the correct value?

2017-05-19 09:16:38.586 [AutelisHandler            ] - http://10.88.64.89:80/chem.xml 
 <response>
	<chem>
		<avail>9</avail>
		<chlrp>50</chlrp>
		<saltp>58</saltp>
		<chlrs>0</chlrs>
		<salts>58</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>

2017-05-19 09:16:38.826 [AutelisHandler            ] - http://10.88.64.89:80/pumps.xml 
 <response>
	<pumps>
		<vsp1>3</vsp1>
		<vsp2></vsp2>
		<vsp3></vsp3>
		<vsp4></vsp4>
	</pumps>
</response>

Wondered if you had time to think about this? I would like to be able to control my chlorine generator and pump speed from openhab.

So i have a branch which breaks out Jandy and Pentair into their own things. Take a look at the readme https://github.com/digitaldan/openhab2-addons/tree/autelis-jandy/addons/binding/org.openhab.binding.autelis to see the the new thing types and channels. It should be similar to today.

You can download the jar at https://github.com/digitaldan/openhab2-addons/releases/tag/autelis-jandy , you probably need to be on openHAB 2.1 for it to work. Since I don’t have a Jandy, its hard for me to test, let me know how it goes.

2017-06-29 16:21:29.320 [autelis ] - FrameworkEvent ERROR - org.openhab.binding.autelis
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.autelis [229]
Unresolved requirement: Import-Package: org.eclipse.smarthome.io.transport.upnp

at org.eclipse.osgi.container.Module.start(Module.java:434)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1582)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1562)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1533)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1476)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:]
 [root@lisa openhab2]# more things/autelis.things 
Thing autelis:jandy:Pool [host="10.88.64.89",user="admin",password="admin"] 

[root@lisa openhab2]# more items/pool.items 
Switch    Pool_Random                         "Random Pool Lights"                                                    (Pool)
Switch    Pool_Pump                           "Pool Pump"                                             <pool_pump>     (Pool)                                  {channel="autelis:jandy:Pool:equipment-pump"}
Number    Pool_Pump_Speed                     "Pool Pump Speed [%s]"                                  <pool_pump>     (Pool)                                  {channel="autelis:jandy:Pool:pump-vsp1"}
Switch    Pool_Heat                           "Pool Heat"                                             <pool_heater>   (Pool)                                  {channel="autelis:jandy:Pool:equipment-poolht", expire="2h, command=OFF"}
Number    Pool_SetPoint                       "Pool SetPoint [%.0f °F]"                               <temperature>   (Pool)                                  {channel="autelis:jandy:Pool:temp-poolsp"}
Number    Pool_Temperature                    "Pool Temperature [%.0f °F]"                            <temperature>   (Pool)                                  {channel="autelis:jandy:Pool:temp-pooltemp"}
Number    Pool_Chlorination                   "Chlorination Setpoint [%d %%]"                         <chlorine>      (Pool)                                  {channel="autelis:jandy:Pool:chem-chlorp"}
Number    Pool_Salt                           "Pool Salt Level [%d ppm]"                              <salt>          (Pool)                                  {channel="autelis:jandy:Pool:chem-saltp"}

Logs:

    2017-06-29 16:32:30.847 [WARN ] [ome.core.thing.internal.ThingManager] - Cannot delegate command '55' for item 'Pool_Chlorination' to handler for channel 'autelis:jandy:Pool:chem-chlorp', because no thing with the UID 'autelis:jandy:Pool' could be found.
    2017-06-29 16:32:30.848 [WARN ] [ome.core.thing.internal.ThingManager] - Cannot delegate update '55' for item 'Pool_Chlorination' to handler for channel 'autelis:jandy:Pool:chem-chlorp', because no thing with the UID 'autelis:jandy:Pool' could be found.
    2017-06-29 16:32:33.348 [WARN ] [ome.core.thing.internal.ThingManager] - Cannot delegate command '55' for item 'Pool_Chlorination' to handler for channel 'autelis:jandy:Pool:chem-chlorp', because no thing with the UID 'autelis:jandy:Pool' could be found.
    2017-06-29 16:32:33.348 [WARN ] [ome.core.thing.internal.ThingManager] - Cannot delegate update '55' for item 'Pool_Chlorination' to handler for channel 'autelis:jandy:Pool:chem-chlorp', because no thing with the UID 'autelis:jandy:Pool' could be found.

can you run feature:install org.eclipse.smarthome.io.transport.upnp in the console? and then restart the autelis binding?

Fixed the upnp error with:

feature:install esh-io-transport-upnp

Now, when I try to change chlorination setpoint I get:

autelis.log:2017-06-29 16:59:10.942 [AutelisHandler ] - Unsupported type chem

When I try to change pump speed I get:

autelis.log:2017-06-29 16:59:19.334 [AutelisHandler ] - Unsupported type pump

That did not work, but “feature:install esh-io-transport-upnp” did.

BTW, I am seeing correct XML data for Jandy! I just can’t set it.

<response>
	<chem>
		<avail>9</avail>
		<chlrp>60</chlrp>
		<saltp>82</saltp>
		<chlrs>0</chlrs>
		<salts>82</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>

2017-06-29 17:25:43.039 [AutelisHandler            ] - http://10.88.64.89:80/pumps.xml 
 <response>
	<pumps>
		<vsp1>6</vsp1>
		<vsp2></vsp2>
		<vsp3></vsp3>
		<vsp4></vsp4>
	</pumps>
</response>

Well, thats progress :slight_smile: I’m boarding a flight, I’ll check why commands are failing a little later tonight.

Ok, I see where the issue is, can you tell me what the URL is that the autelis web interface hits when setting those values (using something like the chrome debugger) ? The autelis documentation is not very clear when it comes to sending commands.