How to get "Index" in Virtual Parameter?
Michael Ducharme
mducharme at gmail.com
Fri Sep 15 20:10:09 EDT 2017
I got the problem fixed. Had to dig through the code to see what methods
and attributes were available in the object. Working code is below - I
am not used to javascript development but it seems to work well enough:
// Fetch IP for 'loopback0' Interface
let m = '';
let x = 'temp';
let foundint = false;
let goodint = false;
let intnames = declare(
"Device.X_MIKROTIK_Interface.Generic.*.Name",
{value: Date.now()});
let lowerlayers = declare(
"Device.IP.Interface.*.LowerLayers",
{value: Date.now()});
if (intnames.size) {
for (let myint of intnames) {
if (myint.value[0]=='loopback0') {
x = myint.path.substr(0, myint.path.lastIndexOf("."));
foundint = true;
break;
}
}
}
if (foundint) {
if (lowerlayers.size) {
for (let myint of lowerlayers) {
if (myint.value[0]==x) {
x = myint.path.substr(0, myint.path.lastIndexOf("."));
goodint = true;
break;
}
}
}
}
if (goodint) {
let ipaddress = declare(
x + ".IPv4Address.*.IPAddress",
{value: Date.now()});
if (ipaddress.size) {
for (let myaddress of ipaddress) {
if (ipaddress.value[0]) {
m = ipaddress.value[0];
break;
}
}
}
}
return {writable: false, value: [m, "xsd:string"]};
More information about the Users
mailing list