93_DbLog
- Verarbeitung für den Type WEATHER hinzugefügt (danke an Erwin) - Fehlermeldungen auf Konsole gefixt - Fehlerhafte Abfrage bei MySQl DBMS gefixt - Doku auf UTF8 angepasst git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@2275 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -231,6 +231,25 @@ DbLog_ParseEvent($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Weather
|
||||||
|
elsif($type eq "WEATHER") {
|
||||||
|
if($event =~ m(^wind_condition)) {
|
||||||
|
@parts= split(/ /,$event); # extract wind direction from event
|
||||||
|
if(defined $parts[0]) {
|
||||||
|
$reading = "wind_direction";
|
||||||
|
$value= $parts[2];
|
||||||
|
# $unit= "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($reading =~ m(^wind)) { $unit= "km/h"; } # wind, wind_speed
|
||||||
|
if($reading eq "wind_chill") { $unit= "°C"; }
|
||||||
|
if($reading eq "wind_direction") { $unit= ""; }
|
||||||
|
if($reading =~ m(^temperature)) { $unit= "°C"; } # wenn reading mit temperature beginnt
|
||||||
|
if($reading =~ m(^humidity)) { $unit= "%"; }
|
||||||
|
if($reading =~ m(^pressure)) { $unit= "hPa"; }
|
||||||
|
if($reading =~ m(^pressure_trend)) { $unit= ""; }
|
||||||
|
}
|
||||||
|
|
||||||
@result= ($reading,$value,$unit);
|
@result= ($reading,$value,$unit);
|
||||||
return @result;
|
return @result;
|
||||||
}
|
}
|
||||||
@@ -459,8 +478,8 @@ DbLog_Get($@)
|
|||||||
#moegliche Formate: YYYY | YYYY-MM | YYYY-MM-DD | YYYY-MM-DD_HH24
|
#moegliche Formate: YYYY | YYYY-MM | YYYY-MM-DD | YYYY-MM-DD_HH24
|
||||||
$from =~ s/_/\ /g;
|
$from =~ s/_/\ /g;
|
||||||
$to =~ s/_/\ /g;
|
$to =~ s/_/\ /g;
|
||||||
%from_datetime = DbLog_explode_datetime($from, DbLog_explode_datetime("2000-01-01 00:00:00", undef));
|
%from_datetime = DbLog_explode_datetime($from, DbLog_explode_datetime("2000-01-01 00:00:00", ()));
|
||||||
%to_datetime = DbLog_explode_datetime($to, DbLog_explode_datetime("2099-01-01 00:00:00", undef));
|
%to_datetime = DbLog_explode_datetime($to, DbLog_explode_datetime("2099-01-01 00:00:00", ()));
|
||||||
$from = $from_datetime{datetime};
|
$from = $from_datetime{datetime};
|
||||||
$to = $to_datetime{datetime};
|
$to = $to_datetime{datetime};
|
||||||
|
|
||||||
@@ -487,26 +506,33 @@ DbLog_Get($@)
|
|||||||
$sqlspec{get_timestamp} = "TO_CHAR(TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{get_timestamp} = "TO_CHAR(TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
$sqlspec{from_timestamp} = "TO_TIMESTAMP('$from', 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{from_timestamp} = "TO_TIMESTAMP('$from', 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
$sqlspec{to_timestamp} = "TO_TIMESTAMP('$to', 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{to_timestamp} = "TO_TIMESTAMP('$to', 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
|
$sqlspec{reading_clause} = "(DEVICE || '|' || READING)";
|
||||||
} elsif ($hash->{DBMODEL} eq "ORACLE") {
|
} elsif ($hash->{DBMODEL} eq "ORACLE") {
|
||||||
$sqlspec{get_timestamp} = "TO_CHAR(TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{get_timestamp} = "TO_CHAR(TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
$sqlspec{from_timestamp} = "TO_TIMESTAMP('$from', 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{from_timestamp} = "TO_TIMESTAMP('$from', 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
$sqlspec{to_timestamp} = "TO_TIMESTAMP('$to', 'YYYY-MM-DD HH24:MI:SS')";
|
$sqlspec{to_timestamp} = "TO_TIMESTAMP('$to', 'YYYY-MM-DD HH24:MI:SS')";
|
||||||
|
$sqlspec{reading_clause} = "(DEVICE || '|' || READING)";
|
||||||
} elsif ($hash->{DBMODEL} eq "MYSQL") {
|
} elsif ($hash->{DBMODEL} eq "MYSQL") {
|
||||||
$sqlspec{get_timestamp} = "DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s')";
|
$sqlspec{get_timestamp} = "DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s')";
|
||||||
$sqlspec{from_timestamp} = "STR_TO_DATE('$from', '%Y-%m-%d %H:%i:%s')";
|
$sqlspec{from_timestamp} = "STR_TO_DATE('$from', '%Y-%m-%d %H:%i:%s')";
|
||||||
$sqlspec{to_timestamp} = "STR_TO_DATE('$to', '%Y-%m-%d %H:%i:%s')";
|
$sqlspec{to_timestamp} = "STR_TO_DATE('$to', '%Y-%m-%d %H:%i:%s')";
|
||||||
|
$sqlspec{reading_clause} = "CONCAT(DEVICE,'|',READING)"
|
||||||
} elsif ($hash->{DBMODEL} eq "SQLITE") {
|
} elsif ($hash->{DBMODEL} eq "SQLITE") {
|
||||||
$sqlspec{get_timestamp} = "TIMESTAMP";
|
$sqlspec{get_timestamp} = "TIMESTAMP";
|
||||||
$sqlspec{from_timestamp} = "'$from'";
|
$sqlspec{from_timestamp} = "'$from'";
|
||||||
$sqlspec{to_timestamp} = "'$to'";
|
$sqlspec{to_timestamp} = "'$to'";
|
||||||
|
$sqlspec{reading_clause} = "(DEVICE || '|' || READING)";
|
||||||
} else {
|
} else {
|
||||||
$sqlspec{get_timestamp} = "TIMESTAMP";
|
$sqlspec{get_timestamp} = "TIMESTAMP";
|
||||||
$sqlspec{from_timestamp} = "'$from'";
|
$sqlspec{from_timestamp} = "'$from'";
|
||||||
$sqlspec{to_timestamp} = "'$to'";
|
$sqlspec{to_timestamp} = "'$to'";
|
||||||
|
$sqlspec{reading_clause} = "(DEVICE || '|' || READING)";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(uc($outf) eq "ALL") {
|
if(uc($outf) eq "ALL") {
|
||||||
$sqlspec{all} = ",TYPE,EVENT,UNIT";
|
$sqlspec{all} = ",TYPE,EVENT,UNIT";
|
||||||
|
} else {
|
||||||
|
$sqlspec{all} = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
for(my $i=0; $i<int(@readings); $i++) {
|
for(my $i=0; $i<int(@readings); $i++) {
|
||||||
@@ -526,13 +552,13 @@ DbLog_Get($@)
|
|||||||
DEVICE,
|
DEVICE,
|
||||||
READING,
|
READING,
|
||||||
VALUE
|
VALUE
|
||||||
".$sqlspec{all}."
|
$sqlspec{all}
|
||||||
FROM history
|
FROM history
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND (DEVICE || '|' || READING) = ('".$readings[$i]->[0]."|".$readings[$i]->[1]."')
|
AND $sqlspec{reading_clause} = ('".$readings[$i]->[0]."|".$readings[$i]->[1]."')
|
||||||
AND TIMESTAMP > $sqlspec{from_timestamp}
|
AND TIMESTAMP > $sqlspec{from_timestamp}
|
||||||
AND TIMESTAMP < $sqlspec{to_timestamp}
|
AND TIMESTAMP < $sqlspec{to_timestamp}
|
||||||
ORDER BY TIMESTAMP";
|
ORDER BY TIMESTAMP";
|
||||||
|
|
||||||
Log GetLogLevel($hash->{NAME},5), "Executing $stm";
|
Log GetLogLevel($hash->{NAME},5), "Executing $stm";
|
||||||
|
|
||||||
@@ -556,7 +582,7 @@ DbLog_Get($@)
|
|||||||
my $val = $sql_value;
|
my $val = $sql_value;
|
||||||
eval("$readings[$i]->[4]");
|
eval("$readings[$i]->[4]");
|
||||||
$sql_value = $val;
|
$sql_value = $val;
|
||||||
if($@) {Log 3, "DbLog: Fehler in der übergebenen Funktion: <".$readings[$i]->[4].">, Fehler: $@";}
|
if($@) {Log 3, "DbLog: Fehler in der übergebenen Funktion: <".$readings[$i]->[4].">, Fehler: $@";}
|
||||||
$out_tstamp = $sql_timestamp;
|
$out_tstamp = $sql_timestamp;
|
||||||
$writeout=1;
|
$writeout=1;
|
||||||
}
|
}
|
||||||
@@ -576,11 +602,11 @@ DbLog_Get($@)
|
|||||||
|
|
||||||
} elsif ($readings[$i]->[3] eq "delta-h") {
|
} elsif ($readings[$i]->[3] eq "delta-h") {
|
||||||
#Berechnung eines Stundenwertes
|
#Berechnung eines Stundenwertes
|
||||||
%tstamp = DbLog_explode_datetime($sql_timestamp, undef);
|
%tstamp = DbLog_explode_datetime($sql_timestamp, ());
|
||||||
if($lastd[$i] eq "undef") {
|
if($lastd[$i] eq "undef") {
|
||||||
%lasttstamp = DbLog_explode_datetime($sql_timestamp, undef);
|
%lasttstamp = DbLog_explode_datetime($sql_timestamp, ());
|
||||||
} else {
|
} else {
|
||||||
%lasttstamp = DbLog_explode_datetime($lastd[$i], undef);
|
%lasttstamp = DbLog_explode_datetime($lastd[$i], ());
|
||||||
}
|
}
|
||||||
if("$tstamp{hour}" ne "$lasttstamp{hour}") {
|
if("$tstamp{hour}" ne "$lasttstamp{hour}") {
|
||||||
# Aenderung der stunde, Berechne Delta
|
# Aenderung der stunde, Berechne Delta
|
||||||
@@ -592,11 +618,11 @@ DbLog_Get($@)
|
|||||||
}
|
}
|
||||||
} elsif ($readings[$i]->[3] eq "delta-d") {
|
} elsif ($readings[$i]->[3] eq "delta-d") {
|
||||||
#Berechnung eines Tageswertes
|
#Berechnung eines Tageswertes
|
||||||
%tstamp = DbLog_explode_datetime($sql_timestamp, undef);
|
%tstamp = DbLog_explode_datetime($sql_timestamp, ());
|
||||||
if($lastd[$i] eq "undef") {
|
if($lastd[$i] eq "undef") {
|
||||||
%lasttstamp = DbLog_explode_datetime($sql_timestamp, undef);
|
%lasttstamp = DbLog_explode_datetime($sql_timestamp, ());
|
||||||
} else {
|
} else {
|
||||||
%lasttstamp = DbLog_explode_datetime($lastd[$i], undef);
|
%lasttstamp = DbLog_explode_datetime($lastd[$i], ());
|
||||||
}
|
}
|
||||||
if("$tstamp{day}" ne "$lasttstamp{day}") {
|
if("$tstamp{day}" ne "$lasttstamp{day}") {
|
||||||
# Aenderung des Tages, Berechne Delta
|
# Aenderung des Tages, Berechne Delta
|
||||||
@@ -851,13 +877,13 @@ DbLog_Get($@)
|
|||||||
definiert in <code><configfilename></code>. (Vergleiche
|
definiert in <code><configfilename></code>. (Vergleiche
|
||||||
Beipspielkonfigurationsdatei in <code>contrib/dblog/db.conf</code>).<br>
|
Beipspielkonfigurationsdatei in <code>contrib/dblog/db.conf</code>).<br>
|
||||||
Die Konfiguration ist in einer sparaten Datei abgelegt um das Datenbankpasswort
|
Die Konfiguration ist in einer sparaten Datei abgelegt um das Datenbankpasswort
|
||||||
nicht in Klartext in der FHEM-Haupt-Konfigurationsdatei speichern zu m<EFBFBD>ssen.
|
nicht in Klartext in der FHEM-Haupt-Konfigurationsdatei speichern zu müssen.
|
||||||
Ansonsten w<EFBFBD>re es mittels des <a href="../docs/commandref.html#list">list</a>
|
Ansonsten wäre es mittels des <a href="../docs/commandref.html#list">list</a>
|
||||||
Befehls einfach auslesbar.
|
Befehls einfach auslesbar.
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
Die Perl-Module <code>DBI</code> and <code>DBD::<dbtype></code>
|
Die Perl-Module <code>DBI</code> and <code>DBD::<dbtype></code>
|
||||||
m<EFBFBD>ssen installiert werden (use <code>cpan -i <module></code>
|
müssen installiert werden (use <code>cpan -i <module></code>
|
||||||
falls die eigene Distribution diese nicht schon mitbringt).
|
falls die eigene Distribution diese nicht schon mitbringt).
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
@@ -866,7 +892,7 @@ DbLog_Get($@)
|
|||||||
Ein Beispielcode zum Erstellen einer MySQL/PostGreSQL Datenbak ist in
|
Ein Beispielcode zum Erstellen einer MySQL/PostGreSQL Datenbak ist in
|
||||||
<code>contrib/dblog/<DBType>_create.sql</code> zu finden.
|
<code>contrib/dblog/<DBType>_create.sql</code> zu finden.
|
||||||
Die Datenbank beinhaltet 2 Tabellen: <code>current</code> und
|
Die Datenbank beinhaltet 2 Tabellen: <code>current</code> und
|
||||||
<code>history</code>. Die Tabelle <code>current</code> enth<EFBFBD>lt den letzten Stand
|
<code>history</code>. Die Tabelle <code>current</code> enthält den letzten Stand
|
||||||
pro Device und Reading. In der Tabelle <code>history</code> sind alle
|
pro Device und Reading. In der Tabelle <code>history</code> sind alle
|
||||||
Events historisch gespeichert.
|
Events historisch gespeichert.
|
||||||
|
|
||||||
@@ -884,10 +910,10 @@ DbLog_Get($@)
|
|||||||
z.B. <code>71</code></li>
|
z.B. <code>71</code></li>
|
||||||
<li>UNIT: Einheit, ermittelt aus dem Event, z.B. <code>%</code></li>
|
<li>UNIT: Einheit, ermittelt aus dem Event, z.B. <code>%</code></li>
|
||||||
</ol>
|
</ol>
|
||||||
Der Wert des Rreadings ist optimiert f<EFBFBD>r eine automatisierte Nachverarbeitung
|
Der Wert des Rreadings ist optimiert für eine automatisierte Nachverarbeitung
|
||||||
z.B. <code>yes</code> ist transformiert nach <code>1</code>
|
z.B. <code>yes</code> ist transformiert nach <code>1</code>
|
||||||
<br><br>
|
<br><br>
|
||||||
Die gespeicherten Werte k<EFBFBD>nnen mittels GET Funktion angezeigt werden:
|
Die gespeicherten Werte können mittels GET Funktion angezeigt werden:
|
||||||
<ul>
|
<ul>
|
||||||
<code>get myDbLog - - 2012-11-10 2012-11-10 KS300:temperature</code>
|
<code>get myDbLog - - 2012-11-10 2012-11-10 KS300:temperature</code>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -910,20 +936,20 @@ DbLog_Get($@)
|
|||||||
<code>get <name> <infile> <outfile> <from>
|
<code>get <name> <infile> <outfile> <from>
|
||||||
<to> <column_spec> </code>
|
<to> <column_spec> </code>
|
||||||
<br><br>
|
<br><br>
|
||||||
Lie<EFBFBD>t Daten aus der Datenbank. Wird durch die Frontends benutzt um Plots
|
Ließt Daten aus der Datenbank. Wird durch die Frontends benutzt um Plots
|
||||||
zu generieren ohne selbst auf die Datenank zugreifen zu m<EFBFBD>ssen.
|
zu generieren ohne selbst auf die Datenank zugreifen zu müssen.
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><in><br>
|
<li><in><br>
|
||||||
Ein Dummy Parameter um eine Kompatibilit<EFBFBD>t zum Filelog herzustellen.
|
Ein Dummy Parameter um eine Kompatibilität zum Filelog herzustellen.
|
||||||
Dieser Parameter ist immer auf <code>-</code> zu setzen.
|
Dieser Parameter ist immer auf <code>-</code> zu setzen.
|
||||||
</li>
|
</li>
|
||||||
<li><out><br>
|
<li><out><br>
|
||||||
Ein Dummy Parameter um eine Kompatibilit<EFBFBD>t zum Filelog herzustellen.
|
Ein Dummy Parameter um eine Kompatibilität zum Filelog herzustellen.
|
||||||
Dieser Parameter ist immer auf <code>-</code> zu setzen um die
|
Dieser Parameter ist immer auf <code>-</code> zu setzen um die
|
||||||
Ermittlung der Daten aus der Datenbank f<EFBFBD>r die Plotgenerierung zu pr<EFBFBD>fen.<br>
|
Ermittlung der Daten aus der Datenbank für die Plotgenerierung zu prüfen.<br>
|
||||||
Durchd ie Angabe des Schl<EFBFBD>sselworts <code>all</code> werden alle
|
Durchd ie Angabe des Schlüsselworts <code>all</code> werden alle
|
||||||
Spalten der Datenbank ausgegeben.
|
Spalten der Datenbank ausgegeben.
|
||||||
</li>
|
</li>
|
||||||
<li><from> / <to><br>
|
<li><from> / <to><br>
|
||||||
@@ -931,16 +957,16 @@ DbLog_Get($@)
|
|||||||
Zeitformat oder ein Teilstring davon zu benutzen:<br>
|
Zeitformat oder ein Teilstring davon zu benutzen:<br>
|
||||||
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
<ul><code>YYYY-MM-DD_HH24:MI:SS</code></ul></li>
|
||||||
<li><column_spec><br>
|
<li><column_spec><br>
|
||||||
F<EFBFBD>r jede column_spec Gruppe wird ein Datenset zur<EFBFBD>ckgegeben welches
|
Für jede column_spec Gruppe wird ein Datenset zurückgegeben welches
|
||||||
durch einen Kommentar getrennt wird. Dieser Kommentar repr<EFBFBD>sentiert
|
durch einen Kommentar getrennt wird. Dieser Kommentar repräsentiert
|
||||||
die column_spec.<br>
|
die column_spec.<br>
|
||||||
Syntax: <device>:<reading>:<default>:<fn>:<regexp><br>
|
Syntax: <device>:<reading>:<default>:<fn>:<regexp><br>
|
||||||
<ul>
|
<ul>
|
||||||
<li><device><br>
|
<li><device><br>
|
||||||
Der Name des Devices. Achtung: Gro<EFBFBD>/Kleinschreibung beachten!</li>
|
Der Name des Devices. Achtung: Groß/Kleinschreibung beachten!</li>
|
||||||
<li><reading><br>
|
<li><reading><br>
|
||||||
Das REading des angegebenen Devices zur Datenselektion.
|
Das REading des angegebenen Devices zur Datenselektion.
|
||||||
Achtung: Gro<EFBFBD>/Kleinschreibung beachten!
|
Achtung: Groß/Kleinschreibung beachten!
|
||||||
</li>
|
</li>
|
||||||
<li><default><br>
|
<li><default><br>
|
||||||
Zur Zeit noch nicht implementiert.
|
Zur Zeit noch nicht implementiert.
|
||||||
@@ -950,24 +976,24 @@ DbLog_Get($@)
|
|||||||
<ul>
|
<ul>
|
||||||
<li>int<br>
|
<li>int<br>
|
||||||
Ermittelt den Zahlenwert ab dem Anfang der Zeichenkette aus der
|
Ermittelt den Zahlenwert ab dem Anfang der Zeichenkette aus der
|
||||||
Spalte "VALUE". Benutzt z.B. f<EFBFBD>r Auspr<EFBFBD>gungen wie 10%.
|
Spalte "VALUE". Benutzt z.B. für Ausprägungen wie 10%.
|
||||||
</li>
|
</li>
|
||||||
<li>int<digit><br>
|
<li>int<digit><br>
|
||||||
Ermittelt den Zahlenwert ab dem Anfang der Zeichenkette aus der
|
Ermittelt den Zahlenwert ab dem Anfang der Zeichenkette aus der
|
||||||
Spalte "VALUE", inclusive negativen Vorzeichen und Dezimaltrenner.
|
Spalte "VALUE", inclusive negativen Vorzeichen und Dezimaltrenner.
|
||||||
Benutzt z.B. f<EFBFBD>r Auspr<EFBFBD>gungen wie -5.7°C.
|
Benutzt z.B. für Ausprägungen wie -5.7°C.
|
||||||
</li>
|
</li>
|
||||||
<li>delta-h / delta-d<br>
|
<li>delta-h / delta-d<br>
|
||||||
Ermittelt die relative Ver<EFBFBD>nderung eines Zahlenwertes pro Stunde
|
Ermittelt die relative Veränderung eines Zahlenwertes pro Stunde
|
||||||
oder pro Tag. Wird benutzt z.B. f<EFBFBD>r Spalten die einen
|
oder pro Tag. Wird benutzt z.B. für Spalten die einen
|
||||||
hochlaufenden Z<EFBFBD>hler enthalten wie im Falle f<EFBFBD>r ein KS300 Regenz<EFBFBD>hler
|
hochlaufenden Zähler enthalten wie im Falle für ein KS300 Regenzähler
|
||||||
oder dem 1-wire Modul OWCOUNT.
|
oder dem 1-wire Modul OWCOUNT.
|
||||||
</li>
|
</li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><regexp><br>
|
<li><regexp><br>
|
||||||
Diese Zeichenkette wird als Perl Befehl ausgewertet. $val ist der
|
Diese Zeichenkette wird als Perl Befehl ausgewertet. $val ist der
|
||||||
aktuelle Wert die die Datenbank f<EFBFBD>r ein Device/Reading ausgibt.
|
aktuelle Wert die die Datenbank für ein Device/Reading ausgibt.
|
||||||
Die regexp wird vor dem angegebenen <fn> Parameter ausgef<EFBFBD>hrt.
|
Die regexp wird vor dem angegebenen <fn> Parameter ausgeführt.
|
||||||
<br>
|
<br>
|
||||||
Bitte zur Beachtung: Diese Zeichenkette darf keine Leerzeichen
|
Bitte zur Beachtung: Diese Zeichenkette darf keine Leerzeichen
|
||||||
enthalten da diese sonst als <column_spec> Trennung
|
enthalten da diese sonst als <column_spec> Trennung
|
||||||
@@ -985,10 +1011,10 @@ DbLog_Get($@)
|
|||||||
<li><code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
<li><code>get myDbLog - all 2012-11-10 2012-11-20 KS300:temperature</code></li>
|
||||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code></li>
|
<li><code>get myDbLog - - 2012-11-10 2012-11-20 KS300:temperature KS300:rain::delta-h KS300:rain::delta-d</code></li>
|
||||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 MyFS20:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg</code><br>
|
<li><code>get myDbLog - - 2012-11-10 2012-11-20 MyFS20:data:::$val=~s/(on|off).*/$1eq"on"?1:0/eg</code><br>
|
||||||
gibt 1 zur<EFBFBD>ck f<EFBFBD>r alle Auspr<EFBFBD>gungen von on* (on|on-for-timer etc) und 0 f<EFBFBD>r alle off*</li>
|
gibt 1 zurück für alle Ausprägungen von on* (on|on-for-timer etc) und 0 für alle off*</li>
|
||||||
<li><code>get myDbLog - - 2012-11-10 2012-11-20 Bodenfeuchte:data:::$val=~s/.*B:\s([-\.\d]+).*/$1/eg</code><br>
|
<li><code>get myDbLog - - 2012-11-10 2012-11-20 Bodenfeuchte:data:::$val=~s/.*B:\s([-\.\d]+).*/$1/eg</code><br>
|
||||||
Beispiel von OWAD: Ein Wert wie z.B.: <code>"A: 49.527 % B: 66.647 % C: 9.797 % D: 0.097 V"</code><br>
|
Beispiel von OWAD: Ein Wert wie z.B.: <code>"A: 49.527 % B: 66.647 % C: 9.797 % D: 0.097 V"</code><br>
|
||||||
und die Ausgabe ist f<EFBFBD>r das Reading B folgende: <code>2012-11-20_10:23:54 66.647</code></li>
|
und die Ausgabe ist für das Reading B folgende: <code>2012-11-20_10:23:54 66.647</code></li>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user