Skip to main content

Documentation Index

Fetch the complete documentation index at: https://crsdk.app/llms.txt

Use this file to discover all available pages before exploring further.

Server-Sent Events client for real-time camera notifications. Works in both Node.js and browsers.
import { EventStream } from 'camera-remote-web-api';

// All cameras
const events = new EventStream('http://localhost:8080');

// Or filter to a single camera
const camEvents = new EventStream('http://localhost:8080', 'D10F60149B0C');

events.on('propertyChanged', (data) => {
  console.log('Properties changed:', data.codes);
});

events.on('downloadComplete', (data) => {
  console.log('File saved:', data.filename);
});

events.on('warning', (data) => {
  if (data.code === '0x20011') console.log('Photo captured!');
});

events.on('afStatus', (data) => {
  console.log('AF state:', data.state);
});

events.on('transferProgress', (data) => {
  console.log(`Transfer: ${data.percent}%`);
});

// One-shot listener — auto-removed after first fire
events.once('downloadComplete', (data) => {
  console.log('First download:', data.filename);
});

// Cleanup
events.close();

Events

EventPayloadWhen
connected{ cameraId }Camera connected
disconnected{ error }Camera disconnected
propertyChanged{ codes }Settings changed
warning{ code }Camera warning
afStatus{ state }AF state changed
downloadComplete{ filename }File saved to host
transferProgress{ percent, filename }Transfer progress
error{ code }SSE error
closeStream closed by manager

Methods

MethodDescription
on(event, callback)Subscribe to events
off(event, callback?)Unsubscribe
once(event, callback)One-shot listener — auto-removed after first fire
close()Close SSE connection
connectedWhether SSE is connected (read-only)
See Events for the full event reference.