Giter VIP home page Giter VIP logo

indi-mqtt's Introduction

indi-mqtt

indi-mqtt is MQTT publisher for INDI server. It reads properties of INDI devices and publishes them using MQTT topics.

[NOTE] Due to the recent changes in pyindi-client and annouced end of life of pyindi-client library, this project is not maintained anymore. It will be replaced by native c++ driver soon.

Installation

Use git to clone source files or download and install indi-mqtt debian package from https://www.astroberry.io/repo/pool/main/i/indi-mqtt/

sudo apt update
sudo apt install python-setuptools python-dev libindi-dev swig libcfitsio-dev libnova-dev
sudo dpkg - i indi-mqtt_1.0.x_all.deb

Configuration

Default configuration file for indi-mqtt is located in /etc/indi-mqtt.conf

MQTT tree

MQTT messages published by indi-mqtt are organized in the following hierarchy:
observatory/#
observatory/status - observatory status (ON|OFF) - equals INDI server status
observatory/json - all INDI properties in a single JSON message
observatory/general/#
observatory/telescope/#
observatory/ccd/#
observatory/guider/#
observatory/focuser/#
observatory/filter/#
observatory/dome/#
observatory/gps/#
observatory/weather/#
observatory/ao/#
observatory/dustcap/#
observatory/lighbox/#
observatory/detector/#
observatory/rotator/#
observatory/spectrograph/#
observatory/aux/#

You can change 'observatory' by setting MQTT_ROOT in /etc/indi-mqtt.conf or invoking command with --mqtt_root argument.
# is a wildcard selector, which returns all properties subsequent to path. If you want to access specific property, use full topic path e.g. observatory/telescope/telescope_simulator/telescope_info/telescope_focal_length will give you info about focal length of telescope simulator.
You can list all available INDI properties by invoking python3 indi-mqtt.py --list_topics or python3 indi-mqtt.py -l for short. JSON output is available if you set MQTT_JSON=True or by invoking python3 indi-mqtt.py --mqtt_json or python3 indi-mqtt.py -j for short. If you have multiple device of a type, they will be listed as a type's subtopics e.g. observatory/focuser/indi_simulator_focus/# and observatory/focuser/indi_moonlite_focus/#

INDI properties polling

INDI properties can be refreshed in two modes:

  • Auto refresh with time configurable by MQTT_POLLING variable in /etc/indi-mqtt.conf or invoking command with --mqtt_polling argument
  • Manual refresh by publishing numeric value to MQTT_ROOT/poll topic (by default it is observatory/poll). Any positive value sets refresh time in seconds. 0 means manual polling

In both modes all INDI properties are returned on poll. If you want to get a specific INDI property, subscribe to it using full topic path e.g. observatory/telescope/telescope_simulator/telescope_info/telescope_focal_length

Help

To get help run python3 /usr/bin/indi-mqtt.py --help or python3 /usr/bin/indi-mqtt.py -h for short

Issues

File any issues on https://github.com/rkaczorek/indi-mqtt/issues

indi-mqtt's People

Contributors

rkaczorek avatar skolarianer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.