Would it be possible to use the Dome Scripting Gateway driver to control a roll off roof? Anyone doing this?
I understand that I would have to write a few scripts for connect, open, close, park, unpark, abort etc.
I have a custom indi driver for my roof but I'm looking to reduce the number of custom compiled drivers I have and use the ones that come with indi as much as possible.
I used dome scripting gateway to control a roll off roof for one year. Yes, you have to write scripts (I used python) to control it.
Of course only open / close functionalities have to be implemented by the scripts. And write dummy scripts for controls that remain unused.
If you want to have control on the roof from other INDI / Ekos services (like the scheduler or the weather station) remember to use park and unpark as controls to open / close (and not open / close shutter).
Btw in case your roll off roof is a Talon, I'm writing an INDI driver for it.
Thanks for the tip on park/unpark too as I do use the scheduler a lot!!
My roof isnt a Talon Its a home made custom thing made from an electric hoist I bought in Aldi (github.com/dokeeffe/indi-aldiroof)
Sometimes when I update INDI I have to recompile my driver and/or make small code tweaks to it so I'm thinking of using the built-in drivers as much as possible.
I'm trying to use Dome Dcripting Gateway driver to control my roll off roof too.
I wrote a python script that use the on board Rpi Bluetoooth to send an open/close command to an ArduinoNano board connected to my motor controller. If I execute this script, is a Python 3 script by the way (to import and use Bluetooth library) in the console works fine, but when I tried to use the same script in "unpark.py" to execute via Dome Scripting Gateway it didn't work.
What I'm doing wrong? Any idea?
Hi Ferrante, thanks for the answer.
I set the permission to execute the scripts to "Anybody", the scripts are in /usr/share/indi/scripts folder. I that folder I've created 11 scripts (onr for each command for the driver), 9 of them are empty to be dummies (I don't know if doing it like this is correct) and only the unpark.py and park.py scripts have sourde code. Is the first time I'm doing this and I have no idea if the driver could run any type of python scripts or there is a typical source or some "rules" I have to follow.
The code is pretty simple, just it open a socket via bluetooth and send a command to the Arduino board.
Could not get the driver log, I tried to enable the logs from the Ekos profile but the logs folder is always empty no matter how I configure it.
Anyway, I attach the driver message on the INDI control panel if this help.
I think the only devices that I have yo access is the Bluetooth module, in the script I created a BT socket and use RFCOMM. In the /dev folder the only similar is rfcomm0 file and I seted permissions for anybody, but still not working :/
Is my first time doing this kind of python scripts. If I run the script in the console works fine.
Andres is able to execute the unpark script from command line so the script should already have the right user/group permissions on the connected devices.
On the other hand, it could be that the indi user and the script user belong to different groups.
Andres, just to understand if it's the script or the driver: what is the output if in your script you only write in it:
If I run the script with the console de output is "ok" (without quotation marks).
If I run with the driver (park.py) an error message appears (as with the original script) [ERROR] Failed to park.
Would I need a STATUS or CONNECT script that is not a dummy?