NEWS
WENN UND Bedingung innerhalb eines Zeitfensters in Blockly
-
Moin
Da ich das programmieren nicht beherrsche experimentiere ich derzeit mit Blockly.
Ich versuche gerade eine Form der Anwesenheitserkennung zu nutzen um Jemanden per Alexa zu begrüßen.
Dazu möchte ich ein Handy nutzen welches sich vermutlich bereits im WLAN anmeldet noch bevor der Besitzer die Wohnung betritt.
Und einen Redkontakt Magnet sensor der das Öffnen der Haustür erfasst.
Da die Zustände nicht zwingend zeitgleich auftreten suche ich nach einer Zeitfensterlösung.
Wenn also z.B. das Gerät sich im Wlan anmeldet und innerhalb von z.B. 10 Sekunden der Türsensor angeschlagen hatte sollen die Bedingungen als erfüllt gelten.
8358_unbenannt.png -
Wenn also z.B. das Gerät sich im Wlan anmeldet und innerhalb von z.B. 10 Sekunden der Türsensor angeschlagen hatte sollen die Bedingungen als erfüllt gelten. `
Vorschlag
-
Das funktioniert bei mir schon ganz gut, nur ist mein Ansatz völlig anders und einfacher
Ich habe mir DPs erstellt, die einfach "… ist kommend" heißen, die werden gesetzt sobald sich die entsprechende Person ins WLAN einloggt. Ist der DP true wenn die Tür geschlossen wird, erfolgt die Ansage und der DP wird zurückgesetzt.
-
Moin
Ich habe zuerst versucht das Script von paul53 nachzubauen.
Ohne Erfolg.
Ich steige auch nicht ganz durch, durch die Schleifen die die Variablen da erzeugen, sorry.
Nun habe ich mich daran gemacht Datenpunkte zu erzeugen.
Das hat mich nun zwar auch einiges an Fleiß Arbeit gekostet, aber schließlich werde ich da ja auch öfter drauf zurück greifen können.
Ist es eigentlich Normal das die Weboberfläche des Blockly auf nem Raspberry Pi 3 von einem Windows Rechner aus schon bei kleineren Scripten stark in die Knie geht, gerade wenn ich mehrere WENN DANN Blöcke in einander verschachtele.
Ich frag mich wie ich mit der Performance größere Scripte erzeugen soll.
Zusammenfalten hilft aber fürs erste schon mal etwas.
Ich konnte es noch nicht 100 prozentig testen, aber fürs erste scheinen die ersten Funktionen gegeben.
Kann man das so machen oder müsste man noch eine Art Timeout mit unterbringen?
Wo lässt man so ein Script laufen? Unter Common, oder Global?
Das Bild ist übrigens einer Bildbearbeitung zum Opfer gefallen, damit es auf nem Monitor noch sichtbar ist.
-
So dann schreibe ich mal wieder mein Hinweis, dass es absolut unnötig ist bei einer falls Bedingung auf noch mal auf wahr zu prüfen, weil das die Grundfunktion der falls Bedingung ist und somit überflüssig. Steht aber auch genau so im Popup, welches aufgeht, wenn man mit der Maus über den Block fährt
Dann zur Übersichtlichkeit des Blockly. Wenn man bei den Blöcken auf externe Eingänge umschaltet, dann wirds deutlich übersichtlicher und zu guter letzt mal mein Blockly zu dem Thema mit dem einfacheren Ansatz, welches auch echt gut funktioniert.
Die "…kommt heim" DPs sind meine "Merker" wenn sich jemand ins WLAN einloggt. Da das in der Regel etwas früher passiert, als die Tür Kontakte auslösen und ich vermeiden möchte, dass wenn jemand zu Hause ist ständig die Begrüßung abläuft werden die auch brav wieder zurückgesetzt.
Die Timeout sind dafür da, dass es keine Überschneidungen gibt und der Text auch erst gesprochen wird, wenn die entsprechende Person in Reichweite des Echo ist.