Bewegungsmelder, welcher hat als letztes ausgelöst ?

Hi wie bekomme ich raus, wo die letzte Bewegung war ?

Ich habe schon zu jedem BM eine Uhrzeit z.B. 12:34:54 wann er zuletzt ausgelöst wurde.

Ich würde gerne ein Script schreiben, wo herrausfindet, wo die letzte Bewegung war, und das in eine Variable schreibt.

Aber ich wüßte nicht wie den vergleich anstelle könnte :frowning:

Es sind 6 Räume.

Du lässt ein Script triggern von den diversen MOTION-Variablen und sucht dazu die Location nach deiner Baumstruktur

$varlocation = IPS_GetLocation($IPS_VARIABLE);

…wertest dazu die Zeit (time) der Auslösung aus und schreibst alles in eine String-Variable…
Ist es das, was du willst?

Danke aber, eben ist im selben Moment die Lösung gekommen.

Da ich per Script die Zeit wenn ein BM auslöst in eine Variable schreibe kann ich auch einfach ein scribt schreiben was beim auslösen eines BM sich in die andere Variable schreibt.

Manschmal steht man auf dem Schlauch :slight_smile:

Danke

Ja, dann aber BITTE einen Timestamp und nicht nur die Uhrzeit der Aktualsierung nutzen … sonst ist später 23:15 am 13.11… hinterher noch nach 20:06 am 14.11. (bezogen u.a. auf das erste Posting im Thread)

Danke dir klappt fast perfekt.

Das Schreibt er in die Variable:

Bewegungsmelder\Büro B.M.\Status

Wie bekomme ich es hin das er nur noch das in Mitte (Büro B.M.) schreibt ?

Nicht vergessen per Abschneiden klappt nicht :frowning:

Das verstehe ich aber jetzt nicht ?

Wenn der BM augelöst wird, wird ein Script gestartet, was mir die Uhrzeit in eine Variable schreibt, da sind max 1-2 sec unterschied zum Timestamp :slight_smile:

Und ist viel schneller programmiert :slight_smile:

Ich meinte: Speichere den Timestamp oder die orginale Zeit komplett statt nur (String) „11:47“, sonst kannst Du später den genauen Tag nicht erkennen. Wenn nicht jeder BM (kenne ich eher als Brandmelder)/PIRI an jedem Tag auslöst, würdest Du somit nicht den zuletzt ausgelösten zuverlässig erkennen können.

Wer geht schon jeden Tag immer die komplette Wohnung oder das Haus ab und löst jeden PIRI aus?

Verstehe ich auch nicht ganz.
Vielleicht etwas desorientierend von mir in Klammern geschrieben… besser ist die Funktion „date“ statt „time“ zu verwenden…

Ah ok jetzt verstehe ich dich :slight_smile:

Hm wie mache ich das mit dem Datum ?

Gib mal die Syntax fürs Datum bitte :slight_smile:

So seht mein Sript nun aus:

$var = IPS_GetObject($IPS_VARIABLE);
$var2=IPS_GetParent($var['ObjectID']);
$var3=IPS_GetName($var2);

SetValue(18704 /*[Bewegungsmelder\WO war die letzte Bewegung]*/     ,$var3 );

Vielen Dank für deine Hilfe !

@nancilla: Ja, genau. Ich wollte es erklären. Das ist mir wohl nicht so gelungen… :o

Datum folgt noch :slight_smile:
Uhrzeit auch :slight_smile:

Habe dich verstand, und du hast recht, manchmal komme ich nicht in die Küche am Tag :slight_smile:

Edit: Wie bekomme ich das deutsche Datum hin ?

Ich finde nichts in der Doku :frowning:

Edit2: Ok habe es :slight_smile:

PHP: date - Manual

Du kannst deine Posts ruhig editieren. Dafür ist der Button ändern da!

Das verstehe ich nun leider auch nicht.
Was soll das Skript den genau machen? Oder was genau willst Du in was umwandeln?

Du kannst entweder ein Skript per Event starten und sofort den letzten Auslöser ausgeben (einfach) oder auf Abruf den letzten Auslöser zu einem bestimmten Zeitpunkt ausgeben wollen. Dann müsstest Du in den vorgelagerten Skripten das auslösen wegspeichern oder Du nutzt die Aktualisierungszeiten von IPS und müsstest diese jetzt z.B. in einer Schleife durchlaufen und danach entsprechend sortieren und ausgeben.

[EDIT: Bei dem Edit und New Post muss sich dann aber mal ein Modus einspielen, damit man weiss auf was man antwortet…]

Hi also ich wollte einfach nur im WF und auf dem iPhone sehen wo die letzte Bewegung in der Wohnung war.

Hier das fertige Script:

$time = date("H:i:s");
$day = date("d.m");
$var = IPS_GetObject($IPS_VARIABLE);
$var2=IPS_GetParent($var['ObjectID']);
$var3=IPS_GetName($var2);

SetValue(18704 /*[Bewegungsmelder\Letzte Bewegung]*/     ,"$var3 $time am $day" );

Eine String Variable anlegen, dann einfach das Script auf den Satus des BM legen.

Das ist auch eine wirklich schöne Lösung!! :slight_smile:

In manchen Threads (es gibt ja viele Möglichkeiten ein Problem zu lösen) habe ich das Gefühl, es gibt sooo viel Hilfe aus dem Forum das sich sowohl Neuankömmlinge als auch Ratgeber auf Grund der Informationen pro Zeiteinheit überschlagen … :D:loveips:

Das stimmt, und zum Schluß weis keiner mehr um was es eigentlich ging :rolleyes:

Danke dir sehr für deine Hilfe :slight_smile:

Und da zeigt sich wieder, dass „die vielen Wege trotzdem nach Rom führen“, wenn man weiss, was man will.
Je nach Konstellation und Eigenheit der persönlichen Bedürfnisse muss man jedoch manchmal einen anderen Weg gehen…
Schön, dass sowas auchmal ganz kurz geklärt werden konnte :slight_smile: Wenn’s denn nun passt?! :wink: