Aktor in Abhängigkeit zu Helligkeit und Bewegung schalten.

Hallo zusammen,

ich bräuchte nochmal Hilfe bei einem einfachen „Wenn, Und, Dann“-Fall. Bewegungsmelder soll das Licht bei Bewegung einchalten aber nur bei einer bestimmten Helligkeitsstufen. Das hier habe ich bis jetzt:

<?
$bewegung=GetValue(25937 /*[Räume\Kleiderschrank\Devices\Präsenzmelder HMIP Kleiderschrank\PRESENCEDETECTOR_TRANSCEIVER\Präsenz]*/);
$helligkeit=GetValue(35600 /*[Räume\Kleiderschrank\Devices\Präsenzmelder HMIP Kleiderschrank\PRESENCEDETECTOR_TRANSCEIVER\CURRENT_ILLUMINATION]*/);


if (($bewegung == true)&&($helligkeit < 150))

    {
       HM_WriteValueBoolean (30226 /*[Räume\Kleiderschrank\Devices\Steckdose Kleiderschrank]*/, "STATE", true);
    }
	
if ($bewegung == false) 
{
     HM_WriteValueBoolean (30226 /*[Räume\Kleiderschrank\Devices\Steckdose Kleiderschrank]*/, "STATE", false);
}
?>

Problem: Licht geht immer an. Derzeitige Wert der Variable „Helligkeit“ 451.

Wo liegt mein Fehler?

Danke schon mal!

Das sieht soweit eigentlich korrekt aus. Hast du mal probiert einfach mit ein paar echo-Befehlen zu debuggen? Damit könnte man ja mal prüfen, ob der korrekte Helligkeitswert in die PHP-Variable geladen wird und welche if-Blöcke ausgeführt werden.

Ich würde es einfach nochmal so probieren:

<? 
$bewegung=GetValue(25937 /*[Räume\Kleiderschrank\Devices\Präsenzmelder HMIP Kleiderschrank\PRESENCEDETECTOR_TRANSCEIVER\Präsenz]*/); 
$helligkeit=GetValue(35600 /*[Räume\Kleiderschrank\Devices\Präsenzmelder HMIP Kleiderschrank\PRESENCEDETECTOR_TRANSCEIVER\CURRENT_ILLUMINATION]*/); 

echo $helligkeit. "
"; // <--- Hier prüfen ob Helligkeit korrekt eingelesen wurde
if (($bewegung == true)&&($helligkeit < 150)) 

    { 
       echo "Schalte Licht an.
"; // <--- Hier prüfen ob Licht eingeschaltet wird
       HM_WriteValueBoolean (30226 /*[Räume\Kleiderschrank\Devices\Steckdose Kleiderschrank]*/, "STATE", true); 
    } 
     
if ($bewegung == false)  
{ 
     echo "Schalte Licht an.
"; // <--- Hier prüfen ob Licht ausgeschaltet wird
     HM_WriteValueBoolean (30226 /*[Räume\Kleiderschrank\Devices\Steckdose Kleiderschrank]*/, "STATE", false); 
} 
?>

Hi,

schau Dir mal mein Modul an (IPSymconToolmatic/PresenceDetector at master · Wilkware/IPSymconToolmatic · GitHub) - vielleicht passt es ja für Deine Anforderungen

Ciao Pitti

Danke Dr. Nils.

Natürlich hat er die Variable nicht richtig ausgelesen.

Ich könnt mich Ohrfeigen :banghead:

Habe die falsche Variable genommen. Bin in der Zeile verrutscht. Soweit hat es nun auch funktioniert allerdings schaltet der Bewegungsmelder nun nicht mehr auf „FALSE“ zurück wenn keiner mehr im Raum ist, was sinst tadellos funktioniert hat.

Ich teste mal das Modul.

Wie rufst du das Skript auf? Per Änderungs-Ereignis auf der Bewegungs- und Helligkeitsvariable? Per Timer? Noch anders als das?

Per Änderungsereignis. Wird Bewegung erkannt, wird das Script ausgeführt und sobald der Bewegungsmelder auf FALSE geht nochmals.
Hatte es vorher in Abhängigkeit zur Uhrzeit schalten lassen und es hat tadellos funktioniert.

Aber aus irgendeinem Grund springt der BWM nicht mehr zurück…

Hi Pitti,

ich hab mir das Modul mal installiert. Allerdings kann ich in der Maske nirgends einen Helligkeitsschwellenwert eintragen. Gab es hier eine Änderung?

Hi,

ups, jetzt bin ich aber erstaunt. Man kann in einem Dropdown-Menü den Schwellwert einstellen. Bin gerade nicht daheim und kann kein Screenshot schicken. Sobald ich an einen Rechner komme schreibe ich wieder.

Gesendet von iPhone mit Tapatalk

Kommando zurück. Habe Lichtautomat anstatt Bewegungsmelder rausgesucht. Ich probier mal weiter :slight_smile:
Eine Frage hierzu: Wir der Wert des HMIP Präsenzmelders in LUX ausgegeben? Die Zahlen gehen nämlich weit in die tausend rein, wenn es hell ist…

Puhh, da bin ich ja beruhigt, war schon ganz nervös was da schief gegangen ist :wink:
Ich habe eine HmIP-SMI - damit ist das Modul entstanden. Bei mir waren noch nie Werte über 150lx.
Ich kann aber gern die Liste in gewünschten Schritten erweitern.

VG Pitti

Das klingt so, als würde das Problem eher beim Bewegungsmelder liegen. Heißt das, der Bewegungsmelder bleibt konstant auf true? Oder wird kein Event ausgelöst, wenn er auf false zurückspringt?

In der Tat scheint es am Melder zu liegen. Er springt einfach nicht zurück. Normalerweise hat er das nach 15 Sekunden immer gemacht…

Ich muss mir das mal anschauen wenn ich wieder zu Hause bin. Bin jetzt eine Woche auf der IFA. Vielleicht Nerv ich die EQ-3 Jungs und Mädels auch einfach ne Weile [emoji16]

Soo…Script funktioniert jetzt erstmal und der Melder springt auch wieder zurück. Vielleicht hat er auch nur mal einen Woche Ruhe von mir gebraucht :slight_smile: Danke für die Hilfe