Skip to content

Vision: method reference ​

Methods you can use in your application. A void promise confirms command submission; device data and rejections arrive through events. Operations returning boolean or arrays wait for their specific results.

isAvailableToDispense ​

ts
public isAvailableToDispense({ machine = 1 }: { machine?: MachineValid } = {}): boolean;

Check if a machine is available to dispense based on its status.

requestMachineStatus ​

ts
public async requestMachineStatus({ machine = 1 }: { machine?: MachineValid } = {}): Promise<void>;

Request machine status.

requestStatusChannel ​

ts
public async requestStatusChannel({ machine, selection }: { machine: MachineValid; selection: Range<1, 81> }): Promise<void>;

Request status of a specific channel.

assignChannels ​

ts
public async assignChannels({ machine }: { machine: MachineValid }): Promise<SelectionStatus[]>;

Get status of all channels in a machine. WARNING: This method triggers a sequence of requests for all 80 selections.

requestStatusSelection ​

ts
public async requestStatusSelection({ selection }: { selection: OneTo240 }): Promise<void>;

Request status of a specific selection.

configureSelectionDispense ​

ts
public async configureSelectionDispense({ selection, speed, timePostRun }: ConfigureSelectionDispenseOptions): Promise<void>;

Configure dispense parameters for a selection.

requestSelectionDispenseConfig ​

ts
public async requestSelectionDispenseConfig({ machine }: { machine: MachineValid }): Promise<void>;

Get current dispense configuration for a selection.

configureAddChannelToSelection ​

ts
public async configureAddChannelToSelection({ selection, machine, tray, channel }: AddChannelToSelectionOptions): Promise<void>;

Add a channel to a selection.

requestChannelsLinkedToSelection ​

ts
public async requestChannelsLinkedToSelection({ selection }: ChannelLinkedToSelectionOptions): Promise<void>;

Get channels linked to a selection.

requestMachineIdentification ​

ts
public async requestMachineIdentification({ machine }: { machine: MachineValid }): Promise<void>;

Request machine identification.

configureWorkingTemperature ​

ts
public async configureWorkingTemperature({ machine, temperature, enable }: ProgramWorkingTemperatureOptions): Promise<void>;

Program working temperature.

requestWorkingTemperature ​

ts
public async requestWorkingTemperature({ machine }: { machine: MachineValid }): Promise<void>;

Get working temperature.

configureWaitingTimings ​

ts
public async configureWaitingTimings({ collectPosition, dispenseManoeuvres, afterPickup }: ProgramWaitingTimingsOptions): Promise<void>;

Program waiting timings.

requestWaitingTimings ​

ts
public async requestWaitingTimings(): Promise<void>;

Get waiting timings.

resetSoldOutChannels ​

ts
public async resetSoldOutChannels({ machine }: { machine: MachineValid }): Promise<void>;

Reset sold-out status for all channels in a machine.

resetAllErrors ​

ts
public async resetAllErrors({ machine }: { machine: MachineValid }): Promise<void[]>;

Reset faults and perform self-test for a machine.

configureTimeWaitingAfterPickup ​

ts
public async configureTimeWaitingAfterPickup({ time }: ProgramTimeWaitingAfterPickupOptions): Promise<void>;

Program time waiting after pickup.

requestTimeWaitingAfterPickup ​

ts
public async requestTimeWaitingAfterPickup(): Promise<void>;

Get time waiting after pickup.

requestJSDVersion ​

ts
public async requestJSDVersion(): Promise<void>;

Request JSD firmware version.

requestReportActiveFaults ​

ts
public async requestReportActiveFaults({ machine }: { machine: MachineValid }): Promise<void>;

Request report of active faults.

requestReportInactiveFaults ​

ts
public async requestReportInactiveFaults({ machine }: { machine: MachineValid }): Promise<void>;

Request report of inactive faults.

clearInactiveFaults ​

ts
public async clearInactiveFaults({ machine }: { machine: MachineValid }): Promise<void>;

Request to clear inactive faults.

requestJSDDispensingQueueStatus ​

ts
public async requestJSDDispensingQueueStatus(): Promise<void>;

Request JSD dispensing queue status.

clearJSDDispensingQueue ​

ts
public async clearJSDDispensingQueue(): Promise<void>;

Clear JSD dispensing queue.

configureSpecialCharacteristicsSelection ​

ts
public async configureSpecialCharacteristicsSelection({
    selection,
    perishable,
    fragileOrHeavy,
    typeAdjustElevator,
    timeAdjustElevator
  }: DefineSpecialCharacteristicsSelectionOptions): Promise<void>;

Define special characteristics for a selection.

requestSpecialCharacteristicsSelection ​

ts
public requestSpecialCharacteristicsSelection({ selection }: SpecialCharacteristicsSelectionOptions): Promise<void>;

Get special characteristics for a selection.

configurePerishableProducts ​

ts
public configurePerishableProducts({ machine, enable, temperatureLimit, minutesToExpiry }: ConfigurePerishableProductsOptions): Promise<void>;

Configure perishable products settings.

requestActiveFaults ​

ts
public async requestActiveFaults({ machine }: { machine: MachineValid }): Promise<void>;

Request active faults.

configureExtendedDispenseStatusData ​

ts
public async configureExtendedDispenseStatusData({ enable }: ConfigureExtendedDispenseStatusDataOptions): Promise<void>;

Configure extended dispense status data.

requestExtendedDispenseStatusDataConfig ​

ts
public async requestExtendedDispenseStatusDataConfig(): Promise<void>;

Get extended dispense status data configuration.

requestStatusTrayPositioningPhototransistors ​

ts
public async requestStatusTrayPositioningPhototransistors({ machine }: { machine: MachineValid }): Promise<void>;

Request status of tray positioning phototransistors.

dispenseFromChannel ​

ts
public async dispenseFromChannel({ machine, tray, channel, speed, timePostRun, cart = false }: DispenseFromChannelOptions): Promise<boolean>;

Dispense from a specific channel.

dispense ​

ts
public async dispense({ machine, selection, speed, timePostRun, cart = false }: DispenseOptions): Promise<boolean>;

Dispense from a selection using the channel assignment logic.

dispenseCart ​

ts
public async dispenseCart(
    data: {
      machine: MachineValid;
      selection: Range0To81;
    }[] = []
  ): Promise<{ selection: Range0To81; dispensed: boolean }[]>;

Dispense multiple selections in a cart. WARNING: This method sends dispense commands in batches of 10 and waits for machines to be available before sending the next batch.

requestDispenseStatusFromChannel ​

ts
public async requestDispenseStatusFromChannel({ token }: DispenseStatusOptions): Promise<void>;

Get dispense status from channel using a token.

dispenseFromSelection ​

ts
public async dispenseFromSelection({ selection, cart = false }: DispenseFromSelectionOptions): Promise<boolean>;

Dispense from a selection.

requestDispenseStatusFromSelection ​

ts
public async requestDispenseStatusFromSelection({ token }: DispenseStatusOptions): Promise<void>;

Get dispense status from selection using a token.

lightsOn ​

ts
public async lightsOn({ machine }: { machine: MachineValid }): Promise<void>;

Turn lights on for a machine.

lightsOff ​

ts
public async lightsOff({ machine }: { machine: MachineValid }): Promise<void>;

Turn lights off for a machine.

resetFaultsAndSelfTest ​

ts
public async resetFaultsAndSelfTest({ machine }: { machine: MachineValid }): Promise<void>;

Reset faults and perform self-test.

collect ​

ts
public async collect({ machine }: { machine: MachineValid }): Promise<void>;

Perform collect cycle.

dispenseFromChannelExtended ​

ts
public async dispenseFromChannelExtended({
    machine,
    tray,
    channel,
    speed,
    timePostRun,
    fragileOrHeavy,
    typeAdjustElevator,
    timeAdjustElevator,
    cart = false
  }: DispenseFromChannelExtendedOptions): Promise<boolean>;

Dispense from a channel with extended options.

requestDispenseStatusFromChannelExtended ​

ts
public async requestDispenseStatusFromChannelExtended({ token }: DispenseStatusOptions): Promise<void>;

Get dispense status from channel with extended options using a token.

restartJSD ​

ts
public async restartJSD(): Promise<void>;

Request for a complete JSD reset (DANGEROUS).

getMachineStatus ​

ts
public getMachineStatus(machine: MachineValid): MachineStatus | null;

Get the last known status of a machine.

Advanced internal integration reference

Use the methods above in your application. These hooks are reserved for low-level integrations.

_cancelPendingOperations ​

ts
public _cancelPendingOperations(error: Error): void;

Internal lifecycle hook: reject unfinished operations when the serial session ends.

serialMessage ​

ts
public serialMessage(parsed: VisionResponse): void;

Explicit protocol, typed events, isolated transport.