def testRelayDispatch(self): relay = RelaySwitch(name='light', pin=18, value=1, value_toggle=0, duration=2) def collect(Key=None, AttributeUpdates=None): self.ddb_data.append(AttributeUpdates) ddb = DynamoDBDataStore(table='staging-test1-events', region='us-east-1', type='DynamoDBDataStore') ddb.table.update_item = MagicMock(side_effect=collect) BaseModule.datastore = ddb BaseModule.scheduler = BackgroundScheduler() BaseModule.start() relay.dispatch() time.sleep(5) self.assertEqual(self.ddb_data[0]['created']['Value'], self.ddb_data[1]['created']['Value']) self.assertGreater(len(self.ddb_data[1]['completion_time']['Value']), 1)
def __init__(self, width=None, height=None, **kwargs): BaseModule.__init__(self, **kwargs) self.cam = cv2.VideoCapture(0) self.cam.set(3, width) # set the Horizontal resolution self.cam.set(4, height) # Set the Vertical resolution
def __init__(self, pin=None, **kwargs): BaseModule.__init__(self, **kwargs) self.pin = pin GPIO.setmode(GPIO.BCM) GPIO.setup(self.pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.add_event_detect(self.pin, GPIO.FALLING, lambda pin: self.dispatch(), bouncetime=1500)
def __init__(self, pin=None, value=None, duration=None, value_toggle=None, **kwargs): BaseModule.__init__(self, **kwargs) self.pin = pin self.duration = duration self.value_initial = self.current_value = value self.value_toggle = value_toggle self.send(self.current_value)
def __init__(self, vesync_name, duration=None, states=["on", "off"], **kwargs): BaseModule.__init__(self, **kwargs) self.vesync_name = vesync_name self.duration = duration self.next_idx = 0 self.states = states if not VeSyncOutlet.manager: VeSyncOutlet.manager = VeSync(os.environ['VESYNC_USERNAME'], os.environ['VESYNC_PASSWORD']) VeSyncOutlet.manager.login() VeSyncOutlet.manager.update() self.device = next( filter(lambda x: x.device_name == vesync_name, VeSyncOutlet.manager.outlets), None) if self.device is None: raise Exception("Unable to find VeSync device " + vesync_name)
def __init__(self, pin=None, use_fahrenheit=False, **kwargs): BaseModule.__init__(self, **kwargs) self.pin = pin self.fahrenheit = use_fahrenheit
def start(self): logger.debug("Running...") BaseModule.start() # blocking
def __init__(self, width=None, height=None, **kwargs): BaseModule.__init__(self, **kwargs)
def __init__(self, bucket_name=None, base_url=None, **kwargs): BaseModule.__init__(self, **kwargs) self.bucket_name = bucket_name self.base_url = base_url if base_url else DEFAULT_S3_BASE.format( bucket_name) self.client = boto3.client('s3')
def __init__(self, width=None, height=None, **kwargs): BaseModule.__init__(self, **kwargs) self.cam = picamera.PiCamera() self.cam.vflip = self.cam.hflip = True self.cam.resolution = (width, height)