Skip to main content

ZWO EAF module for pyobs

This module provides a pyobs driver for the ZWO Electronic Auto Focuser (EAF). It exposes the focuser as a pyobs module implementing IFocuser and ITemperatures, allowing remote focus control and temperature monitoring via the pyobs communication layer.

Requirements

Python

  • Python 3.11 or later
  • pyobs-core 2.0 or later

System

The C++ extension is built against the ZWO EAF SDK (bundled) and requires libudev at both build and runtime. Install the development package before building:

sudo apt install libudev-dev

The runtime library (libudev.so.1) ships with most Linux distributions and is usually already present; the -dev package provides the linker symlink needed during the build.

Installation

pip install pyobs-zwoeaf

Or from source:

uv sync

udev rule

To allow access to the EAF USB device without root privileges, add a udev rule. Create /etc/udev/rules.d/99-hidraw.rules with the following content:

SUBSYSTEM=="hidraw",MODE="0660",GROUP="plugdev"

Then add your user to the plugdev group and reload the rules:

sudo usermod -aG plugdev $USER
sudo udevadm control --reload-rules && sudo udevadm trigger

Configuration

Add the module to your pyobs configuration:

focuser:
  class: pyobs_zwoeaf.EAFFocuser
  device_number: 0      # USB device index (0 for the first EAF)
  max_steps: 60000      # maximum step count
  backlash: 0           # backlash compensation in steps
  direction: true       # motor direction (true = left rotation)
  sound: true           # beep when motion starts

CLI tool

A simple interactive terminal tool for direct hardware access is included, useful for commissioning and manual adjustments:

pyobs-zwoeaf

Metadata

Release files for pyobs-zwoeaf 2.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyobs-zwoeaf 2.0.4
File Size Uploaded
pyobs_zwoeaf-2.0.4.tar.gz 1.1 MB Details

Release files / pyobs_zwoeaf-2.0.4.tar.gz

Download URL pyobs_zwoeaf-2.0.4.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
446aaf36e759861b9e43072d2761fa7cb1a1defbb426f8a992554e4ffb0b4c76
BLAKE2b-256 checksum
How to use checksums
caaf2d1f94f30ffff2fa31b0b18c8e3f2eb1e31a1a1559f59db12f083fb25062
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page