EIB_RequestStatus und GetValue Abfrage

Hallo

ich habe folgendes Script für das Schalten der Lampe geschieben was auch super funktioniert

<?
 //Licht WZ Balken schalten / toggle
EIB_RequestStatus(52374  /*[Beleuchtung\Erdgeschoss\Licht WZ Balken]*/ /*[Beleuchtung\Erdgeschoss\Licht WZ Balken]*/);
$licht = GetValue(37399  /*[Beleuchtung\Erdgeschoss\Licht WZ Balken\Value]*/ /*[Beleuchtung\Erdgeschoss\Licht WZ Balken)\Value]*/); //"licht" ist die Variable

if ($licht == TRUE)
  EIB_Switch(52374 /*[Beleuchtung\Erdgeschoss\Licht WZ Balken]*/, false);
else
    EIB_Switch(52374 /*[Beleuchtung\Erdgeschoss\Licht WZ Balken]*/, true);
?>

Muss ich nun für jedes Licht ein eigenes Script anlegen oder kann ich die Daten (Dashboard) über IPSYMID etc. auslesen und zum Schalten der Lichter nur mit einem Script arbeiten?

Danke

Gruß Stephan

Du kannst für die SYMID ja die 52374 nehmen. Was dann fehlt, ist etwas, wie du an die ID 37399 kommt, nur mit dem Wissen von der ID 52374. Das müsste dir über http://www.ip-symcon.de/service/dokumentation/befehlsreferenz/objektverwaltung/ips-getobjectidbyident/ gelingen und der Ident für die Variable ist bei KNX „Value“.

paresy

Hallo Stephan,
ich arbeite bei KNX immer nur mit der ID von Value.
EIB_Switch() und EIB_RequestStatus() führe ich dann entsprechend immer per IPS_GetParent(Value) durch. Somit hat man stets nur eine ID zu verwalten und auch ein einheitliches System nach dem programmiert wird.

Hallo Brovning

Danke für die Info.

Hättest mir ein Beispielscript?

Bin noch blutiger Anfänger bezüglich PHP?

Danke

Gruß Stephan

edit

Habs geschafft :slight_smile:

<?

// Licht schalten / toggle

$id_licht =(int) $_IPS['COMPONENT']; // Abfrage IPSYMID
$status =(int) GetValueBoolean ($id_licht); // Abfrage Status (True/False)
$eib_id = IPS_GetParent($id_licht); // Übergeordnete ID Abfragen

if ($status == TRUE)
  EIB_Switch($eib_id, false);
else
    EIB_Switch($eib_id, true);
?>