Files
venus/axiom-nmea/raymarine_nmea/venus_dbus/__init__.py
dev 9756538f16 Initial commit: Venus OS boat addons monorepo
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
2026-03-16 17:04:16 +00:00

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",
]