added sample config and description

master
agp8x 2015-08-26 00:34:23 +02:00
parent dedd53bf6d
commit c6f97918fb
3 changed files with 29 additions and 11 deletions

View File

@ -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

View File

@ -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: