Probleme mit " im at Befehl....

Begonnen von jailbreaker07, 10 August 2017, 12:39:47

Vorheriges Thema - Nächstes Thema

jailbreaker07

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

Frank_Huber

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"}

Wernieman

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 ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

jailbreaker07

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

Wernieman

Lis Dir bitte Deinen Beitrag und den von Dir zitierten durch .. vor allem im Bereich "set Datenbank sqlCmd"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Frank_Huber

😂😂😂 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