Advertisement
the-technoholik

Yocto Relay Garage Door

Nov 8th, 2014
211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.12 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. from garage import Garage
  5.  
  6. from yocto_api import *
  7. from yocto_relay import *
  8.  
  9. #yDisableExceptions()
  10.  
  11. class YoctoRelayGarage(Garage):
  12.  
  13.     __HUB_URL = 'http://127.0.0.1:4444/'
  14.  
  15.     def __init__(self):
  16.         super(YoctoRelayGarage, self).__init__()
  17.  
  18.         yErrorMsg = YRefParam()
  19.         YAPI.RegisterHub(self.__HUB_URL, yErrorMsg)
  20.  
  21.         self.open_relay  = YRelay.FindRelay('garage_relays.open')
  22.         self.close_relay = YRelay.FindRelay('garage_relays.close')
  23.  
  24. #    def __del__(self):
  25. #        YAPI.UnregisterHub(self.__HUB_URL)
  26.  
  27.     def __trigger_relay(self, relay):
  28.         print('Triggering relay')
  29.         if not relay.isOnline():
  30.             self.error_msg = 'Relay is not online'
  31.             return False
  32.  
  33.         try:
  34.             relay.pulse(500)
  35.             self.error_msg = ''
  36.             return True
  37.         except:
  38.             self.error_msg = str(YRefParam())
  39.             return False
  40.  
  41.     def open(self):
  42.         return self.__trigger_relay(self.open_relay)
  43.  
  44.     def close(self):
  45.         return self.__trigger_relay(self.close_relay)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement