FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: jailbreaker07 am 10 August 2017, 12:39:47

Titel: Probleme mit " im at Befehl....
Beitrag von: jailbreaker07 am 10 August 2017, 12:39:47
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
Titel: Antw:Probleme mit " im at Befehl....
Beitrag 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"}
Titel: Antw:Probleme mit " im at Befehl....
Beitrag von: Wernieman am 10 August 2017, 13:12:03
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 ...
Titel: Antw:Probleme mit " im at Befehl....
Beitrag von: jailbreaker07 am 11 August 2017, 15:31:07
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
Titel: Antw:Probleme mit " im at Befehl....
Beitrag von: Wernieman am 13 August 2017, 18:30:43
Lis Dir bitte Deinen Beitrag und den von Dir zitierten durch .. vor allem im Bereich "set Datenbank sqlCmd"
Titel: Antw:Probleme mit " im at Befehl....
Beitrag von: Frank_Huber am 13 August 2017, 18:51:55
😂😂😂 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