#!/usr/bin/env python3 """ common functions and stuff """ import logging import os import sys from datetime import datetime QUEUE = bool(os.environ.get("el_QUEUE", False)) name = os.path.splitext(os.path.split(sys.argv[0])[-1])[0] 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.utcnow(), sensor) log.debug("dbi(" + sql + "," + str(values) + ")") dbi(sql, values, verbose=verbose)