Beispiel #1
0
	def setStateToSQL(self):
		"""проверяет положение в базе данных и выставляет его"""
		zapros = "SELECT `state` FROM `kotel_dout` WHERE `dout`="+str(self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros)
		row = dbconnect.cursor.fetchone()
		dbconnect.close()
		self.status = int(row[0])
		GPIO.output(self.pin, self.status)
Beispiel #2
0
	def getStateToSQL(self):
		"""выставляет сигнал в базе данных в соотвествии с текущем состоянием"""
		zapros = "UPDATE `kotel_dout` SET `state`=%s WHERE `dout`=%s"
		data = (self.status, self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros, data)
		dbconnect.connect.commit()
		dbconnect.close()
		return True
Beispiel #3
0
 def getDinToSQL(self, din):
     """вычитывание состояния сигнала из файла и помешение его в базу данных"""
     state = self.getDin(din)
     zapros = "UPDATE `ds2408` SET `din" + str(din) + "`=%s WHERE `id`=%s"
     data = (state, self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros, data)
     dbconnect.connect.commit()
     dbconnect.close()
     return True
 def __init__(self, id):
     self.id = id  #id опции
     zapros = "SELECT `title` FROM `kotel_addOptions` WHERE `id`=" + str(
         self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros)
     row = dbconnect.cursor.fetchone()
     dbconnect.close()
     self.title = row[0]  #коментарий опции
     self.state = 0
	def getStateToSQL(self) :
		"""взять температуру с датчика и положить в базу данных"""
		state = self.getState()
		zapros = "UPDATE `temperatur` SET `temperatur`=%s WHERE `id`=%s"
		data = (state, self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros, data)
		dbconnect.connect.commit()
		dbconnect.close()
		return state
 def getSQL(self):
     """высчитать опцию из базы данных"""
     zapros = "SELECT `state` FROM `kotel_addOptions` WHERE `id`=" + str(
         self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros)
     row = dbconnect.cursor.fetchone()
     dbconnect.close()
     self.state = row[0]
     return self.state
Beispiel #7
0
	def getStateToSQL(self):
		"""Определяет положение сигнала и записывает его в базу данных"""
		status = self.getState()
		zapros = "UPDATE `kotel_din` SET `state`=%s WHERE `din`=%s"
		data = (status, self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros, data)
		dbconnect.connect.commit()
		dbconnect.close()
		return True
	def __init__(self, id) :
		self.id = id										#id датчика в базе данных
		zapros = "SELECT `address`, `title` FROM `temperatur` WHERE `id`="+str(self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros)
		row = dbconnect.cursor.fetchone()
		dbconnect.close()
		self.addres = "/mnt/1wire/"+row[0]+"/temperature"	#адрес датчика
		self.title = row[1]									#коментарий к датчику
		self.state = 9999									#первоначальное состояние
 def setSQL(self, state):
     """записать значение в базу данных(использовать для аварийных случаев)"""
     zapros = "UPDATE `kotel_addOptions` SET `state`=%s WHERE `id`=%s"
     data = (state, self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros, data)
     dbconnect.connect.commit()
     dbconnect.close()
     self.state = state
     return True
Beispiel #10
0
 def setDoutStateToSQL(self, dout):
     """проверяет положение в базе данных и выставляет его"""
     zapros = "SELECT `dout" + str(
         dout) + "` FROM `ds2408` WHERE `id`=" + str(self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros)
     row = dbconnect.cursor.fetchone()
     dbconnect.close()
     state = int(row[0])
     return self.setDout(dout, state)
Beispiel #11
0
	def __init__(self, id):
		self.id = id					#id сигнала
		zapros = "SELECT `pin`, `title` FROM `kotel_din` WHERE `din`="+str(self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros)
		row = dbconnect.cursor.fetchone()
		dbconnect.close()		
		self.pin = int(row[0])			#пин на малине
		self.title = row[1]				#описание сигнала
		GPIO.setup(self.pin, GPIO.IN)	#инициализация GPIO
		self.status = 0					#первоначальное положение
Beispiel #12
0
	def __init__(self, id):
		self.id = id						#id сигнала
		zapros = "SELECT `pin`, `title`, `state`  FROM `kotel_dout` WHERE `dout`="+str(self.id)
		dbconnect = mySQLconfig.SqlConnect()
		dbconnect.cursor.execute(zapros)
		row = dbconnect.cursor.fetchone()
		dbconnect.close()
		self.pin = int(row[0])				#пин на малине
		self.title = row[1]					#описание сигнала
		self.status = int(row[2])			#состояние из базы данных
		GPIO.setup(self.pin, GPIO.OUT)		#инициализация GPIO
Beispiel #13
0
 def setDoutStateAndSQL(self, dout, state):
     """выставляет сигнал в базе данных и выставление выходного сигнала"""
     if self.setDout(dout, state):
         zapros = "UPDATE `ds2408` SET `dout" + str(
             dout) + "`=%s WHERE `id`=%s"
         data = (state, self.id)
         dbconnect = mySQLconfig.SqlConnect()
         dbconnect.cursor.execute(zapros, data)
         dbconnect.connect.commit()
         dbconnect.close()
         return True
     else:
         zapros = "UPDATE `ds2408` SET `dout" + str(
             dout) + "`=%s WHERE `id`=%s"
         data = (2, self.id)
         dbconnect = mySQLconfig.SqlConnect()
         dbconnect.cursor.execute(zapros, data)
         dbconnect.connect.commit()
         dbconnect.close()
         return False
Beispiel #14
0
 def checkConnect(self):
     """функция для проверки доступности устройства и записи об этом в базу данных"""
     address = self.address + "address"
     try:
         file = open(address, "r", encoding="utf-8")
         st = file.read()
         file.close()
         connect = 1
     except:
         connect = 0
     zapros = "UPDATE `ds2408` SET `connect`=%s WHERE `id`=%s"
     data = (connect, self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros, data)
     dbconnect.connect.commit()
     dbconnect.close()
     self.connect = connect
     return connect
Beispiel #15
0
    def addLog(message, type="INFO", title="событие котла"):
        date = datetime.datetime.now()
        zapros = "INSERT INTO `kotel_log` (`id`, `type`, `date`, `message`, `title`) VALUES (%(id)s, %(type)s, %(date)s, %(message)s, %(title)s)"
        dbconnect = mySQLconfig.SqlConnect()
        id = dbconnect.cursor.lastrowid
        data = {
            'id': id,
            'type': type,
            'date': date,
            'message': message,
            'title': title
        }

        dbconnect.cursor.execute(zapros, data)
        dbconnect.connect.commit()
        dbconnect.close()
        if type == 'ERROR':
            sms = smsSend.SMSSend()
            sms.send(message)
        return True
Beispiel #16
0
 def __init__(self, id):
     self.id = id  #id устройства
     zapros = "SELECT `address`, `title` FROM `ds2408` WHERE `id`=" + str(
         self.id)
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros)
     row = dbconnect.cursor.fetchone()
     dbconnect.close()
     self.address = "/mnt/1wire/" + row[
         0] + "/"  #адрес файлов устройства в системе
     self.title = row[1]  #коментарий к устройству
     self.dinNumber = {1: 4, 2: 3, 3: 1, 4: 2}  #словарь адресов Din
     self.doutNumber = {1: 5, 2: 7, 3: 6}  #словарь адресов Dout
     self.din = {
         1: 2,
         2: 2,
         3: 2,
         4: 2
     }  #первоначальное состояние сигналов Din
     self.dout = {1: 2, 2: 2, 3: 2}  #первоначальное состояние сигналов Dout
     self.connect = 2  #первоначальное состояние связи с устройством
 def getSQL(self):
     """вычитывает из базы данных таймауты и возврашает True если хоть один из них идет прямо сейчас"""
     zapros = "SELECT `from`, `before` FROM `kotel_timeout`"
     dbconnect = mySQLconfig.SqlConnect()
     dbconnect.cursor.execute(zapros)
     row = dbconnect.cursor.fetchone()
     self.timeOut = []
     while row is not None:
         self.timeOut.append({'from': row[0], 'before': row[1]})
         row = dbconnect.cursor.fetchone()
     dbconnect.close()
     dtime = datetime.datetime.now()
     timeNow = dtime.hour * 60 * 60 + dtime.minute * 60 + dtime.second
     now = False
     for values in self.timeOut:
         if values['from'].seconds < timeNow and values[
                 'before'].seconds > timeNow:
             now = True
     if now == True:
         self.now = now
         return True
     else:
         self.now = now
         return False
Beispiel #18
0
import sys, mysql.connector

sys.path.append('/srv/py/config')
import mySQLconfig

sys.path.append('/srv/py/moduls/modulLib')
import kotelLog

zapros = 'SELECT COUNT(`id`) FROM `kotel_log`'
dbconnect = mySQLconfig.SqlConnect()
dbconnect.cursor.execute(zapros)
size = dbconnect.cursor.fetchone()
if int(size[0]) > 1000:
    delZapros = 'DELETE FROM `kotel_log` order by `id` asc limit ' + str(
        size[0]) + ' - 1000;'
    dbconnect.cursor.execute(delZapros)
dbconnect.close()
log = kotelLog.Log
log.addLog('Лог почишен, оставленна последняя 1000 записей')