#! /usr/bin/python3
+import argparse
import logging
import datetime
import re
def writesensordatacsv(config, sensor_id, sensor_name, timestamp, value_type, value_raw, value):
# Schreiben des csv-files
- file = open(config.get("csv", "filename"), "a", newline = "")
+ file = open(os.path.expanduser(config.get("csv", "filename")), "a", newline = "")
writer = csv.writer(file, dialect = "excel")
- writer.writerow([timestamp.strftime("%Y-%m-%d %H:%M"), sensor_id, "{:.1f}".format(value)])
+ writer.writerow([timestamp.strftime("%Y-%m-%d %H:%M"), sensor_id, sensor_name, "{:.1f}".format(value)])
file.close()
host = config.get('database','hostname')
db = config.get('database','database')
- engine = create_engine('mysql+mysqldb://{}:{}@{}/{}'.format(user, pwd, host, db), echo=True)
+ engine = create_engine('mysql+mysqldb://{}:{}@{}/{}'.format(user, pwd, host, db), echo=False)
conn = engine.connect()
- conn.execute("insert into sensors (sensor_id, sensor_name, value_type, value_raw, value, timestamp) values (?,?,?,?,?,?)", sensor_id, sensor_name, value_type, value_raw, value, timestamp)
+ conn.execute("insert into sensors (sensor_id, sensor_name, value_type, value_raw, value, timestamp) values (%s,%s,%s,%s,%s,%s)", sensor_id, sensor_name, value_type, value_raw, value, timestamp)
conn.close()
-def main():
+def main(configfile):
config = configparser.ConfigParser()
- config.read(os.path.expanduser('~/seewasser.ini'))
+ config.read(configfile)
value_type = "Wassertemperatur"
for sensor_id, sensor_name in config.items('temperature'):
logging.info('Sensor {}: {:.1f}°C'.format(sensor_id, value))
-main()
+if __name__ == '__main__':
+ default_config_file = os.path.expanduser('~/seewasser.ini')
+ parser = argparse.ArgumentParser(description='Read sensor data')
+ parser.add_argument('--config', default=default_config_file, help='configuration file')
+ args = parser.parse_args()
+ main(args.config)
+