Go to file
agp8x 4878b49af6 prevent log from crashing if timeout occurs on delta 2015-09-29 19:21:28 +02:00
.gitignore reformatted using pyCharm 2015-08-30 18:22:55 +02:00
LICENSE Initial commit 2015-09-14 19:23:41 +02:00
Logger.py prevent log from crashing if timeout occurs on delta 2015-09-29 19:21:28 +02:00
README.md fixed leftover debug message 2015-09-29 13:02:01 +02:00
Setup.py added IR-delta-logger 2015-09-29 12:56:53 +02:00
config.py added IR-delta-logger 2015-09-29 12:56:53 +02:00
config.sample.json added IR-delta-logger 2015-09-29 12:56:53 +02:00
ftp.sh fixed ftp upload 2015-09-29 13:06:46 +02:00
ftpconfig.sample.xml added tmp-dir to ftp-sample-config 2015-09-10 20:51:32 +02:00
main.py added IR-delta-logger 2015-09-29 12:56:53 +02:00
move.py reformatted using pyCharm 2015-08-30 18:22:55 +02:00
timeFunctions.py reformatted using pyCharm 2015-08-30 18:22:55 +02:00
weatherlog using logging in move.py, too 2015-08-25 17:04:58 +02:00

README.md

#Weatherstation ##Overview Python (2/3), Bash, Tinkerforge

Setup

  1. Konfiguration mittels config.json anpassen (Vorlage: config.sample.json)
    • Notwendig:
      • 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
    • Optional:
      • tempmaxdiff: Maximaler Unterschied zwischen zwei SensorType.temp-Callbacks des gleichen Sensors
      • 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)
      • legacy_record: Speichern von Aufzeichnungen in einzelne Dateien pro Sensor (true, false)
  2. Tinkerforge-Python-Bindings installieren
  3. main.py starten, um Aufzeichnung zu starten
    • Aufzeichnung des aktuellen Tages werden in records gespeichert

Optional: Verschieben der Aufzeichnungen in ein Archiv:

  1. move.py z.B. als Cronjob starten

Optional: Upload der Aufzeichnungen mit SFTP an einem Server (beinhaltet Archivierung mit move.py):

  1. Pfade, Urls und Benutzer in ftpconfig.xml anpassen (Vorlage: ftpconfig.sample.xml)
    • (ftp.sh bzw move.py) Nach dem Upload und dem Tagesende werden die Aufzeichnungen nach arch verschoben
  2. Cronjob für Upload mit ftp.sh einrichten

TODOS