NEWS
Licht mit BWM schalten aber mit Prio auf Alexa Befehl
-
Hallo zusammen,
ich benötige wieder einmal eure geschätzte Unterstützung.Ich habe ein Blockly bei dem durch einen BWM das Licht angeschaltet wird und das nach einer gewissen Zeit wieder aus geht.
Schalte ich das Licht VOR dem BWM über Alexa ein bleibt es dauerhaft an.
Was ich aber gerne hätte ist, dass wenn der BWM das Licht an gemacht hat und ich Alexa sage: "Licht Wohnzimmer an" dieses auch dauerhaft an bleibt. Aktuell ist es so das es wenn es durch den BWM an gemacht wurde auch durch diesen wieder aus geht.
Im Moment ist es halt unpraktisch, man geht ins WZ, das Licht geht an, man weis aber das man im WZ bleiben wird und muß erst warten das das Licht aus schaltet um es dann wieder mit Alexa dauerhaft einzuschalten.Habt ihr da eine Idee? Am besten mit beispiel sonst bekomme ich das wieder nicht auf die Reihe.
Gruß Duffy
-
Ich versuche das Script mal zu interpretieren.
Das Objekt Occupancy steht für den Status des Bewegungsmelders. Der schaltet auf true wenn eine Bewegung erkannt wird und nach einer gewissen Zeit wieder auf false.Bei dieser Logik wird der Aufruf durch Alexa aber nicht getriggert und damit auch nicht erkannt. Denn Auslöser für den Ablauf ist ja nur der Bewegungsmelder.
Wenn Alexa was auslösen soll, dann muss Alexa eben auch getriggert werden.
Die Logik muss also genau anderesherum sein:
Wenn Alexa aufgerufen wird, dann prüfe auf Occupancy. Ob natürlich der Prozess des Bewegungsmelders überstimmt werden kann weiß ich nicht. Gegebenenfalls würde ich auf Wechsel der Occupancy von true auf false prüfen und je nachdem, ob noch ein Alexa-Befehl pending ist, die Lampe wieder einschalten. -
Danke das du dir das mal angesxchaut hast. Ich befürchte nur das ich mit der Umsetzung scheitern werde, auch das aktuelle Blockly ist nicht auf meinem Mist gewachsen ;-(
Kannst du mir das evtl in form von einem Blockly zeigen?
Gruß Duffy
-
Kannst du mir das evtl in form von einem Blockly zeigen?
Schwierig. Ich habe kein Alexa und kenne auch die zu steuernden Datenpunkte nicht.
-
OK Schade, ich habe nun zwar schon x Blockly Clips angeschaut aber so richtig klappt das bei mir noch nicht.
Gruß Duffy
-
Das Script selber schaltet ja die Lichter nur aus, wenn sie durch den Bewegungsmelder angeschaltet wurden
Es wäre interessant zu wissen, was
bedeutet. Denn eigentlich kann bwmAngeschaltet ja durch den Bewegungsmelder auch gesetzt werden - ja, wenn diese Bedingung nicht wäre. Es sieht so aus, dass wenn Alexa das Licht eingeschaltet hat, diese Bedingung (und die drei weiteren, eigentlich überflüssigen Bedingungen) die Durchführung dieses Zweigs verhindert. Von der Wortbedeutung wird eine Helligkeitsstufe geprüft. Nur wenn sie kleiner als 9 ist, schaltet der BWM tatächlich. Vermutlich ist sie bei Alexa immer größer als 9.Nur, um eine Idee zu geben, wie es funktionieren könnte, hier eine Beispiel:
Das Attribut bwmAngeschaltet ist ein Datenpunkt, der von der Alexa-Routine und von der Routine des Bewegungsmelders beschickt wird.
Der Datenpunkt AlexaOn steht für einen von Alexa auszulesenden Datenpunkt - wie immer der heißen mag. Alexa überstimmt immer den Bewegungsmelder. Die sonstigen Aktionen aus Alexa habe ich nicht eingeführt - im Zweifel werden wohl dieselben Schalter gesetzt wie beim Bewegungsmelder. -
Hi gombersiob,
Ich werde deinen Vorschlag einmal versuchen umzusetzen.
Das ist ein separater Lichtsensor der verhindert das durch den Bewegungsmelder auch das Licht eingeschaltet wird wenn es in dem Raum Tag hell ist.
Das Blockly habe ich aus dem iobroker Grundkurs und dort wurde es so vermittelt das ein Taster Priorität vor dem BWM hat.
Sprich, wenn ich den Taster drücke bevor der BWM reagiert hat macht der BWM nichts mehr und das Licht bleibt an, ebenso wenn ich das über Alexa sage. (Im Kurs war von Alexa nicht die Rede das hatte ich einfach mal versucht)Um Alexa mal außen vor zu lassen, wäre es ja schon mal ein Ansatz wenn ich mit dem Taster das ausschalten des Lichts verhindern könnte wenn es zuvor durch den BWM angeschaltet wurde.
Aber jetzt setze ich erst mal Deinen Vorschlag um und melde mich dann wieder.
Vielen Dank aber schon jetzt für Deine Mühe.
Gruß Duffy
-
@duffy said in Licht mit BWM schalten aber mit Prio auf Alexa Befehl:
Das ist ein separater Lichtsensor der verhindert das durch den Bewegungsmelder auch das Licht eingeschaltet wird wenn es in dem Raum Tag hell ist.
Das würde ja zu meiner Erklärung passen. Wenn Alexa das Licht eingeschaltet hat dann spricht der Sensor an und der Bewegungsmelder bekommt keine Kontrolle mehr.
Danach würde das Script jetzt so aussehen (der Lichtsensor wird wieder, wie gehabt, abgefragt):
-
@duffy sagte: mit dem Taster das ausschalten des Lichts verhindern
Wie soll danach der BWM wieder freigegeben werden?
-
Wie soll danach der BWM wieder freigegeben werden?
Ich verstehe die Frage nicht. Was heisst „freigeben“? Wenn über den Taster (oder Alexa) eingeschaltet wird, muss darüber auch ausgeschaltet werden. Dieses „Überstimmen“ war aber nur halb umgesetzt - es wird nur überstimmt, wenn der Taster auch eingeschaltet hat.
Der Bewegungsmelder setzt einen Datenpunkt Occupancy auf true wenn die Bewegung erkannt ist und auf false wenn sie weg ist. Das wars, soweit ich das hier begriffen habe.
-
@gombersiob sagte: Wenn über den Taster (oder Alexa) eingeschaltet wird, muss darüber auch ausgeschaltet werden.
Also soll der Taster umschalten?
@Duffy Dann versuche es mal so: -
Wo ist hier jetzt der Unterschied zu meinem Vorschlag?
-
@gombersiob sagte: Wo ist hier jetzt der Unterschied zu meinem Vorschlag?
In der Variablen
manuellEin
, die bei Tastendruck toggled und bei "Ein" den BWM sperrt. -
@paul53
Ich habe das bereits eingeführte Flag bwmAngeschaltet benutzt, um umgekehrt den Status des Bewegungsmelders anzuzeigen. Einen wirklichen logischen Unterschied sehe nicht. -
@gombersiob sagte: Einen wirklichen logischen Unterschied sehe nicht.
Das kann sein, denn mit Alexa kenne ich mich nicht aus.
-
Das kann sein, denn mit Alexa kenne ich mich nicht aus.
Das hat doch jetzt mit Alexa nichts zu tun. Ob man den zweiten Schalter nun Alexa nennt oder Taster, ändert doch an der Logik nichts.
Es ist ja auch in Ordnung, wenn Du mein Programm nicht (richtig) gelesen hast und ein eigenes geschrieben hast.
Ich hab mich nur vergeblich bemüht, meinen Fehler zu finden. Man möchte ja gerne immer noch dazulernen. -
Hallo paul53 und gombersiob,
vielen Dank für Eure Mühe. Ich bin jetzt gerade dran und versuche die Vorschläge umzusetzen. Das erste Script was ich umgesetzt habe von Paul53 scheint bei den Tests mit Schalter zu funktionieren. Mit Alexa ging noch nicht und zu allem Überfluss ist jetzt auch noch mein tägliches Kontingent an Befehlen für Alexa zuende gegangen. Ich werde mal weiter kämpfen und mich auf jeden Fall wieder melden.
So weit erst mal der Zwischenstand.
Viele Gruße Duffy
-
Guten Abend,
das Script sieht jetzt mal so aus, im Grunde wie von Paul53 vorgeschlagen.
Beim Script von @gombersiob bin ich in sofern nicht weiter gekommen da ich bei Alexa keine Punkte finden konnte die mir True und False ausgeben.Das Script läuft jetzt so weit, allerdings auch nur mit Taster, Alexa wird beim eingeschalteten BWM ignoriert.
Soll heißen, ich kann das Licht über Alexa ein /aus schalten, aber das Abschalten durch den BWM nicht abbrechen.
Wenn ich die Lichter über Alexa einschalte so geschieht das über den iot Adapter der über die Sprache die Lampen einschaltet aber keine Datenpunkte zur Verfügung stellt.
Also dachte ich mir zusätzlich zum Taster nehme ich auch noch eine Steckdose die beim Einschalten des Lichts ebenfalls betätigt wird um ein Signal parallel zum Taster zu haben. Leider ging das voll in die Hosen Die Steckdose entwickelte sich akustisch zum Maschinengewehr und eine Error Meldung wurde ausgegeben das über 1000 Befehle in der Min. anliegen würden und ich solle das Skript prüfen.
Ja das war Jugend forscht auch wenn die Jugend schon etwas hin ist.Seht ihr noch eine andere Möglichkeit?
Notfalls muß ich halt den Taster drücken ging vor 100 Jahren ja auchGruß Duffy und danke noch mal für Eure Mühe
-
@duffy sagte: Seht ihr noch eine andere Möglichkeit?
Versuche mal, die Variable
Manuell ein
so zu setzen:Das funktioniert aber nicht, wenn das Licht bereits durch den BWM eingeschaltet wurde. Was steht bei from, wenn das Licht per Alexa eingeschaltet oder wenn per Alexa der Datenpunkt aktualisiert wurde.
-
Guten Abend Paul53
Das Skript sieht nun folgendermaßen aus und ich habe noch einige Debugs eingebaut und ganz oben einen Reset der Variablen rein gemacht weil das Skript manchmal gestolpert ist, ich hoffe das richtig gemacht zu haben.
Nun habe ich das Skript neu gestartet und den BWM ausgelöst:
Licht ging an und wieder aus.
Nun habe ich das Skript wieder neu gestartet Alexa Licht "AN" und nach einer Zeit Alexa Licht "AUS" gesagt
Licht ging an und nach dem Befehl zu Alexa wieder aus.
Nun habe ich das Skript neu gestartet und den BWM ausgelöst und gesagt Alexa Licht "AN"
Hier kommt nun kein Signal von der Lampe, ich vermute, (habe ja keine richtige Ahnung) weil sie ja schon auf True ist und deshalb kein Befehl mehr kommt. Der Befehl Lampe an wurde nach 19:24:38 geagt und vor 19:25:13.
Die Lampe ging nach der eingestlleten Zeit wieder aus.
Nun habe ich einfach mal im unteren "Falls Objekt" - "wurde aktualisiert" rein gemacht.
Jetzt wieder den BWM ausgelöst und an der roten LInie im Bild Alexa "AN" gesagt:
Das Licht blieb bei dem Versuch an. Nur kommt halt der Debug Befehl immer Doppelt. Macht das was oder kann man da noch etwas optimieren? Bin auf jeden fall schon ganz Glücklich so weit zu sein. Ich verstehe im unteren Teil zwar nichts mehr aber da scheine ich mich ja auch schon in der Profiliga zu bewegen.
Gruß Duffy