
ICoverCalibratorV2 Interface
- class CoverCalibrator
Interface:
ASCOM.DeviceInterface.ICoverCalibratorV2
ASCOM Standard ICoverCalibratorV2 Interface
Methods
- CoverCalibrator.Action(ActionName: str, ActionParameters)
Invoke the specified device-specific custom action
- Parameters:
ActionName (str) – A name from
SupportedActions
that represents the action to be carried out.ActionParameters (str) – List of required arguments or empty string if none are required.
- Returns:
Action response. The meaning of returned strings is set by the driver author. See notes below.
- Return type:
string
- Raises:
MethodNotImplementedException – If no actions at all are supported
ActionNotImplementedException – If the driver does not support the requested ActionName. The supported action names are listed in
SupportedActions
.NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Important
Must be implemented but may throw
MethodNotImplementedException
if no custom actions are supported.This method, combined with
SupportedActions
, is the supported mechanic for adding non-standard functionality.Note
Action names must be case insensitive, so for example SelectWheel, selectwheel and SELECTWHEEL all refer to the same action.
An example of a string response: Suppose filter wheels start to appear with automatic wheel changers; new actions could be QueryWheels and SelectWheel. The former returning a formatted list of wheel names and the second taking a wheel name and making the change, returning appropriate values to indicate success or failure.
- async CoverCalibrator.CalibratorOff()
Turns the calibrator off if the device has calibration capability.
Non-blocking: Test
CalibratorChanging
to detect completion of the changes. See Notes.
- Raises:
MethodNotImplementedException – When
CalibratorState
returnsNotPresent
. SeeCalibratorStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory method for a calibrator device.
Note
Asynchronous (non-blocking): If the calibrator requires time to safely shut down after use,
CalibratorState
must returnNotReady
and setCalibratorChanging
toTrue
, then when the shut down is completeCalibratorState
must change toOff
andCalibratorChanging
must change toFalse
.For devices with both cover and calibrator capabilities, this method must return the
CoverState
to its status prior to callingCalibratorOff()
.
- async CoverCalibrator.CalibratorOn(BrightnessVal: int)
Turns the calibrator on or changes its brightness, if the device has calibration capability.
Non-Blocking test
CalibratorChanging
to detect completion of the changes. See Notes.
- Parameters:
- BrightnessVal:
The calibrator illumination brightness to be set
- Raises:
InvalidValueException – When
BrightnessVal
is outside the range 0 toMaxBrightness
.MethodNotImplementedException – When
CalibratorState
returnsNotPresent
. SeeCalibratorStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory method for a calibrator device.
Note
Asynchronous (non-blocking): If the calibrator requires time to safely stabilise after use,
CalibratorState
must returnNotReady
and setCalibratorChanging
toTrue
, then when brightness change is completeCalibratorState
must change toReady
andCalibratorChanging
must change toFalse
.When the calibrator is ready for use,
CalibratorState
must returnReady
.For devices with both cover and calibrator capabilities, this method may change the
CoverState
if necessary.If an error condition arises while turning on the calibrator,
CalibratorState
must be set toError
rather thanUnknown
.
- async CoverCalibrator.CloseCover()
Initiates cover closing if a cover is present.
Non-blocking Use
CoverMoving
to detect completion. See Notes
- Raises:
MethodNotImplementedException – When
CoverState
returnsNotPresent
. SeeCoverStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Note
Asynchronous (non-blocking) Upon return from
CloseCover()
, while the cover is closing,CoverMoving
must returnTrue
, andCoverState
must returnMoving
. SeeCoverStatus
enum.When the cover is closed,
CoverMoving
must returnFalse
, andCoverState
must returnClosed
, indicating successful completion.If an error condition arises while moving between states,
CoverState
must be set toError
rather thanUnknown
.
- CoverCalibrator.CommandBlind(Command: str, Raw: bool)
Deprecated since version 2: Use the more flexible
Action()
andSupportedActions
mechanic. See Notes below.Transmit an arbitrary string to the device and does not wait for a response.
- Parameters:
Command (str) – The literal command string to be transmitted.
Raw (bool) – If
True
, command is transmitted ‘as-is’. If False, then protocol framing characters may be added prior to transmission.- Returns:
Nothing
- Raises:
MethodNotImplementedException – If the method 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. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Note
The CommandXXX methods are a historic mechanic that provides clients with direct and unimpeded access to change device hardware configuration. While highly enabling for clients, this mechanic is inherently risky because clients can fundamentally change hardware operation without the driver being aware that a change is taking / has taken place.
The newer
Action
andSupportedActions
mechanic provides discrete, named, functions that can deliver any functionality required.They do need driver authors to make provision for them within the driver, but this approach is much lower risk than using the CommandXXX methods because it enables the driver to resolve conflicts between standard device interface commands and extended commandsprovided as Actions.The driver is always aware of what is happening and can adapt more effectively to client needs.
- CoverCalibrator.CommandBool(Command: str, Raw: bool)
Deprecated since version 2: Use the more flexible
Action()
andSupportedActions
mechanic. See Notes below.Transmit an arbitrary string to the device and wait for a boolean response.
- Parameters:
Command (str) – The literal command string to be transmitted.
Raw (bool) – If True, command is transmitted ‘as-is’. If False, then protocol framing characters may be added prior to transmission.
- Returns:
True/False response from the command
- Return type:
boolean
- Raises:
MethodNotImplementedException – If the method 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. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Deprecated, may result in
MethodNotImplementedException
Note
The CommandXXX methods are a historic mechanic that provides clients with direct and unimpeded access to change device hardware configuration. While highly enabling for clients, this mechanic is inherently risky because clients can fundamentally change hardware operation without the driver being aware that a change is taking / has taken place.
The newer
Action
andSupportedActions
mechanic provides discrete, named, functions that can deliver any functionality required.They do need driver authors to make provision for them within the driver, but this approach is much lower risk than using the CommandXXX methods because it enables the driver to resolve conflicts between standard device interface commands and extended commandsprovided as Actions.The driver is always aware of what is happening and can adapt more effectively to client needs.
- CoverCalibrator.CommandString(Command: str, Raw: bool)
Deprecated since version 2: Use the more flexible
Action()
andSupportedActions
mechanic. See Notes below.Transmit an arbitrary string to the device and wait for a string response.
- Parameters:
Command (str) – The literal command string to be transmitted.
Raw (bool) – If True, command is transmitted ‘as-is’. If False, then protocol framing characters may be added prior to transmission.
- Returns:
String response from the command
- Return type:
string
- Raises:
MethodNotImplementedException – If the method 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. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Deprecated, may result in
MethodNotImplementedException
Note
The CommandXXX methods are a historic mechanic that provides clients with direct and unimpeded access to change device hardware configuration. While highly enabling for clients, this mechanic is inherently risky because clients can fundamentally change hardware operation without the driver being aware that a change is taking / has taken place.
The newer
Action
andSupportedActions
mechanic provides discrete, named, functions that can deliver any functionality required.They do need driver authors to make provision for them within the driver, but this approach is much lower risk than using the CommandXXX methods because it enables the driver to resolve conflicts between standard device interface commands and extended commandsprovided as Actions.The driver is always aware of what is happening and can adapt more effectively to client needs.
- async CoverCalibrator.Connect()
Added in version 2: Preferred asynchronous connection mechanic. See Important section below.
Connect to the device asynchronously. Use this to connect to a device rather than setting
Connected
to True.
- Returns:
Nothing
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Important
Non-Blocking. On return,
Connecting
must be True unless already disconnected. Disconnect has successfully completed whenConnecting
becomes (or is) False.This is a mandatory method and must not throw a
MethodNotConnectedException
.Use this to connect to a device rather than setting
Connected
to True.
- async CoverCalibrator.Disconnect()
Added in version 2: Preferred asynchronous connection mechanic. See Important section below.
Disconnect from the device asynchronously. Use this to disconnect from a device rather than setting
Connected
to False.
- Returns:
Nothing
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Important
Non-Blocking. On return,
Connecting
must be True unless already connected. Connection has successfully completed whenConnecting
becomes (or is) False.This is a mandatory method and must not throw a
MethodNotImplementedException
.Use this to disconnect from a device rather than setting
Connected
to False.
- CoverCalibrator.HaltCover()
Stops any cover movement that may be in progress if a cover is present and cover movement can be interrupted.
- Raises:
MethodNotImplementedException – When
CoverState
returnsNotPresent
, or if cover movement cannot be interrupted. SeeCoverStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Attention
This must be a short-lived method.
Note
This must stop any cover movement as soon as possible, set
CoverMoving
toFalse
, and setCoverState
ofOpen
,Closed
orUnknown
as appropriate.If cover movement cannot be interrupted, a
MethodNotImplementedException
must be thrown.
- async CoverCalibrator.OpenCover()
Initiates cover opening if a cover is present.
Non-blocking Use
CoverMoving
to detect completion. See Notes
- Raises:
MethodNotImplementedException – When
CoverState
returnsNotPresent
. SeeCoverStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Note
Asynchronous (non-blocking) Upon return from
OpenCover()
, while the cover is opening,CoverMoving
must return True, andCoverState
must returnMoving
. SeeCoverStatus
enum.When the cover is open,
CoverMoving
must returnFalse
, andCoverState
must returnOpen
, indicating successful completion.If an error condition arises while moving between states,
CoverState
must be set toError
rather thanUnknown
.
- CoverCalibrator.SetupDialog()
Launches a configuration dialogue box for the driver. The call will not return until the user clicks OK or cancels manually.
Please note that this method is only valid for COM drivers. Alpaca devices should provide configuration through the Alpaca HTML endpoints and should not implement a SetupDialog endpoint.
- Returns:
Nothing
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
MethodNotImplementedException
Note
Blocking It is permissible that the configuration dialog is modal, and for the driver not to respond to other calls while this dialog is open.
Properties
- property CoverCalibrator.Brightness: integer
Added in version 2: Member added.
The current calibrator brightness in the range 0 (completely off) to
MaxBrightness
(fully on)
- Raises:
PropertyNotImplementedException – When
CalibratorState
returnsNotPresent
. SeeCalibratorStatus
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory property that must always return a value for a calibrator device
Note
The brightness value must be 0 when
CalibratorState
isOff
- property CoverCalibrator.CalibratorChanging: boolean
True whenever the Calibrator is not ready to be used (illumination not yet stabilized), or not completely shut down.
- Raises:
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory property that must always return a value for a calibrator device
Note
Use this property to determine when an (async)
CalibratorOn()
orCalibratorOff()
has completed, at which time it must transition fromTrue
toFalse
.The brightness value must be 0 when
CalibratorState
isOff
- property CoverCalibrator.CalibratorState: enum CalibratorStatus
- Returns:
The state of the calibration device, if present, otherwise returns
NotPresent
- Return type:
- Raises:
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory property that must always return a value for a calibrator device.
Note
Whenever the calibrator is changing, both
CalibratorChanging
must beTrue
, andCalibratorState
must beChanging
.If no calibrator is present, the state must be
NotPresent
. Must not throw aPropertyNotImplementedException
.The
Brightness
value must be 0 whenCalibratorState
isOff
.The
Unknown
CoverState must only be returned if the device is unaware of the calibrator’s state, e.g., if the hardware does not report the device’s state and the calibrator has just been powered on. Clients do not need to take special action if this state is returned, as they must carry on as usual, callingCalibratorOn()
andCalibratorOf()
methods as required.If the calibrator hardware cannot report its state, the device might mimic this by recording the last configured state and returning that. Driver authors or device manufacturers may also wish to offer users the capability of powering up in a known state and driving the hardware to this state when
Connected
is setTrue
.This property is intended to be available under all but the most disastrous driver conditions. If something has gone wrong, the
CalibratorState
must beError
rather than throwing an exception.
- property CoverCalibrator.Connected: boolean
Changed in version 2: Writing to change connection state superseded by asynchronous
Connect()
,Disconnect()
, andConnecting
.(Read/Write) Retrieve or set the connected state of the device. Writing is deprecated, use the newer
Connect()
andDisconnect()
methods, and the newerConnecting
property. See remarks below.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.
- Returns:
True if connected to the hardware, else false.
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Deprecation Notice
Property-write is deprecated as of CoverCalibrator V2. Starting with Platform 7 and the interface revisions contained therein, writing to Connected is discouraged. To connect and disconnect, use the newer non-blocking
Connect()
andDisconnect()
methods, with the newConnecting
property serving as the completion property.Attention
Must be implemented
Note
Do not use a
NotConnectedException
here, that exception is for use in other methods that require a connection in order to succeed.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.
- property CoverCalibrator.Connecting: Boolean
Added in version 2: Preferred asynchronous connection mechanic. See Notes below.
- Returns:
Returns True while the device is undertaking an asynchronous connect or disconnect operation.
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
This is the correct property for determing when the non-blocking methods
Connect()
orDisconnect()
have completed. Completion is whenConnecting
becomes False after calling either of these methods.New in ICoverCalibratorV2
- property CoverCalibrator.CoverMoving: boolean
Added in version 2: Preferred asynchronous connection mechanic. See Notes below.
- Returns:
True while the cover is moving. Used to determine completion of a non-blocking
OpenCover()
orCloseCover()
operation- Return type:
boolean
- Raises:
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
This is the correct property to use when determining completion of a non-blocking
OpenCover()
orCloseCover()
operation
- property CoverCalibrator.CoverState: enum CoverStatus
- Returns:
The state of the device cover.
- Return type:
- Raises:
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory property that must always return a value for a calibrator device.
Note
Whenever the cover is opening of closing, both
CoverMoving
must beTrue
, andCoverState
must beMoving
.If no cover is present, the
CoverState
must beNotPresent
. You must not throw aPropertyNotImplementedException
.
CoverState
=Unknown
must only be returned if the device is unaware of the cover’s state e.g. if the hardware does not report the open/closed state and the cover has just been powered on. Clients do not need to take special action if this state is returned, as they must carry on as usual, callingOpenCover()
andCloseCover()
methods as required.If the calibrator hardware cannot report its state, the device might mimic this by recording the last configured state and returning that. Driver authors or device manufacturers may also wish to offer users the capability of powering up in a known state and driving the hardware to this state when
Connected
is setTrue
.This property is intended to be available under all but the most disastrous driver conditions. If something has gone wrong, the
CoverState
must beError
rather than throwing an exception.
- property CoverCalibrator.Description: String
- Returns:
Description of the device such as manufacturer and model number. Any ASCII characters may be used.
- Return type:
string
- Raises:
NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
This describes the device, not the driver. See the
DriverInfo
property for information on the ASCOM driver.The description length must 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.
- property CoverCalibrator.DeviceState: List[StateValue]
Added in version 2: To allow reduction of status polling
- Returns:
List of
StateValue
objects representing the operational properties of this device. See What is the “read all” feature and what are its rules?.- Return type:
List
- This device must return the following operational properties if they are known:
Note
For more info see What is the “read all” feature and what are its rules?.
- property CoverCalibrator.DriverInfo: String
- Returns:
Descriptive and version information about the ASCOM driver
- Return type:
string
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
This string may contain line endings and may be hundreds to thousands of characters long.It is intended to display detailed information on the ASCOM driver, including version and copyright data. See the
Description
property for information on the device itself.To get the driver version in a parse-able string, use theDriverVersion
property.
- property CoverCalibrator.DriverVersion: String
- Returns:
String containing only the major and minor version of the driver.
- Return type:
string
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
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.On systems with a comma as the decimal point you may need to make accommodations to parse the value.
- property CoverCalibrator.InterfaceVersion: Integer
- Returns:
ASCOM Device interface definition version that this device supports. Should return 2 for this interface version.
- Return type:
integer
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
This is a single “short” integer indicating the version of this specific ASCOM universal interface definition. For example, for ICameraV4, this will be 4. It should not to be confused with the
DriverVersion
property, which is the major.minor version of the driver for this device.
- property CoverCalibrator.MaxBrightness: Integer
- Returns:
The Brightness value that makes the calibrator deliver its maximum illumination.
- Return type:
integer
- Raises:
MethodNotImplementedException – When
CalibratorState
returnsNotPresent
.NotConnectedException – If the device is not connected
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes hardware or communication errors.
Important
This is a mandatory property for a calibrator device that must always return a value within the integer range 1 to 2,147,483,647 (32-bit integer)
Note
The value will always be a positive integer, indicating the available maximum value. Examples:
A value of 1 indicates that the calibrator can only be “off” or “on”
A value of 10 indicates that the calibrator has 10 discrete illumination levels in addition to “off”.
- property CoverCalibrator.Name: String
- Returns:
The short name of the driver, for display purposes.
- Return type:
string
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
Note
The
Description
property is used to return info about the device rather than the driver.
- property CoverCalibrator.SupportedActions: COM: ArrayList of String elements, Alpaca: Array of String
Returns the list of custom action names supported by this driver, to be used with
Action()
,
- Returns:
The list of custom action names supported by this driver
- Return type:
COM: ArrayList of String elements, Alpaca: Array of String
- Raises:
DriverException – An error occurred that is not described by one of the more specific ASCOM exceptions. Include sufficient detail in the message text to enable the issue to be accurately diagnosed by someone other than yourself. Includes communication errors.
Attention
Must be implemented, must not throw a
PropertyNotImplementedException
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 custom action names exactly, without additional descriptive text. However, returned names may use any casing because the
ActionName
parameter ofAction()
is case insensitive.
Enumerated Constants
- CalibratorStatus: integer
Describes the state of a calibration device.
Symbol
Val
Description
NotPresent
0
This device does not have a calibration capability
Off
1
The calibrator is off
NotReady
2
The calibrator is stabilising or is not yet in the commanded state
Ready
3
The calibrator is ready for use
Unknown
4
The calibrator state is unknown
Error
5
The calibrator encountered an error when changing state
- CoverStatus: integer
Describes the state of a telescope cover
Symbol
Val
Description
NotPresent
0
This device does not have a cover that can be closed independently
Closed
1
The cover is closed
Moving
2
The cover is moving to a new position
Open
3
The cover is open
Unknown
4
The state of the cover is unknown
Error
5
The device encountered an error when changing state