def _set_irled_state(self, driver=None, **kwargs): """ irled_state is an interal value based on led auto, manual, on, off settings See _get_irled_state for full info. """ value = kwargs.get("value") if value is None: self.parent.send_error("_set_irled_state not passed a value: %s" % (value) ) return False # TODO: Should use the _driver specified function instead of int. if int(value) == 0: # AUTO if not self._http_get("setInfraLedConfig",{"mode": int(value)}): self.parent.send_error("_set_irled_state failed to set %s=%s" % (param,value) ) elif int(value) == 1: # Manual if not self._http_get("setInfraLedConfig",{"mode": 1}): self.parent.send_error("_set_irled_state failed to set %s=%s" % (param,1) ) # Off if not self._http_get("closeInfraLed",{}): self.parent.send_error("_set_irled_state failed to set infraLedState=0") else: # Manual if not self._http_get("setInfraLedConfig",{"mode": 1}): self.parent.send_error("_set_irled_state failed to set %s=%s" % (param,1) ) # On if not self._http_get("openInfraLed",{}): self.parent.send_error("_set_irled_state failed to set infraLedState=1") # TODO: Dont' think I should be setting the driver? self.set_driver(driver, myint(value), 56) # The set_alarm param is without the '_alarm' prefix self.status['irled_state'] = myint(value) return True
def cmd_set_irled(self, command): """ irled_state is an interal value based on led auto, manual, on, off settings See _get_irled_state for full info. """ value = command.get("value") if value is None: self.l_error("cmd_set_irled", "not passed a value: %s" % (value)) return False # TODO: Should use the _driver specified function instead of int. if int(value) == 0: # AUTO if not self.http_get("setInfraLedConfig", {"mode": int(value)}): self.l_error("cmd_set_irled", "failed") elif int(value) == 1: # Manual if not self.http_get("setInfraLedConfig", {"mode": 1}): self.l_error("cmd_set_irled", "failed") # Off if not self.http_get("closeInfraLed", {}): self.l_error("cmd_set_irled", "failed") else: # Manual if not self.http_get("setInfraLedConfig", {"mode": 1}): self.l_error("cmd_set_irled", "failed") # On if not self.http_get("openInfraLed", {}): self.l_error("cmd_set_irled", "failed") # TODO: Dont' think I should be setting the driver? self.setDriver("GV5", myint(value)) # The set_alarm param is without the '_alarm' prefix self.cam_status['irled_state'] = myint(value) return True
def _set_motion_param(self, driver=None, param=None, **kwargs): value = kwargs.get("value") if value is None: self.parent.send_error("_set_motion_param not passed a value: %s" % (value) ) return False self.status['motion_detect'][param] = myint(value) if self._set_motion_params(): # TODO: Need the proper uom from the driver? self.set_driver(driver, myint(value), 56) return True self.parent.send_error("_set_motion_param failed to set %s=%s" % (param,value) ) return False
def set_misc_param(self, driver=None, param=None, value=None): if value is None: self.l_error("set_misc_param"," not passed a value for driver %s: %s" % (driver, value) ) return False # TODO: Should use the _driver specified function instead of int. if not self.set_misc_params({ param: int(value)}): self.l_error("set_misc_param"," failed to set %s=%s" % (param,value) ) # TODO: Dont' think I should be setting the driver? self.setDriver(driver, myint(value)) # The set_misc param self.params[param] = myint(value) return True
def set_alarm_param(self, driver=None, param=None, value=None): if value is None: self.l_error("set_alarm_param not passed a value: %s" % (value) ) return False # TODO: Should use the _driver specified function instead of int. if not self.set_alarm_params({ param: int(value)}): self.l_error("set_alarm_param","failed to set %s=%s" % (param,value) ) # TODO: Dont' think I should be setting the driver? self.setDriver(driver, myint(value)) # The set_alarm param is without the '_alarm' prefix self.params['alarm_'+param] = myint(value) return True
def _set_misc_param(self, driver=None, param=None, **kwargs): value = kwargs.get("value") if value is None: self.parent.send_error("_set_misc_param not passed a value for driver %s: %s" % (driver, value) ) return False # TODO: Should use the _driver specified function instead of int. if not self._set_misc_params({ param: int(value)}): self.parent.send_error("_set_misc_param failed to set %s=%s" % (param,value) ) # TODO: Dont' think I should be setting the driver? self.set_driver(driver, myint(value), 56) # The set_misc param self.params[param] = myint(value) return True
def _set_motion_linkage(self, driver=None, param=None, **kwargs): value = kwargs.get("value") if value is None: self.parent.send_error("_set_motion_linkage not passed a value: %s" % (value) ) return False if param is None: self.parent.send_error("_set_motion_linkage not passed a param: %s" % (param) ) return False if not param in linkage_bits: self.parent.send_error("_set_motion_linkage unknown param '%s'" % (param) ) return False value = int(value) cval = int(self.status['motion_detect']['linkage']) self.parent.logger.debug("_set_motion_linkage: param=%s value=%s, bit=%d, motion_detect_linkage=%s" % (param,value,linkage_bits[param],cval)) if value == 0: cval = clearBit(cval,linkage_bits[param]) else: cval = setBit(cval,linkage_bits[param]) # TODO: Should use the _driver specified function instead of int. self.status['motion_detect']['linkage'] = cval self.parent.logger.debug("_set_motion_linkage: %d" % (cval)) if self._set_motion_params(): self.set_driver(driver, myint(value), 56) return True self.parent.send_error("_set_motion_param failed to set %s=%s" % ("linkage",cval) ) return False
def set_motion_linkage(self, driver=None, param=None, value=None): self.l_debug( "set_motion_linkage", "driver={0} param={1} value={2}".format(driver, param, value)) if not self.is_responding(): return False if value is None: self.l_error("set_motion_linkage", "not passed a value: %s" % (value)) return False if param is None: self.l_error("set_motion_linkage", "not passed a param: %s" % (param)) return False if not param in linkage_bits: self.l_error("set_motion_linkage unknown param '%s'" % (param)) return False value = int(value) if 'linkage' in self.cam_status['motion_detect']: self.get_cam_motion_detect_config(report=False) cval = int(self.cam_status['motion_detect']['linkage']) self.l_debug( "set_motion_linkage", "param=%s value=%s, bit=%d, motion_detect_linkage=%s" % (param, value, linkage_bits[param], cval)) if value == 0: cval = clearBit(cval, linkage_bits[param]) else: cval = setBit(cval, linkage_bits[param]) # TODO: Should use the _driver specified function instead of int. self.cam_status['motion_detect']['linkage'] = cval self.l_debug("set_motion_linkage", "%d" % (cval)) if self.set_motion_params(): self.l_debug("set_motion_linkage", "setDriver({0},{1})".format(driver, myint(value))) self.setDriver(driver, myint(value)) return True self.l_error("set_motion_param", "failed to set %s=%s" % ("linkage", cval)) return False else: self.l_error( "set_motion_param", "linkage not found in {}".format( self.cam_status['motion_detect'])) return False
def set_motion_param(self, driver=None, param=None, value=None): self.l_debug( "set_motion_param", "driver={0} param={1} value={2}".format(driver, param, value)) if not self.is_responding(): return False if value is None: self.l_error("set_motion_param", "not passed a value: %s" % (value)) return False self.get_cam_motion_detect_config(report=False) self.cam_status['motion_detect'][param] = myint(value) if self.set_motion_params(): # TODO: Need the proper uom from the driver? self.setDriver(driver, myint(value)) return True self.l_error("set_motion_param", "failed to set %s=%s" % (param, value)) return False
def _set_debug_mode(self, **kwargs): """ Enable/Disable Foscam MJPEG UDP Searching 0 = All 10 = Debug 20 = Info 30 = Warning 40 = Error 50 = Critical """ self.debug_mode = myint(kwargs.get("value")) self.parent.logger.info("CameraServer:set_debug_mode: %d" % (self.debug_mode)) self.set_driver('GV4', self.debug_mode, uom=25, report=True) self.logger.setLevel(self.debug_mode) return True
def cmd_goto_preset(self, command): """ Goto the specified preset. Preset 1 = Command 31 Preset 2 = Command 33 Preset 3 = Command 35 Preset 16 = Command 61 Preset 32 = Command 93 So command is ((value * 2) + 29) """ value = int(command.get("value")) if value is None: self.l_error("cmd_goto_preset"," not passed a value: %s" % (value) ) return False value * 2 + 29 value = myint((value * 2) + 29) if not self.decoder_control( { 'command': value} ): self.l_error("cmd_goto_preset"," failed to set %s" % (value) ) return True
def _goto_preset(self, **kwargs): """ Goto the specified preset. Preset 1 = Command 31 Preset 2 = Command 33 Preset 3 = Command 35 Preset 16 = Command 61 Preset 32 = Command 93 So command is ((value * 2) + 29) """ value = kwargs.get("value") if value is None: self.parent.send_error("_goto_preset not passed a value: %s" % (value) ) return False value * 2 + 29 value = myint((value * 2) + 29) if not self._decoder_control( { 'command': value} ): self.parent.send_error("_goto_preset failed to set %s" % (value) ) return True