For the record I did resolve this using a python code and serial interface module (pyserial - see code extract below). So now I'm able to effectively 'park' the scope at a 'land' location (fixed AltAz LCD screen) so the scope stops tracking and then sleeps enabling me to take flats etc.

The options I tried:
a. Using the INDI module PyIndi - but couldn't find any commands to set land mode , sleep or park.
b. A hardware switch on the skysensor to turn it off - this still meant coding to get the scope into position

Let me know if you want more info.
Andrew

Python 3.5 code extract

import serial
import time
#import string, re
#


def start_telescope(port):
#connect to the scope on a port #linux: /dev/ttyUSB0 (check with lsusb)
print("trying to connect to port:{} ".format(port))
try:
serialobject = serial.Serial(port, 9600, timeout = 5)
if(serialobject.isOpen()):
print("port is connected")
#wakeup sleeping telescope
serialobject.write("#:hW#".encode())
print("trying to wake scope")
else:
print("-- scope not ready! --")
serialobject = "notready"
except:
print("serial port open error - already open?")
serialobject = "serialerror"
return(serialobject)

def get_telescope_position(serialobject):
#get RA and DEC
serialobject.write("#:GR#".encode())
RA = serialobject.read(10).decode('latin-1')
time.sleep(1)
serialobject.write("#:GD#".encode())
Dec = serialobject.read(10).decode('latin-1')
pos = [RA, Dec]
print('telescope pos is RA:{}, DE:{}, pos{}'.format(RA,Dec,pos))
return (pos)

def set_alignment(serialobject, amode): #set to land, polar or altaz mode
serialobject.reset_input_buffer() #flushInput()
serialobject.reset_output_buffer() #flushOutput()
if(amode == "Land"):
command = "#:AL#"
elif(amode == "polar"):
command = "#:AP#"
elif(amode == "altaz"):
command = "#:AA#"
else:
print(" alignmode not recognized...defaulting to altaz..")
command = "#:AA#"
print('alignment mode set to {}'.format(amode))
serialobject.write(command.encode())
time.sleep(1)
serialobject.reset_input_buffer() #flushInput()
return

def get_alignment(serialobject): # find the alignment mode
serialobject.reset_input_buffer() #flushInput()
serialobject.reset_output_buffer() #flushOutput()
command = chr(0x06)
serialobject.write(command.encode())
time.sleep(1)
result = serialobject.read(2).decode('latin-1')
time.sleep(1)
serialobject.flushInput()
if (result == 'A'):
mode = "altaz"
elif (result == 'L'):
mode = "Land"
elif (result == 'P'):
mode = "polar"
else:
mode = "unknown"
print('alignment mode is {}, {}'.format(result,mode))
return

def go_lcd(serialobject) :# only works if Land or AlAz True
alt= '#:Sa -0*50#' #:Sa sDD*MM#
az = '#:Sz 250*50#' #:Sz DDD*MM#
print('going to lcd at {}, {}'.format(alt,az))
serialobject.reset_input_buffer() #flushInput()
serialobject.reset_output_buffer() #flushOutput()
serialobject.write(alt.encode())
serialobject.write(az.encode())
command = "#:MA#"
serialobject.write(command.encode())
return

def halt_scope(serialobject):
serialobject.reset_input_buffer() #flushInput()
serialobject.reset_output_buffer() #flushOutput()
command = "#:Q#"
print('scope halted')
serialobject.write(command.encode())
serialobject.write("#:hN#".encode())
return

so = start_telescope('/dev/ttyUSB1')
for x in range(3):
get_telescope_position(so)
get_alignment(so)
set_alignment(so,'Land')
go_lcd(so)
get_alignment(so)
halt_scope(so)
so.close()

Read More...