IPSLibrary Plugwise Energieverbrauchsmessung

Hast du auch immer diese 0 in den DatFiles ?

Alt:0-Neu:0.024371
Alt:0-Neu:0.047703

Ich kann das auch bestätigen. In der Beschreibung der Kostenvariablen stehen ebenfalls Zahlen.
Gerade auch noch mal in die data-logs geschaut.

Alt:0- steht jedenfalls fast immer dran.Ab und an auch mal Alt:1-

Ja die 1 wahrscheinlich immer am Ende einer Stunde.
Ich speichere einen Floatwert in die ‚ObjectInfo‘ und lese in spaeter wieder ein.
Dabei scheinen alle Nachkommastellen verloren zu gehen.
Bei mir aber nicht , da funktioniert es. Was unterscheidet uns ?
Kann das mal jemand mit einer Kostenvariablen machen

	$obj_info = IPS_GetObject($VarId);
	$alt_stundenpreis = floatval($obj_info['ObjectInfo']);

	echo "
" . $alt_stundenpreis;

Steht der Wert mit Komma oder mit Punkt in der Info ?

<?

    $obj_info = 16044;
    $alt_stundenpreis = floatval($obj_info['ObjectInfo']);

    echo "
" . $alt_stundenpreis;

?>

Meinst du so?

Da kommt bei mir eine glatte 0 raus

Nein so

$obj_info = IPS_GetObject(16044);
    $alt_stundenpreis = floatval($obj_info['ObjectInfo']);

    echo "
" . $alt_stundenpreis;

Lustig.Hatte ich testweise auch und da kam ebenfalls die 0.Jetzt kurz vor 16 Uhr war es die glatte 1 und nach 16 Uhr -8

Und jetzt wieder glatt 0

Es sollte aber eine Kommazahl drinstehen siehe so wie Beitrag http://www.ip-symcon.de/forum/threads/18608-IPSLibrary-Plugwise-Energieverbrauchsmessung?p=213494#post213494
Was hast du drinstehen ?

In der Beschreibung steht jetzt 0,222289
Das Script endet immernoch mit 0

Genau das ist der Fehler. Wo kommt das Komma her .
Bei mir stehen Werte mit „.“ also 0.222289 .

Kann es daran liegen,dass ich den Strompreis mit 20,46 cent eingegeben habe anstatt 20.46?

Nein.
Teste mal folgendes

	$VarId = 18861 ;// ID irgendeiner neuen Variablen

	$float = 0.123456789;

	IPS_SetInfo($VarId,$float);
	echo "
" . $float;
	$obj_info = IPS_GetObject($VarId);
	$float = floatval($obj_info['ObjectInfo']);
	echo "
" . $float;

Das ist die Ausgabe

0.123456789 0

Sollten aber gleich sein .
Ursache gefunden.
Jetzt brauch ich nur noch eine Loesung.
Frage ist was ist bei deinem System anders als bei meinem?

Tja,sehr komisch.Ich bin bei IPS auf dem Betakurs.
Falls es irgendwie an der PHP Version liegt.

Bin auch auf Beta, koennte an setlocale liegen.
Ich schreib einfach einen Workaround.

So das muesste funktionieren

	$x = 0.123456;
	$valstring = strval($x);
	echo "[".$valstring."]";
	$valstring = str_replace(",",".",$valstring);
	echo "[".$valstring."]";

Ja da werden mir jetzt auch Punktwerte ausgegeben

[0.123456][0.123456]

Version 1.2.1051 behebt das Problem !

Ich danke schon mal vorab für deinen tollen Support :slight_smile:

Werde es bei erscheinen testen und Feedback geben.
Edit: Ist ja schon raus :slight_smile: Werde ich später am Abend mal installieren

Ist schon erschienen.