A Javascript wrap for helyOS GrapQL interface.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
The helyosjs-sdk helps the development of javascript applications using the helyOS framework. This library contains all necessary methods and entity types to build a front-end using helyOS as backend system.
- Log in as administrator or regular user.
- List and edit automatons (agents).
- Retrieve sensors data and work process status.
- Create, schedule and handle work processes.
- Manage and edit yards: set drivable areas, gates, obstacles, etc.
$ npm i helyosjs-sdk --save
import { HelyosServices, H_Agents } from 'helyosjs-sdk';
const helyosService = new HelyosServices('http://localhost', {socketPort:'5002', gqlPort:'5000'});
const username = 'admin@email.com';
const password = 'password';
helyosService.login(username, password)
.then( response => helyosService.connect())
.then( connected => console.log(connected));;
function listAgents(conditions={}) {
return helyosService.agents.list(conditions)
.then((agents: H_Agent[]) => {
console.log(agents);
});
}
function editTool(patch: H_Agents) {
return helyosService.agents.patch(patch)
.then(agents => {
console.log(agents);
)}
}
helyosService.connect()
.then(() => {
const socket = helyosService.socket;
socket.on('new_agent_poses',(updates)=>{
console.log(updates); // Notifications from agent sensors.
});
socket.on('change_agent_status',(updates)=>{
console.log(updates); // Notifications from agents working status.
});
socket.on('change_work_processes',(updates)=>{
console.log(updates); // Notifications from work processes status.
});
});
Command | Description |
---|---|
helyosService.register(email,password,adminPassword): Promise |
Register new user. |
helyosService.login(username, password): Promise |
User login. |
helyosService.connect(): Promise |
Establish websocket connection after logged. |
helyosService.logout(): Promise |
User logout. |
helyosService.changePassword(user,password,newPassword): Promise |
Change password. |
--- | --- |
EXAMPLE OF CRUD OPERATIONS | |
helyosService.workprocess |
Work Processes services |
.list (condition: Partial<H_WorkProcess>): Promise<H_WorkProcess[]> | list all work processes filtered by condition. |
.create (data: H_WorkProcess): Promise<H_WorkProcess> | create work process. |
.get (workProcessId: number): Promise<H_WorkProcess> | get work process by ID. |
.patch (data:Partial<H_WorkProcess>): Promise<H_WorkProcess> | edit work process. |
--- | --- |
Model | Description |
---|---|
H_Agents |
Tool represents a sensor or any movable device that can perform an action |
id: number | unique db identifcation number |
code: number | unique identifcation number |
name: string | agent name |
picture: string | base64 jpg |
yardId: number | to which yard this agent is associated. |
status: string | 'busy', 'free' |
picture: string | base64 jpg |
geometry: JSON | Description of the agent geometry |
heartbeat: Date | Last time agent contacted the yard base |
--- | --- |
H_Yard |
Physical space enclosing agents in a drivable area. |
id: number | unique db identifcation number |
name: string | yard name |
picture: string | base64 jpg |
mapData: {origin: {lat?: number, lon?: number, zoomLevel?: number}} | base64 jpg |
--- | --- |
H_MapObject |
Define objects in the yard map: areas or lines. |
id: number | unique db identifcation number. |
yardId: number | associated yard. |
deletedAt: Date | when shape was marked deleted. |
type: string | type of object: "obstacle", "parking-area", "gate", etc. |
data: Object | user-defined arbitrary data format |
dataFormat: string | name of the data format |
--- | --- |
H_WorkProcess |
Group and serialize actions to be executed by the agents. |
id: number | unique db identifcation number. |
schedStartAt: date | date and time when the process is scheduled to start. |
schedEndAt: date | date and time when the process is predicted to end. |
startedAt: date | date and time of actual start. |
endedAt: date | date and time of actual end. |
status: string | status. |
processType: string | status. |
data: MoveToTargetDescriptor | MoveFreeDescription | Any JSON data that describes the actions. |
--- | --- |
helyosjs-sdk Version | helyOS_core Version |
---|---|
2.0.3 | 2.0.3, 2.0.4 |
2.0.4 | 2.0.4 |
2.0.5 | 2.0.4, 2.0.5 |
2.0.6 | 2.0.5 |
2.1.0 | 2.1.0 |
Keep it simple. Keep it minimal. If you have any question, please write to our Discussion forum.
This project is licensed under the MIT License