Wenn Licht aus und Bewegungsmelder auf true, dann

Sorry für die Anfängerfrage. Ist mein 2. script und ich blicke bei Aktionen die über simple hinausgehen noch nicht so ganz durch.

Folgendes Szenario: Ich habe einen Empfänger(19627), Bewegungsmelder(58689) und einen Taster. Der Taster schaltet den Empfänger direkt ohne IPS.

  1. Es soll jetzt das Licht auf 75% gedimmt werden, aber nur wenn das Licht vorher aus war (19627=false) und der Bewegungsmelder(58689) Licht an (58689=true) gesendet hat.

Hintergrund ist der, dass der Taster für den Notfall falls IPS ausfällt schaltbar sein soll und wenn mehr als 75% Licht nötig ist mit ihm hoch- oder runtergedimmt werden kann. Das funzt soweit prima.
Was nicht geht ist, das wenn Licht per Hand hochgedimmt wird, schaltet mein IPS nach 8sekunden runter auf 75% helligkeit.

  1. Das Licht soll nach 5 Minuten wieder ausgehen aber nur wenn keine Bewegung stattgefunden hat.(Bewegungsmelder sendet nach 5 Minuten „Licht aus“, habe die ganze zeit das ganze in einem separaten script laufen, funktioniert auch, bin mir aber nicht sicher ob es nicht schöner ist das ganze in ein script zu packen)

Bin für jede hilfe dankbar die mir die Grundlage näher bringt.

Also, wenn du einen FS20 Dimmer verwendest, dann ist das so nicht möglich. Entweder sagst du ihm er soll auf 75% dimmen oder du sagst ihm er soll mit dem zuletzt eingestellten Wert kommen. Fallweise unterscheiden kannst du das nicht, weil du ihn nicht abfragen kannst (unidirektional).

Ein Workaround wäre, wenn du zwei scripte verwendest. Eines, dass den Dimmer nur einschaltet mit dem letzten Helligkeitswert (Switch) und ein anderes, dass den eingestellten Helligkeitswert mit 75% überschreibt.

Gruß,

Toni

Ok, also dann habe ich das System ja schon richtig verstanden dass man für jedes Ereignis auch ein Script benutzt und nicht alles in eins packt.

Zu meinem !. Anliegen habe ich das jetzt so hinbekommen: Bei „Nachfolgende Ereignisse ausführen“ Haken weg. Somit wird nur beim ersten mal das Licht auf 75% gedimmt.
Dann kann ich mit meinem Licht anstellen was ich will.
Erst wenn ein False-Befehl vom Bewegungsmelder wieder gesendet wird der Status des Empfängers auf false geht werden wieder true Befehle vom Dimmer verarbeitet.
Ereignisse - IP-Symcon :: Automatisierungssoftware

Trotzdem würde mich so eine kleine Hilfe fürs scripten interesssieren. Gibt es zur IPS Version 2 noch weitere Anleitungenen außer diese?
Einführung - IP-Symcon :: Automatisierungssoftware

So jetzt stehe ich schon vor dem nächsten Problem. Ich habe 2 Bewegungsmelder. Nur wenn beide keine Bewegung mehr registrieren also <false> senden, soll das Licht ausgehen. Wie stelle ich das an?

Trigger das Script mit den Stati der Bewegungsmelder OnChange.
Beide Stati mit and Abfrage verknüpfen, in etwa so:


$id1 = 12345; //ID der Statusvariablen Bewegungsmelder 1 anpassen
$id2 = 15678; //ID der Statusvariablen Bewegungsmelder 2 anpassen
$bool_status1 = getvalue($id1);
$bool_status2 = getvalue($id2);
if(!$bool_status1 and !$bool_status2)
{
//hier Licht aus
}

Also ich habe dein Script auf meine ID angepasst und eingefügt. leider geht nix.

Was meinst du mit: „Trigger das Script mit den Stati der Bewegungsmelder OnChange.“

Rechts oben Ereignis hinzufügen, das Script muß ja wissen wann es ausgeführt werden soll, also bei Änderung der beiden Statusvariablen.

Sorry ich checks immer noch nicht.:confused: Wieso Script ausführen bei Variablenänderung? Licht soll ja aus gehen, wenn keine Bewegung wargenommen wird. also wenn beide Statusvariablen „FALSE“ sind.

Und wie füge ich ein Ereignis ein, dass beide Variablenbedingungen berücksichtigt?

so siehts bei mir gerade aus

Ob das Script bei Bewegung oder nicht ausgeführt wird (also true oder false) ist in diesem Fall egal.
Da die If Bedingung ja prüft ob beide Bewegungsmelder false sind und nur dann das Licht ausgeschalten wird.

OK, was muss ich jetzt bitte machen damit es geht.

So wie Du es hast sollte es funktionieren. Wenn der Status des letzten Bewegungsmelder von true auf false geht wird das Script gestartet und das Licht geht aus.

Nee, sobald ein Bewegungsmelder aus geht geht das Licht schon aus

Hallo grossermanitu,

bitte lies die Anweisungen, die man dir gibt, etwas genauer. :wink:

Es soll der Status der Statusvariablen „Status“ überprüft werden, nicht der Status der Instanz „FS20 Bewegungsmelder Bad“.

Folglich musst Du die ID 12537 verwenden und nicht (wie Du es machst) 15839.

Dasselbe gilt für den anderen Bewegungsmelder.

Gruß
HJH

Hallo HJH,

du hast wohl die Lupe genommen:D

Hallo Thomas,

nein, aber jetzt hat mein Bildschirm einen Fettfleck, dort, wo ich mir die Nase platt gedrückt habe… :smiley:

Gruß
HJH

Da hat aber wirklich jemand scharfe Ausgen gehapt. Danke HJH jetzt kann ich endlich wieder in seelenruhe mich duschen ohne das das Licht ausgeht.

So jetzt habe ich mal versucht mein Script auf Irtrans zu übertragen. Gestartet wird mein Script mit der Variablenänderung Button. Ich möchte auf verschiedenen Tasten verschiedene Helligkeitsstufen meiner Lampe einstellen.

Meine 1. Frage ist was ich hier falsch geschrieben habe?
2. Was macht der Befehl

$bool_status1 = getvalue($befehl);

?

Danke

<?
$befehl = 41981;
$geraet = 48826;

$bool_status1 = getvalue($befehl);
$bool_status2 = getvalue($geraet);
echo $geraet;
if ($geraet == "haussteuerung") {
      if ($befehl == "Schräge_an") {
         FS20_SetIntensity(41373 /*[Wohnzimmer\Schräge Dimmer]*/, 16,3);
      }
      if ($befehl == "Schräge_Romantik") {
          FS20_SetIntensity(41373 /*[Wohnzimmer\Schräge Dimmer]*/, 8,3);
      }
   }

?>