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)
| 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}
|