GenieACS/TR069 - Debugging

WebGUI

https://172.20.0.1:8080/genieacs

GenieACS API calls

PurposeHTTP methodURLparametersexample
get all devicesGEThttp://localhost:7557/devices
curl -i 'http://localhost:7557/devices' -X GET
get Serialnr of specific deviceGETserial numbercurl -i 'http://localhost:7557/devices?query={"_deviceId._SerialNumber":"abcd"}' -X GET
Get Provision of a modemGET

http://demo.nmsprime.com:7557/provisions?query={"_id":"prov-100124"} → encoded:

http://demo.nmsprime.com:7557/provisions?query=%7B%22_id%22%3A%22prov-101051%22%7D

show tasks like factory resetGEThttp://localhost:7557/tasks
wget -qO- http://localhost:7557/tasks
Delete all tasks


for id in $(wget -qO- http://localhost:7557/tasks | grep -o '"_id":"[[:xdigit:]]\+"' | cut -d'"' -f4); do curl -i "http://localhost:7557/tasks/$id" -X DELETE; done

Note: The query string must be encoded. One possibility is to encode it via

URL Encoding
php artisan tinker
urlencode('{"_id":"34E380-PURE-F510-W%2E3120320076"}');
// Serial number 2C3AFDC4D637
urlencode('{"_deviceId._SerialNumber":"2C3AFDC4D637"}');  // curl 'http://localhost:7557/devices?query=%7B%22_deviceId._SerialNumber%22%3A%222C3AFDC4D637%22%7D' -X GET 

Via Artisan tinker

API calls
// Delete all monitoring presets
$monPresets = array_filter(json_decode(Modem::callGenieAcsApi('presets', 'GET'), true), function ($preset) {
    return isset($preset['events']['2 PERIODIC']);
});

foreach ($monPresets as $monPreset) {
    Modem::callGenieAcsApi("presets/{$monPreset['_id']}", 'DELETE');
}