Graph wird nicht angezeigt

Hallo Zusammen,

ich bekomme die Aussentemperatur von einer naheliegenden Wetterstation ca. 1km von mir. Die mache ich über ein Ereignis welches alle 30 Minuten folgendes Script auslöst:

 <?
$api = "49960.b8sJkuWQTaGDzb";

$json_string = file_get_contents("http://api.aprs.fi/api/get?name=DO5NE-1&what=wx&apikey=$api&format=json");
$wetter = json_decode($json_string);
//print_r($wetter);
echo $temp = ($wetter->{'entries'}[0]->{'temp'});
SetValue(31939 /*[Umwelt\Temperatur]*/, "$temp");
?>

In der Variable Temperatur habe ich Datenbank Logging aktiviert und Graph anzeigen ebenfalls.
Die Temperaturen werden auch einwandfrei übertragen und angezeigt nur der dazugehörige Graph im Webfront ist schlicht: leer! Bei anderen Variablen in meinem System (z.b Heizungsthermostat) funktioniert die Anzeige des Graphen einwandfrei.

Ich würde gerne den Temperaturverlauf eines Jahres graphisch darstellen, hat jemand eine Idee?

Danke im Voraus,
Dirk

SetValue(31939 /*[Umwelt\Temperatur]*/, $temp);

He? Die Antwort ist eine Zeile aus meinem Script???

aber ohne " "

ah ok, ich versuche es mal…und melde mich.Danke

nope, hab jetzt 3 Intervalle abgewartet, immer noch kein Graph zu sehen (bei „Stunden“ Anzeige)…

Hallo
Ich wuerde als erstes mal nachsehen ob die Daten auch im Archiv sind.
Archive Handler oeffnen und die Variable auswaehlen und anzeigen.
Welcher Variablentyp ist deine Variable ? Wahrscheinlich float ?

Hallo 1007,
Die Variable ist „String“ und im Archiv Handler ist sie mit 58 Datensätzen. Letzter Datensatz liegt allerdings 2,5 Stunden zurück und das Ereignis wird eigentlich alle 30 Minuten ausgeführt. Leider wird nur wenn ich das Ereignis manuell ausführe der Datensatz geloggt…

Im Archiv wird nur eingetragen wenn sich etwas aendert. Wenn also 2.5 Stunden nichts eingetragen wird hat sich
in dieser Zeit nichts getan. Vielleicht kannst du mal die Werte mit IPS_Logmessage ins Logfile schreiben.
Sind das Kommawerte ? Also zb „20.8“ oder „20,8“ ?
Die Variable als String zu nehmen find ich nicht guenstig.

ich glaube genau da liegt das Problem. Wenn ich Float nehme, wird der Graph angezeigt, allerdings macht mir IPS aus 17,2 dann in der Variable 172,00 °C und nicht 17,2…? Das Script gibt aus: 17.2

Was kann ich tun?

Probier dieses bevor du in die Variable ( Float ) schreibst.

	$temp = floatval($temp);

das war es, vielen Dank!