signalk-to-venus
Version:
Injects battery, tank, temperature, humidity, and switch data from Signal K into the Victron Cerbo GX D-Bus via Venus OS.
21 lines (19 loc) • 804 B
JavaScript
import { VenusClient as BatteryClient } from './venusClient-battery.js';
import { VenusClient as TankClient } from './venusClient-tank.js';
import { VenusClient as EnvClient } from './venusClient-env.js';
import { VenusClient as SwitchClient } from './venusClient-switch.js';
export function VenusClientFactory(settings, deviceType) {
// All clients now use dbus-native for consistent authentication
switch (deviceType) {
case 'batteries':
return new BatteryClient(settings, deviceType);
case 'tanks':
return new TankClient(settings, deviceType);
case 'environment':
return new EnvClient(settings, deviceType);
case 'switches':
return new SwitchClient(settings, deviceType);
default:
throw new Error(`Unsupported device type: ${deviceType}`);
}
}