NEWS
CCU2-Programm mit Alexa und IOBroker schalten
-
Hallo!
Ich möchte gern dass Alexa für das Keyword Kino ein CCU2 Programm ausführt.
Dazu ist in der CCU2 eine vierkanal Fernbedienung vorhanden welche auf Tastendruck ein CCU2 Programm ausführt.
Das Programm sieht so aus:
Wenn FB Knopf 1 kurz
und
Funksteckdose aus
dann
1.) die Beleuchtung herunter dimmen (Homematic Dimmaktoren)
2.) die Rollläden herunter fahren (Homematic Rolladenaktoren)
3.) eine Funksteckdose einschalten (Homematic Funksteckdose)
4.) etwas warten
5.) Einen AV-Receiver einschalten (Script)
6.) etwas warten
7.) den richtigen Eingangskanal des AV-Receivers schalten (script)
8.) die Lautstärke auf "Kinolautstärke" hoch setzen (script)
9.) Variable Heimkino auf true setzen (Homematic Variable)
sonst
1.) Variable Heimkino aus (Homematic Variable)
2.) AV-Receiver Lautstärke auf 40 setzen (script)
3.) AV-Receiver ausschalten (script)
4.) Funksteckdose aus schalten (Homematic Funksteckdose)
Per Fernbedienung klappt das alles. Taste 1 auf der FB bei ausgeschaltetem Heimkino schaltet es ein und ein erneuter Druck auf Taste 1 der FB schaltet das Heimkino aus.
Um das CCU2-Programm ausführen zu können habe ich die Fernbdienungstasten in IOBroker über den Cloud Adapter mit Alexa bekannt gemacht und Kino benannt.
"Alexa Kino ein" schaltet bei ausgeschaltetem Heimkino das Heimkino ein. Wenn dieser Befehl nochmals abgesetzt wird "Alexa Kino ein", dann schaltet Alexa das Kino aus.
Ich möchte also folgendes erreichen:
"Alexa Kino ein" -> Kino wird eingeschaltet, wenn ausgeschaltet, sonst macht Alexa nix
"Alexa Kino aus" -> Kino wird ausgeschaltet, wenn es angeschaltet ist, sonst macht Alexa nix
Bei einem Lichtschalter oder einer Funksteckdose funktioniert das wohl sehr einfach weil dort State genommen wird.
Muss ich dafür zwei Programme in der CCU erstellen?
Ich steh da grad echt auf dem Schlauch.
Ich möchte die Programme gern weiterhin auf der CCU-2 laufen lassen und (noch) nicht über IOBroker.
Danke und schöne Grüße
Mercy
-
Kannst Du da keine Szene verwenden?
"Alexa Kino an" schaltet Szene ein.
"Alexa Kino aus" schaltet Szene aus.
Die "Szene" sollte dann deine CCU antriggern können? Also den "Button" drücken?
So in der Art funktioniert es bei mir. (mit IOBroker)
-
Hallo Frank!
Danke für deine Antwort.
Das würde bedeuten ich muss die Logik der Heimkino Szene in IOBroker nochmals abbilden?
Das möchte ich nicht, die CCU-2 soll die komplette Logik behalten, IOBroker soll für die Visualisierung
anderer Geräte (MiLight, Yamaha MusicCast, etc) verwendet werden, aber nicht Teile oder die komplette Logik der CCU-2 übernehmen.
Gruß Mercy
Kannst Du da keine Szene verwenden?
"Alexa Kino an" schaltet Szene ein.
"Alexa Kino aus" schaltet Szene aus.
Die "Szene" sollte dann deine CCU antriggern können? Also den "Button" drücken?
So in der Art funktioniert es bei mir. (mit IOBroker) `
-
Das würde bedeuten ich muss die Logik der Heimkino Szene in IOBroker nochmals abbilden? `
Nein!Das war zwar auch meine erste Idee aber ich dachte mir schon, dass du eventiell
@Mercyful:Das möchte ich nicht, `
sagen könntest.Die ioBroker Szene muss nur zwei Befehle enthalten, die von Alexa als ein Befehl mit den Otionen an oder aus angesprochen wird.
Diese Befehle sind die virtuelle taste, die dein CCU-Programm auslöst, da Alexa kein toggle kann, sondern immer an und aus braucht.
Gruß
Rainer
-
Hallo Homoran!
Danke für deine Antwort!
Nochmal für doofe (also mich)
Ich erstelle zwei Szenen, "Kino an" und "Kino aus"
Beide Szenen triggern die Taste auf der CCU-2 (in diesem Fall Taste 1 lang auf der Homematic FB)?
Dann macht es aus meiner Sicht mehr Sinn insgesamt drei Programm zu haben. Eines welches über die Fernbedienung das Heimkino ein- und ausschaltet (so wie bisher, siehe Anhang) und zwei weitere Programm, eines dass das Heimkino ein- und eines dass das Heimkino ausschaltet (das vorhandene Programm einfach in zwei Programme aufteilen).
Diese dann in den Cloud Adapter holen und "Kino an" und "Kino aus" benennen.
Wäre das etwas?
Gruß Mercy
Das würde bedeuten ich muss die Logik der Heimkino Szene in IOBroker nochmals abbilden? `
Nein!Das war zwar auch meine erste Idee aber ich dachte mir schon, dass du eventiell
@Mercyful:Das möchte ich nicht, `
sagen könntest.Die ioBroker Szene muss nur zwei Befehle enthalten, die von Alexa als ein Befehl mit den Otionen an oder aus angesprochen wird.
Diese Befehle sind die virtuelle taste, die dein CCU-Programm auslöst, da Alexa kein toggle kann, sondern immer an und aus braucht.
Gruß
Rainer `
2465_programm_homekino.jpg -
Ich erstelle zwei Szenen, "Kino an" und "Kino aus" `
eben nicht, dann hättest du das gleiche Problem.Du erstellst ein Szene "Kino".
Diese wird von Alexa als true oder false geschaltet.
In den States der Szene setzt du, wenn ich dein Konstrukt richtig verstanden habe, beides mal die gleiche virtuelle Taste Press_short, die dein Programm auslöst.
Die weitere Logik findet dann ja in deinem Programm statt.
Gruß
Rainer
-
Hi,
seit einiger Zeit kann man ja auch direkt mit der Alexa App Routinen erstellen. Eventuell wäre das ja auch ein Ansatz. Nur mal so als Anregung.
LG
-
Hi lesiflo!
@lesiflo:Hi,
seit einiger Zeit kann man ja auch direkt mit der Alexa App Routinen erstellen. Eventuell wäre das ja auch ein Ansatz. Nur mal so als Anregung.
LG `
Ja, ist eine Anregung, aber ich möchte nicht zu viele verschiedene Systeme gleichzeitig konfigurieren, im Falle eines Bugs wird die Suche schwieriger.
Daher nur Homematic und IOBroker und eben die Schnittstelle zu Alexa.
Gruß Mercy
-
Moin Rainer!
@Homoran:Ich erstelle zwei Szenen, "Kino an" und "Kino aus" `
eben nicht, dann hättest du das gleiche Problem.Du erstellst ein Szene "Kino".
Diese wird von Alexa als true oder false geschaltet.
In den States der Szene setzt du, wenn ich dein Konstrukt richtig verstanden habe, beides mal die gleiche virtuelle Taste Press_short, die dein Programm auslöst.
Die weitere Logik findet dann ja in deinem Programm statt.
Gruß
Rainer `
Alles klar, danke für den Wink mit dem Nordeuropäischen Waldbestand, Zaunpfahl reicht da nicht mehr.
Werde gleich mal testen ob ich das gebacken bekomme.
Gruß Mercy
-
So, erste Antwort habe ich gelöscht, der Szenen Adapter war gar nicht aktiv
So, nun habe ich eine Szene erstellt, dort den Fernbedienungsbutton zweimal eingefügt, "Setzen bei True" angehakt und "Setzen bei False" ebenfalls angehakt.
Wenn ich den "Play" Button drücke (egal ob bei True oder False) wird der Schaltvorgang ausgeführt.
Dummerweise wird bei erneuten drücken der gleichen "Play" Taste die Aktion erneut ausgeführt, sodass die Steckdose ihren Schaltzustand erneut ändert.
Also, Steckdose ist aus und ich schalte sie mit dem ersten Zustand ein (also auf True), Steckdose geht an, nutze ich wieder den gleichen Zustand, wird die Steckdose ausgeschaltet.
Umkehrschluss, Steckdose ist aus und ich wähle den Zustand für False (zweiter), wird die Steckdose eingeschaltet.
Was mache ich bloß falsch???
Gruß Mercy
2465_scene_20171128_1.jpg -
Was mache ich bloß falsch??? `
Wahrscheinlich gar nichts.Wenn ich deinen Fall noch richtig im Kopf habe wolltest du mit Alexa etwas schalten, dass für ein und aus den gleichen Befehl braucht (toggeln)
Natürlich passiert dann genau dieses Toggel auch bei 2x ein oder 2x aus.
Wenn du aber Alexa sagen willst mache Aus (wenn es an ist) müsste es doch klappen, oder???
Gruß
Rainer
-
Was mache ich bloß falsch??? `
Wahrscheinlich gar nichts.Wenn ich deinen Fall noch richtig im Kopf habe wolltest du mit Alexa etwas schalten, dass für ein und aus den gleichen Befehl braucht (toggeln)
Natürlich passiert dann genau dieses Toggel auch bei 2x ein oder 2x aus.
Wenn du aber Alexa sagen willst mache Aus (wenn es an ist) müsste es doch klappen, oder???
Gruß
Rainer `
Leider klappt es nicht so wie ich es vorhabe.
Wenn ich Alexa sage sie möge doch bitte das Licht oder die Anlage einschalten und das Licht oder die Anlage ist schon an, wird stumpf ausgeschaltet. Andersrum genauso, Alexa möchte bitte das Licht ausschalten (oder die Anlage), wenn Licht oder Anlage schon aus sind, wird eingeschaltet. Ich komme hier einfach nicht weiter
Gruß Mercy
-
Ich möchte also folgendes erreichen:
"Alexa Kino ein" -> Kino wird eingeschaltet, wenn ausgeschaltet, sonst macht Alexa nix
"Alexa Kino aus" -> Kino wird ausgeschaltet, wenn es angeschaltet ist, sonst macht Alexa nix `
Ein kleines Javascript würde wahrscheinlich helfen.
Du erstellst ein bool Objekt, welches Du mit Javascript überwachst und im Cloud Adapter mit einem Smartnamen (Kino) versiehst.
Wenn über Alexa ein true kommt ("Kino ein"), dann überprüfst Du den Status der Funksteckdose. Ist diese aus führst Du den Befehl der Fernbedienung aus. Sonst machst Du nichts.
Kommt über Alexa ein false ("Kino aus") überprüfst Du wieder den Status der Funksteckdose. Ist diese an schickst Du den Befehl der Fernbedienung. Ist sie aus machst Du nichts.
Die Prüfung, die Du in Deinem CCU Skript (Funksteckdose an oder aus) hast musst Du hier noch einmal ausführen.
Sonst wird bei jedem Alexa Kommando die "Fernbedinung gedrückt" und das Kommando passt nicht zur Situation.
[EDIT] Wenn Du Deine Szene in ioBroker nachbildest, dann wird es ohne diese Prüfung funktionieren.