stefanor / signalk-victron-ble

Simple Signal K Node server plugin to read data from Victron devices using Instant Data over BLE
Apache License 2.0
10 stars 3 forks source link

Running plugin on Cerbo GX (Venus OS Large) #14

Open william-kaprolat opened 1 week ago

william-kaprolat commented 1 week ago

It would be very nice to be able to install this plugin on a signal K server running on a victron product itself.

For example, I tried to install it on signal K running on a Cerbo GX (using the signal K instance provided by Venus OS Large).

However, the installation failed because (I think) of missing pip on the python installation that comes with Venus OS.

POST /skServer/appstore/install/signalk-victron-ble/0.0.6 200 566.378 ms - 35 stderr: npm error code 1 stderr: npm error path /data/conf/signalk/node_modules/signalk-victron-ble stderr: npm error command failed stderr: npm error command sh -c python3 -m venv ve && ve/bin/python -m pip install wheel && ve/bin/python -m pip install -r requirements.txt stderr: npm error Error: Command '['/data/conf/signalk/node_modules/signalk-victron-ble/ve/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

It fails while running this pre-install script: python3 -m venv ve && ve/bin/python -m pip install wheel && ve/bin/python -m pip install -r requirements.txt

I tried to ssh into the Cerbo GX and I can get venv to run by using the --without-pip option, but then of course wheel and requirements are not installed.

Is there a workaround that could work for running this plugin directly on Cerbo GX devices?

stefanor commented 1 week ago

Sorry, I have never looked at SignalK on the GX. That's probably something that can be worked around, by downloading the pip wheels somewhere writeable and using them.

But I don't know enough about the bluetooth stack on there, it may not work even with Python.