Systemprotokoll nach extern schreiben

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Systemprotokoll nach extern schreiben

Beitrag von MaxWrestler » 04.12.2012, 19:48

na, dann schreib doch

Code: Alles auswählen

wget -O /var/tmp/HistoryBuffer.csv http://localhost/HistoryBuffer.csv?sid=@deine_akt._sid@
dann kopiert er es ins tmp Verzeichniss.

achso, dein USB-Stick ist an der Fritz-Box.OK

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

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 04.12.2012, 21:04

Danke, MaxWrestler.
Mein Problem ist, dass genau dieser wget Befehl nur http error 404 zurückbringt und gar kein csv File speichert.
Bevor ich mich dran mache, das File auf die Fritzbox zu kopieren, müsste ich dieses Problem zuerst lösen. :)

Habe das wget file gefunden, das post können soll. Verzweifel aber gerade dran, es auf die CCU zu installieren. Kann man ein tar file per ftp auf die CCU kopieren, so dass es dann ausführbar ist?
(Sorry, bin Linux-Laie)

lg Christoph
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Systemprotokoll nach extern schreiben

Beitrag von MaxWrestler » 04.12.2012, 21:26

chbaechle hat geschrieben:Mein Problem ist, dass genau dieser wget Befehl nur http error 404 zurückbringt und gar kein csv File speichert.
Bei mir geht es so, komisch ?
Ich hab das selbe wget wie du.

Code: Alles auswählen

wget -O /var/tmp/HistoryBuffer.csv http://localhost/HistoryBuffer.csv?sid=@deine_akt._sid@
Hast du die Befehlszeile genau so in die Telnet Konsole kopiert und die sid angepasst ?
Die sid muss aktuell sein, also kurz mit dem Browser im WebUi anmelden und die sid aus der Url Leiste rauskopieren.
HistoryBuffer.jpg

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

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 04.12.2012, 21:44

Danke für deine schnelle Antwort.
Ich denke nicht, dass ich die sid aus dem Browser verwenden kann. Die läuft nämlich nach einer gewissen Zeit ab. Und wenn ich später den Export des csv Filer automatisch von der CCU per Script anstossen lass, ist sie nicht mehr gültig.

Ich bin jetzt aber einen Schritt weiter.
Habe geschafft das "erweiterte" wget zu installieren und aufzurufen. Ich verwende jetzt die Befehle aus den vorgehenden Scripts. Und jetzt bekomme ich auch ein csv File. :)

Jedoch: es ist leer, obwohl im Log was drin steht. Es könnte dran liegen, dass Username und Passowort in der Login-Zeile falsch sind. Da ich keinen speziellen User auf der CCU definiert habe, hab ich es bereits mit Username Admin und leerem Pw versucht. Auch mit leerem Usernamen und pw. Ich bekomm immer das selbe Resultat: Ein leere csv File.

Hat jemand noch einen Tipp für mich?

lg Christoph
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Systemprotokoll nach extern schreiben

Beitrag von MaxWrestler » 04.12.2012, 22:02

chbaechle hat geschrieben:Ich denke nicht, dass ich die sid aus dem Browser verwenden kann. Die läuft nämlich nach einer gewissen Zeit ab. Und wenn ich später den Export des csv Filer automatisch von der CCU per Script anstossen lass, ist sie nicht mehr gültig.
Schon klar !, war auch nur zum testen gedacht.(hast du?)
Poste doch mal dein akt. Script.

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

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 04.12.2012, 22:27

Ok. Hier der aktuelle Status des Scripts.
- wget wird mit Pfadangabe aufgerufen, damit der "erweiterte" wget verwendet wird.
- die sid wird richtig ermittelt. Wird zum Test ausgegeben
- keine Ahnung, was ich bei Usernamen/Passwort eintragen soll
- Ergebnis ist ein csv File mit Länge 0 Bytes

Warnung an alle, die die Vorgeschichte hier nicht gelesen haben:
Dieses Script bitte nicht verwenden! Es enthält noch Fehler.

Code: Alles auswählen

LOG=/tmp/setmanu.log
/usr/local/addons/wget -O$LOG http://localhost/pages/index.htm?NoAutoLogin=true
SID=$(grep "SessionId = " $LOG | cut -d"\"" -f2)
echo $SID
rm -f $LOG

/usr/local/addons/wget -O/dev/null -q --post-data="tbUsernameShow=Admin&tbUsername=Admin&tbPassword=" http:/localhost/login.htm?sid=$SID
/usr/local/addons/wget -q -O/usr/local/addons/sysprot$(date +'%Y%m%d%H%M').csv "http://localhost/HistoryBuffer.csv?sid=$SID"
/usr/local/addons/wget -q -O/dev/null http://localhost/logout.htm?sid=$SID

Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

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

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 05.12.2012, 20:01

Ich habe mal weiter probiert.
Der Tipp von MaxWrestler war gut:
Wenn man die SID aus dem Webbrowser verwendet, funktioniert der Download des Systemlogs einwandfrei. Sogar mit dem Original wget.
Stellt sich jetzt die Frage, wo man eine gültige Session id her bekommt.
So wie ich das am Beginn meines Scripts mache und wie es auch in den Posts vorher erwähnt war, geht es wohl nicht.
Ich bekomm zwar im Output File eine SID. Die scheint aber nicht mehr für die weiteren Befehle gültig zu sein.
Hat jemand noch eine Idee?

lg Christoph
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

MaxWrestler
Beiträge: 237
Registriert: 11.12.2011, 12:19
Danksagung erhalten: 1 Mal

Re: Systemprotokoll nach extern schreiben

Beitrag von MaxWrestler » 05.12.2012, 22:33

Hallo Christoph,
chbaechle hat geschrieben:Hat jemand noch eine Idee?
ja :D

Ich hab da mal was in TCL für dich zusammengeklickt.
Der Großteil ist von EQ3 Session.tcl
Schau es Dir mal an.
In der Konsole starten mit tclsh /pfad/getHB.tcl
Dateianhänge
getHB.zip
getHistoryBuffer
(1.5 KiB) 229-mal heruntergeladen

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

Re: Systemprotokoll nach extern schreiben

Beitrag von chbaechle » 06.12.2012, 18:42

Hallo MaxWrestler

Vielen vielen Dank! :D

Tcl ist natürlich auch eine Möglichkeit. Und sie funktioniert! Und läuft recht schnell.
Und soviel ich irgendwo gelesen habe, kann man per Tcl dann sogar noch das Log löschen.

Du hast mir sehr geholfen. Danke nochmal.

lg Christoph
Homematic seit März 2011, CCU V1.508, ca. 50 div. Funk-Sensoren und -Aktoren,

mademyday
Beiträge: 268
Registriert: 03.10.2014, 12:46
System: CCU
Wohnort: Enzkreis
Hat sich bedankt: 3 Mal
Danksagung erhalten: 43 Mal

Re: Systemprotokoll nach extern schreiben

Beitrag von mademyday » 14.10.2014, 16:06

falls jemand hier auch stolpert:

hab mir gerade das getHB.zip geladen und auf der CCU2 entpackt, direkt danach lief das tcl-Script nicht: im vi sah man dann an jedem Zeilenende das ^M

mit einem
sed -i 's/.$//' getHB.tcl
kann man diese Zeilenende löschen, dann funzt das Script (immer noch, auch wenn es schon ein paar Jahre hier im Forum auf dem Buckel hat :)

Code: Alles auswählen

# unzip getHB.zip
Archive:  getHB.zip
  inflating: getHB.tcl

# ./getHB.tcl
-sh: ./getHB.tcl: not found

# sed -i 's/.$//' getHB.tcl

# ./getHB.tcl
Daten wurden nach /var/tmp/testHistoryBuffer.csv gespeichert.

Antworten

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