Anfängerfrage: Schreiben von Werten (auf KNX)

Guten Morgen zusammen,
irgend wie steh ich gerade mächtig auf dem Schlauch. Ich möchte in einem Skript die aktuelle Soll-Temperatur um + 0,5 erhöhen. Dachte das geht ganz einfach:

<?

$temp =  GetValueFloat (58569);
$temp = $temp + "0.5";
EIB_FloatValue(58569, $temp);
?>

Aber ich erhallte immer die Fehlermeldung

Warning: eib_floatvalue: Instance #58569 not found! in [Wetterdaten\Lichtschalter Wohnzimmer - Temp\Value+] on line 5
zurück.

Vermutlich ein ganz simpler Denkfehler?

Danke und Gruß,
Patrick

58569 ist die variable. Schalten musst du aber die Instanz.

paresy

Du musst die InstanzID der Eibgroup verwenden.

So ist es richtig…


<? 
$temp =  GetValueFloat (58569); 
$temp = $temp + "0.5"; 
EIB_FloatValue(16709, $temp); 
?> 

Hallo Paresy, Rainer und Stephan,

vielen Dank für eure schnellen Antworten, leider klappt es immer noch nicht.

@Stephan: Ich habe es auch davor einmal so versucht gehabt, jedoch bekomme ich mit

EIB_FloatValue(16709, $temp);

immer die Fehlermeldung

Warning: Gruppe ist nicht als ‚FloatValue‘ konfiguriert in [Heizung+] on line 5

Ich hab es dann zwischenzeitlich mit

EIB_Value(16709 /*[Heizung\Wohnzimmer\Temp Soll]*/, $temp);

versucht, hier bekomme ich keine Fehlermeldung und die Variable ändert sich… nur wird der Wert nicht auf mein Raumcontroller geschrieben.

Aber hier muss ich mir nochmal das ETS krallen und schaun ob ich dafür einen extra Parameter hab wo ich vergessen hab ne Adresse anzulegen. Ich dachte zwar nicht, aber irren ist bekanntlich ja männlich :smiley:

Du musst in der Instanz den Datentyp noch richtig einstellen… (EIS5)

Da hab ich zu Beginn schon dran gedacht. Sonst könnte ich den Wert auch nicht lesen, bzw. empfangen:

Was hast den für ein RTR ?

Manche senden Ihren Sollwert auf einer GA, erwarten Ihn aber auf einer anderen… Mach mal am besten ein Screenshot deiner ETS Kommunikationsobjekte…

$temp = $temp + "0.5"; 

Float + String… was soll draus werden… Flsting?

Probiere mal…

$temp = $temp + 0.5;

Das mit dem Flsting ist zumindest eine gute Eselsbrücke !!! Danke.

Aber nein, wenn ich EIB_FloatValue nehme kommt immer die Fehlermeldung

Warning: Gruppe ist nicht als ‚FloatValue‘ konfiguriert in [Heizung+] on line 5
. Mit EIB_Value geht es.

Hab mein Hauptfehler gefunden, die Adresse, die ich verwende ist rein fürs lesen ditsch Hab die Adresse zum setzen vergessen im ETS zu setzen.

Danke für Eure Hilfe!