NEWS
HM IP Tür/Fensterkontakt Einbindung in Alexa
-
@ricroe Der Kontakt ist ja ausschließlich zum lesen, es ist keine Datenpunkt den man ansteuern kann, nur zur Ausgabe (info)
-
hab ich auch. es würde mir reichen wenn der kontakt in der alexa app erkannt wird als dieser. dann mache ich eine routine und zusammen mit dem briefkasten skill wäre alles tutti
-
Das ist schon alles was du brauchst.
Als Trigger Datenpunkt den Türkontakt, und als Ausgabe den Datenpunkt "speak" findest du dann unter der Alexa Instanz, etwa so ein Pfad: "alexa2.0.Echo-Devices.G090U50784370SWW.Commands.speak".Die 60 vor dem Text regelt die Lautstärke, wenn du die nicht definieren willst kannst du das auch weg lassen.
-
@ricroe Wie gesagt, ich glaube man kann nur Aktoren in IOT hinzufügen keine Sensoren.
-
@cinimod super danke probier ich aus
-
@cinimod funktioniert ! weißt du zufällig ob ich auch eine Pause einbauen kann für die Reaktion des HM IP ? Sprich wenn die Post da war, gehe ich vrsl. recht kurz danach hin und möchte nicht wieder den Hinweis bekommen. Somit wäre eine Meldepause von z.b. 8h cool
-
@ricroe sagte in HM IP Tür/Fensterkontakt:
@cinimod funktioniert ! weißt du zufällig ob ich auch eine Pause einbauen kann für die Reaktion des HM IP ? Sprich wenn die Post da war, gehe ich vrsl. recht kurz danach hin und möchte nicht wieder den Hinweis bekommen. Somit wäre eine Meldepause von z.b. 8h cool
Du könntest Dir in einem DP oder einer Variablen merken, dass die Meldung heute schon abgesetzt wurde.
Den DP oder die Variable setzt Du nachts wieder zurück.
Die Nachricht wird dann 1x versendet. -
@ricroe kannst du mal den Titel anpassen?
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
Ist jetzt die Frage ob du mehrfach Post bekommst, beispielsweise kommt die Zeitung um 5 Uhr, um 11 kommt Amazon mit einer kleinen Sendung die in den Briefkasten passt, dann kommt die Post ... usw.
Wo genau ist denn der Kontakt dran ? Reagiert der dann auch beim entnehmen der Post ... gibt ja etliche Arten von Briefkästen ....
Das mit der Sperrvariable ist ganz gut, aber da hast keine Variable Sperrzeit, eben nur eine Reduzierung auf eine Meldung am Tag. Wenn dir das so reicht würde ich es auch genau so lösen.
-
@ricroe
Die Tante kann doch auch reagieren, oder?
Man könnte ihr ja beibringen "Alexa, setze den Briefkastenmerker zurück"Wo genau ist denn der Kontakt dran ? Reagiert der dann auch beim entnehmen der Post ... gibt ja etliche Arten von Briefkästen ....
Das ist nicht unwichtig.
Wenn der Kontakt nur reagiert, wenn Post eingeworfen wird und nicht beim Entnehmen:
Der Trigger reagiert nur auf Änderungen. Du solltest also nur dann eine Nachricht erhalten, wenn jemand am Briefschlitz fummelt. Dann braucht's doch gar keine Pause. -
nee bei jedem öffnen löst der leider aus. geht bauartbedingt nicht anders beim briefkasten
-
@ricroe nochmals!
bitte pass den Titel sinnvoll an! -
-
Ok, wenn dir eine Meldung am Tag reicht, dann mach dir eine Sperrvariable und setze diese nachts wieder zurück so wie @Codierknecht es gezeigt hat.
Wenn nicht muss man sich überlegen ob man das mit einem Timeout löst, über einen langen Zeitraum ist das aber nicht so sinnvoll.
-
@ricroe hier deine Lösung, mit auch mehrfacher Auslösung am Tag, und ohne ellenlange Timeouts.
Musst eine datenpunkt "string" erstellen wo die Zeit zum entsperren rein geschrieben werden kann.
Und noch die Dauer der Sperre anpassen (aktuell 1Std.). -
@cinimod super, vielen dank ! habs soweit fertig aber wie kann ich den datenpunkt erstellen ? testensperzeit ist das in deinem beispiel ne ?
-
Unter Objekte, unter dem Verzeichnis "0_userdata" markierst du das Verzeichnis "0", dann kannst du oben auf das "+" drücken.
Dann wählst du oben Datenpunkt, als Typ in diesem Fall string, und dann bestimmst du die deine Ordnerstruktur, immer mit einem Punkt getrennt, und am ende den Namen des Datenpunkts.
-
@cinimod habs glaub ich gefunden mit dem datenpunkt. script ist aber noch fehlerhaft. hab ich was falsch gemacht ?
29.10.2022, 11:23:41.878 [info ]: javascript.0 (1319) Stop script script.js.common.Post 29.10.2022, 11:23:41.893 [info ]: javascript.0 (1319) Start javascript script.js.common.Post 29.10.2022, 11:23:41.908 [info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 29.10.2022, 11:23:41.911 [error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString') 29.10.2022, 11:23:41.912 [error]: javascript.0 (1319) at sperrzeit_aufheben (script.js.common.Post:6:34) 29.10.2022, 11:23:41.912 [error]: javascript.0 (1319) at script.js.common.Post:24:7 29.10.2022, 11:23:41.912 [error]: javascript.0 (1319) at script.js.common.Post:33:3 29.10.2022, 11:23:45.543 [info ]: javascript.0 (1319) Stop script script.js.common.Post 29.10.2022, 11:23:45.563 [info ]: javascript.0 (1319) Start javascript script.js.common.Post 29.10.2022, 11:23:45.574 [info ]: javascript.0 (1319) script.js.common.Post: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 29.10.2022, 11:23:45.576 [error]: javascript.0 (1319) script.js.common.Post: TypeError: Cannot read properties of undefined (reading 'toString') 29.10.2022, 11:23:45.577 [error]: javascript.0 (1319) at sperrzeit_aufheben (script.js.common.Post:6:34) 29.10.2022, 11:23:45.577 [error]: javascript.0 (1319) at script.js.common.Post:24:7 29.10.2022, 11:23:45.577 [error]: javascript.0 (1319) at script.js.common.Post:33:3
-
Schreib mal manuell eine zeit in den erstellten Datenpunkt in diesem Format: 11:30
Der Datenpunkt kann nicht gelesen werden weil er leer ist.
Die Funktion kannst du noch umbenennen in "sperre_aufheben" das macht mehr sinn. Für den Fall das du es von mir so übernommen hast.
-
@cinimod
wie/wo schreib ich das rein ?hier irgendwo ?