Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom drivers registered with KStars 3.6.1 do not appear in the indiwebserver driver list. #53

Open
jctk opened this issue Oct 1, 2022 · 9 comments

Comments

@jctk
Copy link

jctk commented Oct 1, 2022

Several drivers are duplicated in the driver list.
Even if I select one of them, both are checked when I reload web manager.

To Reproduce

  1. install astroberry-diy. see detail at https://github.com/rkaczorek/astroberry-diy
  2. start indi web manager.
  3. create new profile
  4. check one of "astroberry system" in drivers list.
  5. save profile.
  6. reload indi web manager.
  7. select created profile at step 3.
  8. both "astroberry system" have been checked.

Screenshot
image

File list in /usr/share/indi
ls.txt

drivers.xml and indi_astroberry_system.xml
drivers.zip

@jctk
Copy link
Author

jctk commented Oct 1, 2022

more information:

I tried to request following REST API for indi web manager.

get http://smdev.local:8624/api/drivers

I found following two definition of "Astroberry System" in response body.

  {
    "name": "Astroberry System",
    "label": "Astroberry System",
    "skeleton": null,
    "version": "2.10",
    "binary": "indi_astroberry_system",
    "family": "Auxiliary",
    "custom": false,
    "role": ""
  },
  {
    "name": "",
    "label": "Astroberry System",
    "skeleton": null,
    "version": "1.0",
    "binary": "",
    "family": "Auxiliary",
    "custom": true,
    "role": ""
  },

@knro
Copy link
Owner

knro commented Oct 2, 2022

The system just reads whatever XML files are in /usr/share/indi so you probably have both in there?

@jctk
Copy link
Author

jctk commented Oct 2, 2022

There is only one indi_astroberry_system.xml in /usr/share/indi.
And no difinition about 'astroberry system' in drivers.xml.

Please see after the screenshot in the link below.
#53 (comment)
There are directory listing, driver.xml and indi_astroberry_system.xml.

@jctk
Copy link
Author

jctk commented Oct 19, 2022

I found the cause of this issue.

"Astroberry System" is registered in the following two places and is shown in the driver list of indi web manager.

  • /usr/share/indi/indi_astroberry_system.xml
  • "custom" table in ~/.indi/profiles.db (Fig.1)

Fig.1
image

By the way, where are Custom Drivers stored in Kstars 3.6.1 for StellarMateOS?

I believe the aforementioned "custom" table in ~/.indi/profiles.db was set up by me in a past version of KStars.
However, in the current 3.6.1, none of the Custom Drivers are defined in the Custom Drivers dialog (Fig. 2).
Is there any way to edit the "custom" table in ~/.indi/profiles.db from Kstars?

Fig.2
image

@jctk
Copy link
Author

jctk commented Oct 19, 2022

Hi @knro

KStars 3.6.1 registers custom driver information in table customdrivers in ~/.local/share/kstars/userdb.sqlite.
However, indiwebmanager retrieves custom driver information from table custom in ~/.indi/profiles.db.

Therefore, custom drivers registered with old KStars are displayed in the driver list of indiwebmanager.
On the other hand, custom drivers registered with KStars 3.6.1 are not displayed in indiwebmanager.

I should change the title of this Isseu.

@jctk jctk changed the title Some drivers are duplicated in the driver list Custom drivers registered with KStars 3.6.1 do not appear in the indiwebserver driver list. Oct 19, 2022
@jctk
Copy link
Author

jctk commented Oct 20, 2022

I have read a little indiwebmanager code.
Am I correct in understanding that when INDI Web Manager in KStars Profile Editor is checked, the Custom Driver used in the profile is added to the table custom in profiles.db?

Is there a way to delete a custom driver registered in table custom?

@knro
Copy link
Owner

knro commented Oct 20, 2022

Custom drivers should be synced from the client to web manager. Maybe the web manager is bugged and does not reflect all the custom drivers?

@jctk
Copy link
Author

jctk commented Oct 20, 2022

It probably works according to the indiwebmanager specification.
I believe that the following is the reality of this issue, which I did when I did not know much about Custom Driver.

On Windows11

  • Register Custom Driver in KStars (I used to check INDI Web Manager in Profile Editor. Now it is not checked)

On StellarMate OS:

  • Custom Driver is not registered in KStars
  • indiwebmanager registered Custom Driver for Kstars on Windows in ~/.indi/profiles.db.
  • I also registered drivers in /usr/share/indi in xml format

The following behavior may be difficult to understand as a specification

  • It is not clear where and when indiwebmanager's Custom Driver was added.
  • I do not know how to delete Custom Driver of indiwebmanager. (I deleted it directly in sqlite)

For example, how about the following changing ?

  • Add/delete each Custom Driver from KStars to/from indiwebmanager manually.
  • The driver list in indiwebmanager shows that it is a Custom Driver and the KStars from which it was registered.

@jctk
Copy link
Author

jctk commented Oct 20, 2022

Hi @knro
You may close it as it behaves as specified.
I would be happy if you could improve the specifications to make it easier to use the custom driver settings.

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

No branches or pull requests

2 participants