NEWS
*gelöst* Anwesenheitserkennung Alexa Begrüßung / Smartphone Deep Idle
-
Danke!
Hast du denn mal ausprobiert für beide Handys einen separaten Trigger zu verwenden? Das kann auch in einem Blockly sein.
Enrico
-
Eventuell solltest Du nur einen Text-Baustein nehmen mit der Verzögerung.
"Hallo, schön das du zu Hause bist"
Alexa macht durch das Komma eine Pause (denke, dass ist das was du mitunter willst).
Und dann würde ich den Ping Adapter nehmen, der zeigt true/false an, besser zu triggern und ist sehr zuverlässig.
Bin noch auf der Arbeit.
Kann nachher mal das einfache Skript posten.
Edit:
Wenn du es schneller brauchst , habe ich gerade gesehen, spuckt die Suchfunktion auch eine Menge Ergebnisse/Lösungen raus
-
So, nochmal nachgeschaut. Ist der TR-064 Adapter. Geht aber auch zuverlässig mit dem Ping Adapter. Ist ein Skript.
Bei X gibst du den genauen Datenpunkt ein. Unten die 10000 bedeuten 10sek Timeout bevor Alexa den Satz sagt. Kannst auch mehr oder weniger eingeben. Je nachdem wie lange du brauchst ins Haus zu kommen, damit du den Satz noch hörst
var timeout; on({id: 'tr-064.0.devices.XXXXXXXXX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Alexa Wohnzimmer timeout = setTimeout(function () { setState("alexa2.0.Echo-Devices.XXXXXXXXXX.Commands.speak"/*speak*/, (String(getState("tr-064.0.devices.XXXXXXXX").val ? 'Achtung, geiler Typ auf 12Uhr' : ''))); }, 10000); });
-
Habe jetzt das Skript so aufgebaut:
scheint jetzt auch so zu funktionieren wie angedacht.
Bin über den radar Adapter gegangen, weil ich gelesen hatte, dass der Ping Adapter mit dem Deepsleep der Handys probleme hat.
Forum suche habe ich natürlich benutzt und mich an den Scripten orientiert, dachte auch zuerst ich hätte alles richtig aufgebaut. Nur hat es eben mit einem Trigger und zwei Objekten nicht ganz geklappt.
Ohne Vorlagen die ich hier im Forum finde wäre ich schon längst gescheitert.
Hätte aber noch ein weiteres "Problem", welches auch mit der Anwesenheit zusammenhängt.
Habe noch ein Script laufen, welches nur auf meine Anwesenheit prüft, wenn true dann schalte X Geräte an.
Nun ist dieses Script trotz Anwesenheit heute Nacht irgendwann ausgelöst worden. Als ich heute Morgen also aufgestanden bin, war mein Arbeitsplatz beleuchtet und die Geräte am laufen. Kann das damit zusammenhängen, dass ich um 5 Uhr Morgens einen automatischen Reboot vom Raspi mache und iobroker neu starte?
Ich meine irgendwo gelesen zu haben das eigentlich bei einem Reboot die Werte in einer Datei abgespeichert werden und dementsprechend wieder gesetzt nach dem Hochfahren.
P.s.:
Wenn ich mehrere Geräte steuere, sagen wir mal 5 bis 6, funktioniert dann 1 Trigger oder lieber aufteilen mit mehreren Trigger Befehle?
-
Wo hast du das Skript gespeichrt?
Erscheint es bei ScriptEnabeld in den Objekten?
-
ja, das Script erscheint unter javascript.0/scriptEnabled/common
Ich habe nur zwei weitere Datenpunkte welche einfach unter javascript.0 liegen. Ist das ein Problem für die Scripte?
Einmal ein Datenpunkt, welcher die allgemeine Anwesenheit steuert und einmal ein Script um den Fernseher per WakeOnLan anzuschalten.
-
Skriptexperte bin ich jetzt nicht, aber ich meine, dass genau dieser Speicherort dafür sorgt , dass es beim einem Neustart zu dem Phänomen bei dir kommt.
Da muss sich hier jemand melden, der sich mit Skripen besser auskennt.
paul53 oder wendy2702 sind ganz firm in sowas.
-
@knx:P.s.:
Wenn ich mehrere Geräte steuere, sagen wir mal 5 bis 6, funktioniert dann 1 Trigger oder lieber aufteilen mit mehreren Trigger Befehle? `
Wenn du meinst, dass du mehrere Geräte einschalten möchtest, geht das auch mit einem Trigger.
@knx:Habe noch ein Script laufen, welches nur auf meine Anwesenheit prüft, wenn true dann schalte X Geräte an.
filename="da.png" index="0">~~
Nun ist dieses Script trotz Anwesenheit heute Nacht irgendwann ausgelöst worden. Als ich heute Morgen also aufgestanden bin, war mein Arbeitsplatz beleuchtet und die Geräte am laufen. Kann das damit zusammenhängen, dass ich um 5 Uhr Morgens einen automatischen Reboot vom Raspi mache und iobroker neu starte?
Ich meine irgendwo gelesen zu haben das eigentlich bei einem Reboot die Werte in einer Datei abgespeichert werden und dementsprechend wieder gesetzt nach dem Hochfahren. `
Es kommt hier auch auf deine Einstellungen im Radar-Adapter an. Es ist durchaus möglich, dass du kurz abwesend warst, das kannst du in den Objekten prüfen, wann die letzte Änderung war.
Zu dem Thema, ob es auch beim Neustart dazu kommen kann, müssen sich die schon erwähnten Experten melden.
Enrico
-
Genau das meinte ich, mir hat sich halt nur die Frage gestellt, ob es für ioBroker eventuell besser ist den Trigger Befehl öfter auszuführen und "kleine kompakte" Einheiten nacheinander Triggern zu lassen.
Radar Adapter setzt erst nach 5 Minuten auf Abwesend, denke die Einstellungen passen da. Finde unter Objekte keine Möglichkeit zu schauen wann die letzte Änderung war.
Ich beobachte einfach mal weiter, was heute Nacht passiert.
p.s.:
Hast du vielleicht noch einen Tip wegen dem Scriptspeicherort? Muss ich mit meinen ganzen Scripten nun wirklich in einen anderen Ordner ziehen? Weil wenn es denn so ist, dann lieber jetzt wo es mit 12 Scripten noch übersichtlich ist.
Vielen Dank schon mal an alle.
-
@knx:Kann das damit zusammenhängen, dass ich um 5 Uhr Morgens einen automatischen Reboot vom Raspi mache und iobroker neu starte? `
Nein. Trigger lösen bei einem Neustart nicht aus.Wenn allerdings der Radar-Adapter bei Neustart erst false und später true erzeugt, dann wird getriggert. Den Zeitpunkt der letzten Änderung kannst Du sehen, wenn Du im Reiter "Objekte" mit dem Mauszeiger über den Wert des Datenpunktes fährst.
-
@knx:Muss ich mit meinen ganzen Scripten nun wirklich in einen anderen Ordner ziehen? `
Nein. Unter der Gruppe common ist in Ordnung. -
alles klar, werde ich Morgen früh mal schauen was passiert und berichten.
Danke für die Antwort, die zwei anderen Scripte einfach untern javasdcript.0 sind auch in Ordnung?
-
@knx:die zwei anderen Scripte einfach untern javasdcript.0 sind auch in Ordnung? `
Ja. Hauptsache <u>nicht</u> unter der Gruppe global ! -
@knx:Radar Adapter setzt erst nach 5 Minuten auf Abwesend, denke die Einstellungen passen da. Finde unter Objekte keine Möglichkeit zu schauen wann die letzte Änderung war. `
Die Zeit spielt zwar auch eine Rolle, aber auch die Anzahl der Nichterkennungen sollte sinnvoll für den Verwendungszweck (und auch zur Störungsvermeidung) gewählt werden. Ich habe z.B. ein Intervall von 50s und wenn das 5x negativ war, ist derjenige abwesend. Hatte erst mit 30s probiert da gab es aber immer wieder Störungen.
Die letzte Änderung kannst du erkennen, wenn du in der Objektliste über den Status mit der Maus drüberbleibst (Mausover heißt das glaub ich) und einen Moment wartest, dann wird dir ein kleines Fenster angezeigt, wo u.a. die letzte Änderung drinsteht.
Enrico
-
Guten Abend oder Nacht,
gerade ist das Script losgegangen und alles wurde ausgeschaltet.
Status des Adapters wurde auch um diese Zeit geändert.
Hier meine Adaptereinstellungen:
Und hier zwei Screenshots vom Log:
!
Weiß leider noch nicht wie ich den Downgeloadeten Log auf meinen Windows Rechner bekomme, deswegen die Screens, sollte das ein Problem sein, werde ich das die Tage nachholen.
-
@knx:gerade ist das Script losgegangen und alles wurde ausgeschaltet.
Status des Adapters wurde auch um diese Zeit geändert. `
Was fragst du eigentlich mit Radar ab, Bluetooth oder IP? Bei IP hast du natürlich das gleiche Problem wie mit TR064-Adapter usw!
Die log-Datei kannst du ja im Admin downloaden und dann einfach darin den Text kopieren, den du anzeigen willst um den dann im Forum usw. einfügen. Ne andere Variante wäre z.B. per WinSCP die Datei direkt runterzuladen, diese kannst du dann z.B. mit dem Texteditor von Windows öffnen.
Enrico
-
letzter Post für heute Nacht von mir.
Über Radar Frage ich IP, MAC und Bluetooth ab, also alle Optionen. Wobei ich MAC Adresse erst seit gerade eben abfrage, da ich arp-scan erst soeben installiert habe, damit es funktioniert.
Werde mal schauen ob die zusätzliche MAC Adresse abhilfe schafft.
Beim Download geht mein Log irgendwie nur bis knapp 23:40 die letzten 20Minuten fehlen irgendwie, kann es also nicht ganz nachreichen.
-
Nur zur Begrüßung: hab zur Zeit 4 verschiedene Texte die zufällig abgespielt werden. Wenn Deine Frau/Freundin nach Hause kommt kannst Du ja eigene Begrüßungen definieren.
-
Moin,
also das Script ansich ist mittlerweile nicht mehr das Problem.
Sondern das er den Anwesenheitsstatus im Radar nicht behalten wird, irgenwann wird wieder neu gescanned weil er den Wert verliert.
Log:
Script welches die Geräte steuert wurde nur einmal neu geladen und zwar um 5Uhr, dort mache ich einen automatischen iobroker shutdown und raspberry neustart.
Wert wurde um 7:21 das letzte mal geändert.
Bin ein bisschen Ratlos, soll ich eventuell mal den tr-064 Adapter probieren?
Gruß und einen angenehmen Morgen.
-
Das sage ich Dir schon seit gestern