Routinen mit openHAB und Amazon Alexa

Per Zufall bin ich in der Amazon Alexa App auf die Funktionalität der Routinen gestoßen. Eigentlich bilde ich die gesamte Logik unseres SmartHome in openHAB ab, aber wegen der vereinfachten Befehlskette wollte ich es auch einmal direkt per Alexa testen.

Zum St. Patricks Day gab es ein paar “Dekorationsanforderungen” bei uns im Haus, die eine manuelle Aktivierung notwendig gemacht haben.

Items

Im ersten Schritt werden “virtuelle Items” in openHAB konfiguriert, damit diese auch in der Alexa App verwendet werden können. Die Konfiguration führe ich (wie immer) in der textuellen Konfiguration durch.

// St. Patricks Beleuchtung per Alexa Routine, 07.03.2021
Switch Koboldbeleuchtung_Ein "Ich bin ein Kobold" [ "Lighting" ]
Switch Koboldbeleuchtung_Aus "Ich bin kein Kobold" [ "Lighting" ]

Rules

Die Aktivierung und die Deaktivierung möchte ich dann über eine Regel in openHAB steuern und die notwendigen Geräte aktivieren / deaktivieren.

rule "Kobold Routine Ein"
    when
        Item Koboldbeleuchtung_Ein received command
    then
        if (receivedCommand == ON) {
            // Gewünschte Aktionen durchführen
            logInfo("INFO","Koboldroutine eingeschalten")
        }   
end

rule "Kobold Routine Aus"
    when
        Item Koboldbeleuchtung_Aus received command
    then
        if (receivedCommand == ON) {
            // Gewünschte Aktionen durchführen
            logInfo("INFO","Koboldroutine ausgeschalten")
        }
end

Amazon Alexa App

Im letzten Schritt wird dann die Alexa-Konfiguration in der App wie folgt vorgenommen:

  • Alexa App – Mehr – Routinen – Routine erstellen
  • Wenn (der Satz gesprochen wird): Alexa, Ich bin ein Kobold
  • Aktion ausführen: Smart Home – Alle Geräte – “Virtuelles Item”: Ich bin ein Kobold – AN schalten

Das sieht graphisch wie folgt aus:

Zusammenfassung

Die Alexa Routinen sind sehr schnell und einfach eingerichtet. Ob sich der Aufwand lohnt, um nur das “schalte” Aktivierungswort zu umgehen, muss jeder selbst entscheiden.

Es gibt aber interessante Routinen-Vorschläge, die man sich einmal ansehen kann.

Da ich meine Logiken alle eher zentral in openHAB, anstatt verteilt auf diverse Systeme abbilden möchte, ist es eher nicht für meinen Anwendungsfall geeignet. Aber ein netter Versuch war es auf alle Fälle. 🙂

5 Kommentare
  1. Stefan
    Stefan sagte:

    Hallo,

    Ich hab das ganze mal versucht nachzumachen, es hackt nun aber schon daran das der virtuelle Schalter nicht in der Alexa-App auftaucht.
    Kannst du mir da vielleicht noch einen Tipp geben.
    Alle meine Geräte sind über das Alexa-Binding in OpenHAB eingebunden.

    Danke

  2. Stefan
    Stefan sagte:

    Leider funktioniert es auch mit dem Hue Emu nicht, ich habe aber auch keine Einstellung gefunden in der man den Emu direkt mit dem Amazon-Konto verknüpft oder passiert das über die Cloud-Dienste von OH3?

    Danke für die Hilfe?

  3. Reinhard Eidelsburger
    Reinhard Eidelsburger sagte:

    Hallo Stefan,

    ich hatte das so bei mir umgesetzt (sind zwar KNX-Items, wäre aber wahrscheinlich egal):

    1. Item in openHAB anlegen:

    Switch Licht_EG_Buero “Licht Büro” (gEG_Buero, gLicht_EG, gLicht) [ “Lighting” ] {channel=”knx:device:bridge:xxx_EG_Buero”}

    Das Tag mit dem “Lighting” ist hier wichtig. Erst wenn das versehen ist, kommt das Item über die Hue Emulation an openHAB

    2. Hue Emulation – Hier dann einmal das Pairing aktivieren

    3. Alexa App – dann sollte das Gerät dort auftauchen und auch verwendbar sein

    Klappt es dann?

  4. Stefan
    Stefan sagte:

    So hatte ich es schon probiert, hab es jetzt nochmal genau so gemacht und wieder ohne Erfolg.
    Ich glaub ich geb erstmal auf:(

    Dankte trotzdem für die Hilfe 🙂

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.