Liste/Array aller Instanzen einer Kategorie?

Hallo,

ist es per IPS/php-Befehl möglich in einem Array alle Instanzen einer bestimmten Kategorie zu bestimmen?
Also sinngemäß wie: IPS_GetInstanceListByCategorie($CategorieID);

Ich hab in einer Kategorie „1-wire“ alle Module/sensoren als Instanzen zusammengepackt. Nun möchte ich im WF eine Liste aller Module darstellen.

in der Doku finde ich nichts passendes oder hab es über sehen. IPS_GetInstanceList() listet ja alle INstantzen des Objektbaums auf, oder?

Gruß
hardlog

http://www.ip-symcon.de/service/dokumentation/befehlsreferenz/objektverwaltung/ips-getchildrenids/

Sollte helfen.
Michael

Ja und nein,

Nall chan
http://www.ip-symcon.de/service/doku...etchildrenids/

Sollte helfen.
Michael

es liefert mir alle ObjektIDs aber nicht speziell die von Instanzen…

Ich hab zwischenzeitlich eine andere Möglichkeit, wenn auch noch nicht ganz befriedigend:

Ich suche per

IPS_GetInstanceListByModuleID("{9317CC5B-4E1D-4440-AF3A-5CC7FB42CCAA}")

nach allen 1-wire-Instanzen. Nun hab ich aber 2 verschieden USB-Controller bzw. 2 TMX-Instanzen, die kann ich so nicht unterscheiden…

hardlog

Hatte es so verstanden das dort wirklich nur Instanzen sind. Also würde es so gehen.

Sonst mußt du das Array natürlich noch Filtern.
Sprich alles was nicht IPS_GetObject($ChildID)[‚ObjectType‘] == 1 ist rauswerfen.

Was die Unterscheidung nach den Controllern angeht. Das hattest du vorher ja anicht gesagt; geht so:
IPS_GetInstanceParentID($ChildID) liefert die die ID des jeweiligen Controllers.

Michael

Danke Michael,

ich mache es jetzt so:

$liste=IPS_GetInstanceListByModuleID("{9317CC5B-4E1D-4440-AF3A-5CC7FB42CCAA}");
foreach ($liste as $geraet)
{
  $ObjektName=IPS_GetObject($geraet)['ObjectName'];
  $TMEXid=IPS_GetInstance($geraet)['ConnectionID'];
  $TMEXName=IPS_GetName($TMEXid);

  echo "ID: ".$geraet." -> Objektname".$ObjektName."  TMEX-ID: ".$TMEXid."/".$TMEXName."
";
}

Suche per ModulID nach allen 1-wire-Modulen, lese dann via [‚ConnectionID‘] die entsprechende TMEX-Instanz aus und kann das dann zum visualisieren etc. weiter nutzen.

hardlog