-
Notifications
You must be signed in to change notification settings - Fork 37
Map data
Sascha edited this page May 11, 2021
·
2 revisions
Following events are emitted by the library and contain JSON as message (examples, see below):
Event | Description | Ozmo 950 command (on/report events are also considered) |
---|---|---|
Maps | available maps (max. 2 for Ozmo 950) | getCachedMapInfo |
MapSpotAreas | available spotAreas per map (as array) | getMapSet type="ar" |
MapSpotAreaInfo | details of a single spotArea | getMapSubSet type="ar" |
MapVirtualBoundaries | available virtual boundaries per map (as array) | getMapSet type=["vw", "mw"] |
MapVirtualBoundaryInfo | details of a single virtual boundary | getMapSubSet type=["vw", "mw"] |
Maps
{
[{
"mapID": "1260001067",
"mapIndex": 0,
"mapStatus": 1,
"mapIsCurrentMap": false,
"mapIsBuilt": true,
"mapName": "EG"
},
{
"mapID": "1307200506",
"mapIndex": 1,
"mapStatus": 1,
"mapIsCurrentMap": true,
"mapIsBuilt": false,
"mapName": "OG"
}]
}
MapSpotAreas
{
"mapID": "1307200506",
"mapSetID": "207",
"mapSpotAreas":
[{
"mapSpotAreaID": "2"
},
{
"mapSpotAreaID": "0"
},
{
"mapSpotAreaID": "1"
}]
}
MapSpotAreaInfo
{
"mapSpotAreaID": "0",
"mapSpotAreaName": "A",
"mapID": "1307200506",
"mapSpotAreaConnections": "1,2",
"mapSpotAreaSubType": "0",
"mapSpotAreaBoundaries": "-300,5400;-250,5550;350,5600;500,5750;450,5800;500,5900;750,5500;800,5000;1100,4200;3050,4200;3150,4300;2850,4450;1750,4450;1500,4700;1600,4850;2050,4800;2300,4550;2400,4600;2450,4750;2500,4700;3750,4700;3800,4650;3650,4300;3850,4050;4100,4100;4450,4650;4450,4200;4250,4000;4250,3550;4400,3400;4550,3500;4550,3250;4450,3150;4150,3100;4250,3000;4200,2850;4100,2950;3700,2750;3850,2600;4150,2600;4400,2250;4550,2300;4550,1750;4400,1950;4200,1800;4200,1450;4400,1250;4350,650;4250,650;4250,950;3850,1300;3750,1300;3600,1050;3950,750;2450,750;2350,950;2200,750;1400,750;1300,850;1200,750;950,700;250,700;250,1550;100,1700;150,1800;100,2450;200,2600;100,2850;100,3300;300,3450;250,3800;400,4000;400,4500;0,4900;-250,5350;-300,5400"
}
MapVirtualBoundaries
{
"mapID":"1675619197",
"mapVirtualWalls":
[{
"mapVirtualBoundaryID":"8",
"mapVirtualBoundaryType":"vw"
},
{
"mapVirtualBoundaryID":"9",
"mapVirtualBoundaryType":"vw"
}],
"mapNoMopZones":
[{
"mapVirtualBoundaryID":"12",
"mapVirtualBoundaryType":"mw"
}]
}
MapVirtualBoundaryInfo
{
"mapID": "1307200506",
"mapVirtualBoundaryID": "8",
"mapVirtualBoundaryType": "vw",
"mapVirtualBoundaryCoordinates": "[-1071,-2228,-1071,-4073,-2298,-4073,-2298,-2228]"
}
First you have to use the shorcut function to retreive the map data:
vacbot.run("GetMaps");
Then you have to handle the events for using the data of the map (and also the spot areas and virtual boundaries):
vacbot.on('Maps', (maps) => {
console.log('Maps: ' + JSON.stringify(maps));
for (const i in maps['maps']) {
const mapID = maps['maps'][i]['mapID'];
vacbot.run('GetSpotAreas', mapID);
vacbot.run('GetVirtualBoundaries', mapID);
}
});
vacbot.on('MapSpotAreas', (spotAreas) => {
console.log('MapSpotAreas: ' + JSON.stringify(spotAreas));
for (const i in spotAreas['mapSpotAreas']) {
const spotAreaID = spotAreas['mapSpotAreas'][i]['mapSpotAreaID'];
vacbot.run('GetSpotAreaInfo', spotAreas['mapID'], spotAreaID);
}
});
vacbot.on('MapSpotAreaInfo', (area) => {
console.log('MapSpotAreaInfo: ' + JSON.stringify(area));
});
vacbot.on('MapVirtualBoundaries', (virtualBoundaries) => {
console.log('MapVirtualBoundaries: ' + JSON.stringify(virtualBoundaries));
const mapID = virtualBoundaries['mapID'];
const virtualBoundariesCombined = [...virtualBoundaries['mapVirtualWalls'], ...virtualBoundaries['mapNoMopZones']];
const virtualBoundaryArray = [];
for (const i in virtualBoundariesCombined) {
virtualBoundaryArray[virtualBoundariesCombined[i]['mapVirtualBoundaryID']] = virtualBoundariesCombined[i];
}
for (const i in virtualBoundaryArray) {
const mapVirtualBoundaryID = virtualBoundaryArray[i]['mapVirtualBoundaryID'];
const mapVirtualBoundaryType = virtualBoundaryArray[i]['mapVirtualBoundaryType'];
vacbot.run('GetVirtualBoundaryInfo', mapID, mapVirtualBoundaryID, mapVirtualBoundaryType);
}
});
vacbot.on('MapVirtualBoundaryInfo', (virtualBoundary) => {
console.log('MapVirtualBoundaryInfo: ' + JSON.stringify(virtualBoundary));
});
Table of contents