WIldsau
8. September 2014 um 12:43
1
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
paresy
9. September 2014 um 20:05
2
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.
WIldsau
10. September 2014 um 20:46
4
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
<?
// 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);
?>