-------------------------------------------------------------------------------
 Optional package: OPT_TIMELOG     TimeLog v0.8     09.04.2005
-------------------------------------------------------------------------------

TimeLog wertet die Logdatei von Imond aus und laesst den User so seine Verbindungsdaten
bequem ueber den Mini-HTTPD analysieren. Ausserdem wird der von Imond mitgeloggte Traffic
ausgewertet. Verschiedene ISDN-Circuits werden auch beachtet und koennen unabhaengig
ausgewertet werden. TimeLog richtet sich damit primaer an ISDN-Nutzer ohne Flatrate, aber
auch an DSL-Nutzer, die keinen Flatrate- oder Volumentarif haben. Es sind auch grafische Auswertungen
in Form von einfachen Diagrammen moeglich, fuer einen Monat oder ein ganzes Jahr.
Dieses OPT sollte unter allen Fli4l-Version ab Version 2.1 laufen.

Anzeige
-------
Die Anzeige kann ueber
 - einen Browser (bei installiertem Mini-Webserver httpd)
 - auf der Konsole
 - ueber SSHD
 - und auf einem LCD-Display erfolgen.


Voraussetzungen
---------------
TimeLog benoetigt je nach Konfiguration weitere optionale Pakete:

- In jedem Fall wird Imond (damit auch OPT_ISDN oder OPT_DSL) benoetigt
  Ausserdem muss das Logging des Imond aktiviert sein
  (s. IMOND_LOG='yes' in der config/base.txt)

- Zum Darstellen der Daten im Browser, den Mini-Webserver httpd:
  OPT_HTTPD      http://www.fli4l.de/

- Zum Darstellen der Onlinezeit des aktuellen Tags auf einem LCD:
  OPT_LCD      http://www.fli4l.de/


Installation
------------
Wie gewohnt mit Pfadangaben ins fli4l Hauptverzeichnis entpacken.
Die Konfigurationsdatei config/timelog.txt anpassen:


OPT_TIMELOG       - 'yes' oder 'no', default 'no'
->installiert OPT_TIMELOG

TIMELOG_START_DAY       - Tag im Monat 0..31, default 28
-> Beginn des Abrechnungszeitraum des Providers

TIMELOG_CIRCUIT       - 'circuit-nummer' oder '0' fuer Alle Circuits
->Waehlt den Standard-Circuit aus, fuer den die Daten im Webinterface und auf dem LCD angezeigt
werden sollen, wenn nichts anderes gewaehlt wird (es ist die Circuit-Nummer anzugeben, bei DSL
sollte immer 0 oder 1 dastehen, zum. solange es nur einen DSL-Circuit gibt).

TIMELOG_LCD_DAY         - Ort im Dateisystem, default '/etc/lcd_text3.txt'
-> schreibt die Online-Zeit des Tages in die angegebene Datei

TIMELOG_LCD_MONTH       - Ort im Dateisystem, default '/etc/lcd_text4.txt'
-> schreibt die Online-Zeit des Monats in die angegebene Datei

Zum Deaktivieren einer oder beider Optionen jeweils den Wert leer lassen.
Beide Optionen sind nur sinnvoll, wenn man ein LCD angeschlossen und konfiguriert hat.
In der Datei config/lcd.txt muss man dann den Wert ueber die Nummer 42 bzw. 43 abfragen.

TIMELOG_RELOAD       - Zeit (1-...), default '600'
->Reload-Zeit fuer das Webinterface in Sekunden(!)

TIMELOG_DO_DEBUG       - 'yes' oder 'no', default 'no'
->Gibt beim Start zusaetzliche Debug-Angaben aus, nicht fuer den normalen Betrieb noetig.

Danach den Router updaten und natuerlich neustarten.


Mini-FAQ
--------

Q: Wie kann ich meine Verbindungsdaten dauerhaft speichern?
A: Wichtig ist, dass die Imond.log gesichert wird. Dazu in der
   config/base.txt die Variable IMOND_LOGDIR bei einer Disketteninstalltion
   z.B. auf '/boot' setzen, dann wird die Logdatei auf die Diskette geschrieben,
   oder bei einer Festplatteninstalltion dort einen Pfad waehlen, der auf der Festplatte
   liegt, sonst sind nach jedem Router-Neustart alle Verbindungsdaten weg.

Q: Wie kann ich die Verbindungsdaten zuruecksetzen?
A: Da gibt es zwei Moeglichkeiten:
   a) entweder per Hand die imond.log loeschen oder
   b) im Mini-HTTPD unter "Connections" ganz unten auf "RESET" klicken.

Q: Wie lautet der Befehl zur Anzeige ueber Telnet oder SSH?
A: timelog.sh, die genaue Benutzung des Befehls erfaehrt man durch Aufrufen ohne Argumente.

Q: Ich habe teilweise am Tag mehr als 24h Online-Zeit, wie kann das sein?
A: Das passiert genau dann, wenn eine Verbindung die Datumsgrenze ueberschreitet.
   Imond loggt dann die Verbindung komplett zum vorherigen Tag. D.h. der Tag, der
   mehr als 24h Online-Zeit hat, beinhaltet noch Onlinezeit vom naechsten Tag.

Q: Am Monatsanfang steht in der Uebersicht fr heute eine groessere Zeit als fr diesen Monat,
   was hat es damit auf sich?
A: TimeLog fragt den Imond nach der aktuellen Verbindung ab, und wenn gerade eine Verbindung
   besteht und dem gewaehlten Circuit entspricht, wird die Verbindungszeit zu der Onlinezeit
   von "heute" dazugerechnet, aber nicht in der Monatsrechnung.


timelog in der Konsole (oder ueber SSH)
-------------------------
Optionen:
-z    - Zeitwerte ausgeben
-t    - Trafficwerte ausgeben
-a    - Traffic- und Zeitwerte ausgeben (-A fuer kurze Ausgaben)

Format von date:
yyyy/mm/dd um einen Tag anzugeben
yyyy/mm/ um einen Monat anzugeben
yyyy/ um ein Jahr anzugeben
(z.B. "2005/01/15" fuer heute, "2005/01/" fuer diesen Monat, "date +%Y/%m/%d" in Scripten)

Bei Weglassen des Circuits, wird der in der config/timelog.txt eingestellte Standard-Circuit benutzt.

Beispiele:
timelog.sh -z 2005/01/15
timelog.sh -z 2005/01/15 all
timelog.sh -a 2005/01/ T-Online


Bekannte Fehler:
----------------
- In der Tagesansicht(Daten & Grafik) kann es vorkommen, dass eine Verbindung, die die Datumsgrenze
  ueberschritten hat, an beiden Tagen aufgelistet wird.

  
==========================================================================
Grosser Dank geht an Michael Wenger, der mir sehr bei dem Parsen der Imond-Logdatei
geholfen hat(sed und regulaere Ausdruecke).
Ausserdem danke ich Frank Lanitz (fraehngk@gmx.net), der mir bei einigen Scripten
geholfen hat, und fleissiger Tester ist.
==========================================================================
Die Veroeffentlichung dieses Programms erfolgt OHNE IRGENDEINE GARANTIE, sogar ohne
die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FUER EINEN BESTIMMTEN
ZWECK.
==========================================================================
Enrico Troeger                 fli4l@emgame.de
http://fli4l.emgame.de/
-----------------------------------------------------------------------------------
