def main(addr): if addr == None: addr = tools.get_random_uuid() dev = Device("switch.basic",addr) dev.product_id = 'One Simple test of Switch' dev.url = 'http://www.acme.org' # attributes state = dev.new_attribute('state') dev.dump() # methods def on(): state.value = True print("%s ON" % dev) def off(): state.value = False print("%s OFF" %dev) dev.add_method('on',on) dev.add_method('off',off) eng = Engine() eng.add_device(dev) #eng.run() eng.start()
def build_dev(addr, devtype): dev = Device(devtype) dev.address = addr dev.vendor_id = "DIY Wireless Bug" dev.url = "http://dwb.ilhost.fr/" dev.version = 0.3 return dev
def main(addr): if addr == None: addr = tools.get_random_uuid() dev = Device("lamp.dimmer", addr) dev.product_id = 'Dummy Dimming Lamp' dev.url = 'http://www.acme.org' # attributes light = dev.new_attribute('light') dimmer = dev.new_attribute('dimmer', 50) dev.dump() # methods def on(): light.value = True print("%s ON" % dev) def off(): light.value = False print("%s OFF" % dev) def dim(_target): dimmer.value = _target print("Dimming to %d" % _target) dev.add_method('on', on) dev.add_method('off', off) dev.add_method('dim', dim) eng = Engine() eng.add_device(dev) eng.run()
def main(addr): if addr == None: addr = tools.get_random_uuid() dev = Device("powerrelay.basic", addr) dev.product_id = 'Dummy Power Relay' dev.url = 'http://www.acme.org' # attributes power = dev.new_attribute('power') dev.dump() # methods def on(): power.value = True print("%s ON" % dev) def off(): power.value = False print("%s OFF" % dev) dev.add_method('on', on) dev.add_method('off', off) eng = Engine() eng.add_device(dev) eng.run()
def build_dev(dtype, addr): dev = Device(dtype) dev.address = addr dev.vendor_id = "IHSEV" dev.product_id = "OpenWeatherMap" dev.info = "%s@%s" % (PACKAGE_NAME, platform.node()) dev.url = "https://www.openweathermap.org" dev.version = 0.2 return dev
def build_dev(dtype, addr): dev = Device(dtype) dev.address = addr dev.vendor_id = "NETATMO" dev.product_id = "NetatmoWeatherStation" dev.info = "%s@%s" % (PACKAGE_NAME, platform.node()) dev.url = "https://dev.netatmo.com/" dev.version = 0.1 return dev
def setup_gw(self): # last step build the GW device gw = Device("gateway.basic") gw.address = self.cfg['config']['addr'] gw.vendor_id = "IHSEV" gw.product_id = "IPX-800 Ethernet Control System" gw.version = 0.1 gw.url = "http://gce-electronics.com/fr/home/57-module-ip-rail-din-webserver-8-relais-ipx800-v3.html" gw.info = "%s@%s" % (PACKAGE_NAME, platform.node()) emb = gw.new_attribute('embedded', []) emb.value = [io.dev.address for io in self.in_out] self.engine.add_device(gw)
def setup_gw(self): # last step build the GW device gw = Device("gateway.basic") gw.address = self.cfg['config']['addr'] gw.vendor_id = "DIY Wireless Bug" gw.product_id = "bugOne Gateway" gw.version = 0.3 gw.url = "http://dwb.ilhost.fr/" gw.info = "%s@%s" % (PACKAGE_NAME, platform.node()) emb = gw.new_attribute('embedded', []) for node in self.nodes.values(): for dev in node.get_devices(): emb.value.append(dev.address) self.engine.add_device(gw)
def setup(self): cfg = self.cfg client = influxdb.InfluxDBClient( host=cfg['host'], port=int(cfg['port']), username=cfg['user'], password=cfg['password'], database=cfg['database'], ssl=(cfg['ssl'] == "true")) self.influxdb = client dev = Device("logger.basic") dev.address = self.cfg['addr'] dev.vendor_id = "IHSEV" dev.product_id = "InfluxDB Logger" dev.url = "https://www.influxdata.com" dev.version = 0.1 dev.info = "%s@%s:%s" % (cfg['database'],cfg['host'],cfg['port']) self.eng.add_device(dev)
def main(addr): if addr == None: addr = tools.get_random_uuid() dev = Device("controlerMedia.basic", addr) dev.product_id = 'Controler DLNA' dev.url = 'http://www.acme.org' # attributes destination_media = dev.new_attribute('destination_media') source_media = dev.new_attribute('source_media') state_media = dev.new_attribute('state_media') position_media = dev.new_attribute('position_media') dev.dump() # methods def get_attributes(): print("Attributs") ########### Ensemble des methodes liees a la mise en place du media ########## def set_destination(_dest): # Met la valeur du media player a utiliser dans la variable "destination_media" destination_media.value = _dest print("Destination \"" + _dest + "\" is set") def get_destinations(): # Interroge le dBus pour connaitre les media renderer en DLNA # Envoie à l'utilisateur les destinations sous forme de liste available_dest = {"renderer1": "salon", "renderer2": "cuisine"} print("Display destinations") return available_dest def set_source(_src): # Met la valeur du media server a utiliser dans la variable "source_media" source_media.value = _src print("Source \"" + _src + "\" is set") def get_sources(): # Interroge le dBus pour connaitre les media server en DLNA # Envoie à l'utilisateur les medias sous forme de liste available_media = {"media1": "NAS\\video1", "media2": "NAS\\video2"} print("Display sources") return available_media ########## Ensemble des methodes liees a l'etat du media lorsqu'il est en cours de lecture ######### def play(): state_media.value = True # Commande DLNA pour lancer le media print("%s Play" % dev) def pause(): state_media.value = False # Commande DLNA pour mettre le media sur pause print("%s Pause" % dev) def stop(): print("Media is stop") def next(): print("Next media is play") def prev(): print("Previous media is play") def moving_forward(): print("Media is forwarding of 10 secondes") def moving_back(): print("Media is backing of 10 secondes") dev.add_method('get_attributes', get_attributes) dev.add_method('set_destination', set_destination) dev.add_method('get_destinations', get_destinations) dev.add_method('set_source', set_source) dev.add_method('get_sources', get_sources) dev.add_method('play', play) dev.add_method('pause', pause) dev.add_method('stop', stop) dev.add_method('next', next) dev.add_method('prev', prev) dev.add_method('moving_forward', moving_forward) dev.add_method('moving_back', moving_back) eng = Engine() eng.add_device(dev) eng.run()