NEWS
Überwachung Katzenklappe mit Bewegungsmelder (gelöst)
-
@Jan1 Das habe ich ja schon probiert(Ähnlich wie in dem Blockly mit dem Licht). Ich müsste das ganze aber zeitlich einschränken (daher die 10-15 Sek.) und auf jeden Fall muss ich das false der Tür für diesen Zeitraum überwachen, da mir sonst der Garagenbesuch meiner Frau(durch die Tür) als "Ausgehzeit der Katze" interpretiert wird
-
@DocGame
Na so ganz versteh ich das nicht, aber Deinem Blockly oben zu entnehmen bist auch erst am Anfang damit, sonst würdest bei der Falls nicht noch auf wahr prüfen
=wahr macht die FALLS immer und ist dann doppelt.Ich muss weiter arbeiten
-
@Jan1 Das oben hat ja gar nichts mit der Klappenüberwachung zu tun. Das ist nur für die Lichter und das ich auf Änderung tickere und Wahr abfrage ist nur, da ich wegen den Katzenprojekt hier rauskopiere. Stelle mal auf Wahr oder "größer als letzter" Tigger um und lasse die Fallsprüfung weg.... Das ist ja aber auch nicht meine Problemstellung, da diese Blockly (wenn auch mit 2 falls zu viel) perfekt läuft.
Habe das Wahr aus dem Script und dem Bild oben rausgenommen um nicht vom eigentlichen Thema abzulenken.... -
@DocGame
Klar, war auch nur ein Tipp für weiter Blocklys, wie es einfacher geht und kein Hinweis auf eine Lösung des aktuellen Problem.
Da ich aber nicht so 100% verstanden habe, welche Variablen Du noch berücksichtigen willst, bin ich erst mal raus, da mir gerade die Zeit fehlt. -
Ich würde folgendes machen:
-
Je ein Block für das speichern der Bewegungstimestamps. Sprich onChange Bewegungsmelder und dann via setVariable = timestamp. Damit hast du zwei Variablen timestamp1 und timestamp2.
-
Das gleiche machst du mit der Tür. Sprich doorOpen ist deine dritte Variable. z.B doorOpen = true/false
-
Jetzt kannst du in den beiden Bewegungstimestamps onChange blöcken deine Katzenklappe abfragen bauen. Das ganze mitteils einer Funktion die du aufrufst, damit du das nicht 2. mal bauen musst. Die Funktion hängst du dann jeweils ein.
Annahme: Timestamp sind in Sekunden. Wenn diese in UNIX since 1970 sind musst du diese entsprechend umrechnen.
func checkCat() { set diff = timestamp 1 - timestamp2; if (!doorOpen && diff² < 225) { #Damit umgehst du den Vorzeichencheck und prüfst ob du in deinem 15 Sekunden bist. Bsp- (diff = -12 => diff² = 144) if (diff < 0) { setCatStatus = false; } else { setCatStatus = true; } }
Die Funktion lässt in Blockly genauso darstellen.
-
-
@Ar1lon Auf den ersten Blick verstehe ich nur Bahnhof.... Muss ich mir heute Abend mal genauer anschauen.
-
@DocGame Hallo, auch wenn es nicht zum Thema gehört. Mit der Katzenklappe hast Du keine Brandschutztür mehr.
Hast Du Dir das gut überlegt ? -
@DocGame Wenn was unklar ist melde dich. Ich komme gerade nicht dazu es ein Blockly zu bauen und dann hier rein zu posten.
-
@DocGame sagte:
Wenn Tiggerzeit des 2. BW's bis zu 15 Sek. nach tiggern des ersten kommt und der Türsensor wärend dieser Zeit auf false war habe ich die eine Richtung.
Vorschlag:
-
-
@paul53 Hab mal alles nachgebaut. beim letzten Teil blicke ich nicht mehr richtig durch....
Kommt bei dem Gemarkerten Teil ein Virtueller Datenpunkt rein? Will ja in einen Datenpunkt entweder Katze drinnen oder Katze draussen schreiben
-
@DocGame sagte:
ein Virtueller Datenpunkt rein?
Ja.
Soll der Datenpunkt einen Text enthalten ? Dann so: -
@paul53 Super... Dann muss ich nur noch 3 Taster zum testen herrichten. Testen ist sonst relativ schwierig, da ich im 3 Stock sitze und das Ganze sich im keller abspielt. Mite einem Switch und 2 Tastern werde ich das später mal hier oben simulieren. Vielen Dank für die Tipps schon einmal
-
@DocGame sagte:
Dann muss ich nur noch 3 Taster zum testen herrichten.
Wozu 3 Taster ? Man kann die 3 Datenpunkte (opened / 2 * occupancy) manuell im Tab "Objekte" ändern. Unter / über 15 s Zeitabstand zwischen den beiden DP "occupancy" sollte man hinbekommen (sie triggern nur bei Änderung false --> true).
-
@paul53 Klar...das geht auch aber ist doch aber in einer Minute zugewiesen(Hab den Schreibtisch mit Eingebundenen Tastern vollliegen). Den TS-State auf die Schreibtischlampe und dann wurde getestet. Habe keine Modelleisenbahn und spiele die Szenen lieber so durch(Spieltrieb).
Funktioniert perfekt. Vielen Dank nochmals -
@DocGame sagte:
Funktioniert perfekt.
Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].
-
@paul53 jop so geht es natürlich auch. Spart zwei Rechenoperationen.