genieacs: improvements
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
31926ecf80
commit
8dd2680838
4 files changed
+456
-1
No files matched your search
@@ -115,6 +115,38 @@ class GenieACSManager {
|
||||
const addResult = await this.api.adicionarTag(deviceId, tag, instance);
|
||||
return { ...addResult, tag, deviceId };
|
||||
}
|
||||
/**
|
||||
* Aplica um conjunto de setParameterValues a um dispositivo já conhecido pelo deviceId.
|
||||
*
|
||||
* @param {string} deviceId - _id do dispositivo no GenieACS
|
||||
* @param {Array} paramValues - Array de [paramName, value, xsdType]
|
||||
* @param {string} location - Texto de localização (opcional)
|
||||
* @returns {Promise<Object>} - { success, error }
|
||||
*/
|
||||
async configurarRoteador(deviceId, paramValues, location = '') {
|
||||
if (!this.isReady() || !deviceId) {
|
||||
return { success: false, error: 'GenieACS não configurado ou deviceId ausente' };
|
||||
}
|
||||
const instance = this.config.getInstanceByLocation(location);
|
||||
return this.api.setParameterValues(deviceId, paramValues, instance);
|
||||
}
|
||||
|
||||
/**
|
||||
* Relê um dispositivo pelo seu _id para obter dados atualizados.
|
||||
*
|
||||
* @param {string} deviceId - _id do dispositivo
|
||||
* @param {string} location - Texto de localização (opcional)
|
||||
* @returns {Promise<Object>} - { success, device, instance, searchedBy }
|
||||
*/
|
||||
async buscarRoteadorPorId(deviceId, location = '') {
|
||||
if (!this.isReady() || !deviceId) {
|
||||
return { success: false, error: 'GenieACS não configurado ou deviceId ausente' };
|
||||
}
|
||||
const instance = this.config.getInstanceByLocation(location);
|
||||
const result = await this.api._buscar({ '_id': deviceId }, instance, 'id');
|
||||
if (result.success) return { ...result, instance: instance.name };
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = GenieACSManager;
|
||||
Reference in new issue
Block a user