einfache LOG Datei für Variable

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

einfache LOG Datei für Variable

Beitrag von helmi74 » 16.11.2013, 14:53

Hallo zusammen!

Habe z.Zt. ein einfaches Zähl-Skript am laufen, welches Schaltvorgänge zählt und in einer Variable „Verbrauch“ zur Anzeige bringt.

Wie kann ich den Wert dieser Variable täglich z.B. um 00:00 Uhr incl. Datum in eine Datei schreiben,
um dieses später zur Auswertung in eine Tabelle kopieren zu können?

Am besten auf einen USB-Stick um den Speicherplatz der CCU nicht zu belasten.
Fritzbox sowie CUXd ist auch vorhanden.
Ein 24h PC jedoch nicht...

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von Goglo » 17.11.2013, 00:05

Mit system.Exec("echo '" # blahfasel # "'>>/var/datadisk/schrubbelwupp"); geht das, so denn in der HMscript-Variable blahfasel das drinsteht, was du gerne loggen willst und ein USB-Stick unter /var/datadisk vorhanden ist.
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von helmi74 » 18.11.2013, 07:14

Hallo Goglo,

Hhm, danke für Info.
Habe noch einige Beiträge zu ähnlichem Thema gelesen und bin nun etwas verwirrt ob es überhaupt noch solche gute Idee ist, direkt auf den Stick zu schreiben, bzw. System.exec zu benutzen:-/

Vielleicht doch irgendwie über CuxD??
Leider habe ich mit cuxD nicht viel Erfahrung.
Nutze es nur für meinen PioTec-Tracker.

Es muss doch irgendwie möglich sein ohne großen aufwand den Zahlenwert einer Variable einmal täglich in eine Textdatei zu schreiben?:-/

Gruß aus HAM

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: einfache LOG Datei für Variable

Beitrag von alchy » 18.11.2013, 10:38

Kurz mal als Ansatz ohne Anspruch auf Schönheit. :D
Das Ganze erfordert CUxD zur Umgehung des system.exec.
Den NAMEN DEINER VARIABLEN musst Du anpassen.
Und weiter unten im Script den Pfad zur Log Datei. /home/test.log wobei /home der Stick ist....
Das Script 1 x täglich per Zeitsteuerung zu 23:55 aufgerufen sollte Dir das Gewünschte bringen,
falls ich dich richtig interpretiert habe. :wink:

Code: Alles auswählen

object ay = dom.GetObject("NAME_DEINER_VARIABLEN");
    var date = system.Date("%d.%m.%Y ");
    var value = ay.Value();
    var cmd = 'echo "' # date #' ' # value  # '" ' # '>> /home/test.log';
   object lauf = dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC");
    lauf.State(cmd);
Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von helmi74 » 18.11.2013, 13:41

Hallo Alchy,

Ja, das ist eigentlich genau das was ich mir vorstelle:-)

Einmal täglich soll der Wert der Variablen in die Textdatei geschrieben werden.
Wird denn auch am nächsten Tag eine NEUE Zeile in der Datei geschrieben? ( d.h. Das alte soll nicht überschrieben werden...)

Kann ich den USB Stick einfach so in die CCU stecken oder muss da noch etwas vorbereitet werden? Habe irgendwo mal etwas von "mounten" gelesen??

Danke und Gruss!

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: einfache LOG Datei für Variable

Beitrag von alchy » 18.11.2013, 15:00

Ja es wird nix überschrieben, immer hinten angehangen.
Wenn Du immer eine neue Zeile einfügen willst musst Du das Script noch anpassen,
sollte dann irgendwie so aussehen. Wie gesagt quick and dirty:

Code: Alles auswählen

object ay = dom.GetObject("NAME_DEINER_VARIABLEN");
    var date = system.Date("%d.%m.%Y ");
    var value = ay.Value();
    var cmd = 'echo "' # date #' ' # value #"\r\n" # '" ' # '>> /home/testlog.log';
   object lauf = dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC");
    lauf.State(cmd);

Zum Anschluss / Mounten eines USB Sticks hilft Dir auch >> CUxD << weiter. Siehe im Handbuch dazu.

Alchy
unterwegs getippelt

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von helmi74 » 20.11.2013, 11:04

Wenn ich nur einmal täglich die Log Datei um eine Zeile erweitere, ist es dann überhaupt nötig einen USB stick zu nutzen, bzw. die Datei auszulagern? Kann ich die nicht direkt auf der CCU ablegen und von zeit zu zeit Auslesen (mit FTP?) und einmal jährlich löschen??

Goglo
Beiträge: 610
Registriert: 14.04.2012, 18:34
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von Goglo » 20.11.2013, 22:56

Doch, auch das geht. Schreiben auf Flash-Speicher geht halt nur ein paar tausend Mal, dann ist die Speicherzelle kaputt. Und ein USB-Stick ist schneller getauscht als fest aufgelöteter Speicher. Aber wenn da nur einmal am Tag drauf geschrieben wird, würde ich sagen, ist die CCU schneller zu langsam als dass der interne Speicher die Grätsche macht...
83 Kanäle in 50 Geräten:
3x HM-LC-Sw1-Pl, 1x HM-WDS10-TH-O, 5x HM-PB-4-WM, 3x HM-PB-2-WM, 3x HM-LC-Dim1T-FM, 2x HM-Sec-SC, 4x HM-Sec-RHS, 5x HM-CC-VD, 4x HM-CC-TC, 5x HM-LC-Sw1-FM, 2x HM-Sec-MDIR, 1x HM-WDS30-T-O, 1x HM-LC-Sw1-Pl-2, 2x HM-PB-2-WM55, 1x HM-LC-Dim1L-CV, 1x HM-CCU-1, 1x HM-PBI-4-FM, 1x HM-LC-Dim1L-Pl-2, 1x HM-LC-Dim1T-CV, 1x HM-LC-Dim1L-Pl, 1x HM-LC-Sw2-FM, 1x HM-LC-Sw1-SM, 1x HM-Sec-WDS

82 Kanäle in 43 Geräten:
1x HM-PB-2-WM, 2x HM-LC-Bl1-FM, 3x HM-LC-Bl1PBU-FM, 3x HM-PB-2-WM55, 2x HM-PB-4-WM, 9x HM-CC-VD, 8x HM-CC-TC, 2x HM-LC-Sw2-FM, 1x HM-WDS10-TH-O, 1x HM-CCU-1, 1x HM-Sen-MDIR-O, 4x HM-LC-Sw1-FM, 2x HM-SwI-3-FM, 1x HM-LC-Sw4-SM, 1x HM-LC-Sw1-Pl-2, 1x HM-PBI-4-FM, 1x HM-WDS30-T-O

Benutzeravatar
helmi74
Beiträge: 422
Registriert: 03.06.2012, 13:49
Danksagung erhalten: 1 Mal

Re: einfache LOG Datei für Variable

Beitrag von helmi74 » 21.11.2013, 07:25

Ach du Schande:-

...dann versuche ich es wohl doch lieber mit dem USB-Stick!;-)

mausebacke
Beiträge: 3
Registriert: 09.01.2021, 17:54
System: CCU

Re: einfache LOG Datei für Variable

Beitrag von mausebacke » 16.01.2021, 19:30

Hi Alchy,
genau diesen script-code habe ich lange gesucht. Habe das Script für meine Bedürfnisse angepasst und nun läuft alles super.
Vielen Dank

Antworten

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