Sorry, I tried to PM this to cybrmage, but I guess I’m not allowed to PM yet.
My zone changes were not saving, and after verifying I had the latest version and reading a ton of posts here in the forum I decided to just throw it under a debugger. You have this pattern in all your update*Labels() methods:
try {
api.setDeviceStatePersistant(EVL3Vista.device, EVL3Vista.PANEL_SID, "Zones", labelsRaw);
}
catch (err) {
var saveUrl = '/port_3480/data_request?id=lu_variableset&DeviceNum='+EVL3Vista.device+'&serviceId='+EVL3Vista.PANEL_SID+'&Variable=Zones&Value='+labelsRaw;
jQuery.get(saveUrl);
}
The call in the try block fails because it’s typo’d, the method name is setDeviceStatePersistent. Then the fallback method fails because the url is incorrect. You should use api.getDataRequestURL() for the correct base url, and uri encode the value. The working (both primary and fallback) code then looks like:
try {
api.setDeviceStatePersistent(EVL3Vista.device, EVL3Vista.PANEL_SID, "Zones", labelsRaw);
}
catch (err) {
var saveUrl = api.getDataRequestURL()+'?id=lu_variableset&DeviceNum='+EVL3Vista.device+'&serviceId='+EVL3Vista.PANEL_SID+'&Variable=Zones&Value='+encodeURIComponent(labelsRaw);
jQuery.get(saveUrl);
}
There’s another bug in that you report “Changes saved” to the user even though both save attempts failed, but I stopped my editing there.
I hope that helps.
Thanks
-James