Skip to content

Conversation

@jscheidtmann
Copy link

@jscheidtmann jscheidtmann commented Sep 23, 2025

This PR adds control panel functionality for indiwebmanager. I.e. using this PR, one can configure the locally running indiserver. The control panel lacks blob support.

Features implemented:

  • Real-time property value display and editing
  • Form-based value input with submission to backend
  • INDI property enumeration and control
  • Responsive web interface for device management
  • Display of key interface log messages
  • Same look and feel as indiwebmanager

Key additions:

  • New INDI Client (indi_client.py): A full INDI client using PyIndi, enabling real-time device property monitoring and control
  • Device Control Interface (device_control.tpl): Providing an interactive control panel for INDI devices with property display and editing capabilities
  • Enhanced Backend (main.py): Extended the web server with device control endpoints, form handling, and backend communication with INDI servers
  • CSS Styling (device_control.css): Styling for the control panel interface
  • Add JavaScript (indi.js): Enumerate devices.

This PR has been created using Claude Code Pro.

@knro
Copy link
Owner

knro commented Sep 23, 2025

This is great! Awesome work! Let me test it and I'll get back to you!

@knro
Copy link
Owner

knro commented Sep 25, 2025

Ok, I checked your PR and great work on getting this done. Here is my feedback:

  1. There should be a single window for all devices, not window per each device. This is similar to how INDI Control Panel from KStars work.
  2. There is a lot of unnecessary information that might be helpful during development process, but not useful for end users like property status and property permissions display.
  3. Property type should not be included. I think range sliders are not used for some numeric properties where there is a reasonable step size.
  4. Why is polling used? with INDI client, it's event-driven as properties are updated from server side.
  5. There should be more optimizations regarding space used to try to view more properties. For example, right now for telescope simulator, I just see three properties only before I have to scroll down.

@jscheidtmann
Copy link
Author

Ok, acknowledged. This will take some time.

@jscheidtmann
Copy link
Author

jscheidtmann commented Nov 2, 2025

1 ) I believe having multiple windows (one per decive), which one can arrange, is a plus for a web client.
2+3 ) I added a "--development" switch, displaying additional infos relevant for developers and removed it from normal display.
4 ) polling removed and using websockets.

  • Optimize space.

- [ ] Range sliders for entries with reasonable step size
Not all indi clients use sliders for entries with "reasonable" step sizes, most notably CdC.
The current implementation uses numeric entries with spin buttons, which I believe is more flexible.

@jscheidtmann
Copy link
Author

Here's the more condensed layout:
image

@jscheidtmann jscheidtmann marked this pull request as ready for review November 2, 2025 19:17
@jscheidtmann
Copy link
Author

jscheidtmann commented Dec 14, 2025

@knro Hi Jasem, could you please have a look and let me know, if this achieves rough consensus in the RFC7282 sense? If not, what is the truely problematic part?

@knro
Copy link
Owner

knro commented Dec 15, 2025

Sure, let me take a look

@knro
Copy link
Owner

knro commented Dec 15, 2025

  1. Need to add websockets to requirements.
  2. Should not log property changes in message box (it's spamming too much)
  3. UI layout still needs work. For example, no spaces between tabs or navigation back to main page. There is a still lot of vertical padding between properties. Need a more grid-like structure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants