NEWS
Anwesenheit und Begrüßung über Alexa / Brauche Hilfe beim Scripten
-
Hi zusammen,
nachdem ich nun einige stunden damit verbracht habe, selbst eine lösung zu meiner idee zu finden, muss ich resignieren und hoffe, dass die schlauen fleißigen programmierer unter euch mir weiter helfen können.
ich hatte das ganze bereits in einem anderen thread am rande erwähnt gehabt, aber das geht dann doch unter, sobald andere anliegen gepostet werden.
hier nun zu meiner idee:
alexa soll erkennen, wer gerade nach hause gekommen ist und die person entsprechend begrüßen.
Komme ich alleine nach hause dann "Hallo x"
Kommt meine frau nach hause dann "Hallo y"
Kommen wir beide gleichzeitig nach hause dann "Hallo z"
vorhandene hardware/software:
für die audio ausgabe = der echo dot mit alexa 2.0 adapter
für die erkennung der anwesenheit = der tr.064 adapter (bevorzuge den tr-064 adapter anstelle des geofencing apdaters um ressourcen sparen.)
mein ideen soweit:
um zu erkennen, ob jemand nach hause gekommen ist, nutze ich folgende abfrage:
wenn object (handy) des tr-064 adapters active = true und lastInactive-ts minus lastActive-ts >= 21600 dann Hallo x, y oder z.. je nach dem, wer gerade nach hause gekommen ist.
die 21600 Sek. (6 Stunden) habe ich bewusst als bedingung genommen, um zu vermeiden, dass beim evtl. ein- und ausschalten des WLAN Adapters auf dem Gerät eine unnötige Begrüßung statt findet.
das problem was ich aktuell habe:
ich bekomme es nicht hin, dass das script erkennt, ob jetzt eine oder beide personen nach haus gekommen sind. somit stimmt auch die begrüßung nicht.
mein blockly sieht aktuell so aus:
bei dem aktuellen script ist das problem, dass er immer hallo x anstatt hallo z sagt, obwohl beide geräte gleichzeitig angekommen sind.
ich vermute mal, dass ich hier irgendwelche timer und stops setzen muss, da ja wahrscheinlich jene ansage zuerst aktiviert wird, welche als erstes eine wlan verbindung aufgebaut hat?!?
evtl. liege ich ja auch komplett falsch und es ist einfach umzusetzen als gedacht.. nur leider fehlt mir dazu die expertise.
deshalb wäre ich sehr dankbar wenn mir jemand weiter helfen könnte.
schon mal vielen dank in voraus.
-
Du kannst alles unter einem Trigger bauen
Verwende ruhig den ersten Trigger wo du die beiden Handys als Auslöser genommen hast.
Dann mach als erstes mal einen Timeout von z.B. einer Sekunde, damit der TR Adpatet beide Handys als Anwesend erkennen kann. Mit dem Timeout Wert evtl. noch ein wenig rumtesten.
Dann baust du drei Fans Prüfungen um die Ausgabe für alle Fälle zu realisieren.
1. Person A ist zu Hause,Person B nicht
2. A nicht zu Hause, B zu Hause
3. Beide zu Hause
-
Du kannst alles unter einem Trigger bauen
Verwende ruhig den ersten Trigger wo du die beiden Handys als Auslöser genommen hast.
Dann mach als erstes mal einen Timeout von z.B. einer Sekunde, damit der TR Adpatet beide Handys als Anwesend erkennen kann. Mit dem Timeout Wert evtl. noch ein wenig rumtesten.
Dann baust du drei Fans Prüfungen um die Ausgabe für alle Fälle zu realisieren.
1. Person A ist zu Hause,Person B nicht
2. A nicht zu Hause, B zu Hause
3. Beide zu Hause `
prima, danke Kuddel
das werde ich nachher mal testen.
ich gehe mal davon aus, dass du mit Fans Prüfungen falls Prüfungen meinst!?
frage mich gerade: stoppt der dann auch, sobald die erste abfrage, dass beide zu hause sind, wahr ist? oder muss ich da irgendwo noch sowas einbauen?
-
also wenn ich es richtig verstanden habe, dann sollte das so aussehen?
ich werde es nachher mal testen können und bescheid geben.
-
Ja das sieht gut aus.
Noch ein kleiner Tip: Rechtsklick auf alle "und" und dann auf externe Eingänge oder externer Eingang klicken (weiß gerade aus dem Kopf nicht wie das heißt).
Dann werden die Blöcke untereinander und übersichtlicher dargestellt.
-
Ja das sieht gut aus.
Noch ein kleiner Tip: Rechtsklick auf alle "und" und dann auf externe Eingänge oder externer Eingang klicken (weiß gerade aus dem Kopf nicht wie das heißt).
Dann werden die Blöcke untereinander und übersichtlicher dargestellt. `
tada
-
Hi,
ich habe hier mal fleißig mitgelesen.
Funktioniert das ganze bei Dir jetzt?
Könntest du das als Export zur Verfügung stellen. :?:
-
Hi,
ich habe hier mal fleißig mitgelesen.
Funktioniert das ganze bei Dir jetzt?
Könntest du das als Export zur Verfügung stellen. :?: `
hi toto,
ich teste das heute abend noch und wenn es funktioniert, dann kann ich dir das gerne zur verfügung stellen…
es sei denn du willst es jetzt schon zum testen haben wollen
-
Mal ne Frage:
Du fragst das Wlan der Handys ab richtig?
Kommt dann nicht die Begrüßung zu früh, also wenn ihr noch draußen seid? Bei mir zumindest verbindet sich mein Handy schon wenn ich in die Einfahrt komme, oder spätestens wenn ich vor der Tür stehe.
-
Problem hatte ich auch, musst ein Timeout einbauen.
Je nachdem wie lange du brauchst von draußen nach drinnen.
-
ich werde das Vorhaben bei mir auch nächste Woche umsetzten.
Ich habe an der Haustür einen Fensterkontakt und werde den als Trigger nehmen. Dann wird man wirklich erst begrüßt wenn die Haustür aufgeht.
-
Das ist natürlich ne super Sache.
Leider hab ich an sämtlichen Fenstern und Türen schon Kontakte von einer Alarmanlage, die ich aber wegen Rolling Code nicht nutzen kann. Und noch welche dazu pappen möchte ich auch nicht unbedingt.
-
stimmt.. eigentlich habe ich auch unten (wohnen in einer dachgeschosswohnung) schon empfang….
das muss ich natürlich auch mit berücksichtigen.
wäre natürlich cool, wenn der tr-064 adapter in zukunft die wlan signalstärke ablesen könnte..
-
Hi,
ich habe hier mal fleißig mitgelesen.
Funktioniert das ganze bei Dir jetzt?
Könntest du das als Export zur Verfügung stellen. :?: `
hi toto,
ich teste das heute abend noch und wenn es funktioniert, dann kann ich dir das gerne zur verfügung stellen…
es sei denn du willst es jetzt schon zum testen haben wollen `
Na dann warte ich mal ab und freu mich schon einmal. :lol:
-
Hi,
ich habe hier mal fleißig mitgelesen.
Funktioniert das ganze bei Dir jetzt?
Könntest du das als Export zur Verfügung stellen. :?: `
hi toto,
ich teste das heute abend noch und wenn es funktioniert, dann kann ich dir das gerne zur verfügung stellen…
es sei denn du willst es jetzt schon zum testen haben wollen `
Na dann warte ich mal ab und freu mich schon einmal. :lol: `
hm.. schein nicht so ganz zu funktionieren..
bin jetzt leider wieder außer haus..
versuche es heute abend nochmal
-
also irgendwie blick ich da nicht mehr durch…
benutze ich wie vorgeschlagen den timeout und setze diesen auf 1000ms tut sich garnichts mehr..
nehme ich den timeout raus funktionieren zumindest die letzten beiden abfragen
da es mit dem timeout nicht so ganz hingehauen hat, habe ich versucht das ganze nochmal von grund auf aufzubauen..
habe dann somit angefangen, einen trigger zu setzen und ohne abfrage (so minimalistisch wie nur möglich) das ganze aufzubauen.
wenn ich das mit den triggern richtig verstanden habe, dann wird mein trigger, wie im bild unten zu sehen nur ausgelöst, wenn beide zustände der object IDs von gerät A und gerät B true sind.
das funktioniert soweit auch.
sind beide Object IDs inactive, tut sich nichts
ist A alleine active tut sich nichts
ist B alleine active tut sich nichts
sind beide Obejct IDs an, wird der speak befehl ausgegeben
soweit so gut…
jetzt bin ich einen schritt weiter gegangen und habe eine bedingung eingebaut.
diese soll prüfen ob beide Geräte mindestens 10 sekunden lang inactive waren (später sollen es dann 6 Std. sein).
die abfrage, ob beide geräte active sind, spare ich mir, da dies bereits vom trigger abgefangen wurde...
das problem was jetzt besteht:
zum testen habe ich beide geräte abgeschaltet und nur eins von den geräten wieder aktiviert.
es hätte eigentlich keine rückmeldung von alexa erfolgen dürfen; doch leider wird, obwohl ein gerät inactive ist, die speak steuerung ausgelöst.
-
nimm mal einen anderen Trigger. den der auf Änderungen prüft. Das Skript soll ja bei jeder Änderung ausgelöst werden. Beim verlassen des Hauses zur sich durch seine Prüfung ja dann eh nichts
Ob die Werte wahr oder falsch sind prüfst du ja später noch
-
nimm mal einen anderen Trigger. den der auf Änderungen prüft. Das Skript soll ja bei jeder Änderung ausgelöst werden. Beim verlassen des Hauses zur sich durch seine Prüfung ja dann eh nichts
Ob die Werte wahr oder falsch sind prüfst du ja später noch `
meinst du so..?
das hilft leider auch nicht.. dort reagiert alexa auch, obwohl nur ein gerät active ist…
edit:
zusätzlich zu dem zahlenwert habe ich noch eine undverknüpfung hizugefügt, die abfragt, ob das gerät active ist, da der wert trotz deaktiviertem zustand größer gleich 10 sein kann.
hat aber leider dazu geführt, dass alexa jetzt garnichts mehr sagt, nach aktivieren beider geräte.
-
Da ich leider im Urlaub bin, kann ich selber nicht testen.
Vllt versuchst du erst einmal die Komplexität raus zu nehmen.
Sprich, prüfe mal nur ob dein Handy zu Hause ist.
Das mit der online Zeit, wie lange das Handy schon eingewählt ist, kommt dann später
-
Wie weit ist das Projekt gelaufen? Funktioniert es jetzt?
cu Deta