Anfängerfrage zu einer Regel

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

Antworten
thedude78
Beiträge: 10
Registriert: 4. Feb 2020 08:19
Answers: 0

Anfängerfrage zu einer Regel

Beitrag 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

Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Re: Anfängerfrage zu einer Regel

Beitrag 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
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

thedude78
Beiträge: 10
Registriert: 4. Feb 2020 08:19
Answers: 0

Re: Anfängerfrage zu einer Regel

Beitrag 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.

Benutzeravatar
seppy
Beiträge: 738
Registriert: 24. Sep 2015 20:25
Answers: 4
Wohnort: Bonn

Re: Anfängerfrage zu einer Regel

Beitrag 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
Homematic und HomematicIP über Raspberrymatic (RaspPi 4 4GB) mit 2x HMLAN. Steuerung und Visualisierung durch OpenHAB2 auf RaspPi in Hutschienengehäuse im Sicherungskasten. Rund 100 Aktoren/Sensoren

- Abgesichert durch APC USV
- Bewässerungssteuerung mit Hunter Magnetventilen (HM-LC-Sw4-DR)
- Beleuchtungssteuerung Innen und Aussen (HM-LC-Sw4-DR + HM-LC-SW1-FM + HMW-IO-12-SW7-DR)
- Rolladensteuerung mit Beschattungsautomatik über Temperaturdifferenzsensor (HM-LC-Bl1PBU-FM)
- Wetter und Unwetterinformationen von wunderground
- Benachrichtigung der Bewohner via Pushover
- Multimediawand und Dreambox Steuerung (HM-LC-SW1-FM)
- Heizungssteuerung mit Komfort und Energiesparfunktionen (HM-CC-RT-DN + HM-Sec-SC-2 + HMIP-eTRV-2)
- Werkstatt Kompressorsteuerung (HMW-IO-12-SW7-DR)
- Weihnachtsbeleuchtung außen
- Präsenzerkennung über Geolocation (iCloud Binding), iBeacon und WLAN (Unifi Binding)
- Philips HUE & Tasmota Devices (Tuya) Einbindung

thedude78
Beiträge: 10
Registriert: 4. Feb 2020 08:19
Answers: 0

Re: Anfängerfrage zu einer Regel

Beitrag 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.

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

Re: Anfängerfrage zu einer Regel

Beitrag von Darkwin101 »

Nimm in der IF Anweisung SamsungTV_Power.state == OFF

thedude78
Beiträge: 10
Registriert: 4. Feb 2020 08:19
Answers: 0

Re: Anfängerfrage zu einer Regel

Beitrag von thedude78 »

OK, ich werde dann morgen berichten.

Danke & noch nen schönen Abend.

thedude78
Beiträge: 10
Registriert: 4. Feb 2020 08:19
Answers: 0

Re: Anfängerfrage zu einer Regel

Beitrag 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.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Anfängerfrage zu einer Regel

Beitrag 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
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Antworten