Learn from practical examples and sample code. Explore common use cases and integration patterns.
Basic fleet management operations
from lattis_nexus import Client
# Initialize client
client = Client(api_key='your_api_key')
# Get all vehicles
vehicles = client.fleet.get_vehicles()
# Filter active vehicles
active_vehicles = [v for v in vehicles if v.status == 'active']
# Get vehicle telemetry
for vehicle in active_vehicles:
telemetry = client.telemetry.get_latest(vehicle.id)
print(f"Vehicle {vehicle.id}:")
print(f" Location: {telemetry.location}")
print(f" Battery: {telemetry.battery}%")
print(f" Status: {telemetry.status}")import { LattisNexusClient } from '@lattis-nexus/sdk';
// Initialize client
const client = new LattisNexusClient({
apiKey: 'your_api_key'
});
// Get all vehicles
const vehicles = await client.fleet.getVehicles();
// Filter active vehicles
const activeVehicles = vehicles.filter(v => v.status === 'active');
// Get vehicle telemetry
for (const vehicle of activeVehicles) {
const telemetry = await client.telemetry.getLatest(vehicle.id);
console.log('Vehicle', vehicle.id);
console.log(' Location:', telemetry.location);
console.log(' Battery:', telemetry.battery + '%');
console.log(' Status:', telemetry.status);
}Subscribe to real-time vehicle updates
from lattis_nexus import Client
client = Client(api_key='your_api_key')
# Define event handler
async def handle_telemetry(data):
vehicle_id = data['vehicle_id']
location = data['location']
print(f"Vehicle {vehicle_id} location update:")
print(f" Lat: {location['lat']}")
print(f" Lng: {location['lng']}")
# Subscribe to updates
await client.stream.subscribe(
'vehicle_telemetry',
callback=handle_telemetry,
vehicle_ids=['v123', 'v124'],
events=['location_update']
)
# Start streaming
await client.stream.connect()import { LattisNexusClient } from '@lattis-nexus/sdk';
const client = new LattisNexusClient({
apiKey: 'your_api_key'
});
// Subscribe to updates
client.stream.subscribe('vehicle_telemetry', {
vehicleIds: ['v123', 'v124'],
events: ['location_update']
}, (data) => {
const { vehicleId, location } = data;
console.log('Vehicle', vehicleId, 'location update:');
console.log(' Lat:', location.lat);
console.log(' Lng:', location.lng);
});
// Handle connection events
client.stream.on('connected', () => {
console.log('Connected to stream');
});
client.stream.on('error', (error) => {
console.error('Stream error:', error);
});
// Start streaming
client.stream.connect();Process and analyze vehicle data
from lattis_nexus import Client
from datetime import datetime, timedelta
client = Client(api_key='your_api_key')
# Get historical data
end_time = datetime.utcnow()
start_time = end_time - timedelta(hours=24)
# Get vehicle metrics
metrics = client.analytics.get_metrics(
vehicle_id='v123',
start_time=start_time,
end_time=end_time,
metrics=['speed', 'battery', 'distance']
)
# Calculate averages
avg_speed = sum(m.speed for m in metrics) / len(metrics)
avg_battery = sum(m.battery for m in metrics) / len(metrics)
total_distance = sum(m.distance for m in metrics)
print(f"24-hour Statistics:")
print(f" Average Speed: {avg_speed:.1f} km/h")
print(f" Average Battery: {avg_battery:.1f}%")
print(f" Total Distance: {total_distance:.1f} km")import { LattisNexusClient } from '@lattis-nexus/sdk';
const client = new LattisNexusClient({
apiKey: 'your_api_key'
});
// Get historical data
const endTime = new Date();
const startTime = new Date(endTime - 24 * 60 * 60 * 1000);
// Get vehicle metrics
const metrics = await client.analytics.getMetrics({
vehicleId: 'v123',
startTime,
endTime,
metrics: ['speed', 'battery', 'distance']
});
// Calculate averages
const avgSpeed = metrics.reduce((sum, m) => sum + m.speed, 0) / metrics.length;
const avgBattery = metrics.reduce((sum, m) => sum + m.battery, 0) / metrics.length;
const totalDistance = metrics.reduce((sum, m) => sum + m.distance, 0);
console.log('24-hour Statistics:');
console.log(' Average Speed:', avgSpeed.toFixed(1), 'km/h');
console.log(' Average Battery:', avgBattery.toFixed(1), '%');
console.log(' Total Distance:', totalDistance.toFixed(1), 'km');