FHEM Forum

FHEM => Automatisierung => Thema gestartet von: mw_fhem am 14 August 2013, 17:07:48

Titel: log-Datei mit eigenem Format
Beitrag von: mw_fhem am 14 August 2013, 17:07:48
Hallo zusammen!

Ich plane, neben diverser Sensoren und Aktoren zwecks Haussteuerung, Wettersensoren über FHEM zu betreiben. Da ich die gesammelten Daten mit einer Software außerhalb von FHEM auswerten möchte, müssten die Daten in einem bestimmten Format in einer (log-)Datei landen. Ich habe leider noch kein Modul gefunden, was dies tut. Oder gibt es andere Tricks?

Vielen Dank!
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: rudolfkoenig am 14 August 2013, 17:24:41
Fuer Anfaenger: per notify und Shellskript die Datei fuellen.
Fuer Fortgeschrittene: Eigenes Modul (analog zu FileLog) schreiben
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: betateilchen am 14 August 2013, 17:38:26
Oder in eine Datenbank loggen, dann kann ich die Daten aus dieser Datenbank darstellen, wie ich möchte.
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: mw_fhem am 15 August 2013, 12:53:10
Danke für die schnellen Antworten!
Ich leider noch ziemlich am Anfang mit FHEM. Die geplante Auswertung soll mit der Software LogView geschehen. Diese erwartet eine Textdatei mit ASCII-text in folgendem Format:
$1;1;0;1133;318;0;0;0;0;0;20;21;0;16<cr><lf>
$1;1;0;1133;318;0;0;0;0;0;20;21;0;16<cr><lf>
....

Ist das mit den Standard-Lösungen für einen Anfänger zu realisieren ?

Nochmals vielen Dank!
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: betateilchen am 15 August 2013, 13:06:43
Offensichtlich geht es doch nur um eine Text-Umformatierung nach einem bestimmten Schema. Das sollte kein Problem sein.

Mach doch mal ein konkretes Beispiel:

1.) Welche Werte hast Du in fhem?
2.) Wie müssen die an Deine Logging-Software übergeben werden?

Titel: Aw: log-Datei mit eigenem Format
Beitrag von: mw_fhem am 15 August 2013, 16:08:28
Das stimmt, eigentlich ist es eine Textformatierung!
Ich empfange die Daten von einem KS300 und anderen ELV-Funksensoren. Alternativ über den ELV-USB-WDE. Später sollen weitere (I2C-)Sensoren hinzukommen. LogView arbeitet mit einem Format, das aus ASCII-Zeichen besteht. Jedes Datentelegramm beginnt mit $ und Ziffern zur Steuerung. Es folgen die Messwerte mit Semikolon getrennt. Pro Zeile wird ein Telegramm erwartet:

$1;1;0;1133;318;0;0;0;0;0;26;21;0;16
$1;1;0;1135;318;0;0;0;0;0;24;21;0;16
$1;1;0;1138;318;0;0;0;0;0;23;20;0;16
usw...

Es müsste also möglich sein, eine Datei anzulegen, in die die jeweils vom Sensor gelieferten Werte geschrieben werden. Semikola und Steuerziffern müssten entsprechend dazwischen gesetzt werden.
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: betateilchen am 15 August 2013, 18:03:17
Nochmal:

Zitat von: betateilchen schrieb am Do, 15 August 2013 13:06Mach doch mal ein konkretes Beispiel:

1.) Welche Werte hast Du in fhem?
2.) Wie müssen die an Deine Logging-Software übergeben werden?
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: mw_fhem am 15 August 2013, 21:24:05
Ich weiß nicht, ob ich mich zu undeutlich ausgedrückt habe. Bei den zu übergebenden Werten handelt es sich um Temperatur-, Feuchte-, Windwerte etc. Sprich um dezimale Zahlen (die in FHEM auch angezeigt werden), die für LogView mit Semikolon getrennt und in einem ASCII-String zeilenweise in der log-Datei abgelegt werden müssen.

Beispiel:
Temperatur Kombisensor: 25,5°C
Feuchte Kombisensor: 62%
Wind: 8,2 m/s
Temperatur Sensor1: 20,1°C

Ergäbe etwa folgende Zeile:
$1;1;0;25,2;62,8,2;20,1;0

Bei "$1;1;0" zu Beginn und ";0" am Ende handelt es sich um Steuerzeichen für die Software.



Vielen Dank für die Hilfe!
Titel: Aw: log-Datei mit eigenem Format
Beitrag von: betateilchen am 16 August 2013, 00:57:41
Ich weiß nicht, ob ich mich zu undeutlich ausgedrückt habe.

nein, aber Du hattest schlichtweg meine Frage nicht beantwortet. Deshalb habe ich einfach nochmal nachgefragt.


sub transformString() {
   my $bla = "$1;1;0;";
   $bla .= ReadingsVal("Kombisenosr", "Temperatur", "").";";
   $bla .= ReadingsVal("Kombisensor","Feuchte", "").";";
   $bla .= ReadingsVal("Windsensor", "Wind", "").";";
   $bla .= ReadingsVal("Sensor1", "Temperatur", "").";";
   $bla .= "0";
   return $bla;
}


das Ganze kannst Du z.B. in stateFormat einbauen, dann kommt genau das raus, was Du brauchst.
Titel: Antw:log-Datei mit eigenem Format
Beitrag von: Garry am 10 Mai 2017, 23:52:29
Hat sich in die Richtung (Auswertung mit Logview oder ähnlich) noch etwas getan?
ich suche noch nach einem Tool/Importfilter mit dem man die log-Dateien von FHEM direkt einlesen kann.

Garry
Titel: Antw:log-Datei mit eigenem Format
Beitrag von: Prof. Dr. Peter Henning am 11 Mai 2017, 11:53:54
"Hat sich was getan"  ===> Selbst schreiben, dauert ca. 1 Stunde.

LG

pah