Seite 1 von 2
Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 8. Mai 2020 21:24
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?
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 9. Mai 2020 14:18
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.
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 9. Mai 2020 20:48
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
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 9. Mai 2020 21:10
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.
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 10. Mai 2020 04:09
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:
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.
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 10. Mai 2020 12:54
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...
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 10. Mai 2020 18:05
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
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 10. Mai 2020 23:56
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.
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 11. Mai 2020 17:50
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.
Das ithem
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.
Re: Rule abschalten wenn im Urlaub oder länger abwesend
Verfasst: 11. Mai 2020 18:11
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