Systemprotokoll nach extern schreiben

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

LeoKurz
Beiträge: 4
Registriert: 13.07.2010, 11:34

Systemprotokoll nach extern schreiben

Beitrag von LeoKurz » 30.12.2010, 17:38

Hallo,

ich versuch's hier nochmal: gibt es eine Möglichkeit, das Systemprotokoll nach extern umzuleiten oder zur Not auch zyklisch von Außen abzurufen? Zum Hintergrund: da ich sehr viele Komponenten protokollieren lasse, reichen bei mir die 3000 Einträge gerade mal 2h :-( Was sicherlich keine Alternative ist, ein Script zu schreiben, das die einzelnen Komponenten abfragt und irgendwo hinschreibt, da es einfach zu viele Komponenten sind (Finger wund) und mir diese Lösung auch zu unflexibel ist. Der Link http://<CCU-IP>/HistoryBuffer.csv funktioniert ja nicht mehr, der heißt jetzt http://<CCU-IP>/HistoryBuffer.csv?sid=@<ID-String>@ und ich vermute, dass die sid dynamisch neu generiert wird. Am liebsten wäre mir, das Systemprotokoll auf einen Syslog-Server zu bringen, hab in die Richtung aber noch nichts gefunden. FTP oder HTTP download wären aber auch o.k.

Any idea?

__Leo

DEC
Beiträge: 11
Registriert: 15.11.2008, 15:20

Re: Systemprotokoll nach extern schreiben

Beitrag von DEC » 04.01.2011, 17:42

Hallo Leo,

hier eine Variante zum Sichern der HistoryBuffer.csv.
Die Datei wird als HistoryYYYYMMDD.csv gespeichert.
Bei mir läuft das Script per Cron angestoßen auf einem Linux-Rechner. Aber das sollte auch auf der CCU selbst möglich sein.

Code: Alles auswählen

 #!/bin/sh

##Vorbereitungen Datum + Verzeichnis (anpassen)
DATE=$(date +"%Y%m%d")
cd Verzeichnis_anpassen

# entsprechend anpassen; z.B. IP 
HMURL=http://1.1.1.1
# auf der CCU auch einfach
#HMURL=http://localhost

## Eine neue Sitzung eröffnen - sid beziehen
LOG=/tmp/setmanu.log
wget -o$LOG -O/dev/null $HMURL/pages/index.htm?NoAutoLogin=true 
SID=$(grep "$HMURL/login.htm" $LOG | cut -d"?" -f2)
rm -f $LOG

## Einloggen per POST
# USER und GEHEIM ersetzen!
wget -O/dev/null -q --post-data="tbUsernameShow=Admin&tbUsername=USER&tbPassword=GEHEIM" $HMURL/login.htm?$SID
 
## Download HistoryBuffer.csv
wget -q -OHistory.csv "$HMURL/HistoryBuffer.csv?$SID"

## Logout
wget -q -O/dev/null $HMURL/logout.htm?$SID

## Namen korrigieren
mv History.csv "History${DATE}.csv"
Gruß DEC

Basic
Beiträge: 935
Registriert: 07.03.2010, 11:39
Wohnort: Deutschland

Re: Systemprotokoll nach extern schreiben

Beitrag von Basic » 04.01.2011, 20:12

Wäre es auch möglich das die CCU diese Datei auf einen USB-Stick schreibt, der als Netzwerkspeicher an ner Fritz!Box hängt?

Matthi140
Beiträge: 377
Registriert: 04.09.2009, 22:46
Wohnort: bei Erfurt
Kontaktdaten:

Re: Systemprotokoll nach extern schreiben

Beitrag von Matthi140 » 13.01.2011, 22:16

Oder auf einen USB-Stick an der CCU, wo man von außen zugrif drauf hat (netzlaufwerk oder ftp)???
48 Geräte: 1xCCU1; 1xYAHM+HMW-LGW-O-DR-GS-EU(Testsystem)
Wired (33): 4xHMW-IO-12-Sw7-DR; 5xHMW-LC-Dim1L-DR; 9xHMW-LC-Bl1-DR; 4xHMW-IO-4-FM; 4xHMW-IO-12-FM;
4xHMW-Sen-SC-12-FM; 1xHBW-LC-Sw8; 1xHBW-Sen-Key-12
RF (5): 1xHM-Sec-SD; 1xHM-WDS100-C6-O; 1xHM-WDS30-OT2-SM-2; 1xHM-TC-IT-WM-W-EU; 1xHM-LC-Sw4-WM
Kaputt (7): 2xHM-RC-4-B; 2xHM-Sen-Wa-Od; 1xHM-RC-4-2; 1xHM-WDS100-C6-O; 1xHM-Sec-SD
ausgebaut (1): 1xHM-Sec-RHS

OhOme
Beiträge: 85
Registriert: 13.01.2009, 22:21

Re: Systemprotokoll nach extern schreiben

Beitrag von OhOme » 18.01.2011, 14:32

Hi,

bei mir habe ich es folgendermassen gelöst:
http://homematic-forum.de/forum/viewtop ... ome#p26938

Alle Systemmeldungen laufen dann in dem Syslog-File auf.

Gruß
ohome

omieh
Beiträge: 6
Registriert: 27.10.2012, 20:36

Re: Systemprotokoll nach extern schreiben

Beitrag von omieh » 24.11.2012, 12:05

Hallo DEC

Habe von LINUX und Shell befehle keine Ahnung und viele Tage/Stunden verbracht deinen Variante umzusetzten da der Code voller Fehler war
mv History.csv "History${DATE}.csv" verursacht Dateien die nicht lesbar sind und mehr löschen lassen

-----------------------------

Code: Alles auswählen

 #!/bin/sh
LOG=/tmp/setmanu.log
wget -o$LOG -O/dev/null http:/[b]/IP-der homematic[/b]/pages/index.htm?NoAutoLogin=true
SID=$(grep "http://[b]IP-der homematic[/b]/login.htm" $LOG | cut -d"?" -f2)
rm -f $LOG
##        Einloggen per POST
##        USER und GEHEIM ersetzen!
wget -O/dev/null -q --post-data="tbUsernameShow=Admin&tbUsername=[b]USER[/b]&tbPassword=[b]GEHEIM[/b]" http:/[b]IP-der homematic[/b]/login.htm?$SID
##        Download HistoryBuffer.csv
wget -q -OHistory.csv "http://[b]IP-der homematic[/b]/HistoryBuffer.csv?$SID"
##        Logout
wget -q -O/dev/null http://[b]IP-der homematic[/b]/logout.htm?$SID
mv History.csv "History"`date +%Y%m%d`".csv"
---------------------------------------------------

Wenn möglich in zukunft Richtige Code bekannt geben
DANKE

PS: wie kann ich die durch die falsche SH erstellten leeren Dateien im Linux auf meinen NAS löschen die Dateinamen lauten
"History20121124\r.csv" oder
"History20121122\r.csv\r"
mit Befehl "rm" ist dies nicht möglich?



DEC hat geschrieben:Hallo Leo,

hier eine Variante zum Sichern der HistoryBuffer.csv.
Die Datei wird als HistoryYYYYMMDD.csv gespeichert.
Bei mir läuft das Script per Cron angestoßen auf einem Linux-Rechner. Aber das sollte auch auf der CCU selbst möglich sein.

Code: Alles auswählen

 #!/bin/sh

##Vorbereitungen Datum + Verzeichnis (anpassen)
DATE=$(date +"%Y%m%d")
cd Verzeichnis_anpassen

# entsprechend anpassen; z.B. IP 
HMURL=http://1.1.1.1
# auf der CCU auch einfach
#HMURL=http://localhost

## Eine neue Sitzung eröffnen - sid beziehen
LOG=/tmp/setmanu.log
wget -o$LOG -O/dev/null $HMURL/pages/index.htm?NoAutoLogin=true 
SID=$(grep "$HMURL/login.htm" $LOG | cut -d"?" -f2)
rm -f $LOG

## Einloggen per POST
# USER und GEHEIM ersetzen!
wget -O/dev/null -q --post-data="tbUsernameShow=Admin&tbUsername=USER&tbPassword=GEHEIM" $HMURL/login.htm?$SID
 
## Download HistoryBuffer.csv
wget -q -OHistory.csv "$HMURL/HistoryBuffer.csv?$SID"

## Logout
wget -q -O/dev/null $HMURL/logout.htm?$SID

## Namen korrigieren
mv History.csv "History${DATE}.csv"
Gruß DEC
Zuletzt geändert von alchy am 08.09.2016, 16:51, insgesamt 1-mal geändert.
Grund: Code bitte in Codetags posten

chbaechle
Beiträge: 31
Registriert: 18.04.2011, 09:30

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 03.12.2012, 19:06

Hallo zusammen.
Ich möchte das Systemprotokoll auf der CCU als csv Datei downloaden, um es dann in einem zweiten Schritt auf die USB Platte an meiner Fritzbox zu kopieren.
Eure Scripts sind alle für einen Linux-Rechner ausgelegt und funktionieren auf der CCU nicht. Laut Help kennt z.B. der wget Befehl auf der CCU weniger Optionen.
Ich habe versucht, eure Scripts an die CCU anzupassen, scheitere jedoch am Download-Befehl. Wenn ich das Programm per telnet ausführe, erhalte ich die bekannte http Fehlermeldung 404(siehe Bild).
Die SessionId scheint richtig ausgelesen zu werden. Ich gebe sie zur Kontrolle per echo aus.
Hat von euch jemand eine Idee, wie die Download-Zeile aussehen muss?
Auf der CCU ist FW 1.508 drauf.

Lg Christoph
Script im Telnet.JPG
Telnet Session bei der Ausführung des Scripts
wget.JPG
wget Optionen auf CCU
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

matheversum
Beiträge: 287
Registriert: 27.04.2009, 13:46

Re: Systemprotokoll nach extern schreiben

Beitrag von matheversum » 04.12.2012, 16:54

Es gibt hier im Forum irgendwo ein richtiges wget, das auch post kann.

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19

Re: Systemprotokoll nach extern schreiben

Beitrag von MaxWrestler » 04.12.2012, 19:37

Hallo chbaechle,
so kannst du die Datei auf deinem USB-Stick speichern.

Code: Alles auswählen

wget -O /Pfad_zu_deinem_USB_Stick/HistoryBuffer.csv http://localhost/HistoryBuffer.csv?sid=@deine_akt._sid@
nur noch an dein Shell Script anpassen....

chbaechle
Beiträge: 31
Registriert: 18.04.2011, 09:30

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 04.12.2012, 19:43

@MaxWrestler: Danke. Ich wäre jedoch schon mal froh, wenn die Datei lokal auf der CCU gespeichert würde. :)

@matheversum: Danke. Werde mal suchen, ob ich was finde. Klingt auf alle Fälle vielversprechend. :)
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“