Hallo zusammen, kann mir evtl jemand behilflich sein, wie ich eine Abfrage in ioBroker erstellen kann, damit mir ALEXA auf Nachfrage sagen kann welches Fenster ggf. noch geöffnet ist bzw. ob alle Fenster geschlossen sind?
-
- Go to Best Answer
-
Wie ist Dein derzeitiger Stand bzgl. Alexa <--> Livisi, ist der Livisi home skill installiert? Wenn ja, könntest Du in Livisi einen Zustand "alle Fenster geschlossen" anlegen und den mit einem Szenario schalten. Der lässt sich dann mit Alexa abfragen.
-
Der LIVISI Adapter ist installiert ja.
Habe auch einen Zustand in der SHC2.0 "Alle Fenster geschlossen" aber wie kann man das sinnvoll abfragen
-
So, hab mal was gebastelt, scheit sogar zu funktionieren
Ich habe eine Alexa Routine angelegt, "sind noch Fenster offen". Da lasse ich Alexa nur sagen: "Moment, ich schau mal nach" Diese Routine nehme ich als Trigger für folgendes Blockly:
Alexa sagt dann von jedem dieser 3 Fenster ob sie offen oder geschlossen sind.
-
-
Schaue dir das mal an
https://github.com/xCruziX/ioB…lob/master/CreateAlias.js
funktioniert bei mir super allerdings mit Homematic
-
-
Ich habe das so gelöst, dass ich mit OH ein Switch-Item "Alexa_Info_Fenster" an Alexa veröffentlicht habe. In der Alexa-App habe ich eine eine "Routine" erstellt, die sinngemäß so funktioniert:
Wenn "Alexa, welche Fenster sind geöffnet?" dann "Alexa_Info_Fenster" einschalten.
In OpenHAB gibt es eine Rule, die beim Einschalten von "Alexa_Info_Fenster" dann eine Sprachausgabe zurückschickt (Amazon-Echo-Control-Binding).
Die Rule sieht so aus:
Code
Display Morerule "Alexa Info Fenster" when Item Alexa_Info_Fenster changed to ON then Alexa_Info_Fenster.postUpdate(OFF) FensterOffen=0 FensterOffenName="" FensterOffenListe="" AlexaText="" GR_Fenster.members.forEach(MyItem| if (MyItem.state == OPEN){ FensterOffen=FensterOffen+1 FensterOffenName=MyItem.label.toString FensterOffenListe=FensterOffenListe + FensterOffenName + ", " } ) GR_Tueren.members.forEach(MyItem| if (MyItem.state == OPEN){ FensterOffen=FensterOffen+1 FensterOffenName=MyItem.label.toString FensterOffenListe=FensterOffenListe + FensterOffenName + ", " } ) FensterOffenListe=FensterOffenListe.replace(FensterOffenName + ", ", " und " + FensterOffenName + ".") switch(FensterOffen){ case 0 :{AlexaText = "Es sind keine Fenster oder Türen geöffnet."} case 1 :{AlexaText = FensterOffenName + " ist offen."} default :{AlexaText = "Es sind folgende " + FensterOffen + " Fenster oder Türen geöffnet. " + FensterOffenListe} } Echo_Wohnzimmer_TTS.sendCommand(AlexaText) end
Hierzu muss man noch die benötigten Gruppen usw. in OpenHAB anlegen. Man kann dies allerdings aus dem Code entnehmen. Also nichts für blutige Anfänger.
Gruß Ralph
-
Habe ich so mal gemacht, funktioniert auch soweit, Danke.
Aber meine SHC2.0 möchte den Zustand nicht wieder auf NEIN setzen. Der wechsel auf JA funktioniert super.
Was habe ich da wieder falsch gemacht?
-
Unten fehlt ein Gerät in der Bedingung....12 statt 13
-
Habe ich so mal gemacht, funktioniert auch soweit, Danke.
Prima, freut mich sehr
-
Unten fehlt ein Gerät in der Bedingung....12 statt 13
Das habe ich angepasst, aber es geht trotzdem nicht.
Auch eine 2 Sek Verzögerung zwischen schließen und geschlossen, funktioniert nicht.
-
Prima, freut mich sehr
Eine Frage noch wie bringe ich nun ALEXA dazu, dass dieses Skript aktiviert wird?
Momentan läuft es ja immer wenn ein Fenster geöffnet wird.
-
Eine Frage noch wie bringe ich nun ALEXA dazu, dass dieses Skript aktiviert wird?
Momentan läuft es ja immer wenn ein Fenster geöffnet wird.
Du musst eine Alexa Routine anlegen, bei mir heisst die "sind noch Fenster offen".
Da lasse ich Alexa nur sagen: "Moment, ich schau mal nach", kann aber auch irgend was anderes sagen, oder auch nix. Aber diese Routine nehme ich als Trigger für das Blockly. Du findest die Routine im Alexa Adapter unter Echo-Devices/≤deine Alexa≥Routines, schau:
-
Du musst eine Alexa Routine anlegen, bei mir heisst die "sind noch Fenster offen".
Da lasse ich Alexa nur sagen: "Moment, ich schau mal nach", kann aber auch irgend was anderes sagen, oder auch nix. Aber diese Routine nehme ich als Trigger für das Blockly. Du findest die Routine im Alexa Adapter unter Echo-Devices/≤deine Alexa≥Routines, schau:
Oh mann, danke jetzt funktioniert es. Nun müsste man eigentlich nur noch dafür sorgen, dass von jeder Alexa dieses Skript ausgeführt werden kann. Und das das Vorlesen/Aufzählen besser klingt.
z.B. Das Fenster im Bad, das Fenster im Büro und die Balkontür sind noch offen
-
ich hab' das inzwischen auch hinbekommen, auch die Auswahl des richtigen Echo-Dot und die Verschönerung des Textes. Im Anhang ein Blockly-Exportfile mit meiner Lösung, vielleicht hilft es Dir weiter.
-
ich hab' das inzwischen auch hinbekommen, auch die Auswahl des richtigen Echo-Dot und die Verschönerung des Textes. Im Anhang ein Blockly-Exportfile mit meiner Lösung, vielleicht hilft es Dir weiter.
Was sind das für STATES die du mit 0 oder 1 setzt/abfragst?
-
meinst Du z.B. "Türsensor Terrassentür" - das sind hmip-Tür-/Fenstersensoren, die über ioBroker in das System eingebunden sind.
Falls Du die roten Ausdrücke (z.B."Anzahl offene Fenster") meinst, das sind lokale Variable, die direkt in Blockly deklariert werden.
-
meinst Du z.B. "Türsensor Terrassentür" - das sind hmip-Tür-/Fenstersensoren, die über ioBroker in das System eingebunden sind.
Falls Du die roten Ausdrücke (z.B."Anzahl offene Fenster") meinst, das sind lokale Variable, die direkt in Blockly deklariert werden.
Ja genau die lila Felder 0/1 was machen die? ist das auch nur für offen/zu oder zählt er damit irgendwas?
Dann noch eine Frage bei dir schreibt er so schön: "innogy-smarthome.1.Gästetoilette.Fenster-Gästetoilette.IsOpen"
bei mir steht da immer nur "IsOpen"
wie kann man das einstellen im ioBroker
0
0
-
Ja genau die lila Felder 0/1 was machen die? ist das auch nur für offen/zu oder zählt er damit irgendwas?
Das dient dazu, den Text festzulegen: Anzahl offene Fenster > 1 - "sind noch offen", Anzahl offene Fenster = 1 - "ist noch offen" . Die genaue Anzahl > 1 ist dabei unwichtig.
bei mir steht da immer nur "IsOpen"
wie kann man das einstellen im ioBrokerIndem man im innogy Adapter an der entsprechenden Stelle den Bezeichner ändert. Allerdings scheint das immer nur bis zum nächstrn Neustart des innogy-Adapters Bestand zu haben, habe es noch nicht dauerhaft hinbekommen.Hab mir's gerade noch mal angesehen: Wahrscheinlich kommt es daher, dass die Bezüge zu den Datenpunkten beim Import in Dein System ja nicht da sein können. Deshalb nimmt ioBroker dann die Texte aus dem Exportfile. Wenn ich das bei mir wieder importiere, steht auch nur "is open" oder so Zeug, d.h. die Texte werden durch die Bezeichner aus den Datenpunkten ersetzt.
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!