aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/common/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/common/__init__.py')
-rw-r--r--scripts/common/__init__.py34
1 files changed, 33 insertions, 1 deletions
diff --git a/scripts/common/__init__.py b/scripts/common/__init__.py
index 3c3ab1e..d434a4a 100644
--- a/scripts/common/__init__.py
+++ b/scripts/common/__init__.py
@@ -3,13 +3,45 @@
import os
import sys
+import logging
+from datetime import datetime
QUEUE = bool(os.environ.get('el_QUEUE', False))
name = os.path.splitext(os.path.split(sys.argv[0])[-1])[0]
-# Initialize queue
+log = logging.getLogger(__name__)
+log.setLevel(logging.INFO)
+logging.basicConfig(format="%(name)s: %(levelname)s %(message)s")
+
+
+# Use queue or postgres
if QUEUE is True:
+ log.debug('Importing dbi from queue')
from .queue import dbi
else:
+ log.debug('Importing dbi from postgres')
from .postgres import dbi
+
+
+# Insert state
+def statein(sensor, value, device_class, unit, **kwargs):
+ ''' Insert new state in db '''
+ verbose = bool(kwargs['verbose']) if 'verbose' in kwargs else False
+
+ sql = """INSERT INTO states
+ (sensor_id,
+ value,
+ device_class,
+ unit,
+ time)
+ SELECT sensors.id, %s, %s, %s, %s
+ FROM sensors
+ WHERE sensors.name = %s;"""
+ values = (value,
+ device_class,
+ unit,
+ datetime.now(),
+ sensor)
+ log.debug('dbi(' + sql + ',' + str(values) + ')')
+ dbi(sql, values, verbose=verbose)