Seite 1 von 1

Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 08:40
von thedude78
Hallo zusammen,

Zu Anfang muss ich gestehen, dass ich bzgl. Openhab noch ein ziemlicher Frischling bin.
Folglich stehe ich gerade vor einem Problem, wo ich ein wenig Unterstützung benötige.

Ich habe das Astro-Binding und lasse im Office bei Sonnenuntergang die Lichter einschalten. Nun möchte ich aber nicht, dass, wenn niemand im Büro ist, die ganze Nacht das Licht brennt.
Ich habe versucht dies über eine If-Klausel, welche den Status des Monitors abfrägt zu lösen. Leider klappt dies nicht.

Nett wäre es, wenn mir jemand auf die Sprünge hilfen könnte. Kann ich irgendwo das Logging erweitern um dem Fehler auf die Schliche zu kommen? Oder kann ich über die SSH-Konsole eine Regel gezielt "starten" um zu sehen, was passiert?

Hier mal die Regel.

Code: Alles auswählen

rule "astro_rule_1"
when
    Channel "astro:sun:home:set#event" triggered START
then
    logInfo("OfficeLightsON", "Licht wird eingeschaltet!")
    sendCommand(sonoff_office_switch, "ON")
        if(SamsungTV_Power == OFF)
                {
                        createTimer(now.plusMinutes(30),
                                [|
                                logInfo("OfficeLightsOff", "Licht wird wieder ausgeschaltet, da Büro unbesetzt!")
                                        sendCommand(sonoff_office_switch, "ON")
                                ])
                }
end

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 08:49
von seppy
Hi,
Du schaltest erst an und dann wieder aus ... ist das so gewünscht?

Code: Alles auswählen

rule "astro_rule_1"
when
    Channel "astro:sun:home:set#event" triggered START
then
        if(SamsungTV_Power == OFF) {
	        logInfo("OfficeLightsOff", "Büro unbesetzt --> Keine Aktion!")
        } else {
       	    	logInfo("OfficeLightsON", "Sonnenuntergang --> Licht wird eingeschaltet!")
		sendCommand(sonoff_office_switch, "ON")
        }
end
So in der Art würde ich das lösen.

Grüße,
Seppy

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 10:32
von thedude78
Vielen Dank erstmal,

Ja der Ablauf ist tatsächlich so gewünscht.
Das Licht kann ruhig mal für 30min angehen, soll dann aber, wenn niemand da ist, wieder automatisch ausgeschaltet werden.

Werd es heute Abend gleich mal testen.

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 11:58
von seppy
Hi,
dann funktioniert mein Regelvorschlag so nicht. Hier mit ein Vorschlag:

Code: Alles auswählen

rule "astro_rule_1"
when
    Channel "astro:sun:home:set#event" triggered START
then
	sonoff_office_switch.sendCommand(ON)
       logInfo("OfficeLightsON", "Sonnenuntergang --> Licht wird eingeschaltet!")
        if(SamsungTV_Power == OFF) {
	        logInfo("OfficeLightsOff", "Büro unbesetzt --> Starte Timer für Abschaltung!")
                createTimer(now.plusMinutes(30),[|
                     logInfo("OfficeLightsOff", "Licht wird wieder ausgeschaltet, da Büro unbesetzt!")
                     sonoff_office_switch.sendCommand(OFF)
                 ])
        }
end
Grüße,
Seppy

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 17:27
von thedude78
Hi Seppi,

Danke nochmals. Haben es eben mal getestet und leider scheint irgendwo noch ein kleiner Fehler drin zu sein, denn ich sehe die Ausgaben der Log-Einträge nicht im LogViewer.
Es scheint mir so, als wäre die If-Klausel das Problem. Ich bin mir nicht ganz sicher ob das Item (?) so korrekt ist.

Code: Alles auswählen

SamsungTV_Power == OFF
Ich habe hier einfach den Eintrag aus dem Log zur Bildung der Bedingung verwendet:

Code: Alles auswählen

SamsungTV_Power changed from ON to OFF
In einer anderen Regel funktioniert Folgendes:

Code: Alles auswählen

when

    Item SamsungTV_Power changed from ON to OFF

then
Ist die Syntax falsch, wenn ich den Status abfragen möchte?

Danke schon mal.

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 17:54
von Darkwin101
Nimm in der IF Anweisung SamsungTV_Power.state == OFF

Re: Anfängerfrage zu einer Regel

Verfasst: 4. Feb 2020 17:59
von thedude78
OK, ich werde dann morgen berichten.

Danke & noch nen schönen Abend.

Re: Anfängerfrage zu einer Regel

Verfasst: 5. Feb 2020 18:32
von thedude78
Hi,

Wollte nur noch schnell Feedback geben. Es hat funktioniert.

DANKE nochmals euch beiden.

P.S. Habt ihr für mich evtl noch eine Empfehlung, wie ich künftig solchen "Fehlern" schneller auf die Schliche kommen kann? Gibts evtl. einschlägige Literatur oder ähnliches, wo man sich Stück für Stück tiefer in die Materie einarbeiten kann? Bin an sich immer eher daran interessiert, selbstständig auf Lösungen zu kommen. Auch wenn ich so ein Forum natürlich sehr begrüße.

Schönen Abend noch.

Re: Anfängerfrage zu einer Regel

Verfasst: 5. Feb 2020 19:50
von sihui
thedude78 hat geschrieben: 5. Feb 2020 18:32 Gibts evtl. einschlägige Literatur oder ähnliches, wo man sich Stück für Stück tiefer in die Materie einarbeiten kann?
https://community.openhab.org/t/xtend-a ... /4?u=sihui