aboutsummaryrefslogblamecommitdiffstats
path: root/scripts/common/__init__.py
blob: e34961018b3a93f996ea7f8102defded6ddd6b20 (plain) (tree)
1
2
3
4
5
6
7
8
9
                      
                                  
 
              
         
          
                             
 
                                               
 

                                                          





                                                                 
                 
                                         

                          
                                            
                             



                                                         

                                                                       









                                              

                                                                   
                                     
#!/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)