Seite 1 von 4

Regeln mit Alexa

Verfasst: 2. Jan 2021 10:05
von MrCrashy
Guten Tag liebe Community,

ich bin sehr neu im OpenHAB und habe mehrere Fragen zu den Regeln.
Ich möchte eine Regel erstellen, mit der ich einen Kino-Modus starten will. Dabei soll beim Alexa-Sprachbefehl der TV eingeschaltet werden und wenn schon Sonnenuntergang war, soll die Beleuchtung der Wohnwand eingeschaltet werden.
Meine Alexa habe ich über den OpenHAB-Skill und myopenHAB miteinander verbunden. Ich habe ebenfalls alle HUE-Lampen und Schalter in der .items Datei eingefügt. Ebenfalls habe ich das Astro-Binding.

Meine Rule sieht so aus:

Code: Alles auswählen

rule "Kinomodus einschalten"
when
        //Alexa Sprachbefehl "Alexa, starte Kinomodus"
then 
        //TV soll gestartet werden
        if(astro:sun:5dfc113f:set#event triggered START){
            sendCommand(gHUE_Livingwall, ON)
        }
end 
end
Bei "When" soll der Alexa-Sprachbefehl rein. Bei "Then" soll über die "IF" Abfrage geklärt werden, ob Sonnenuntergang ist/war und dann die Beleuchtung von der Wohnwand einschlaten. Ist kein Sonnenuntergang, wiel ich z.B Mittags etwas gucke, dann soll die Beleuchtung aus bleiben.

Leider weiß ich nicht genau ob das so überhaupt funktioniert.
Ebenfalls weiß ich nicht, wie ich einen Sprachbefehl von Alexa im OpenHAB abfrage.
Und zu letzt: Mein Sony-TV ist mit der Alexa verbunden. Wie kann ich Alexa dann dieses Gerät einschalten lassen?

Ganz unten hänge ich noch meine .items Datei an. Ich hoffe ihr könnt mir dabei helfen. Ich habe schon seit Tagen danach gesucht und Probiert. Jedoch funktioniert es nicht.

Ich hoffe ihr könnt mir Helfen.
MfG Elias

Code: Alles auswählen

//-- #Wohnzimmer
//- Wohnwand
Group    gHUE_Livingwall                                 "Wohnwandbeleuchtung" <light> (W_LivingRoom)
Switch   HUE_Livingwall                                  "Schalter"                   (gHUE_Livingwall)       {channel="hue:0010:ecb5fa2fc0d3:4:switch"}

//-- #Schalfzimmer
//- Deckenlampe
Group    gHUE_CeilingLamp_Sleepingroom                   "Schlafzimmerlampe" <light> (W_Bedroom)
Switch   HUE_CeilingLamp_Sleepingroom_On                 "Ein/Aus"                    (gHUE_CeilingLamp_Sleepingroom){channel="hue:0220:ecb5fa2fc0d3:3:brightness"}
Dimmer   HUE_CeilingLamp_Sleepingroom_ColorTemperature   "Farbtemperatur"             (gHUE_CeilingLamp_Sleepingroom)  {channel="hue:0220:ecb5fa2fc0d3:3:color_temperature"}
Dimmer   HUE_CeilingLamp_Sleepingroom_Brightness         "Helligkeit"                 (gHUE_CeilingLamp_Sleepingroom)  {channel="hue:0220:ecb5fa2fc0d3:3:brightness"}
String   HUE_CeilingLamp_Sleepingroom_Alert              "Alarm"                      (gHUE_CeilingLamp_Sleepingroom)  {channel="hue:0220:ecb5fa2fc0d3:3:alert"}
Switch   HUE_CeilingLamp_Sleepingroom_Effect             "Farbeffekt"                 (gHUE_CeilingLamp_Sleepingroom)  {channel="hue:0220:ecb5fa2fc0d3:3:effect"}

//- Schalter Schlafzimmer
Group      gHUE_Mainswitch_Sleepingroom                  "Schlafzimmerschalter" <switch> (W_Bedroom)
Number     HUE_Mainswitch_Sleepingroom_DimmerSwitch      "Dimmer schalter"            (gHUE_Mainswitch_Sleepingroom)   {channel="hue:0820:ecb5fa2fc0d3:2:dimmer_switch"}
DateTime   HUE_Mainswitch_Sleepingrom_LastUpdated        "Letzte aktualisierung"      (gHUE_Mainswitch_Sleepingroom)   {channel="hue:0820:ecb5fa2fc0d3:2:last_updated"}
Number     HUE_Mainswitch_Sleepingrom_BatteryLevel       "Batterieladung"             (gHUE_Mainswitch_Sleepingroom)   {channel="hue:0820:ecb5fa2fc0d3:2:battery_level"}
Switch     HUE_Mainswitch_Sleepingrom_BatteryLow         "Niedriger batteriestatus"   (gHUE_Mainswitch_Sleepingroom)   {channel="hue:0820:ecb5fa2fc0d3:2:battery_low"}
//-- #Küche
//- Küche Spotlight
Group    gHUE_Spotlight_Kitchen                          "Spotlight Küche" <light> (W_Kitchen)
Switch   HUE_SpotLight_Kitchen                           "Schalter"                   (gHUE_Spotlight_Kitchen)         {channel="hue:0010:ecb5fa2fc0d3:5:switch"}
//-- #Kinderzimmer
//- Lampe Kinderzimmer
Group    gHUE_Lamp_Childsroom                            "Stehlampe" <light> (W_KidsRoom)
Switch   HUE_Lamp_Childsroom                             "Schalter"                   (gHUE_Lamp_Childsroom)           {channel="hue:0010:ecb5fa2fc0d3:6:switch"}

//- Hue Bridge
String   PhilipsHue192168170Scene   "Scene"   {channel="hue:bridge:ecb5fa2fc0d3:scene"}

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 17:23
von MrCrashy
Habe nun versucht das ganze nicht mit Astro zu steuern, sondern mit now.GetHourOfDay >=18
Nun habe ich aber folgenden Fehler in den Logs : 'GetHourOfDay' is not a member of 'org.joda.time.DateTime
Leider kann ich damit nichts anfangen.
Weiß jemand darüber bescheid?

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 18:05
von Darkwin101
Nutzt du OH3 dann ist es now.getHour das hat sich mit der Version 3 geändert

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 18:08
von MrCrashy
Nein, dieser Fehler hat sich auch schon verabschiedet. Habe jetzt aber den Fehler, dass sich der Schalter nicht Einschaltet.
Verstehe nicht ganz wieso :/
Es erscheint aber auch keine LogInfo, so wie in der Rule festgelegt. Ich danke dass ich irgendwie ein Fehler gemacht habe

Hier ist meine Rule:

Code: Alles auswählen

rule "Kinomodus"
when 
    Item Kinomodus changed from OFF to ON
then 
    if(now.getHourOfDay() >=17 && now.getHourOfDay() <=8){
        sendCommand(gHUE_Livingwall, ON)
        LogInfo("Info","Kinomodus wurde aktiviert")
    }

end

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 18:18
von Darkwin101
Also deine Bedingung ist die Uhrzeit muss größer 17 und gleichzeitig kleiner 8 Uhr sein das muss ein Oder sein meinst du nicht ;)

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 18:21
von MrCrashy
Ups ... Ein oder kann ich doch einfach mit "||" definieren oder? Wie gesagt bin gerade erst Angefangen ..

Wäre es denn wie oben beschrieben möglich, dass ich die Bedingung über den Sonnenuntergang und Sonnenaufgang definiere? Da ja im Winter der Sonnenuntergang früher ist und ich nicht jedes mal die Zeiten in der Rule ändern will.

EDIT: Danke, es lag an den && Parametern.

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 18:32
von Darkwin101
ja ein oder ist ||
Klar kannst du auch den Sonnenuntergang nehmen am besten und einfachsten geht das mit 2 ungebundenen Items
Also du definierst in einer Items Datei folgende Items

Code: Alles auswählen

Switch Nacht "Es ist Nacht"
Switch Tag "Es ist Tag"
und dazu dann die Regeln:

Code: Alles auswählen

rule "Sonnenuntergang"
when Channel 'astro:sun:5dfc113f:set#event' triggered START
then
Tag.sendCommand(OFF)
Nacht.sendCommand(ON)
end

rule"Sonnenaufgang"
when Channel 'astro:sun:5dfc113f:rise#event' triggered START
then
Nacht.sendCommand(OFF)
Tag.sendCommand(ON)
end

rule "Kinomodus"
when 
    Item Kinomodus changed from OFF to ON
then 
    if(Nacht.state == ON){
        sendCommand(gHUE_Livingwall, ON)
        LogInfo("Info","Kinomodus wurde aktiviert")
    }

end

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 19:05
von MrCrashy
So einfach ist das? Werde es nachher direkt mal ausprobieren. Vielen Dank für die schnelle Hilfe !

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 19:08
von Darkwin101
Ja beachte das du beim ersten mal die Schalter in einen definierten Zustand bringen musst, am einfachsten irgendwo in die Sitemap einbauen und einmal beide schalten damit sie einen definierten Zustand haben

Re: Regeln mit Alexa

Verfasst: 2. Jan 2021 19:22
von MrCrashy
Tut mir leid, wenn ich nochmal Fragen muss. Wo genau in die Sitemap?
Meine sieht jetzt genau so aus:

Code: Alles auswählen

sitemap wohnung_admin label="Wohnung" {
    Frame label="Wohnung" icon="groundfloor" {
        Group item=W_Bathroom
        Group item=W_Bedroom
        Group item=W_Dining
        Group item=W_Hallway
        Group item=W_KidsRoom
        Group item=W_Kitchen
        Group item=W_LivingRoom
    }

    Frame label="Draußen" icon="garden" {
        Group item=D_Balcony
    }

}