From c6f97918fb470dd37cc5cd4e9677bff1099518cd Mon Sep 17 00:00:00 2001 From: agp8x Date: Wed, 26 Aug 2015 00:34:23 +0200 Subject: [PATCH] added sample config and description --- README.md | 38 +++++++++++++++++++++++++--------- set.json => config.sample.json | 0 settings.py | 2 +- 3 files changed, 29 insertions(+), 11 deletions(-) rename set.json => config.sample.json (100%) diff --git a/README.md b/README.md index 15522f9..9b68643 100644 --- a/README.md +++ b/README.md @@ -4,14 +4,33 @@ Python2, Bash, Tinkerforge ## Setup -1. Pfade, Urls und Benutzer in `ftpconfig.xml` anpassen (Vorlage: ftpconfig.sample.xml) -2. `settings.py` anpassen - 1. brickd-host und Port - 2. Verwendete Sensoren in *SENSORS* anpassen - * Name - * UID - * SensorTyp - 3. Gewünschte Callback-zeiten in *TIMES* anpassen +1. Pfade, Urls und Benutzer in `ftpconfig.xml` anpassen (Vorlage: `ftpconfig.sample.xml`) +2. Konfiguration mittels `config.json` anpassen (Vorlage: `config.sample.json`) + * *hosts*: + * Ein Eintrag pro brickd-Host mit: + * *host*: Hostname/IP + Port + * *sensors*: Auflistung der Sensoren mit: Name, UID, SensorType + * *sensor_properties*: + * Pro SensorType: + * Callbackzeit + * Divisor + * Einheit + * *tempmaxdiff*: Maximaler Unterschied zwischen *SensorType.temp*-Callbacks + * *prev_temps_default*: Hilfswert für Berechnung von *tempmaxdiff* + * *logs*: Ordner für Logs + * *locks*: Ordner für Locks + * *records*: Ordner für aktuelle Aufzeichnungen + * *arch*: Ordner für Archiv der Aufzeichnungen + * *lockname*: Lock für Hauptprogramm + * *logname*: Logdatei für Hauptprogramm + * *exceptionlog*: Logdatei für Exceptions bei Verbindungsaufbau + * *recordlog*: Logdatei für neue, einheitliche Aufzeichnungen + * *movelog*: Logdatei für Archivierung + * *movelock*: Datei zur Feststellung der letzten Archivierung + * *waitDelay*: Wartezeit zwischen Verbindungsversuchen + * *loglevel*: Loglevel für Hauptprogramm + * *datalog*: Loglevel für Aufzeichnungen (warn, error,critical verhindern Aufzeichnung) + * *dataecho*: Loglevel für Wiedergabe der Aufzeichnungen (warn, error,critical verhindern Wiedergabe) 3. Tinkerforge-python-bindings installieren 4. `main.py` starten, um Aufzeichnung zu starten * Aufzeichnung des aktuellen Tages werden in `records` gespeichert @@ -19,5 +38,4 @@ Python2, Bash, Tinkerforge 5. Cronjob für Upload mit ftp.sh einrichten # TODOS -* auf python3 umstellen -* settings aus python auslagern +* TODOS ausdenken diff --git a/set.json b/config.sample.json similarity index 100% rename from set.json rename to config.sample.json diff --git a/settings.py b/settings.py index 908da6b..04f788d 100644 --- a/settings.py +++ b/settings.py @@ -59,7 +59,7 @@ class Settings(dict): self[name]=value def __delattr__(self,name): del self[name] -def load_json(filename="set.json"): +def load_json(filename="config.json"): values=json.load(open('set.json'), object_hook=Settings) sensors_name="hosts" if sensors_name in values: