Organizes 11 projects for Cerbo GX/Venus OS into a single repository: - axiom-nmea: Raymarine LightHouse protocol decoder - dbus-generator-ramp: Generator current ramp controller - dbus-lightning: Blitzortung lightning monitor - dbus-meteoblue-forecast: Meteoblue weather forecast - dbus-no-foreign-land: noforeignland.com tracking - dbus-tides: Tide prediction from depth + harmonics - dbus-vrm-history: VRM cloud history proxy - dbus-windy-station: Windy.com weather upload - mfd-custom-app: MFD app deployment package - venus-html5-app: Custom Victron HTML5 app fork - watermaker: Watermaker PLC control UI Adds root README, .gitignore, project template, and per-project .gitignore files. Sensitive config files excluded via .gitignore with .example templates provided. Made-with: Cursor
35 lines
1.0 KiB
Bash
Executable File
35 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
exec 2>&1
|
|
|
|
# Configuration - set by install.sh or edit manually
|
|
# Interface: network interface name (eth0, wlan0) or specific IP address
|
|
INTERFACE="eth0"
|
|
# NMEA TCP server port, or "disabled" to turn off
|
|
NMEA_TCP_PORT="10110"
|
|
|
|
INSTALL_DIR="/data/dbus-raymarine-publisher"
|
|
|
|
# Resolve interface name to IP address if needed
|
|
if echo "$INTERFACE" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$'; then
|
|
INTERFACE_IP="$INTERFACE"
|
|
else
|
|
INTERFACE_IP=$(ip -4 addr show "$INTERFACE" 2>/dev/null | grep 'inet ' | awk '{print $2}' | cut -d/ -f1 | head -n 1)
|
|
if [ -z "$INTERFACE_IP" ]; then
|
|
echo "Error: Could not get IP address for interface $INTERFACE"
|
|
sleep 10
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
cd "$INSTALL_DIR"
|
|
export PYTHONPATH="$INSTALL_DIR/ext/velib_python:$PYTHONPATH"
|
|
|
|
CMD_ARGS="--interface $INTERFACE_IP"
|
|
if [ -n "$NMEA_TCP_PORT" ] && [ "$NMEA_TCP_PORT" != "disabled" ]; then
|
|
CMD_ARGS="$CMD_ARGS --nmea-tcp-port $NMEA_TCP_PORT"
|
|
else
|
|
CMD_ARGS="$CMD_ARGS --no-nmea-tcp"
|
|
fi
|
|
|
|
exec python3 "$INSTALL_DIR/venus_publisher.py" $CMD_ARGS
|