Beispiel #1
0
 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
Beispiel #2
0
 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
Beispiel #3
0
 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
Beispiel #4
0
 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
Beispiel #5
0
 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
Beispiel #7
0
 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
Beispiel #8
0
 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
Beispiel #9
0
 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
Beispiel #11
0
 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