Regeln mit Alexa

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Regeln mit Alexa

Beitrag von Darkwin101 »

Ok ja das ist die Sitemap also definiere einfach die beiden Items in einer Gruppe und dann sollten sie auftauchen

Code: Alles auswählen

Switch Nacht "Es ist Nacht" 	(D_Balcony)
Switch Tag "Es ist Tag"		(D_Balcony)
Jetzt sollte die im Balkon auftauchen in deiner Sitemap alles andere würde glaube ich für dieses Thema zu weit führen.

MrCrashy
Beiträge: 113
Registriert: 2. Jan 2021 09:53
Answers: 0

Re: Regeln mit Alexa

Beitrag von MrCrashy »

Habe die Schalter jetzt in die Sitemap eingebaut und einmal durchgeschaltet. Es passiert aber leider gar nichts. Das licht bleibt aus und die Info kommt auch nicht. Ausschalten geht aber laut Log.
Zuletzt geändert von MrCrashy am 2. Jan 2021 20:39, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Regeln mit Alexa

Beitrag von udo1toni »

Also, erst mal braucht es nur einen Switch, um zwischen Tag und Nacht zu unterscheiden, es sei denn, man möchte noch weitere "Zwischenstände" ermitteln, dann wäre aber ein Number Item besser geeignet (oder meinetwegen auch ein String Item)
Dann: BITTE ein ungebundenes Item nicht mit sendCommand ansteuern, es sei denn, man benötigt den Trigger received command. Hier ist definitiv postUpdate der korrekte Befehl. Also so:

Code: Alles auswählen

rule "Sonnenuntergang"
when 
    Channel 'astro:sun:local:set#event' triggered START
then
    Nacht.postUpdate(ON)
end

rule"Sonnenaufgang"
when 
    Channel 'astro:sun:local:rise#event' triggered START
then
    Nacht.postUpdate(OFF)
end

rule "Kinomodus"
when 
    Item Kinomodus changed from OFF to ON
then 
    if(Nacht.state == ON){
        gHUE_Livingwall.sendCommand(ON)
        logInfo("kino","Licht automatisch an wegen Kinomodus.")
    }
end
Das sendCommand() sendet einen Befehl über das Item. Da openHAB per default versucht, den Status des Items passend zu setzen, selbst wenn es keinen passenden Status empfängt, setzt openHAB also den Status des Items nach dem sendCommand passend, besser ist es aber, den Status selbst zu setzen, statt darauf zu vertrauen, dass openHAB das schon korrekt machen wird.

Logischerweise wird das Licht nur zwischen Sonnenuntergang und Sonnenaufgang geschaltet, weil die Bedingung Nacht.state == ON ist. Sollen zusätzlich andere Dinge passieren, die unabhängig vom Sonnenuntergang sind, so muss das natürlich außerhalb der if-Bedingung passieren.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Regeln mit Alexa

Beitrag von Darkwin101 »

Es soll jetzt ja auch nur was passieren wenn der Schalter Nacht auf ON ist und du danach den Kinomodus einschaltest.
Die Schalter Tag und Nacht haben keine Sonstige Funktion und machen für sich erstmal gar nichts.
Udo1Toni hat natürlich Recht man benötigt nur einen Schalter um Tag und Nacht zu unterscheiden ich benutze aber gerade bei Anfängern gerne immer beide Schalter um das ganze deutlicher zu machen.

MrCrashy
Beiträge: 113
Registriert: 2. Jan 2021 09:53
Answers: 0

Re: Regeln mit Alexa

Beitrag von MrCrashy »

@ Darkwin101 : Das Problem war, dass ich beide Schalter in die Sitemap integriert habe und auch geschaltet habe. Trotzdem haben diese sich nicht automatisch beim Sunset verstellt und das Licht blieb aus. Trotzdem danke für die Hilfe!

@udo1toni : Ich habe deine Variante probiert. Trotzdem scheint irgendwas Grundlegend in meinen Rules falsch zu laufen. Das Licht schaltet sich beim triggern vom Schalter "Kinomodus" nicht ein.
Ausschalten geht aber, dafür bekomme ich eine Nachricht im Log.

Kann es sein, dass etwas mit meinem Astro-Binding nicht stimmt? Irgendwas muss da ja falsch laufen. Ich habe den Schalter für Sonnenaufgang und Untergang in einer anderen .rules Datei angelegt (für die Übersicht). Oder ist es notwendig, dass das in der selben Datei passiert?

Das hier ist meine Rule:

Code: Alles auswählen

rule "Kinomodus einschalten"
when 
    Item Kinomodus changed from OFF to ON
then 
    if(Night_Cinema.state == ON){
        gHUE_Livingwall.sendCommand(ON)
        LogInfo("Kino","Licht wurde automatisch eingeschaltet.")
    }

end
rule "Kinomodus ausschalten"
when 
    Item Kinomodus changed from ON to OFF
then 
    gHUE_Livingwall.sendCommand(OFF)
    logInfo("Info", "Kinomodus wurde ausgeschaltet.")
end
Meine Schalter schalte ich hier um:

Code: Alles auswählen

rule "Sonnenuntergang"
when 
    Channel 'astro:sun:local:set#event' triggered START
then 
    Night_Cinema.postUpdate(ON)
end 

rule "Sonnenaufgang"
when 
    Channel 'astro:sun:local:rise#event' triggered START
then 
    Night_Cinema.postUpdate(OFF)
end 
Und die Schlater habe ich so erstellt:

Code: Alles auswählen

Switch Night_Cinema "Es ist Nacht"

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Regeln mit Alexa

Beitrag von Darkwin101 »

Ja schau mal genau nach wie dein thing für astro heißt also ich meine den Teil
astro:sun:welche Zeichen stehen hier:set die müssen hier genauso wie deinem thing heißen in meiner Regel habe ich das aus deinem ersten Post genommen und Udo hat hier einfach der Einfachheit local genommen dieser Teil muss aber mit deiner astronomische Konfiguration übereinstimmen

Gesendet von meinem SM-G955F mit Tapatalk



Benutzeravatar
udo1toni
Beiträge: 15265
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Regeln mit Alexa

Beitrag von udo1toni »

Das Thing astro:sun:local wird von openHAB automatisch gefunden (Stichwort Autodiscovery) falls man den Standort des Systems angegeben hat. Das funktioniert auch mit ntp und den diversen Wetterdiensten. :)
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

MrCrashy
Beiträge: 113
Registriert: 2. Jan 2021 09:53
Answers: 0

Re: Regeln mit Alexa

Beitrag von MrCrashy »

Es stimmt alles bei den Astro Things ... Ich habe nochmal um sicher zu gehen die "If" Abfrage gelöscht. Der Schalter "Kinomodus" triggert alles. Es scheitert an der Abfrage des Schalters, ob es Tag oder Nacht ist. Ich stelle hier nochmal alles rein, manchmal hat man ja das Problem vor Augen aber kann es nicht sehen .. :D
Oder muss ich die Astro-Things irgendwie anders schreiben?

Ich schreibe über den Codes, wo ich was gespeichert habe.

beleuchtung.rules

Code: Alles auswählen

rule "Kinomodus einschalten"
when 
    Item Kinomodus changed from OFF to ON
then 
    if(Night_Cinema.state == ON){
        gHUE_Livingwall.sendCommand(ON)
        logInfo("Beleuchtung", "Kinomdus wurde mit Licht eingeschaltet.")
    }
    else if(Night_Cinema.state == OFF){    
        logInfo("Beleuchtung", "Kinomodus wurde ohne Licht gestartet.")
    }
end

rule "Kinomodus ausschalten"
when 
    Item Kinomodus changed from ON to OFF
then 
    gHUE_Livingwall.sendCommand(OFF)
    logInfo("Info", "Kinomodus wurde ausgeschaltet.")
end
beleuchtung_schalter.rules

Code: Alles auswählen

rule "Sonnenuntergang"
when 
    Channel 'astro:sun:home:set#event' triggered START
then 
    Night_Cinema.postUpdate(ON)
end 

rule "Sonnenaufgang"
when 
    Channel 'astro:sun:home:rise#event' triggered START
then 
    Night_Cinema.postUpdate(OFF)
end
astro.things

Code: Alles auswählen

Thing astro:sun:home  [ geolocation="52.305400,8.604877,100", interval=60 ]{
    Channels:
        Type rangeEvent : set#event[
            offset=30   
}

Thing astro:moon:home [ geolocation="52.305400,8.604877", interval=60 ]
So langsam glaube ich, dass mein Smart-Home verflucht ist :D Hoffentlich kann jemand von euch den Fehler finden.

MrCrashy
Beiträge: 113
Registriert: 2. Jan 2021 09:53
Answers: 0

Re: Regeln mit Alexa

Beitrag von MrCrashy »

Ich habe gerade nochmal darüber Nachgedacht. Da ja der Schalter nur bei "Sunrise" und "Sunset" betätigt wird, weiß er doch gerade gar nicht ob er "ein" oder "Aus" ist. Muss ich ihm einen Standardwert zuweisen?

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Regeln mit Alexa

Beitrag von Darkwin101 »

Das tust du in dem du ihn einmal bestätigst das war es ja was ich oben gesagt habe


Gesendet von iPhone mit Tapatalk

Antworten