Hallo,
ich verzweifelt als Anfänger an einer einfachen Abfrage einer KNX-Lampe. Ist sie an oder aus? Meine Daten habe ich mit KNX/EIB Geräte über OPC Export importieren (*.ESF Datei) problemlos importiert und kann auch alles bedienen. Nun möchte ich Scripte schreiben, z.B. „wenn Lampe an ausschalten / wenn Lampe aus einschalten.
EIB_Switch(27075 /[Z-KNX\Erdgeschoß\Licht\Decke Esszimmer]/, true); bzw. „false“
Zur Entscheidung wollte ich EIB_RequestStatus(27075); Leseanfrage abschicken nutzen. Mein Test-Script ist derzeit:
echo "wert = ", EIB_RequestStatus(27075);
Ich erhalte aber immer Wert = 1, egal ob die Lampe an oder aus ist.
Konfiguration zu 27075 = Lesen (erlaubt der Instanz den aktuellen…)
Brauche ich spezielle Variable?
Falsch.
Das ist nur die Rückmeldung das der Status vom Bus gelesen wurde, aber nicht der Status selber.
Der Status ist immer der IPS-Variable mit GetValue zu entnehmen.
Michael
Hallo, danke für die schnelle Antworten.
EIB_RequestStatus(27075); ist wohl so, dass nur der Abfragestatus zurück gemeldet wird. Wei würde der Befehl mit GetValue aussehen? Bin leider php Anfänger-
$status = GetValueFormatted(27075); oder GetValue
var_dump($status);
echo "Ergebnis ", $status;
?>
…
Führen zur Meldung:
Warning: Variable #27075 existiert nicht in /var/lib/symcon/scripts/43933.ips.php on line 2
bool(false)
Ergebnis
$status = GetValueFormatted(41142);
echo "Ergebnis ist gleich ", $status;
führt zum Ergebnis An oder Aus.
Mein Fehler war, dass ich die Objekt-ID der Lampe (bei mir 27075) und nicht die Objekt-ID (bei mir 41142) des dazugehörigen Boolean-Wertes angegeben habe,
Danke, dass ihr mich auf den richtigen Weg gebracht habt. Vieleicht werde ich irgendwann mein Anfängerstatus überwinden.
zuerst in eine variable mit getvalue den Wert einlesen, und diese dann weiterverwenden
ich finds irgendwie schade, dass solche Beispiele nicht in einer Dokumentation stehen
Schön das alle Befehle beschrieben werden, aber wenn jemand nichts mit php am Hut hat, wirds a bissl schwierig, obwohl die Lösungen relativ einfach aussehen können