Rule abschalten wenn im Urlaub oder länger abwesend

Allgemeine Fragen zum Thema "Smart Home" und Entscheidungshilfen

Moderator: seppy

Benutzeravatar
Detlef
Beiträge: 202
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von Detlef »

Hallo
bin ja noch recht neu bei obenHab. Daher meine Frage:
Wie kann ich meine gesamten Rule bei längere Abwesenheit abstellen . Habe nur Zugriff über den openHab Cloud.

Antworten: Alle Dateien einen Tag vor Abreise die Datei-Endung ändern?
oder mein Betriebsstatus 1Tag=Tagschaltung 2Nacht= Nachtschaltung und dann erweitern auf 3. Urlaub 4 Wochen / 4 Urlaub 1 Monat /5 Verreisen 3 Monate. ??
oder keine Ahnung?

Wie machen das den die Profis hier?
Mit freundlichen Grüße aus Recklinghausen

Benutzeravatar
peter-pan
Beiträge: 2814
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von peter-pan »

Das mit dem Zugriff über openHAB-Cloud hab ich leider nicht ganz verstanden. Hast du keinen Zugriff über den PC ? Egal!!

Wenn du deine Regeln abschalten willst, legst du als erstes einen Dummy-Switch an (Ein-/Ausschalter).

Dann baust du in deine Regeln einen Abfrage direkt nach "then" also im Prozessteil ein:

Code: Alles auswählen

   then
    if (dummy_schalter.state == ON) {
      logInfo("Urlaubsabschaltung","Regel wird nicht ausgeführt")
      return;
    //hier kommt dann der eigentliche Teil der Regel
Du kannst das natürlich auch in deine Betriebsstatus-Abfrage mit einbauen. In dem Fall frägst du halt auf "Urlaub" ab und machst danach ein return-Kommando.

P.S.: Ich bin auch kein Profi, aber ich würd's halt so machen.
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian

EmptySoft
Beiträge: 248
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von EmptySoft »

peter-pan hat geschrieben: 9. Mai 2020 14:18 Wenn du deine Regeln abschalten willst, legst du als erstes einen Dummy-Switch an (Ein-/Ausschalter).
Coole Idee, Danke
BYe
Harald

Benutzeravatar
Detlef
Beiträge: 202
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von Detlef »

Hallo
Hey, das ist schon mal ein Vorschlag.
Dein Vorschlag bezüglich der Rule Abschaltungen ist schon eine Überlegung wert.
Wenn ich dein Vorschlag richtig verstehe, muss ich meine Rule alle abändern. Na Ok ist noch erträglich.

Nochmal zur Situation.
Ich habe mein Laptop nicht im Urlaub dabei. Ich mache alles mit den Handy. Und bin über Winter 4 Monate in Spanien.
Und wenn ich in der Sonne liege dann sollten die Rules auch pause machen. Zur Zeit schalten die Rules automatisch und zuverlässig nach Astro;Zeit u.s.w.



Ein Dummy als" Number " (nicht Schalter) habe ich. Ich habe gelesen, das ein "Number Item" mehrere Zustände annehmen kann. ein Schalter nur "an" und "aus".

Erst mal danke für dein Vorschlag.
Mit freundlichen Grüße aus Recklinghausen

Benutzeravatar
peter-pan
Beiträge: 2814
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von peter-pan »

Das ist toll, vier Monate Spanien über Winter könnte mir auch gefallen ;) . Das mit dem Number-Item mag schon eine Möglichkeit sein und dann in der Sitmap, dann einfach ein Switch-Item definieren. Das könnte gehen, aber ich hab's noch nicht ausprobiert. Aber was soll's ein ungebundenes Item ist schnell definiert:

Code: Alles auswählen

Switch Dummy1  "Testschalter 1"
und in die sitmap eingbaut:

Code: Alles auswählen

 Default item= Dummy1   valuecolor=["green"] labelcolor=["green"]
das war's (fast ;) ). Deine Rules musst du natürlich auch noch anpassen.
Pi5/8GB(PiOS Lite 64-bit(trixie)/SSD 120GB - OH5.0.2 openhabian

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

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von udo1toni »

Was mich jetzt etwas irritiert: Willst Du wirklich ALLE Rules deaktivieren? Dann kannst Du auch openHAB runterfahren, es tut ja nichts mehr. openHAB ist ja eigentlich dazu gedacht, bestimmte Abläufe zu automatisieren, wenn man nicht da ist (oder zu faul, täglich den Knopf zu drücken... ;) )

Bei uns fahren jedenfalls z.B. die Rollläden immer automatisch, gleich, ob wir nun zuhause sind oder nicht. Andererseits wohnt meine Mutter im Nachbarhaus, die hat dann noch ein Auge mit drauf. Aber ich gehe davon aus, dass Deine Wohnung in den 4 Monaten auch alle paar Tage von einer Vertrauensperson aufgesucht wird, schon um den Briefkasten zu leeren...
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Benutzeravatar
Detlef
Beiträge: 202
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von Detlef »

Hallo
Also alles runterfahren möchte ich nicht. Sondern nur die automatisch gesteuerten Anlagen sollen nicht mehr geschaltet werden.
Möchte schon noch die Kontrolle über meine Anlagen über OpenHab im Urlaub behalten.

Wenn ich 4 Monate nicht im Haus bin brauche ich keine Zirkulationpumpen und andere unsinnigen Stromfresser laufen lassen. Oder z.B.ein Rollopanzer ist defekt und das läuft dann noch 4 Monate Im defekten Zustand weiter. Auch muss meine Heizung mindestens 5 Tage bevor ich nach Hause komme die Wohnung aufgehetzt werden.
Aber diese Schaltungen mache ich per Handschaltung über OpenHAB.
Daher meine Idee jede Rule soll nur aktiv sein wenn das Urlaubs-Item (Zum Beispiel die 10) liefert aktiv ist. Betriebsmodus 1 normal Tagesbetrieb 2=Nachtbetrieb. 10=Langzeiturlaub.
Besser wäre ein Schalter der die Rule deaktiviert.

Wenn keine Vorschläge mehr kommen, werde ich mal mit mein Dummy die Rules schalten und dann das Dummy mit eine Anzeige „ Betriebs-Staus“ versehen und testen.
Danke
Mit freundlichen Grüße aus Recklinghausen

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

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von udo1toni »

Du kannst die Dateiendung ändern. Das geht auch über ein Script. Das Script wiederum kannst Du über das Exec Binding von openHAB aus triggern. Allerdings wird bei jedem "Einschalten" der Rules auch system started getriggert, da die Rules ja neu eingelesen werden.
Dafür werden die Rules auch tatsächlich nicht ausgeführt, wenn Du sie so abschaltest. Die Abfrage eines Items innerhalb der Rule geschieht ja erst, wenn die Rule schon läuft.
openHAB5.0.1 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime) (Proxmox 9.0.11, LXC)

Benutzeravatar
Detlef
Beiträge: 202
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von Detlef »

Hallo
ich habe das mal so gelöst. Und die Erste rules Zirkulation läuft
1.
Sitemap
Text label="Betriebsarten" icon="time" {
Selection item=Rule_Betriebsart label="Betriebsart" mappings=[10="Kurz Urlaub",11="Langzeiturlaub",12="Voll automatische Steuerung"]
kann noch viele Steuerungen dazubuchen, wenn nötig.

Bild

Das ithem

Code: Alles auswählen

Number          Rule_Betriebsart
und die erste rules

Code: Alles auswählen

rule "Zirkulationsautomatik einschalten"
        when
                System started
        then
                Zirkulationsautomatik.sendCommand(ON)
                DB_Boiler_Zirkoleitung.sendCommand(ON)

end

rule "Zirkulation automatisch einschalten"
        when
                Time cron "0 30 5 ? * *"

                then
        
                if  (Rule_Betriebsart.state == 12 &&  Zirkulationsautomatik.state == ON) {
                                      
                      DB_Boiler_Zirku.sendCommand(ON)
                      DB_Boiler_Zirkoleitung.sendCommand(ON)
                }           
                
end

rule "Zirkulation automatisch ausschalten"
        when
               
                Time cron "0 30 20 ? * *"
 
        then
                 (Rule_Betriebsart.state == 12 &&  Zirkulationsautomatik.state == ON) {
                      DB_Boiler_Zirku.sendCommand(OFF)
                      DB_Boiler_Zirkoleitung.sendCommand(ON)
                }  
end

rule "Zirkulationsautomatik ausschalten"
        when
                Item Zirkulationsautomatik changed to OFF
        
        then
                DB_Boiler_Zirku.sendCommand(OFF)
                DB_Boiler_Zirkoleitung.sendCommand(OFF)
end
rule "Zirkulationsautomatik einschalten"
        when
                Item Zirkulationsautomatik changed to ON
        
        then
                DB_Boiler_Zirku.sendCommand(ON)
                DB_Boiler_Zirkoleitung.sendCommand(ON)
end
Diese rule läßt sich auch per Handschalten aktivieren.
Für die Betriebsarten "Urlaub" ist die Pumpe aus.
Mit freundlichen Grüße aus Recklinghausen

Benutzeravatar
Detlef
Beiträge: 202
Registriert: 11. Dez 2019 21:50
Answers: 1
Wohnort: Recklinghausen
Kontaktdaten:

Re: Rule abschalten wenn im Urlaub oder länger abwesend

Beitrag von Detlef »

Hallo
eine kleine Änderung.

Code: Alles auswählen

rule "Zirkulationsautomatik einschalten"
        when
                System started
        then
                Zirkulationsautomatik.sendCommand(ON)
                DB_Boiler_Zirkoleitung.sendCommand(ON)

end

rule "Zirkulation automatisch einschalten"
        when
                Time cron "0 30 5 ? * *"

                then
        
                if  (Rule_Betriebsart.state == 12 &&  Zirkulationsautomatik.state == ON) {
                                      
                      DB_Boiler_Zirku.sendCommand(ON)
                      DB_Boiler_Zirkoleitung.sendCommand(ON)
                }           
                
end

rule "Zirkulation automatisch ausschalten"
        when
               
                Time cron "0 30 20 ? * *"
 
        then
                 (Rule_Betriebsart.state == 12 &&  Zirkulationsautomatik.state == ON) {
                      DB_Boiler_Zirku.sendCommand(OFF)
                      DB_Boiler_Zirkoleitung.sendCommand(OFF)
                }  
end

rule "Zirkulationsautomatik ausschalten"
        when
                Item Zirkulationsautomatik changed to OFF
        
        then
                DB_Boiler_Zirku.sendCommand(OFF)
                DB_Boiler_Zirkoleitung.sendCommand(OFF)
end
Mit freundlichen Grüße aus Recklinghausen

Antworten