Fensterzustand anzeigen

Sorry, ich stehe grade auf dem Schlauch:

[ol]
[li]Kannst Du noch mal genauer erklären wie das mit der Anzeige Bild 1 von Post #87 funktioniert, so ganz habe ich das nicht verstanden. Also die Anzeige mit den drei Stati und dem aktuellen hervorgehoben.[/li][li]Wo bekomme ich die Bilder für Fenster bzw. Türen her und wo müssen die hin?[/li][/ol]

Danke

mws

PS: Hab grade gesehen, die eigentliche STATE Variable steht nachdem ich ein eigenes Profil eingetragen habe auf „Visualization not possible“.

Das ist natürlich nicht so schön denn dann ist die Anzeige in den Räumen nicht mehr wirklich möglich :frowning:

mws

jetzt kann man bei einer solchen Meldung natürlich resignieren und sich damit abfinden oder im Forum nach Lösungen sucheh/fragen. Könnte ja sein das man selbst was vergessen hat und die Funktion nutzbar ist.:rolleyes:

Gut, dann verstehe den letzten Post als Frage.

Ich formuliere das auch noch mal um:

Das ist natürlich nicht so schön denn dann ist die Anzeige in den Räumen nicht mehr wirklich möglich oder gibt es da einen Trick, wie man das doch darstellen kann?

:smiley:

PS: Die Suche ergab keine sinnvollen Treffer

Die STATE Variable ist eine nicht beschreibbare Variable.

Ob Du der Variable jetzt ein eigenes Profil oder das default zuweist ist egal, es wird angezeigt.

Ansonsten hab ich dein Problem nicht verstanden.

also ich hab den ganzen Tag gegrübelt und weis immer noch nicht was das eigentliche Problem ist. Vielleicht beschreibst Du (mws) mal was Du erreichen willst.

btw: reden wir über einen FTK oder ne Winmatic?

Winmatic hat „LEVEL“, nur der Akku hat „STATUS“ :smiley:

Habe bei meinen Kontakten auch die Profile ergänzt, die Dinger sind trotzdem sichtbar. Vielleicht mal Screenshots einstellen.

Gruß
Bruno

ja, trotzdem sch*** ich jetzt klug:

Winmatic hat neben „LEVEL“ nen „STATE_UNCERTAIN“, den HM-Fnesterdrehgriff hab ich noch vergessen, Screenshot ist ne gute Idee. Und heut ist nicht mein Tag;)

Ich denke eher, er hat nur ein Profil angelegt und keine Assoziationen. Das würde dann seine Fehlermeldung erklären.

Er wird sich melden was er will.

Hallo zusammen,

also ich habe einen Drehgriffkontakt im Wohnzimmer (erster Test) der zeigt an „geschlossen“, „gekippt“ oder „offen“ soweit so gut.

Jetzt hab ich das Skript verwendet um alle Fenster in einer Übersichtsseite in der HTML String Variablen anzuzeigen. Damit ich Terassentüren und Fenster untersheiden kann habe ich der IntegerVariable „STATE“ des Drehgriffkontaktes unter dem Punkt „Variable editieren“ ein eigenes Profil verpasst „TuerStatus“ damit sie als Tür erkannt wird und die richtige Grafik angezeigt wird. Außerdem wird das Skript zur Ermittlung der Zustände getriggert damit die Änderung sofort sichtbar wird. Das funktioniert auch sehr gut und das Ergebnis wird über einen Link im WebFront dargestellt.

Seit ich das gemacht habe wird aber die „STATE“ Variable im Wohnzimmer nicht mehr richtig angezeigt. Statt den Werten „gekippt“, geschlossen" und „offen“ wird nur noch die Fehlermeldung angezeigt.

Ich hätte im Wohnzimmer auch gerne wieder die Anzeige wie der Status tatsächlich ist.

Danke

mws

@Rainer: Volltreffer!

Wie Rainer schon angedeutet hat, hast Du zwar das Profil angelegt, jedoch keine "Assoziationen. Also auf Verändern klicken, Ja, dann Editieren und in neuen Fenster die Werte eingeben. Schau als Vorlage das normale Profil an.

Gruß
Bruno

Hallo noch mal,

nachdem ich mir das alles noch mal angesehen habe und über Rainers „Assoziation“ gestolpert bin hab ich die Lösung gefunden und der STATE Variablen die dei Werte angelegt. (OK Powerfreddy war schneller :))

OK es geht jetzt !super! aber warum muss man das so machen? Ich habe doch einer bestehenden Variable nur ein neues Profil zugewiesen. Oder weist man nicht der Variablen sondern dem Profil diese Werte zu? Das würde ich dann wieder verstehen.

mws

Das Profil enthält die Werte, somit bringt ein leeres Profil das andere Ergebnis.

Gruß
Bruno

Hallo zusammen,

versuche gerade die Skripte an 2.5 anzupassen, leider klappt es nicht. :confused:

Alter Stand:

foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
   if(IPS_StatusVariableExists($id, "STATE"))
    {
        $var = IPS_GetStatusVariable($id, "STATE");
        $profil = IPS_GetVariable($var['VariableID']);

Änderung

foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
   if(IPS_GetObjectIDByName("STATE", $id))
    {
        $var = IPS_GetObjectIDByName("STATE", $id);
        $profil = IPS_GetVariable($var['VariableID']);

Fehlermeldung: Objekt „State“ nicht gefunden … Variable #0 existiert nicht

Was mache ich falsch?

Gruß
Bruno

ich vermute, das die gesuchten Instanzen nicht unterhalb des Moduls hängen,

IPS_GetObjectIDByName(„STATE“, $id) sucht immer nur unterhalb der angegeben $id (Parent-ID).

Hallo…

Versuchs mal damit:

foreach(IPS_GetInstanceListByModuleID("{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}") as $id)
{
   if(@IPS_GetObjectIDByName("STATE", $id))
    {
        $var = @IPS_GetObjectIDByName("STATE", $id);
        $profil = IPS_GetVariable($var);

Nach sehr kurzer Suche im Handbuch steht ja geschrieben ;):

Diese Funktion generiert eine Warung, sollte der Name nicht gefunden werden.
Benutzen Sie den @ Operator, falls Sie diese Meldung unterdrücken wollen.
Die genau Funktionsweise dieses Operators können Sie dem PHP Handbuch entnehmen. 

Es werden ja alle ID´s von HM geprüft, und die die nicht STATE lauten ergeben den Fehler.

Gruß,
Christian.

Hallo Christian,

den Hinweis im Handbuch hatte ich gefunden, aber … :smiley:

Ok, die erste Meldung ist weg, die „Variable #0 exitiert nicht in …“ bleibt.

Habe mal ein echo nach $var eingefügt. Die richtigen IDs werden angezeigt aber irgendwie nicht verarbeitet.

Gruß
Bruno

Hallo Bruno,

hm, hast du auch gesehen, das $var schon die ID direkt enthält und kein Array?

bei mir bekomme ich keine Fehlermeldung.

Gruß,
Christian.

Hallo Christian,

weiss nicht, was Du meinst.

Gruß
Bruno