Datenbankanbindung, Zeitstempel setzen...

Hallo,

also zuerst muß ich mal sagen, dass mir die Software sehr gut gefällt. Habe in einem Tag eigentlich alles realisiert, was ich mir wünsche und bei der anderen SW nicht möglich war :wink:

na, fast alles…

Habe mich gestern mit der Datenbankanbindung zu Mysql gespielt. Funktioniert auch einwandfrei, jedoch habe ich ein Problem mit dem Zeitstempel.

Ich verwende im Script:
$time = date(„Y-m-d h:i:s“), GetUpdateTime(„Temperatur_Serverraum“));

Wenn ich jetzt den Script mit execute ausführe, wird die Zeit richtig in die Datenbank geschrieben, führe ich den Script jedoch über einen Event (Zeitgesteuert oder nicht) mit einer getriggerten Variable aus, dann bekomme ich nur 00-00-00 0:0:0 in die Datenbank???

Was mach ich falsch?

Vielen Dank
Andreas

Ich habe das mal bei mir ausprobiert.


echo date("Y-m-d h:i:s", GetUpdateTime("test2"));

( Bei dir war übrigens eine Klammer zuviel )

Wenn ich es bei mir per Variable trigger, steht folgendes in der LogDatei:


30.08.2005 08:28:27 | DEBUG   | EventScripter		| # PHP Result ~ Script: asd ~ Variable: test2 #
30.08.2005 08:28:27 | DEBUG   | EventScripter		| 2005-08-30 08:28:27
30.08.2005 08:28:27 | DEBUG   | EventScripter		| # END #

Probier es auch einmal per echo aus, bevor du es in die Datenbank schreibt.

Grüße, paresy

Hallo,

also die Klammer kommt vom schnellen abtippen (hatte den Code nicht kopiert):wink:

im Log steht folgendes:

30.08.2005 09:41:16 | DEBUG | VariableManager | Variable: Temperatur_Serverraum.Temperature (Float), Value: 28,1000003814697
30.08.2005 09:41:16 | DEBUG | EventScripter | [Queued,Size=0] | Script: DB-Update | Variable: Temperatur_Serverraum.Temperature
30.08.2005 09:41:16 | DEBUG | EventScripter | Executing Script: DB-Update ~ Variable: Temperatur_Serverraum.Temperature #

aber kein Zeitwert

was könnte noch falsch sein?

Danke
Andreas

Wirdt der script getriggert?
mach mal dies :

   $logfilepath="c:/temp.txt";
$handle=fopen("$logfilepath", "a");
fwrite($handle, date("d.m.y")."	". date("H:i:s")."	trigger: '$IPS_VARIABLE' 
";
$thistime = date("Y-m-d h:i:s", GetUpdateTime("test2"));
fwrite($handle, date("d.m.y")."	thistime: '$thistime'";
fclose($handle);

Wenn der script getriggert wird soll in deiner C:-datei einer datei temp.txt angelegt werden wo du die beide werter auslesen kannst.

Viel erfolg.
Fredje

Hallo,

also die Datei wird erstellt und befüllt:

30.08.05 11:12:13 trigger: ‚Temperatur_Serverraum‘
30.08.05 thistime: '2005-08-30 11:12:14’30.08.05 11:12:25 trigger: ‚Temperatur_Serverraum‘
30.08.05 thistime: '2005-08-30 11:12:14’30.08.05 11:17:25 trigger: ‚Temperatur_Serverraum‘
30.08.05 thistime: '2005-08-30 11:12:14’30.08.05 11:17:34 trigger: ‚Temperatur_Serverraum‘
30.08.05 thistime: '2005-08-30 11:17:35’30.08.05 11:22:25 trigger: ‚Temperatur_Serverraum‘

Hat noch jemand eine Idee??

Danke
Andreas

Hallo,

ich kann nicht sagen warum, aber auf einmal funktioniert die Übergabe. (Habe im eventtrigger die Variable entfernt und wieder hinzugefügt ?!? )

Danke für die Hilfe :slight_smile:

Habe jetzt nur noch das Phänomen, es werden immer zwei Einträge in der Datenbank mit gleicher Zeit und gleicher Temperatur erzeugt???

Auch habe ich noch eine Verständnisfrage:

Wenn ich im Trigger keine Zeit eingebe, dann wird nur eine Wertänderung übergeben, wenn ich eine Zeit eingebe, dann wird der momentane Wert zur Ablaufzeit übergeben - stimmt das?

Danke
Andreas