Hallo,
Folgenden Befehl wollte ich in ein at einbauen...
set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "2017-08-01" and DEVICE = "Stromverbrauch_vormonat_JCT"
So habe ich ich es gelöst, aber er hat Probleme mit den Anführungszeichen beim Timestamp. Wenn ich die weg machen nimmt er den Code an.... aber dann funktioniert er ja nicht mehr...
+*01:00:00 { fhem ("set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "2017-08-10" and DEVICE = "Stromverbrauch_vormonat_JCT"")
}
Der Fehlercode lautet:
syntax error at (eval 3390) line 1, near ""set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "2017"
Illegal octal digit '8' at (eval 3390) line 1, at end of line
Vielen Dank für die Hilfe
Gruß
Thorsten
wozu raus in Perl? versuch mal so:
+*01:00:00 set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "2017-08-10" and DEVICE = "Stromverbrauch_vormonat_JCT"}
Und wenn per perl, dann achte auf die "-Setzung. Fhem sieht bei Deinem Code:
Zitat"set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "
d.h. Du müstest "quoten" oder ' verwenden ...
Hallo,
so funktioniert das.... jetzt möchte ich das der Timestamp automatisch auf den ersten Tage des Monats gesetzt wird.
Das habe ich passend gefunden :
" current_month_begin : "aktueller Monat erster Tag 00:00:00""
Dafür habe ich den Code angepasst:
Jedoch funktioniert das nicht.
+*01:00:00 select count(*) from history where TIMESTAMP > "current_month_begin" and DEVICE = "Stromverbrauch_vormonat_JCT"
Wenn alles funktioniert will ich damit datensätze löschen, da ich fürs Diagramm nur den letzten aktuellen für den aktuellen Monat brauche.
Zitat von: Frank_Huber am 10 August 2017, 13:00:10
wozu raus in Perl? versuch mal so:
+*01:00:00 set Datenbank sqlCmd select count(*) from history where TIMESTAMP > "2017-08-10" and DEVICE = "Stromverbrauch_vormonat_JCT"}
Gruß
Thorsten
Lis Dir bitte Deinen Beitrag und den von Dir zitierten durch .. vor allem im Bereich "set Datenbank sqlCmd"
😂😂😂 jetzt wo du das schreibst. War mir gar nicht aufgefallen. Hatte nur den perl Umweg rausgenommen.
Der Befehl lautet natürlich "set DbLogDevice userCommand....."
Gesendet von meinem S3_32 mit Tapatalk