Ejemplo n.º 1
0
 def initial_display(self):
     print("Initial display process")
     try:
         self.TFT.initLCD(self.config.getint("GPIO", "DC"), self.config.getint("GPIO", "RST"),
                          self.config.getint("GPIO", "LED"), ce=1)
         self.TFT.clear((255, 255, 255))
     except Exception, e:
         Log.new(Log.ERROR, "Initial display process error : " + str(e))
Ejemplo n.º 2
0
 def set_force_on(object_id, value):
     db_client = helper.get_database_mongo()
     db_client.relays.update({
         '_id': ObjectId(object_id)}, {
         '$set': {
             'force_on': value
         }}, upsert=False)
     Log.debug("Set Force on =" + str(value) + " Relay id=" + object_id)
Ejemplo n.º 3
0
 def initial_display(self):
     print("Initial display process")
     try:
         self.TFT.initLCD(self.config.getint("GPIO", "DC"),
                          self.config.getint("GPIO", "RST"),
                          self.config.getint("GPIO", "LED"),
                          ce=1)
         self.TFT.clear((255, 255, 255))
     except Exception, e:
         Log.new(Log.ERROR, "Initial display process error : " + str(e))
Ejemplo n.º 4
0
 def init_ip(self):
     try:
         s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         s.connect(("gmail.com", 80))
         self.ip = s.getsockname()[0]
         s.close()
     except Exception, e:
         self.ip = "No Internet connection"
         Log.new(Log.ERROR, "failed to find ip address")
         print(e)
Ejemplo n.º 5
0
 def init_ip(self):
     try:
         s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
         s.connect(("gmail.com", 80))
         self.ip = s.getsockname()[0]
         s.close()
     except Exception, e:
         self.ip = "No Internet connection"
         Log.new(Log.ERROR, "failed to find ip address")
         print(e)
Ejemplo n.º 6
0
    def exit_application():
        database.set_app_running(False)
        Log.new(Log.DEBUG, "###  Exit application! ###")
        Relay.clear_relay()

        print("Exiting....")
        print("Current App Status = " + str(database.get_app_running()))
        print("##########################")
        print("####### Clear relay ######")
        print("##########################")
        print("#######  Goodbye !!#######")
        print("##########################")
Ejemplo n.º 7
0
    def exit_application():
        database.set_app_running(False)
        Log.new(Log.DEBUG, "###  Exit application! ###")
        Relay.clear_relay()

        print("Exiting....")
        print("Current App Status = " + str(database.get_app_running()))
        print("##########################")
        print("####### Clear relay ######")
        print("##########################")
        print("#######  Goodbye !!#######")
        print("##########################")
Ejemplo n.º 8
0
    def switch_checker(self, relay):
        current_relay_state = relay.get_state()
        if self.DEBUG:
            print("Relay state = " + str(current_relay_state))
            print("State = " + str(relay.force_on) + " state = " + str(current_relay_state))

        if relay.force_on == Relay.FORCE_ON:
            if current_relay_state == Relay.OFF:
                Log.debug(relay.name + " has turn on by user")
                relay.turn_on()
        else:
            if current_relay_state == Relay.ON:
                Log.debug(relay.name + " has turn off by user")

                relay.turn_off()
Ejemplo n.º 9
0
    def switch_checker(self, relay):
        current_relay_state = relay.get_state()
        if self.DEBUG:
            print("Relay state = " + str(current_relay_state))
            print("State = " + str(relay.force_on) + " state = " +
                  str(current_relay_state))

        if relay.force_on == Relay.FORCE_ON:
            if current_relay_state == Relay.OFF:
                Log.debug(relay.name + " has turn on by user")
                relay.turn_on()
        else:
            if current_relay_state == Relay.ON:
                Log.debug(relay.name + " has turn off by user")

                relay.turn_off()
Ejemplo n.º 10
0
    def timer_checker(self, relay):
        # get current time
        flags = FlagsDay()
        today = datetime.date.today()
        day = today.strftime("%a")
        for timer in relay.time:
            flags.asByte = timer["day"]
            time_checker = getattr(flags, day) == 1 and helper.time_in_range(
                parser.parse(timer["time_on"]).time(),
                parser.parse(timer["time_off"]).time())
            current_relay_state = relay.get_state()
            if self.DEBUG:
                print("Relay state = " + str(current_relay_state))
                print(relay.name + "  checker is " + str(time_checker))
                print("State = " + str(relay.force_on) + " state = " +
                      str(current_relay_state))

            if time_checker or relay.force_on == Relay.FORCE_ON:
                if relay.force_on == Relay.FORCE_OFF and current_relay_state == Relay.ON:
                    Log.debug(relay.name + " has turn by Force turn off")
                    print("Force Off")
                    relay.turn_off()
                elif current_relay_state == Relay.OFF and not relay.force_on == Relay.FORCE_OFF:
                    Log.debug(relay.name + " has turn by timer")
                    relay.turn_on()

            else:
                if current_relay_state == Relay.ON:
                    Log.debug(relay.name + " has turnoff by timer")
                    relay.turn_off()
Ejemplo n.º 11
0
    def timer_checker(self, relay):
        # get current time
        flags = FlagsDay()
        today = datetime.date.today()
        day = today.strftime("%a")
        for timer in relay.time:
            flags.asByte = timer["day"]
            time_checker = getattr(flags, day) == 1 and helper.time_in_range(
                parser.parse(timer["time_on"]).time(),
                parser.parse(timer["time_off"]).time())
            current_relay_state = relay.get_state()
            if self.DEBUG:
                print("Relay state = " + str(current_relay_state))
                print(relay.name + "  checker is " + str(time_checker))
                print("State = " + str(relay.force_on) + " state = " + str(current_relay_state))

            if time_checker or relay.force_on == Relay.FORCE_ON:
                if relay.force_on == Relay.FORCE_OFF and current_relay_state == Relay.ON:
                    Log.debug(relay.name + " has turn by Force turn off")
                    print("Force Off")
                    relay.turn_off()
                elif current_relay_state == Relay.OFF and not relay.force_on == Relay.FORCE_OFF:
                    Log.debug(relay.name + " has turn by timer")
                    relay.turn_on()

            else:
                if current_relay_state == Relay.ON:
                    Log.debug(relay.name + " has turnoff by timer")
                    relay.turn_off()
Ejemplo n.º 12
0
 def clear_relay():
     Log.new(Log.DEBUG, "Clear relay!")
     for relay in Relay.get_relay_object_list():
         Relay.set_force_on(relay.get_object_id(), Relay.FORCE_DISABLE)
         relay.turn_off()
     GPIO.cleanup()
Ejemplo n.º 13
0
 def turn_off(self):
     if self.gpio is None:
         print("Error can't not found GPIO")
     else:
         GPIO.output(self.gpio, GPIO.LOW)
         Log.new(Log.DEBUG, "Turn Off! > " + self.name + " <   at gpio = " + str(self.gpio))