Daten auf CCU2 SD-Karte loggen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Benutzeravatar
TomT
Beiträge: 565
Registriert: 19.11.2014, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Daten auf CCU2 SD-Karte loggen

Beitrag von TomT » 15.09.2016, 18:28

Hallo,

hat jemand eine einfache Lösung, um die Schaltvorgänge eines beliebigen Gerätes auf die interne SD-Karte zu loggen.

Ich hab ne Wolf Heizung und dessen parametrierbarer Ausgang lässt eine Überwachung der Brennerflamme zu.
Ausgang = closed => Brenner an
Mit einem Sensor z.B. modifiziertem Fensteraktor HM-Sec-SC-2 und der Brennerdüsendaten lässt sich damit eine Verbrauchsberechnung ermöglichen.
Das Systemprotokoll würde das auch theoretisch können, allerdings sind diese Daten beim Systemabsturz futsch. Also müssten die Infos auf die Karte geschrieben werden....

Nur wie?
Nur zur Info, mit Linux steh ich auf Kriegsfuß, wäre cool, wenn es ein Script geben würde, das das erledigt....

Grüße
Tom
Zuletzt geändert von alchy am 16.09.2016, 11:48, insgesamt 1-mal geändert.
Grund: Titel geändert, Text angepasst an Hinweis

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

Re: Aktor auf CCU2 SD-Karte loggen

Beitrag von alchy » 15.09.2016, 19:53

Das Loggen mittels Cuxd ist dir bekannt?

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
robbi77
Beiträge: 13864
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 182 Mal
Danksagung erhalten: 739 Mal

Re: Aktor auf CCU2 SD-Karte loggen

Beitrag von robbi77 » 15.09.2016, 20:37

Du meinst einen Sensor?
Ein Aktor schaltet etwas.


Gruß
Roberto
(+1)
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

Benutzeravatar
TomT
Beiträge: 565
Registriert: 19.11.2014, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: Aktor auf CCU2 SD-Karte loggen

Beitrag von TomT » 16.09.2016, 07:36

@ Robbi

sorry, ja ich meine einen Fenstersensor :D

@Alchy
nein, CuxD nutze ich nicht.
Geht das mit Cuxd problemlos?
Muss ich mir wohl mal anschauen

Danke für die Tips erst einmal.
Schöner wäre natürlich ein HM-Script :lol:

Grüße
Tom

EDIT :
Habs gefunden. Steht im CuxD Handbuch 1.7 ab Seite 137 beschrieben. Damit komme sogar ich klar :lol:

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

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von alchy » 16.09.2016, 13:54

>> CUxD << hat die Loggingfunktion schon perfekt integriert und vor allem hast du auch gleich noch die Möglichkeit mit den Daten etwas anzufangen, wenn du >>CUxD Highcharts<< benutzt.

Bild

Wenn du den Thread, das Handbuch von CUxD durch hast oder >> H I E R << oder auch den >> H I E R << und einfach die Suche benutzt, solltest du das problemlos in den Griff kriegen.
Wenn nicht, musst du dich noch mal melden. :mrgreen:

Das ist natürlich nur eine Möglichkeit. Da wäre z.B. noch >> CCU-Historian <<
Da CUxD aber auch noch andere gute Möglichkeiten mitbringt, würde ich das mal als besten Tipp mitgeben wollen.

Aber natürlich könnte man auch ein eigenes "Logging" bewerkstelligen.
Nicht das noch wer sagt "war nicht die Antwort auf meine Frage" :wink:
Langfristig würde ich dir empfehlen auf das Logging direkt in CUXD umzuschwenken.

Natürlich kannst du auch ein eigenen LOGfile anlegen.
Vor dem Erscheinen der vielen verschiedenen Logging Möglichkleiten (historian, cuxd usw.)
geisterten hier schon Lösungen herum.

Die folgende Anleitung setzt allerdings ebenfalls voraus, das cuxd installiert ist und das entsprechende exec Gerät funktioniert.
Natürlich würde es auch mit system.exec zum Aufruf des Scriptes funktionieren.
Der Zugriff auf das Filesstem der CCU ist >> H I E R << unter anderem beschrieben, bzw. verlinkt. Ich würde dir zu sftp wie verlinkt raten. Zum Editieren von Dateien >> Notepad++ << aber keinen Windoof Schrott Editor wie Wordpad usw.

Anleitung:

Du legst ein neues File mit Namen log2file.tcl
auf der CCU an im folgenden Beipiel im Ordner:

Code: Alles auswählen

/usr/local/addons/log2file/
und machst es ausführbar.

Der Inhalt des Files ist:

Code: Alles auswählen

#!/bin/tclsh
file mkdir "/mnt/log2file"
set filename "/mnt/log2file/log2file.csv"
set args [join $argv " "]
set fileId [open $filename "a+"]
puts $fileId $args
 close $fileId
ACHTUNG: die beiden Zeilen im Script
file mkdir "/mnt/log2file"
set filename "/mnt/log2file/log2file.csv"


verweisen auf den Ordner und den Namen der Datei, wo das Log gespeichert werden soll.
Du musst einen Ort wählen welcher beschreibbar ist.
Der Unterordner log2file wird durch das script angelegt, die Datei log2file.csv auch.
In meinem Fall ist es der USB Stick, der unter /mnt ereichbar ist.
Es ist zwar nicht empfehlenswert direkt auf den USB zu loggen, aber alles andere zu erklären
würde den Rahmen hier sprengen. Die SD Karte solltest du unter

Code: Alles auswählen

/media/sd-mmcblk0
finden, soweit ich mich erinnere. Schau einfach mal nach per sftp und versuche damit eine neue Datei anzulegen....
Speichern im RAM der CCU ist z.B. auch möglich, bei einem Reboot ist jedoch die Datei weg.
Also dreckig auf den USB oder SD direkt. :mrgreen:

Nachdem du das erledigt hast, legst du in der Klickibunti ein neues Programm an.
Wenn Gerät modifiziertem Fensteraktor.....
Grundsätzlich ist es egal, ob eine Systemvariable, ein Temperatursensor, oder ein Schaltaktor, das Zeitmodul usw. in dem Programm als Auslöser dient. Was das Programm auslöst, wird geloggt.
Man muss natürlich nicht auf Aktualisierung auslösen, wenn man z.B. nur bestimmte Sachen loggen will.
Dazu meine Signatur durcharbeiten zur Logik von Programmen.
Bitte aber dabei bedenken, es nicht zu übertreiben.
Es folgt ein kleines Beispiel, um zu verdeutlichen, was alles so machbar ist.
log2file.jpg
dann Script:

Code: Alles auswählen

! Programmauslösende Systemvariable (jedes Types) oder Kanalnamen (soweit ich es überblicken kann) und auch das Zeitmodul ermitteln und...
! by Alchy 0.3 gekürzte Version
! +++++++++++++++++
string slist = "Fehler";
object src = dom.GetObject("$src$");
if (src){
if (src.TypeName() == "HSSDP") {slist = system.Date("%d.%m.%y,%H:%M")#","#dom.GetObject(((dom.GetObject(src)).Channel())).Name()#","#src.Value();} 
if( (src.TypeName() == "VARDP") && (src.ValueSubType() == istEnum) ){ slist = system.Date("%d.%m.%y,%H:%M")#","#dom.GetObject(src).Name()#","#web.webGetValueFromList(src.ValueList(),src.Value());}else{ slist = system.Date("%d.%m.%y,%H:%M")#","#dom.GetObject(src).Name()#","#src.Value() ;} 
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/log2file/log2file.tcl " # slist);
}
Du erhältst an der Stelle dann ein komma separiertes file mit
Datum,Uhrzeit,Name des Programmauslösers,Status wie das hier:

Code: Alles auswählen

16.09.16,12:56,Arbeitszimmer Deckenlicht,true
16.09.16,13:06,Anwesenheit,false
16.09.16,13:11,Arbeitszimmer Deckenlicht,true
16.09.16,13:11,Arbeitszimmer Deckenlicht,false
16.09.16,13:13,Tor Garage,true
16.09.16,13:13,Tor Garage,false
16.09.16,13:13,Tor Garage,true
16.09.16,13:20,Tor Garage,false
16.09.16,13:23,Innensensor,21.800000
16.09.16,13:26,Innensensor,21.800000
16.09.16,13:29,Innensensor,21.800000
16.09.16,13:31,Innensensor,21.800000
16.09.16,13:33,Innensensor,21.800000
16.09.16,13:35,Zeitmodul,true
16.09.16,13:36,Innensensor,21.800000
Jetzt könnte man noch die true und false anpassen und vieles mehr. Aber ich will den Rahmen hier nicht sprengen. Hat eh schon wieder zuviel Zeit gekostet. :oops:

Würde mich freuen, wenn du (oder wer auch immer es probiert) eine Rückmeldung gibt.

Alchy
Zuletzt geändert von alchy am 09.01.2018, 18:26, insgesamt 1-mal geändert.
Grund: Neue Scriptversion: Werteliste wird Wert geloggt

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
TomT
Beiträge: 565
Registriert: 19.11.2014, 15:13
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 4 Mal
Danksagung erhalten: 4 Mal

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von TomT » 19.09.2016, 06:51

@ Alchy

Wow, danke für deine Hilfe.
Werde ich auch mal ausprobieren :D Aber nicht auf der Live CCU ...

Dort werkelt seit Freitag CuxD und HighCharts und loggen funktioniert problemlos. :D

Wenn ich dein Script probiert hab, gibts ne Rückmeldung hier im Beitrag

Danke nochmal :wink:

Grüße
Tom

Benutzeravatar
Homoran
Beiträge: 8613
Registriert: 02.07.2013, 15:29
Wohnort: Köln
Danksagung erhalten: 4 Mal

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von Homoran » 19.09.2016, 09:24

Hallo alchy,
Bitte dein Posting unter Tipps und Tricks kopieren, für die Nachwelt.

Gruß
Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!

dtp
Beiträge: 10660
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 321 Mal
Danksagung erhalten: 501 Mal

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von dtp » 19.09.2016, 12:17

Ist Highcharts mittlerweile schneller? Ich fand das immer total langsam, bis die Daten mal geladen waren.

Mein Tipp wäre ansonsten der ioBroker samt einem der History-Adapter und dem Flot-Adapter. Und so viele Linux-Kenntnisse sind dafür wirklich nicht erforderlich. Allerdings müsste man sich ggf. einen Einplatinencomputer (z.B. Raspi 3) samt Netzteil anschaffen. Mehr aber auch nicht.

Bis dann,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

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

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von alchy » 19.09.2016, 13:50

TomT hat geschrieben: Werde ich auch mal ausprobieren :D Aber nicht auf der Live CCU ...
Brauchst doch keine Angst zu haben, die Anleitung ist doch sicher genug. :wink:

Homoran hat geschrieben: Bitte dein Posting unter Tipps und Tricks kopieren, für die Nachwelt.
erledigt >> H I E R <<
Obwohl ich nicht denke, das die Nachwelt das dadurch in 2 Wochen besser findet.
dtp hat geschrieben: Ist Highcharts mittlerweile schneller? Ich fand das immer total langsam, bis die Daten mal geladen waren.
Warum denkst du, das sich an der Geschwindigkeit irgendetwas geändert haben soll ?
Eine CCU15 gibt es noch nicht.
"Total langsam" ist relativ wie jede Zeitangabe. Für eine Eintagsfliege vergeht viel Lebenszeit, wenn ich die Werte von einigen Sensoren vom letzten Jahr über CUXD Highcharts aufrufen will. Wenn man sich auf ein paar Tage beschränkt, finde ich es durchaus praktikabel, und die Fliege auch. :mrgreen:
dtp hat geschrieben: Mein Tipp wäre ansonsten der ioBroker samt einem der History-Adapter und dem Flot-Adapter. Und so viele Linux-Kenntnisse sind dafür wirklich nicht erforderlich. Allerdings müsste man sich ggf. einen Einplatinencomputer (z.B. Raspi 3) samt Netzteil anschaffen. Mehr aber auch nicht.
In der Frage ging es auch um einen Wert zu loggen, noch nicht mal ihn zu visualisieren. :wink:
Dafür ist schon CUxD oversized, was mich ja auch dazu getrieben hat, die Anleitung zu schreiben. ioBroker (so gut es sicherlich ist), ist für diese Frage .....

Aber du hast schon Recht. Der Bedarf an Daten wird beim TE sicherlich auch wachsen.

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
Sammy
Beiträge: 9172
Registriert: 09.09.2008, 20:47
Hat sich bedankt: 15 Mal
Danksagung erhalten: 174 Mal

Re: Daten auf CCU2 SD-Karte loggen

Beitrag von Sammy » 19.09.2016, 14:41

alchy hat geschrieben:Obwohl ich nicht denke, das die Nachwelt das dadurch in 2 Wochen besser findet.
Hab es in meine Linkliste in den "Anfänger"-Tipps aufgenommen.
Links: CCU-Logik, Tipps für Anfänger, WebUI-Doku, Expertenparameter, virtuelle Aktorkanäle
Inventur vom 22.01.14: 516 Kanäle in 165 Geräten, 132 Programme, 270 Direkte Verknüpfungen
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!

Antworten

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