def _load_networking(self, resource_id): if self.debug & 0x01 : print("_load_networking {!s} called".format(resource_id)) if not hasattr(self, '_name2id') or not isinstance(self._name2id, dict): self._name2id = dict () xurl = "/rest/networking/{!s}".format(resource_id) if self.debug & 0x02 : print("_load_networking : xurl = " + xurl) net_res_tree = self._getXMLetree(xurl) if net_res_tree is None : if ( len(self.error_str)) : raise IsyResponseError (self.error_str) else: raise IsyResponseError (xurl) net_dict = dict () name2rid = dict () for netr in net_res_tree.iter('NetRule'): netrule = et2d(netr) if 'id' in netrule : net_dict[netrule['id']] = netrule if 'name' in netrule : n = netrule['name'] name2rid[n] = netrule['id'] # name2id to replace name2var as a global lookup table if n in self._name2id : print("Dup name2id : \"" + n + "\" : " + netrule['id']) print("\tname2id ", self._name2id[n]) else : self._name2id[n] = (resource_id, netrule['id']) return(net_dict, name2rid)
def zip_get_userweb(isy): dat = isy.soapcomm("GetUserDirectory") flist = et2d(ET.fromstring(dat)) # pprint.pprint(flist) if "dir" in flist: if isinstance(flist['dir'], list): for d in flist['dir']: dirset.add(d["dir-name"]) else: dirset.add(flist['dir']["dir-name"]) if "dir" in flist: if isinstance(flist['dir'], list): for d in flist['dir']: dirset.add(d["dir-name"]) else: dirset.add(flist['dir']["dir-name"]) if "file" in flist: if isinstance(flist['file'], list): for f in flist['file']: fileset.add(f["file-name"]) else: fileset.add(flist['file']["file-name"])
def _load_networking(self, resource_id): if self.debug & 0x01: print("_load_networking {!s} called".format(resource_id)) if not hasattr(self, '_name2id') or not isinstance(self._name2id, dict): self._name2id = dict() xurl = "/rest/networking/{!s}".format(resource_id) if self.debug & 0x02: print("_load_networking : xurl = " + xurl) net_res_tree = self._getXMLetree(xurl) if net_res_tree is None: if (len(self.error_str)): raise IsyResponseError(self.error_str) else: raise IsyResponseError(xurl) net_dict = dict() name2rid = dict() for netr in net_res_tree.iter('NetRule'): netrule = et2d(netr) if 'id' in netrule: net_dict[netrule['id']] = netrule if 'name' in netrule: n = netrule['name'] name2rid[n] = netrule['id'] # name2id to replace name2var as a global lookup table if n in self._name2id: print("Dup name2id : \"" + n + "\" : " + netrule['id']) print("\tname2id ", self._name2id[n]) else: self._name2id[n] = (resource_id, netrule['id']) return (net_dict, name2rid)
def user_fsstat(self) : """ ISY Filesystem Status calls SOAP GetFSStat() """ r = self.soapcomm("GetFSStat") return et2d( ET.fromstring(r))
def zip_get_conf(isy): dat = isy.soapcomm("GetSysConfFiles") flist = et2d(ET.fromstring(dat)) # pprint.pprint(flist) if "dir-name" in flist: if isinstance(flist['dir-name'], list): for d in flist['dir-name']: if d.startswith("/"): dirset.add(d) else: dirset.add("/CONF/" + d) else: if flist['dir-name'].startswith("/"): dirset.add(flist['dir-name']) else: dirset.add("/CONF/" + flist['dir-name']) if "entry" in flist: if isinstance(flist['entry'], list): for f in flist['entry']: fileset.add("/CONF/" + f) else: fileset.add("/CONF" + flist["entry"])
def zip_get_userweb(isy) : global dirset global fileset dat = isy.soapcomm("GetUserDirectory") flist = et2d(ET.fromstring(dat)) # pprint.pprint(flist) if "dir" in flist : if isinstance(flist['dir'], list) : for d in flist['dir'] : dirset.add(d["dir-name"]) else : dirset.add(flist['dir']["dir-name"]) if "dir" in flist : if isinstance(flist['dir'], list) : for d in flist['dir'] : dirset.add(d["dir-name"]) else : dirset.add(flist['dir']["dir-name"]) if "file" in flist : if isinstance(flist['file'], list) : for f in flist['file'] : fileset.add(f["file-name"]) else : fileset.add(flist['file']["file-name"])
def zip_get_conf(isy) : global dirset global fileset dat = isy.soapcomm("GetSysConfFiles") flist = et2d(ET.fromstring(dat)) # pprint.pprint(flist) if "dir-name" in flist : if isinstance(flist['dir-name'], list) : for d in flist['dir-name'] : if d.startswith("/") : dirset.add(d) else : dirset.add("/CONF/" + d) else : if flist['dir-name'].startswith("/") : dirset.add(flist['dir-name']) else : dirset.add("/CONF/" + flist['dir-name']) if "entry" in flist : if isinstance(flist['entry'], list) : for f in flist['entry'] : fileset.add("/CONF/" + f) else : fileset.add("/CONF" + flist["entry"])
def time(self) : """ system time of ISY args: none calls : /rest/time """ xurl = "/rest/time" resp = self._getXMLetree(xurl) self._printXML(resp) return et2d(resp)
def user_dir(self, name="", pattern="") : """ Get User Folder/Directory Listing Named args: name pattern call SOAP GetUserDirectory() """ r = self.soapcomm("GetUserDirectory", name=name, pattern=pattern) # print "GetUserDirectory : ", r return et2d( ET.fromstring(r))
def sys(self) : """ system configuration args: none calls : /rest/sys """ xurl = "/rest/sys" if self.debug & 0x02 : print("xurl = " + xurl) resp = self._getXMLetree(xurl) self._printXML(resp) return et2d(resp)
def user_mkdir(self, name=None) : """ Make new User Folder/Directory Named args: name call SOAP MakeUserDirectory() """ if name == None : raise IsyValueError("user_mkdir : invalid dir name") if name[0] != "/" : name = "/USER/WEB/" + name r = self.soapcomm("MakeUserDirectory", name=name) return et2d( ET.fromstring(r))
def network(self) : """ network configuration args: none Returns network configuration calls /rest/network """ xurl = "/rest/network" if self.debug & 0x02 : print("xurl = " + xurl) resp = self._getXMLetree(xurl) self._printXML(resp) return et2d(resp)
def subscriptions(self) : """ get event subscriptions list and states args: none Returns the state of subscriptions calls : /rest/subscriptions """ xurl = "/rest/subscriptions" if self.debug & 0x02 : print("xurl = " + xurl) resp = self._getXMLetree(xurl) self._printXML(resp) return et2d(resp)
def electricity(self): """ electricity status args: none Returns electricity module info, "Energy Monitor", "Open ADR" and "Flex Your Power" status Only applicable to 994 Z Series. calls: /rest/electricity """ xurl = "/rest/electricity" if self.debug & 0x02 : print("xurl = " + xurl) resp = self._getXMLetree(xurl) if resp != None : self._printXML(resp) return et2d(resp)
def _load_networking(self, resource_id): if self.debug & 0x01 : print("_load_networking {!s} called".resource_id) xurl = "/rest/networking/{!s}".format(resource_id) if self.debug & 0x02 : print("_load_networking : xurl = " + xurl) net_res_tree = self._getXMLetree(xurl) if net_res_tree == None : if ( len(self.error_str) ) : raise IsyResponseError (self.error_str) else: raise IsyResponseError (xurl) net_dict = dict () name2id = dict () for netr in net_res_tree.iter('NetRule'): netrule = et2d(netr) if 'id' in netrule : net_dict[netrule['id']] = netrule if 'name' in netrule : name2id[netrule['name']] = netrule['id'] return(net_dict, name2id)
def batterypoweredwrites(self, on=-1) : """ Battery Powered Writes args values: 1 = Turn Batch mode on 0 = Turn Batch mode off -1 or None = Return Batch mode status returns status of Battery Powered device operations calls /rest/batteryPoweredWrites/ """ xurl = "rest/batteryPoweredWrites/" if on == 0 : xurl += "/off" elif on == 1 : xurl += "/on" if self.debug & 0x02 : print("xurl = " + xurl) resp = self._getXMLetree(xurl) if resp != None : self._printXML(resp) return et2d(resp)