Following a suggestion from @james.synge I am starting this thread with the hope it will help to build support for INDI devices either by me, or POCS developper.
I have a complicated history with POCS, I find it to be an awesome project, designed by very talented people. But because of some legacy code that I wrote, and did not wanted to get rid of, I decided to introduce (lots of) pocs code into mine, instead of restarting from a pocs fork.
Getting back to the current state of my Indi support in my modified version of POCS, it is rather poor, because:
-very few devices class have been implemented: mainly camera, and mount. (focuser in project), dome filterwheel in medium term goal and maybe AAG cloudwatcher in a far future, but not sure.
-Among those classes, few features are actually implemented (mainly goto synchronize, take image). But I would say that the base integration boilerplate code is there
-Everything is untested (withing the pytest framework) or mostly untested (in real conditions).
I still have a lot of work to do in order to improve this integration, and the process will go along the build of my own setup and observatory (that may span over 2+ years).
As the time span is quite long, I though developer here may want to benefit from some of my work without needing to wait for that long to get everything well integrated and tested. And I could definitely help.
Lets start with a few questions/remarks that may guide the integration:
Distributed aspect. The magic of indi is that it provides an API that allows to control an arbitrary number of devices, hosted on an arbitrary number of hosts. That open doors for potentially controlling a big observatory with multiple equipments like multiple mounts, each equipped with multiple telescopes/sensors. In this regard, I saw that POCS make use of ZeroMQ, but from what I saw, it is mainly used for PAWS<->POCS<->Arduino or PAWS<->POCS<->AAG communications, not so much for controlling multiple units at once ?
Easy testing. POCS does features a set of simulators, I must admit that I have never been using because, I was really impressed by the quality of Indi simulators (and I decided to use those).
Guiding/spectroscopy. OpenPHD2 has an API that is compatible with indi, so one should be able to automate guiding, that would be particularly useful for spectroscopy (in my opinion). Indi has also support for some spectroscope. I can’t tell how awesome it would be for me to be able to do automatic acquisition of both photometric and spectroscopic data with multiple equipements.
Maintenance. I would like to advertise POCS in my local network of amateur/semi pro astronomers, In the hope it would drive more people to help develop it. However, I would like to do so only if I think the project as a whole will benefit a large community, so in my mind, this imply people also writing drivers for indi, and not low level serial interface that will be hard to take apart from POCS in case the project is no longer maintained. I am especially thinking about spectroscopy, because there seems to be a huge need for such automation/scheduling tools to observe transient/periodic phenomena in spectroscopy in amateur/pro cooperation projects.
Dependency hell. Part of the success of POCS I guess, comes from the fact that proper testing has been done on local code. and this is especially important as the project seems to be growing, and more and more expensive gear is being run in real world conditions. I would perfectly understand that one does not want to introduce indi because of that.
Fun. Goes along with maintenance, but really, I think the indi ecosystem keeps evolving and so many cool applications are being, and will keep being developed by astronomers. I have been working on integrating for instance part of this project for real time rendering of astronomical gear in a virtual environment, for simulation purpose: https://github.com/geehalel/npindi/blob/master/docs/screenshots/mount3D.png
POCS forks. I am far from being aware of the latest development / cool forks of POCS, although I know that @ahorton has been doing some very cool work with POCS. Maybe part of the abovementionned points have already been tackled and I am not aware of that.
Ok, now please let me answer (if I can) any question you have about a potential integration of indi inside POCS.
We can also jump on the more technical aspects with examples of code, or actual issues that INDI integration triggers (mainly interfaces, that are much higher level in indi than in pocs for mounts and camera).