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
52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
"""
|
|
Venus OS D-Bus Publisher Module.
|
|
|
|
This module provides D-Bus services for publishing Raymarine sensor data
|
|
to Venus OS, making it available to the Victron ecosystem.
|
|
|
|
Supported services:
|
|
- GPS: Position, speed, course, altitude
|
|
- Meteo: Wind direction and speed
|
|
- Navigation: Heading, depth, water temperature
|
|
- Tank: Tank levels for fuel, water, waste
|
|
- Battery: Battery voltage and state of charge
|
|
|
|
Example usage:
|
|
from raymarine_nmea import SensorData, RaymarineDecoder, MulticastListener
|
|
from raymarine_nmea.venus_dbus import VenusPublisher
|
|
|
|
# Create sensor data store
|
|
sensor_data = SensorData()
|
|
decoder = RaymarineDecoder()
|
|
|
|
# Start multicast listener
|
|
listener = MulticastListener(
|
|
decoder=decoder,
|
|
sensor_data=sensor_data,
|
|
interface_ip="198.18.5.5",
|
|
)
|
|
listener.start()
|
|
|
|
# Start Venus OS publisher
|
|
publisher = VenusPublisher(sensor_data)
|
|
publisher.start() # Blocks in GLib main loop
|
|
"""
|
|
|
|
from .service import VeDbusServiceBase
|
|
from .gps import GpsService
|
|
from .meteo import MeteoService
|
|
from .navigation import NavigationService
|
|
from .tank import TankService
|
|
from .battery import BatteryService
|
|
from .publisher import VenusPublisher
|
|
|
|
__all__ = [
|
|
"VeDbusServiceBase",
|
|
"GpsService",
|
|
"MeteoService",
|
|
"NavigationService",
|
|
"TankService",
|
|
"BatteryService",
|
|
"VenusPublisher",
|
|
]
|