Telescope Class

Master Interfaces Reference

These green boxes in each interface member each have a link to the corresponding member definition in Master ITelescopeV4 Interface (external). The information in this Alpyca document is provided for your convenience. If there is any question, the info in ASCOM Master Interface Definitions (external) is the official specification.

class alpaca.telescope.Telescope(address: str, device_number: int, protocol: str = 'http')

Bases: Device

ASCOM Standard ITelescope V3 Interface

Initialize the Telescope object.

Parameters:
  • address (str) – IP address and port of the device (x.x.x.x:pppp)

  • device_number (int) – The index of the device (usually 0)

  • protocol (str, optional) – Only if device needs https. Defaults to “http”.

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

AbortSlew() None

Immediatley stops an asynchronous slew in progress.

Raises:

Note

Master Interfaces Reference

Telescope.AbortSlew() (external)

Action(ActionName: str, *Parameters) str

Invoke the specified device-specific custom action

Common to all devices

Parameters:
  • ActionName – A name from SupportedActions that represents the action to be carried out.

  • *Parameters – List of required parameters or [] if none are required.

Returns:

String result of the action.

Raises:

Note

  • This method, combined with SupportedActions, is the supported mechanic for adding non-standard functionality.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Action(), find this specific device’s specification, and see Action() there.

AxisRates(Axis: TelescopeAxes) List[Rate]

Angular rates at which the mount may be moved with MoveAxis(). See Notes.

Returns:

A list of Rate objects, each of which specifies a minimum and a maximum angular rate at which the given axis of the mount may be moved.

Raises:

Note

  • See MoveAxis() for details.

  • An empty list will be returned if MoveAxis() is not supported.

  • Returned rates will always be positive, it is up to you to choose the positive or negative rate for your call to MoveAxis().

Master Interfaces Reference

Telescope.AxisRates() (external)

CanMoveAxis(Axis: TelescopeAxes) bool

The mount can be moved about the given axis

Raises:

Master Interfaces Reference

Telescope.CanMoveAxis() (external)

CommandBlind(Command: str, Raw: bool) None

Transmit an arbitrary string to the device and does not wait for a response.

Common to all devices

Parameters:
  • Command – The literal command string to be transmitted.

  • Raw – If true, command is transmitted ‘as-is’. If false, then protocol framing characters may be added prior to transmission.

Raises:

Attention

Deprecated, will most likely result in NotImplementedException

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for CommandBlind(), find this specific device’s specification, and see CommandBlind() there.

CommandBool(Command: str, Raw: bool) bool

Transmit an arbitrary string to the device and wait for a boolean response.

Common to all devices

Returns:

The True/False response from the command

Parameters:
  • Command – The literal command string to be transmitted.

  • Raw – If true, command is transmitted ‘as-is’. If false, then protocol framing characters may be added prior to transmission.

Raises:

Attention

Deprecated, will most likely result in NotImplementedException

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for CommandBlind(), find this specific device’s specification, and see CommandBlind() there.

CommandString(Command: str, Raw: bool) str

Transmit an arbitrary string to the device and wait for a string response.

Common to all devices

Returns:

The string response from the command

Parameters:
  • Command – The literal command string to be transmitted.

  • Raw – If true, command is transmitted ‘as-is’. If false, then protocol framing characters may be added prior to transmission.

Raises:

Attention

Deprecated, will most likely result in NotImplementedException

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for CommandString(), find this specific device’s specification, and see CommandString() there.

Connect() None

Connect to the device asynchronously.

Common to all devices

Returns:

Nothing

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • Non-Blocking Use Connecting to indicate completion.

  • Natively present only in Platform 7 (2024) devices, but this library emulates Connect()/Disconnect()/Connecting mechanic for older devices.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Connect(), find this specific device’s specification, and see Connect() there.

DestinationSideOfPier(RightAscension: float, Declination: float) PierSide

Predicts the pointing state (PierSide) after a GEM slews to given coordinates at this instant.

Provided so apps can manage GEM flipping during an image sequence. See SideOfPier, What is DestinationSideOfPier and why would I want to use it?, and What is the meaning of “pointing state” in the docs for SideOfPier?

Raises:

Master Interfaces Reference

Telescope.DestinationSideOfPier() (external)

Disconnect() None

Disconnect from the device asynchronously.

Common to all devices

Returns:

Nothing

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • Non-Blocking Use Connecting to indicate completion.

  • Natively present only in Platform 7 (2024) devices, but this library emulates Connect()/Disconnect()/Connecting mechanic for older devices.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Disconnect(), find this specific device’s specification, and see Disconnect() there.

FindHome() None

Start moving the mount to the “home” position.

Non-blocking: Returns immediately with Slewing = True if the homing operation has successfully been started, or Slewing = False which means the mount is already at its home position (and of course AtHome will already be True). See Notes, and How can I tell if my asynchronous request failed after being started?

Raises:

Note

Master Interfaces Reference

Telescope.FindHome() (external)

MoveAxis(Axis: TelescopeAxes, Rate: float) None

Move the mount about the given axis at the given angular rate.

Non-blocking: Returns immediately with Slewing = True after successfully starting the axis rotation operation. See Notes, and How can I tell if my asynchronous request failed after being started?

Parameters:
  • AxisTelecopeAxes, the axis about which rotation is desired

  • Rate – The rate or rotation desired (deg/sec)

Raises:

Note

  • Asynchronous (non-blocking): Use the Slewing property to determine if the mount is moving, however you must explicitly call MoveAxis() with a zero rate to stop motion about the given axis.

  • This is a complex feature, see What does MoveAxis() do and how do I use it?

Master Interfaces Reference

Telescope.MoveAxis() (external)

Park() None

Start slewing the mount to its park position.

Non-blocking: Returns immediately with Slewing = True if the park operation has successfully been started, or Slewing = False which means the mount is already parked (and of course AtPark will already be True). See Notes, and How can I tell if my asynchronous request failed after being started?

Raises:

Note

Master Interfaces Reference

Telescope.Park() (external)

PulseGuide(Direction: GuideDirections, Duration: int) None

Pulse guide in the specified direction for the specified time (ms).

Non-blocking: See Notes, and How can I tell if my asynchronous request failed after being started?

Parameters:
  • DirectionGuideDirections

  • Interval – duration of the guide move, milliseconds

Raises:

Note

  • Asynchronous: The method returns as soon the pulse-guiding operation has been successfully started, with IsPulseGuiding property True. However, you may find that IsPulseGuiding is False when you get around to checking it if the ‘pulse’ is short. This is still a success if you get False back and not an exception. See How can I tell if my asynchronous request failed after being started?

  • Some mounts have implemented this as a Synchronous (blocking) operation. This is deprecated and will be prohbited in the future.

  • GuideDirections for North and South have varying interpretations by German Equatorial mounts. Some GEM mounts interpret North to be the same rotation direction of the declination axis regardless of their pointing state (“side of the pier”). Others truly implement North and South by reversing the dec-axis rotation depending on their pointing state. Apps must be prepared for either behavior.

Master Interfaces Reference

Telescope.PulseGuide() (external)

SetPark() None

Set the telescope’s park position to its current position.

Raises:
  • NotImplementedException – If the mount does not support the setting of the park position. In this case CanSetPark will be False.

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Master Interfaces Reference

Telescope.SetPark() (external)

SlewToAltAz(Azimuth: float, Altitude: float) None

DEPRECATED - Do not use this via Alpaca

SlewToAltAzAsync(Azimuth: float, Altitude: float) None

Start a slew to the given local horizontal coordinates. See Notes.

Non-blocking: Returns immediately with Slewing = True if the slewing operation has successfully been started. See Notes, and How can I tell if my asynchronous request failed after being started?

Parameters:
  • Azimuth – Azimuth coordinate (degrees, North-referenced, positive East/clockwise).

  • Altitude – Altitude coordinate (degrees, positive up).

Raises:

Note

Master Interfaces Reference

Telescope.SlewToAltAzAsync() (external)

SlewToCoordinates(RightAscension: float, Declination: float) None

DEPRECATED - Do not use this via Alpaca

SlewToCoordinatesAsync(RightAscension: float, Declination: float)

Start a slew to the given equatorial coordinates. See Notes.

Non-blocking: Returns immediately with Slewing = True if the slewing operation has successfully been started. See Notes, and How can I tell if my asynchronous request failed after being started?

Parameters:
  • RightAscension – Right Ascension coordinate (hours).

  • Declination – Declination coordinate (degrees).

Raises:

Note

Master Interfaces Reference

Telescope.SlewToCoordinatesAsync() (external)

SlewToTarget() None

DEPRECATED - Do not use this via Alpaca

SlewToTargetAsync() None

Start a slew to the coordinates in TargetRightAscension and TargetDeclination.. See Notes.

Non-blocking: Returns immediately with Slewing = True if the slewing operation has successfully been started. See Notes, and How can I tell if my asynchronous request failed after being started?

Raises:

Note

Master Interfaces Reference

Telescope.SlewToTargetAsync() (external)

SyncToAltAz(Azimuth: float, Altitude: float) None

Match the mount’s alt/az coordinates with the given alt/az coordinates

Parameters:
  • Azimuth – Corrected Azimuth coordinate (degrees, North-referenced, positive East/clockwise).

  • Altitude – Corrected Altitude coordinate (degrees, positive up).

Raises:

Master Interfaces Reference

Telescope.SyncToAltAz() (external)

SyncToCoordinates(RightAscension: float, Declination: float) None

Match the mount’s equatorial coordinates with the given equatorial coordinates

Parameters:
  • RightAscension – Corrected Right Ascension coordinate (hours).

  • Declination – Corrected Declination coordinate (degrees).

Raises:

Master Interfaces Reference

Telescope.SyncToCoordinates() (external)

SyncToTarget() None

Match the mount’s equatorial coordinates with :attr:TargetRightAscension and TargetDeclination.

Raises:

Master Interfaces Reference

Telescope.SyncToTarget() (external)

Unpark() None

Takes the mount out of parked state

Raises:

Note

  • Unparking a mount that is not parked is harmless and will always be successful.

Master Interfaces Reference

Telescope.Unpark() (external)

property AlignmentMode: AlignmentModes

The current mount alignment mode.

Raises:

Master Interfaces Reference

Telescope.AlignmentMode() (external)

property Altitude: float

The mount’s current Altitude (degrees) above the horizon.

Raises:

Master Interfaces Reference

Telescope.Altitude (external)

property ApertureArea: float

The telescope’s aperture area (square meters).

Raises:

Note

  • The area takes into account any obstructions; it is the actual light-gathering area.

Master Interfaces Reference

Telescope.ApertureArea (external)

property ApertureDiameter: float

Return the telescope’s effective aperture (meters).

Raises:

Master Interfaces Reference

Telescope.ApertureDiameter (external)

property AtHome: bool

The mount is at the home position.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This is the correct property to use to determine successful completion of the (non-blocking) FindHome() operation. See How can I tell if my asynchronous request failed after being started?

  • True if the telescope is stopped in the Home position. Can be True only following a FindHome() operation.

  • Will become False immediately upon any slewing operation

  • Will always be False if the telescope does not support homing. Use CanFindHome to determine if the mount supports homing.

Master Interfaces Reference

Telescope.AtHome (external)

property AtPark: bool

The telescope is at the park position.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This is the correct property to use to determine successful completion of the (non-blocking) Park() operation. See How can I tell if my asynchronous request failed after being started?

  • True if the telescope is stopped in the Park position. Can be True only following successful completion of a Park() operation.

  • When parked, the telescope will be stationary or restricted to a small safe range of movement. Tracking will be False.

  • You must take the telescope out of park by calling Unpark(); attempts to slew enabling tracking while parked will raise a ParkedException.

  • Will always be False if the telescope does not support parking. Use CanPark to determine if the mount supports parking.

Master Interfaces Reference

Telescope.AtPark (external)

property Azimuth: float

The azimuth (degrees) at which the telescope is currently pointing.

Raises:

Note

  • Azimuth is per the usual alt/az coordinate convention: degrees North-referenced, positive East/clockwise.

Master Interfaces Reference

Telescope.Azimuth (external)

property CanFindHome: bool

The mount can find its home position.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanFindHome (external)

property CanPark: bool

The mount can be parked.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanPark (external)

property CanPulseGuide: bool

The mount can be pulse guided.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanPulseGuide (external)

property CanSetDeclinationRate: bool

The Declination tracking rate may be offset.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSetDeclinationRate (external)

property CanSetGuideRates: bool

The guiding rates for PulseGuide() can be adjusted

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSetGuideRates (external)

property CanSetPark: bool

The mount’s park position can be set.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSetPark (external)

property CanSetPierSide: bool

The mount can be force-flipped via setting SideOfPier.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • See SideOfPier.

  • Will always be False for non-German mounts

Master Interfaces Reference

Telescope.CanSetPierSide (external)

property CanSetRightAscensionRate: bool

The Right Ascension tracking rate may be offset

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSetRightAscensionRate (external)

property CanSetTracking: bool

The mount’s sidereal tracking may be turned on and off

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSetTracking (external)

property CanSlew: bool

The mount can slew to equatorial coordinates.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Attention

Do not use synchronous methods unless the mount cannot do asynchronous slewing (CanSlewAsync = False). Synchronous methods will be deprecated in the next version of ITelescope.

Master Interfaces Reference

Telescope.CanSlew (external)

property CanSlewAltAz: bool

The mount can slew to alt/az coordinates.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Attention

Do not use synchronous methods unless the mount cannot do asynchronous slewing (CanSlewAltAzAsync = False). Synchronous methods will be deprecated in the next version of ITelescope.

Master Interfaces Reference

Telescope.CanSlewAltAz (external)

property CanSlewAltAzAsync: bool

The mount can slew to alt/az coordinates asynchronously.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Attention

Always use asynchronous slewing if at all possible (CanSlewAltAzAsync = True). Synchronous methods will be deprecated in the next version of ITelescope.

Master Interfaces Reference

Telescope.CanSlewAltAzAsync (external)

property CanSlewAsync: bool

The mount can slew to equatorial coordinates synchronously.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Attention

Always use asynchronous slewing if at all possible (CanSlewAsync = True). Synchronous methods will be deprecated in the next version of ITelescope.

Master Interfaces Reference

Telescope.CanSlewAsync (external)

property CanSync: bool

The mount can be synchronized to equatorial coordinates.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Master Interfaces Reference

Telescope.CanSync (external)

property CanSyncAltAz: bool

The mount can be synchronized to alt/az coordinates.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanSyncAltAz (external)

property CanUnpark: bool

The mount can be unparked

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.CanUnpark (external)

property Connected: bool

(Read/Write) Retrieve or set the connected state of the device.

Common to all devices

Set True to connect to the device hardware. Set False to disconnect from the device hardware. You can also read the property to check whether it is connected. This reports the current hardware state. See Notes below.

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • The Connected property sets and reports the state of connection to the device hardware. For a hub this means that Connected will be True when the first driver connects and will only be set to False when all drivers have disconnected. A second driver may find that Connected is already True and setting Connected to False does not report Connected as False. This is not an error because the physical state is that the hardware connection is still True.

  • Multiple calls setting Connected to True or false will not cause an error.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Connected, find this specific device’s specification, and see Connected there.

property Connecting: bool

Returns True while the device is undertaking an asynchronous Connect() or Disconnect() operation.

Common to all devices

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • Use this property to determine when an (async) Connect() or Disconnect() has completed, at which time it will transition from True to False.

  • Natively present only in Platform 7 (2024) devices, but this library emulates Connect()/Disconnect()/Connecting mechanic for older devices.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Connecting, find this specific device’s specification, and see Connecting there.

property Declination: float

The mount’s current Declination (degrees) in the current EquatorialSystem (see Notes)

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • Declination will be in the equinox given by the current value of EquatorialSystem.

Master Interfaces Reference

Telescope.Declination (external)

property DeclinationRate: float

(Read/Write) The mount’s declination tracking rate (see Notes).

Raises:

Note

  • DeclinationRate is an offset from 0 (no change in declination), given in arc seconds per SI (atomic) second. (Please note that the units of RightAscensionRate are in (sidereal) seconds of RA per sidereal second).

  • The supported range for this property is mount-specific.

  • Offset tracking is most commonly used to track a solar system object such as a minor planet or comet.

  • Offset tracking may also be used (less commonly) as a method for reducing dynamic mount errors.

  • If offset tracking is in effect (non-zero), and a slew is initiated, the mount will continue to update the slew destination coordinates at the given offset rate.

property Description: str

Description of the device such as manufacturer and model number.

Common to all devices

Raises:
  • NotConnectedException – If the device status is unavailable

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This describes the device, not the driver. See the DriverInfo property for information on the ASCOM driver.

  • The description length will be a maximum of 64 characters so that it can be used in FITS image headers, which are limited to 80 characters including the header name.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Description, find this specific device’s specification, and see Description there.

property DeviceState: List[dict]

List of key-value pairs representing the operational properties of the device

Common to all devices

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for DeviceState, find this specific device’s specification, and see DeviceState there.

property DoesRefraction: bool

(Read/Write) The mount applies atmospheric refraction to corrections

Raises:
  • NotImplementedException – If either reading or writing of this property is not implemented

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • If the driver does not know whether the attached telescope does its own refraction, and if the driver does not itself calculate refraction, this property (if implemented) will raise DriverException when read.

  • If the mount indicates that it can apply refraction, yet you wish to calculate your own (more accurate) correction, try setting this to False then, if successful, supply your own refracted coordinates.

  • If you set this to True, and the mount (already) does refraction, or if you set this to Fales, and the mount (already) does not do refraction, no exception will be raised.

Master Interfaces Reference

Telescope.DoesRefraction (external)

property DriverInfo: List[str]

Descriptive and version information about the ASCOM driver

Common to all devices

Returns:

Python list of strings (see Notes)

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This describes the driver not the device. See the Description property for information on the device itself

  • The return is a Python list of strings, the total length of which may be hundreds to thousands of characters long. It is intended to display detailed information on the ASCOM (COM or Alpaca) driver, including version and copyright data. . To get the driver version in a parse-able string, use the DriverVersion property.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for DriverInfo, find this specific device’s specification, and see DriverInfo there.

property DriverVersion: str

String containing only the major and minor version of the driver.

Common to all devices

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This must be in the form “n.n”. It should not to be confused with the InterfaceVersion property, which is the version of this specification supported by the driver. Note: on systems with a comma as the decimal point you may need to make accommodations to parse the value.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for DriverVersion, find this specific device’s specification, and see DriverVersion there.

property EquatorialSystem: EquatorialCoordinateType

The current equatorial coordinate system used by the mount

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • See EquatorialCoordinateType.

  • Most mounts use topocentric coordinates. Some high-end research mounts use J2000 coordinates.

Master Interfaces Reference

Telescope.EquatorialSystem (external)

property FocalLength: float

Return the telescope’s focal length in meters.

Raises:

Master Interfaces Reference

Telescope.FocalLength (external)

property GuideRateDeclination: float

(Read/Write) The current Declination rate offset (deg/sec) for guiding.

Raises:

Note

  • This is the rate for both hardware/relay guiding and for PulseGuide().

  • The mount may not support separate right ascension and declination guide rates. If so, setting either rate will set the other to the same value.

  • This value will be set to a default upon startup.

Master Interfaces Reference

Telescope.GuideRateDeclination (external)

property GuideRateRightAscension: float

(Read/Write) The current Right Ascension rate offset (deg/sec) for guiding.

Raises:

Note

  • This is the rate for both hardware/relay guiding and for PulseGuide().

  • The mount may not support separate right ascension and declination guide rates. If so, setting either rate will set the other to the same value.

  • This value will be set to a default upon startup.

Master Interfaces Reference

Telescope.GuideRateRightAscension (external)

property InterfaceVersion: int

ASCOM Device interface definition version that this device supports.

Common to all devices

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This is a single integer indicating the version of this specific ASCOM universal interface definition. For example, for ICameraV3, this will be 3. It should not to be confused with the DriverVersion property, which is the major.minor version of the driver for this device.

  • This value is cached internally after first retrieval since it is repeatedly used if emulating Connect/Disconnect semantics on older (pre - Platform 7) devioces.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for InterfaceVersion, find this specific device’s specification, and see InterfaceVersion there.

property IsPulseGuiding: bool

The mount is currently executing a PulseGuide() command.

Use this property to determine when a (non-blocking) pulse guide command has completed. See Notes and How can I tell if my asynchronous request failed after being started?

Raises:

Note

Master Interfaces Reference

Telescope.IsPulseGuiding (external)

property Name: str

The short name of the driver, for display purposes.

Common to all devices

Raises:

DriverException – If the driver cannot successfully complete the request. This exception may be encountered on any call to the device.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for Name, find this specific device’s specification, and see Name there.

property RightAscension: float

The mount’s current right ascension (hours) in the current EquatorialSystem. See Notes.

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Master Interfaces Reference

Telescope.RightAscension (external)

property RightAscensionRate: float

(Read/Write) Read or set a secular rate of change to the mount’s RightAscension (seconds of RA per sidereal second). See What are RightAscensionRate and DeclinationRate and how are they used? (external)

Raises:

Note

  • RightAscensionRate is an offset from 0 (no change in Right Ascension). Note that a mount that is tracking sidereally is pointing to an unchanging right ascension. See What are RightAscensionRate and DeclinationRate and how are they used? (external)

  • Right Ascension is a time coordinate not an angular coordinate. Seconds are not arc seconds.

  • To convert a given rate in units of sidereal seconds per UTC (clock) second, multiply the value by 0.9972695677 (the number of UTC seconds in a sidereal second) then set the RightAscensionRate property.

  • The supported range for this property is mount-specific.

  • Offset tracking is most commonly used to track a solar system object such as a minor planet or comet.

  • If offset tracking is in effect (non-zero), and a slew is initiated, the mount will continue to update the slew destination coordinates at the given offset rate.

  • Use the Tracking property to stop and start tracking.

property SideOfPier: PierSide

(Read/Write) Start a change of, or return, the mount’s pointing state. See What is the meaning of “pointing state” in the docs for SideOfPier?

Non-blocking: Writing to change pointing state returns immediately with Slewing = True if the state change (e.g. GEM flip) operation has successfully been started. See Notes, and How can I tell if my asynchronous request failed after being started?

Raises:
  • NotImplementedException – If the mount does not report its pointing state, at all, or if it doesn’t support changing pointing state (e.g.force-flipping) by writing to SideOfPier (CanSetPierSide = False).

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.SideOfPier (external)

property SiderealTime: float

Local apparent sidereal time (See Notes)

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • It is required for a driver to calculate this from the system clock if the mount has no accessible source of sidereal time.

  • Local Apparent Sidereal Time is the sidereal time used for pointing telescopes, and thus must be calculated from the Greenwich Mean Sidereal time, longitude, nutation in longitude and true ecliptic obliquity.

Master Interfaces Reference

Telescope.SiderealTime (external)

property SiteElevation: float

(Read/Write) The observing site’s elevation (meters) above mean sea level.

Raises:

Note

  • Some mounts supply this via input to their control systems, in other scenarios the application will set this on initialization.

  • If a change is made via SiteElevation, most mounts will save the value persistently across power off/on.

  • If the value hasn’t been set by any means, an InvalidOperationException will be raised.

Master Interfaces Reference

Telescope.SiteElevation (external)

property SiteLatitude: float

(Read/Write) The latitude (degrees) of the observing site. See Notes.

Raises:

Note

  • This is geodetic (map) latitude, degrees, WGS84, positive North.

  • Some mounts supply this via input to their control systems, in other scenarios the application will set this on initialization.

  • If a change is made via SiteLatitude, most mounts will save the value persistently across power off/on.

  • If the value hasn’t been set by any means, an InvalidOperationException will be raised.

Master Interfaces Reference

Telescope.SiteLatitude (external)

property SiteLongitude: float

(Read/Write) The longitude (degrees) of the observing site. See Notes.

Raises:

Note

  • This is geodetic (map) longitude, degrees, WGS84, positive East.

  • Some mounts supply this via input to their control systems, in other scenarios the application will set this on initialization.

  • If a change is made via SiteLongitude, most mounts will save the value persistently across power off/on.

  • If the value hasn’t been set by any means, an InvalidOperationException will be raised.

Attention

West longitude is negative.

Master Interfaces Reference

Telescope.SiteLongitude (external)

property SlewSettleTime: int

(Read/Write) The post-slew settling time (seconds).

Artificially lengthen all slewing operations. Useful for mounts or buildings that require additional mechanical settling time after a slew to stabilize.

Raises:

Master Interfaces Reference

Telescope.SlewSettleTime (external)

property Slewing: bool

The mount is in motion resulting from a slew or a move-axis. See How can I tell if my asynchronous request failed after being started?

Raises:
  • NotImplementedException – If the property is not implemented (none of the CanSlew properties are True, this is a manual mount)

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This is the correct property to use to determine successful completion of a (non-blocking) SlewToCoordinatesAsync(), SlewToTargetAsync(), SlewToCoordinatesAsync(), or by writing to SideOfPier to force a flip. See How can I tell if my asynchronous request failed after being started?

  • Slewing will be True immediately upon returning from any of these calls, and will remain True until successful completion, at which time Slewing will become False.

  • You might see Slewing = False on returning from a slew or move-axis if the operation takes a very short time. If you see False (and not an exception) in this state, you can be certain that the operation completed successfully.

  • Slewing will not be True during pulse-guiding or application of tracking offsets.

Master Interfaces Reference

Telescope.Slewing (external)

property SupportedActions: List[str]

The list of custom action names supported by this driver

Common to all devices

Returns:

Python list of strings (see Notes)

Raises:

DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • This method, combined with Action(), is the supported mechanic for adding non-standard functionality.

  • SupportedActions is a “discovery” mechanism that enables clients to know which Actions a device supports without having to exercise the Actions themselves. This mechanism is necessary because there could be people / equipment safety issues if actions are called unexpectedly or out of a defined process sequence. It follows from this that SupportedActions must return names that match the spelling of Action() names exactly, without additional descriptive text. However, returned names may use any casing because the ActionName parameter of Action() is case insensitive.

Master Interfaces Reference

Alpyca uses a common Device class but this is not available in the ASCOM Master Interface Definitions (external). To see the reference info for SupportedActions, find this specific device’s specification, and see SupportedActions there.

property TargetDeclination: float

(Read/Write) Set or return the target declination in the current EquatorialSystem. See Notes.

Raises:

Note

Master Interfaces Reference

Telescope.TargetDeclination (external)

property TargetRightAscension: float

(Read/Write) Set or return the target right ascension (hours) in the current EquatorialSystem

Raises:

Note

Master Interfaces Reference

Telescope.TargetRightAscension (external)

property Tracking: bool

(Read/Write) The on/off state of the mount’s sidereal tracking drive. See Notes.

Raises:

Note

  • When on, the mount will use the last selected TrackingRate.

  • Even if the mount doesn’t support changing this, it will report the current state.

Master Interfaces Reference

Telescope.Tracking (external)

property TrackingRate: DriveRates

(Read/Write) The current (sidereal) tracking rate of the mount, from DriveRates. See Notes.

Raises:
  • InvalidValueException – If value being written is not one of the DriveRates, or if the requested rate is not supported by the mount (not all are).

  • NotImplementedException – If the mount doesn’t support writing this property to change the tracking rate.

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.TrackingRate (external)

property TrackingRates: List[DriveRates]

Return a list of supported DriveRates values

Raises:
  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

Master Interfaces Reference

Telescope.TrackingRates (external)

property UTCDate: datetime

(Read/Write) The UTC date/time of the mount’s internal clock. See Notes.

You may write either a Python datetime (tz=UTC) or an ISO 8601 string for example: 2022-04-22T20:21:01.123 Z

Raises:
  • InvalidValueException – if an illegal ISO 8601 string or a bad Python datetime value is written to change the time. See Notes.

  • NotImplementedException – If the mount doesn’t support writing this property to change the UTC time

  • InvalidOperationException – When UTCDate is read and the mount cannot provide this property itslef and a value has not yet be established by writing to the property.

  • NotConnectedException – If the device is not connected

  • DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. The device did not successfully complete the request.

Note

  • Changing time by writing to this property can be done with either a Python datetime value or an ISO 8601 string, for example 2022-04-22T20:21:01.123 Z.

  • The date/time must be UTC not Local.

  • Even if the mount doesn’t support changing this, it will report the current UTC date/time. The value may be derived from the system clock by the driver if the mount doesn’t provide it.

  • If the mount’s UTC date/time is being derived from the system clock, you will not be able to write this (you’ll get NotImplementedException).

Master Interfaces Reference

Telescope.UTCDate (external)

Rate Class

class alpaca.telescope.Rate(maxv: float, minv: float)

Bases: object

Describes a range of rates supported by the MoveAxis() method

property Maximum: float

The maximum rate (degrees per second)

property Minimum: float

The minimum rate (degrees per second)