# StatusVariablen einer Instanz auslesen

**URL:** <https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046>\
**Category:** Allgemeine Diskussion (2.x/3.x)\
**Created:** [11. Mai 2008 um 13:56 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046 "2008-05-11T13:56:57Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![paresy](https://community.symcon.de/user_avatar/community.symcon.de/paresy/32/29554_2.png) [@paresy](https://community.symcon.de/u/paresy)\
**Post date:** [11. Mai 2008 um 13:56 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/1 "2008-05-11T13:56:57Z")

</div>

```php

$id=29321;
//Entsprechenden Werte anzeigen (bei Boolean und Wert = False wird nichts angezeigt!)
//z.B. die Helligkeit eines LCN Output Moduls ausgeben:
echo GetValue(IPS_GetStatusVariableID($id, "Intensity"));

```

Um alle Möglichen Werte einer Instanz für den 2. Parameter herauszufinden eignet sich folgender Befehl:

```php

$id=29321;
//Alle verfügbaren StatusVariablen einlesen
$vars=IPS_GetStatusVariableIDs($id);

//Array ausgeben
print_r($vars);

```

Grüße, paresy

---

<div class="post-metadata">

**Author:** ![Ferengi-Master](https://community.symcon.de/user_avatar/community.symcon.de/ferengi-master/32/126_2.png) [@Ferengi-Master](https://community.symcon.de/u/Ferengi-Master)\
**Post date:** [11. Mai 2008 um 14:15 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/2 "2008-05-11T14:15:32Z")

</div>

Bisher wurden die Statusvariablen in der V1 ja häufig mit String im Script verarbeitet.  
z.B.

```php

$OG_Sz_Steckdose = 60013;

```

Kann der Bezug der ID zum Namen in der V2 auch hergestellt werden?

---

<div class="post-metadata">

**Author:** ![paresy](https://community.symcon.de/user_avatar/community.symcon.de/paresy/32/29554_2.png) [@paresy](https://community.symcon.de/u/paresy)\
**Post date:** [11. Mai 2008 um 14:23 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/3 "2008-05-11T14:23:39Z")

</div>

Ich bin mir nicht sicher, ob du das hier suchst:

```php

echo IPS_GetVariableID("VarName");

```

paresy

---

<div class="post-metadata">

**Author:** ![Ferengi-Master](https://community.symcon.de/user_avatar/community.symcon.de/ferengi-master/32/126_2.png) [@Ferengi-Master](https://community.symcon.de/u/Ferengi-Master)\
**Post date:** [12. Mai 2008 um 01:29 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/4 "2008-05-12T01:29:02Z")

</div>

OK danke paresy, hatte da einen Denkfehler. Der Bezug des Variablennamen zur ID wird ja automatisch fest vergeben und kann so auch abgefragt werden. Es war mir nur nicht ganz klar ob alle alten Abfragen im Script auch weiterhin über Strings anstelle der ID gehen. Habe es probiert und geht.🙂

---

<div class="post-metadata">

**Author:** ![pleibling](https://community.symcon.de/user_avatar/community.symcon.de/pleibling/32/80_2.png) [@pleibling](https://community.symcon.de/u/pleibling)\
**Post date:** [8. Juni 2008 um 18:58 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/5 "2008-06-08T18:58:32Z")

</div>

Hi Paresy,

ich mache gerade mit dem IPS2 gerade meine ersten Versuche, ich versuche wie folgt den Intensitywert abzufragen von einem Moellerdimmer mit derID 12345:

$id=12345; (InstanceID des Moeller Dimmergerätes!)  
echo GetValue(IPS\_GetStatusVariableID($id, „Intensity“));

Jedoch bekomme ich nur folgende Meldung:

Warning: StatusVariable „Intensity“ existiert nicht in D:\IP-Symcon-V2\Web\index.php on line 10

Was mache ich da falsch?

---

<div class="post-metadata">

**Author:** ![Ferengi-Master](https://community.symcon.de/user_avatar/community.symcon.de/ferengi-master/32/126_2.png) [@Ferengi-Master](https://community.symcon.de/u/Ferengi-Master)\
**Post date:** [8. Juni 2008 um 19:36 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/6 "2008-06-08T19:36:07Z")

</div>

Hallo Pleibling,

den Statuswert bekommst Du ganz einfach über die ID der Variable die den Intensitywert speichert.

```php

 $wert = GetValueInteger(ID der Intensity Variable);
  echo $wert;

```

---

<div class="post-metadata">

**Author:** ![Ferengi-Master](https://community.symcon.de/user_avatar/community.symcon.de/ferengi-master/32/126_2.png) [@Ferengi-Master](https://community.symcon.de/u/Ferengi-Master)\
**Post date:** [8. Juni 2008 um 20:29 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/7 "2008-06-08T20:29:26Z")

</div>

So könnte es auch noch gehen, kann es zur Zeit nicht probieren.

```php

$id= xxx;
$vars=IPS_GetStatusVariableIDs($id);
 echo GetValueInteger(IPS_GetStatusVariableID($id, $vars[Arrayposition der Intensityvariablen]));

```

---

<div class="post-metadata">

**Author:** ![pleibling](https://community.symcon.de/user_avatar/community.symcon.de/pleibling/32/80_2.png) [@pleibling](https://community.symcon.de/u/pleibling)\
**Post date:** [8. Juni 2008 um 21:20 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/8 "2008-06-08T21:20:53Z")

</div>

sorry, leider klappen beide nicht :(. schade.

hast du das schon bei dir irgendwo implementiert und könntest mal nachsehen?!?

vielen dank für deine mühen.

---

<div class="post-metadata">

**Author:** ![Ferengi-Master](https://community.symcon.de/user_avatar/community.symcon.de/ferengi-master/32/126_2.png) [@Ferengi-Master](https://community.symcon.de/u/Ferengi-Master)\
**Post date:** [8. Juni 2008 um 21:31 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/9 "2008-06-08T21:31:48Z")

</div>

Beide Varianten mit einer 1wire Statusvariablen getestet und funktioniert.

---

<div class="post-metadata">

**Author:** ![pleibling](https://community.symcon.de/user_avatar/community.symcon.de/pleibling/32/80_2.png) [@pleibling](https://community.symcon.de/u/pleibling)\
**Post date:** [8. Juni 2008 um 22:44 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/10 "2008-06-08T22:44:33Z")

</div>

Hast recht, beide Varianten gehen:

$id=12345;  
$vars=IPS\_GetStatusVariableIDs($id);  
echo GetValueInteger(IPS\_GetStatusVariableID($id, $vars[3]));

$info = GetValueInteger(22222);  
echo("Wert ist: " . $info);

Vielen Dank für deine Hilfe … :).

---

<div class="post-metadata">

**Author:** ![DanielG](https://community.symcon.de/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@DanielG](https://community.symcon.de/u/DanielG)\
**Post date:** [16. Februar 2017 um 20:31 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/11 "2017-02-16T20:31:21Z")

</div>

Ich würde gerne den Statuswert auslesen ohne die ID der Statusvariable zu haben. Ich habe die ID der Instanz zb Schalter 1 - Meldung Panik (EIB Group) und möchte nicht nur schalten sondern auch den Wert auslesen.

Wie geht das ?

Gruß Daniel

---

<div class="post-metadata">

**Author:** ![paresy](https://community.symcon.de/user_avatar/community.symcon.de/paresy/32/29554_2.png) [@paresy](https://community.symcon.de/u/paresy)\
**Post date:** [17. Februar 2017 um 14:31 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/12 "2017-02-17T14:31:51Z")

</div>

Du kannst die ID der Variable anhand des Idents der StatusVariable ermitteln. Schau mal hier: [IPS\_GetObjectIDByIdent  IP-Symcon :: Automatisierungssoftware](https://www.symcon.de/service/dokumentation/befehlsreferenz/objektverwaltung/ips-getobjectidbyident/)

Für deinen Fall der EIBGroup ist der Ident -\> Value

paresy

---

<div class="post-metadata">

**Author:** ![DanielG](https://community.symcon.de/letter_avatar_proxy/v4/letter/d/f0a364/32.png) [@DanielG](https://community.symcon.de/u/DanielG)\
**Post date:** [17. Februar 2017 um 23:10 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/13 "2017-02-17T23:10:09Z")

</div>

Danke klappt super :loveips:

---

<div class="post-metadata">

**Author:** ![Napalm](https://community.symcon.de/user_avatar/community.symcon.de/napalm/32/307_2.png) [@Napalm](https://community.symcon.de/u/Napalm)\
**Post date:** [5. März 2018 um 00:03 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/14 "2018-03-05T00:03:35Z")

</div>

Sorry, dass ich diesen alten Beitrag nochmals auskrame, aber gleich im ersten Beitrag steht:

> [@paresy](#):
>
> Um alle Möglichen Werte einer Instanz für den 2. Parameter herauszufinden eignet sich folgender Befehl:
> 
> ```php
> 
> $id=29321;
> //Alle verfügbaren StatusVariablen einlesen
> $vars=IPS_GetStatusVariableIDs($id);
> 
> //Array ausgeben
> print_r($vars);
> 
> ```

Das ist eigentlich genau das was ich brauche.  
Ich hätte gerne die Liste aller Variabeln einer Instanz, aber den Befehl IPS\_GetStatusVariableIDs scheint es in der Version 4.4 nicht mehr zu geben?

Wie löst man das aktuell?

Ich weis das meine FHZ Variabeln mit den Namen ‚TargetModeVar‘ und ‚TargetTempVar‘ hat. Ich hätte aber auch gerne die Namen der anderen Variabeln.

Gruß Mirko

---

<div class="post-metadata">

**Author:** ![Fonzo](https://community.symcon.de/user_avatar/community.symcon.de/fonzo/32/480_2.png) [@Fonzo](https://community.symcon.de/u/Fonzo)\
**Post date:** [5. März 2018 um 00:36 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/15 "2018-03-05T00:36:22Z")

</div>

> [@Napalm](#):
>
> Ich hätte gerne die Liste aller Variabeln einer Instanz, aber den Befehl IPS\_GetStatusVariableIDs scheint es in der Version 4.4 nicht mehr zu geben?
> 
> Wie löst man das aktuell?

z.B. so

```php

$instanceid = 12345;
$variables = GetInstanceVariables($instanceid);
var_dump($variables);

function GetInstanceVariables($instanceid)
{
$variables = array(); 
 $list = IPS_GetChildrenIDs($instanceid);
 foreach($list as $objid)
 {
 	$name = IPS_GetName($objid);
	$variables[$objid]["name"] = $name;
	$ident = IPS_GetObject($objid)["ObjectIdent"];
	$variables[$objid]["ident"] = $ident;
 }
 return $variables;
 }

```

---

<div class="post-metadata">

**Author:** ![Napalm](https://community.symcon.de/user_avatar/community.symcon.de/napalm/32/307_2.png) [@Napalm](https://community.symcon.de/u/Napalm)\
**Post date:** [5. März 2018 um 08:36 UTC](https://community.symcon.de/t/statusvariablen-einer-instanz-auslesen/17046/16 "2018-03-05T08:36:59Z")

</div>

Super. Danke.  
Genau was ich suchte. 🙂
