Dokumentation
HM_RequestStatus
boolean HM_RequestStatus (int $InstanzID, string $Parameter)
Parameterliste
InstanzID | ID der Instanz des zu schaltenden Gerätes |
||||||||
Parameter |
|
Rückgabewert
Konnte der Befehl erfolgreich ausgeführt werden, liefert er als Ergebnis TRUE, andernfalls FALSE.
Beschreibung
Fragt die Statusvariable mit dem Namen Parameter des Gerätes mit der ID InstanzID ab.
Den einzutragenen Parameter können Sie anhand des Idents der Statusvariablen der Instanz ableiten. In der Parameterliste werden einige Beispiele gegeben.
Diese Funktion belastet den Funkverkehr erheblich.
Sie sollte ausschliesslich verwendet werden, um kritische Geräte zum IP-Symcon-Start zu aktualisieren. Ein erneutes Abfragen zur Laufzeit wird nicht benötigt, da die HomeMatic alle Statusänderungen direkt an IP-Symcon weiterleitet.
Bei batteriebetriebenen Geräten wird nur der gespeicherte Status des CCU/LAN-Adapters abgefragt. Netzbetriebene Geräte werden per Funk direkt abgefragt.
Beispiel
//Dies fragt eine Aktualisierung aller Parameter aller Homematic-Instanzen an.
//Dies belastet den Funkverkehr extrem und ist nicht als allgemeine Aktualisierung empfohlen.
$ids = IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
echo "Geräte: ".sizeof($ids)."\n";
foreach($ids as $id)
{
$cids = IPS_GetChildrenIDs($id);
foreach($cids as $cid)
{
$o = IPS_GetObject($cid);
if($o['ObjectIdent'] != "") {
if(@HM_RequestStatus($id, $o['ObjectIdent']) === false) {
echo "Fehler: ".IPS_GetLocation($id)."\n";
}
break;
}
}
}