Steckdose mit variablen Ein-/Auszeiten schalten

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Scooter_0807
Beiträge: 23
Registriert: 9. Apr 2021 21:44
Answers: 0
Wohnort: Fehmarn

Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von Scooter_0807 »

Moin alle zusammen,
ich möchte mit meinem OH3 jetzt noch die Zirkulationspumpe meiner Wasserversorgung steuern. Die Anbindung der Heizung geht jetzt schon, da habe ich ein Item. ON=> Pumpe bekommt Spannung, OFF=> Pumpe hat keine Spannung.

Die Herausforderung besteht also darin, dass ich für eine Zeitspanne T1 das Item auf ON stellen will und dann für eine Zeitspanne T2 auf OFF.
Nach Möglichkeit möchte ich die Zeitspannen T1 und T2 Anwenderfreundlich über einen Slider / Knob etc. über die UI einstellen können.

Ich suche nach einer pfiffigen Idee, wie man das über eine Kombination aus UI, Items und Rule(s) erledigen könnten.
Danke schonmal für Eure Ideen.

Achso was zum Hintergrund warum ich das tue: Man kann Heizkosten sparen, wenn die Zirkulationspumpe nicht dauerhaft läuft, sondern die Pumpe z.B. 5 Minuten läuft (bis überall Warmwasser ist) und dann wieder 10 Minuten abschaltet. Im Augenblick mache ich das über eine mechanische Zeitschaltuhr :lol:

Grüße
Scooter

tomtom97
Beiträge: 20
Registriert: 25. Dez 2020 18:24
Answers: 1

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von tomtom97 »

Hallo Scooter,

ich habe das bei mir so ähnlich gebaut:

Über eine Rule mit "cron"-Einträgen lasse ich immer in der Minute 0 und Minute 30 die Zirkulationspumpe EINschalten.
Eine zweite Rule schaltet die Pumpe jeweils 5min später (Minuten 5 und 35) wieder aus.

Das ganze jedoch NUR DANN, wenn auch jemand zuhause ist. Die Erkennung der Anwesenheit erfolgt über das TR064-Binding und die FritzBox, ob die Handys der Bewohner im WLAN eingebaucht sind.

Hier ein Beispiel, wie die WW-Zirkulation in der Woche eingeschaltet wird:

Code: Alles auswählen

rule "WW-Zirkulation Mo-Fr EIN"
when
    Time cron "0 0,30 5-22 ? * 1-5"
then
    // Nur, wenn jemand zuhause ist
    if(vAlleAusserHaus.state==OFF) {
        logInfo("MQTTRule", "WW-Zirkulation Mo-Fr EIN")
        sendCommand(OBI8_Power, ON)
    }
end
Die Variable vAlleAusserHaus wird über eine Rule auf OFF gesetzt, wenn der letzte das Haus verlassen hat. Sie wird ON, sobald der erste nach Hause kommt.
OBI8_Power ist eine WLAN-Steckdose, die dann die Zirkulationspumpe schaltet.

Eine gleichartige Regel gibt es dann noch fürs Ausschalten. Ebenso zwei weitere Regeln für die Zeiten am Wochenende.

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

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von udo1toni »

Wenn es partout über die Oberfläche einstellbar sein soll: Frage Dich zunächst, ob das wirklich anwenderfreundlich ist.
Ich zumindest stelle nicht an der Zirkulationspumpe rum (nun ja, ich habe das mal getan... ein Mal... und noch ein zweites Mal, um minimale Optimierungen vorzunehmen.)
Ist es also nicht zuallererst Spieltrieb? Und dann die Sache mit dem Slider... nicht wirklich anwenderfreundlich, wenn Du mich fragst... Ein Slider geht immer von 0 bis 100, Du musst dann also irgendeine Umrechnung einbauen und den Anwendern erklären, wie das Ganze funktioniert. Solche Hausinterna kann man natürlich ebenfalls in openHAB abbilden, aber der Nutzen einer Bedienmöglichkeit in der UI ist doch eher fragwürdig. Am ehesten wäre es noch sinnvoll, einen Knopf zu haben, mit dem man "Warmwasser in 2 Minuten" anfordern kann, also das sofortige Starten der Zirkulation für eine (fest eingestellte) Zeitspanne.

Und wenn es dann um das Einstellen solcher Zyklen geht, denke über den Tellerrand hinaus.
Ich bin Schichtdienstler mit unregelmäßigen Wechselschichten. Entsprechend ist es also für mich interessant, dass das Haus zu ganz bestimmten Zeiten automatisch in bestimmte Zustände kommt. Es ist dabei aber uninteressant, Uhrzeiten frei einzustellen. Stattdessen habe ich etwa eine Hand voll fixe Zeiten, zu denen ich aufstehe. Eine interessante Option, die mit letzthin aus gegebenem Anlass in den Sinn kam :) ist, bei Wetterereignissen den "Wecktermin" um einige Minuten vorzuverlegen. Habe ich aber bisher noch nicht umgesetzt, weil ich das Haus letztlich nicht alleine bewohne, diese Steuerung darf ja nicht zulasten Anderer gehen, ich gewinne dadurch also unterm Strich nichts.
Ich schweife ab...
Worauf ich hinaus wollte: Vielleicht ist eine DropDown Liste mit wenigen vorgegebenen Zeiten viel angenehmer als ein Slider.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Scooter_0807
Beiträge: 23
Registriert: 9. Apr 2021 21:44
Answers: 0
Wohnort: Fehmarn

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von Scooter_0807 »

Hallo @tomtom97 hallo udotoni,

danke für Eure Antworten und Anregungen.
Letztlich habe ich mir eine solche Diskussion/Feedback erhofft.
Die crontab Variante hatte ich schon überlegt aber verworfen, da sie mir zu statisch ist.

Die Variante mit den der Dropdownliste finde ich eine spannende Idee. Und ja, die Begrenzung auf wenige Einträge (0, 5,10,15 MInuten) finde ich recht scharmant. Letztlich werde ich der einzige sein, der die Anpassung der Laufzeiten für die Pumpe vornimmt,...aber ich muss es mir ja nciht zu schwer machen :-)
udotoni, habe da auch einen Thread gefunden, in dem Du die Dropdownlist grob beschrieben hast
viewtopic.php?t=1197
Allerdings ist mir noch nicht ganz transparent, wie ich in der Page, in der ich die Heziungsparameter gesammelt habe, eine Drobdownliste mit 4 Einträgen hinbekomme.
Für eine Erleuchtung bin ich dankbar.

Viele Grüße
Scooter

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

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von udo1toni »

Ja, mit der Main UI habe ich auch so meine Probleme...
Ich habe gerade mal gestöbert, man kann das mittels Label Card erreichen, dort als Action Command Options auswählen, dann gibt es ein zusätzliches Feld, in dem ma eine kommaseparierte Wertezuordnungsliste anlegen kann.

Code: Alles auswählen

component: oh-label-cell
config:
  action: options
  item: DWDPollenAlder_Heute
  actionOptions: 0=keine,1=wenig,2=viel,0-1=e bissi,1-2=mehr
Dieser Code war nur zum testen... :) Allerdings muss ich gestehen, dass die Lösung nicht schön aussieht, selbst wenn man einfach 5=5,10=10,...usw. hinschreibt. Eine Alternative wäre auch noch ein Knopf mit mehr/weniger Schaltflächen, dort könnte man die Schrittweite größer einstellen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von Detlef »

Hallo

Ich hatte vor Erneuerung der Heizung auch immer versucht die Zirkulation zu steuern.

Bedenke eine neue Zirkulation - Pumpe verbraucht wenig Strom. Aber wenn die Zirkulation läuft geht je nach Länge der Zirkulation-Leitung viel Wärme Energie verloren.
Besonder wichtig sind die Legionellen im Trinkwasser zu vernichten.
Daher
Keine Wasser unter 50 °C über 3-7 Tage.
Kaltes Wasser unter 25 °C ist wieder OK
Oder aufheizen alle 7 Tage 65 Grad und Zirkulation Pumpe An.
Erste Technik.
Damals war folgendes : 1. Zirkulation Aus wenn keiner im Haus war.
Und 2. Zirkulation Aus bei bestimmten Zeiten.

Zweite verbesserte Technik.
Ein Thermostat an der Zirkulation Leitung
1. und 2. und dann nur einschalten wenn Temperatur der Zirkulation Leitung unter 30 Grad war.
Hatte eine WLAN Steckdose mit einer Rule.
Meine neue Wolf Heizung macht nur 45 Grad WW und starte alle 7 Tage automatisch das Legionellen Program. Die Zirkulation wird von der Heizung per Zeit dazu noch program technisch
100 ( nur bestimmte Zeiten)
50 ( bestimmte Zeiten 1 Stund an 1 Stunde aus )
25 ( bestimmte Zeiten 2 Stunden Aus )
Wichtig bei solchen Einstellungen sind das Legionellen bekämpft werden.
Also Vorsicht mit den Legionellen, erkundige dich sorgfältig.
Heute würde ich bei einer alten WWAnlage mit kurzen Zirkulation Leitung mit einen druckschalter arbeiten.
Wenn ein Wasserhahn geöffnet wird dann geht die Pumpe an. Und nach Wunsch …..
Mit freundlichen Grüße aus Recklinghausen

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von int5749 »

udo1toni hat geschrieben: 16. Feb 2022 21:03 Und dann die Sache mit dem Slider... nicht wirklich anwenderfreundlich, wenn Du mich fragst... Ein Slider geht immer von 0 bis 100,
Die würde ich so nicht stehen lassen wollen, denn dies kann doch über einen Eintrag in der Sitemap angepasst werden.

Code: Alles auswählen

Slider item=LandroidScheduleThursdayStartHour minValue=0 maxValue=23 step=1 visibility=[LandroidScheduleThursdayEnable==ON]
Slider item=LandroidScheduleThursdayStartMinutes minValue=0 maxValue=45 step=15 visibility=[LandroidScheduleThursdayEnable==ON]
Slider item=LandroidScheduleThursdayDuration minValue=0 maxValue=1425 step=15 visibility=[LandroidScheduleThursdayEnable==ON]
OK, ob dies auch über die MainUI läuft bzw. realisierbar ist habe ich noch nicht getestet. Könnte also dort eingeschränkt sein.

Bei dem Rest stimme ich Dir zu, wie meine Tests mit dem "einstellbaren Startzeiten" zwwecks laden des EV gezeigt haben.

Viele Grüße


Update: Oups, zu lange die Seite nicht refreshed. Da gab es ja schon Updates
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

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

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von udo1toni »

int5749 hat geschrieben: 17. Feb 2022 19:30 Die würde ich so nicht stehen lassen wollen, denn dies kann doch über einen Eintrag in der Sitemap angepasst werden.
Ja schon, aber ist es nicht so, dass dann auch nur der Teil des Regelwegs zur Verfügung steht?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von int5749 »

udo1toni hat geschrieben: 17. Feb 2022 20:41 Ja schon, aber ist es nicht so, dass dann auch nur der Teil des Regelwegs zur Verfügung steht?
Nun ja, man könnte auch andere Werte in das Item schreiben, aber eigentlich sollte man diese Werte nutzen.
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Scooter_0807
Beiträge: 23
Registriert: 9. Apr 2021 21:44
Answers: 0
Wohnort: Fehmarn

Re: Steckdose mit variablen Ein-/Auszeiten schalten

Beitrag von Scooter_0807 »

Guten Morgen zusammen,

vielen Dank für Euren Input. Ich anhand Eurer Hinweise mit OpenHab3 und PaperUI folgende Lösung entwickelt:

Ich habe in einer Page 2 Schieberegler implementiert. Diese Regler entsprechen den Zeiten für die aktive, respektive inaktive Zirkulationspumpe. Die Regler lassen nur Einträge von 0 bis 30 Minuten zu, haben eine Schrittweite von 5 und es werden 6 Schritte angezeigt. Somit sind die Regler übersichtlich und bedienbar. ich habe einen Screenshot angehängt.
Diese Regler bedienen 2 Items, in denen die Werte abgelegt werden.
Zudem habe ich ein Item definiert, das die Pumpe schaltet.

Nun habe ich 2 Rules implementiert. Eine Rule ist für Aktive Pumpe, eine Rule für Inaktive Pumpe.
Sie werden jeweils getriggert, wenn die Pumpe an- respektive abgeschaltet wird.

Wenn das Item für die Pumpe auf ON geht wird die erste Rule aktiviert.
Die startet intern einen Timer. Die Laufzeit des Timers kann ich aus den o.g. Items auslesen über
===============================
var OFFtimer = ScriptExecution.createTimer(now.plusSeconds(lv_ZeitraumZirkulationAktiv_num), AktivPumpExpired);
===============================
Den Timer genau mit dieser Zeitdauer laufen lassen.
Der Timer läuft innerhalb der Rule und nach Ablauf wird die Pumpe abgeschaltet.
===============================
var AktivPumpExpired = function(){ logger.info("Timer aktive Zirkulationspumpe abgelaufen");
logger.info("Die Zirkulationspumpe wird abgschaltet");
// Das Einschalten der Pumpe ist das Event, das die Regel für Inaktivität der Pumpe auslöst
events.sendCommand(lv_FehmarnHeizungZirkulationspumpe_item, "OFF");
}
===============================

Da auf die 2. Rule genau auf das Abschalten der Pumpe reagiert läuft in Bezug auf den Timer identisch
- Laufzeit der Inaktivität aus dem obigen Item auslesen
- Timer starten
- Bei Ablauf des Timers die Pumpe anschalten ==> darauf reagiert wieder die erste Rule.

Jetzt stehen noch 3 Implementierungen an:
1. die erste Regel aufrufen, wenn das System hochgefahren wird (das mache ich über das Triggerevent für die erste Rule direkt)
2. eine Art Watchdog implementieren der überwacht ob die beiden Rules zuverlässig läuft und wenn nicht die beiden Rule erneut anzustarten
3. Mich lässt der Legionellen-Hinweis von Detlef nicht los. Meine Heizung startet 1x pro Woche ein Legionellenprogramm. Das kann ich nur über ein Termostat erkennen. Also muss ich ein Termostat besorgen und die Pumpe für 30 Minuten laufen lassen, wenn das Legionellenprogramm läuft.

P.s.
bei Interesse poste ich gern eine Übersicht, die Definition der Items und der beiden Rules.

Antworten