Webcam bei Anwesenheit deaktivieren

Ich mal wieder :slight_smile:

Nachdem mir ja heute mittag schon so gut geholfen wurde, bin ich schon die ganze Zeit am optimieren meiner bestehenden Installation.

Nun habe ich zwei Webcams zur „Überwachung“. Diese werden angesteuert über Webcam XP 5. Der Stream wird über eine StringVariable im Webfront dargestellt. Nun möchte ich jedoch, dass die Cams, nur bei Abwesenheit im Webfront dargestellt werden. Die Präsenz Variable besteht schon.

Gibt es da eine Möglichkeit? Habe IpSymcon Basic 2.4

Viele Grüße

Flo

ich auch mal wieder :smiley:

eine Möglichkeit wäre, die Variable bzw. den Link zur Variable bei Anwesenheit auszublenden.
Hilfreich ist das Studium der Doku, insbesondere der Befehl „IPS_SetHidden“:wink:

Du verfolgst mich :slight_smile:

Alles klar. Danke Dir. Ich wühl mich durch :slight_smile:

jetzt ja:D

Habs jetzt folgendermaßen gelöst

Ich hab zwei Scripte angelegt:

Kamera an

<?
$Anwesenheit_val = getValueBoolean(ObjectID /*[Anwesend]*/);
if ($Anwesenheit_val == false)
{
IPS_SetHidden(ObjectIDBüro\Cam]*/, false);
}
?>

Kamera aus

<?
$Anwesenheit_val = getValueBoolean(ObjectID /*[Anwesend]*/);
if ($Anwesenheit_val == true)
{
IPS_SetHidden(ObjectIDBüro\Cam]*/, true);
}
?>

Diese werden über Ereignisse, gekoppelt an den Awesenheitsmodus, ausgeführt.

Hätte man es auch einfacher gestalten können?

Viele Grüße

Flo

man hätte es in ein Script packen können, Trigger wäre dann „bei Änderung“, die 2. If-Bedingung dann als else if unten drunter (unter die If-Bedingung des ersten Scripts) geklebt - fertig. Nur so ne Idee;)

so?


if ($Anwesenheit_val == false) 
else if ($Anwesenheit_val == true) 
{ 
IPS_SetHidden(ObjectIDBüro\Cam]*/, false); 
}
 

nee, so:


$Anwesenheit_val = getValueBoolean(ObjectID /*[Anwesend]*/); 
if ($Anwesenheit_val == false) 
{ 
   IPS_SetHidden(ObjectIDBüro\Cam]*/, false); 
}
else if ($Anwesenheit_val == true) 
{ 
      IPS_SetHidden(ObjectIDBüro\Cam]*/, true); 
}

:wink:

ins Deutsche übersetzt (um die Syntax verständlich zu machen):


if ($Anwesenheit_val == false) 

wenn Bedingung „($Anwesenheit_val == false)“ zutrifft,
{
dann führe folgenden Befehl aus:
IPS_SetHidden(ObjectIDBüro\Cam]/, false);
}
anderenfalls: wenn Bedingung „($Anwesenheit_val == true)“ zutrifft,
{
dann führe folgenden Befehl aus:
"IPS_SetHidden(ObjectIDBüro\Cam]
/, false);"
}

das war ein kostenloser Service des Forum-Erkläbär (is 'n Insider, adressiert an paresy :D)

Sehr geil! Danke Dir! So langsam aber sicher fange ich an das ganz zu verstehen…aber ganz langsam :slight_smile:

das ging mir nicht anders :wink: Aber Du musst ja nicht genau so leiden wie ich:D

Ich muss aber trotz allem noch ein Ereigniss hinterlegen, oder?

ja, aber nur eines: bei Wertänderung

Gings nicht auch so:

 IPS_SetHidden(ObjectID/*[Büro\Cam]*/, getValueBoolean(ObjectID /*[Anwesend]*/)); 

Aber kann es sein, dass das Webfront erst neu geladen werden muss, damit die Änderungen übernommen werden?