Seite 1 von 1

Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 11:35
von pool2020
Hallo zusammen,

ich lese hier schon einige Zeit mit und habe schon einiges gelernt. Doch seit 2 Wochen hängt der Haussegen schief weil ich nur noch an dieser Steuerung hänge.

Meine Hardware:
4 fach Schaltaktor
Temperatur Differenz Sensor

Kanal 1 = Pumpe
Kanal 2 = Solar
Kanal 3 = Chlorinator
Kanal 4 = Umpolen

Pumpe soll zu festen Zeitpunkten täglich mit Befehl Einschaltzeit (die temperaturabhängig berechnet wird) laufen
Hab ich hinbekommen

Pumpe soll aber auch laufen wenn Kanal Solar (wird Temperaturgesteuert) ein ist und ausschalten wenn Solar aus, aber eben nicht die Pumpe ausschalten solange eine gesetzte Einschaltzeit für Pumpe läuft.

Ich würde wenn möglich gerne mit dem Befehl Einschaltdauer arbeiten weil ich mit Verzögerungen oft Probleme hatte und wenn möglich ohne Zusatzsoftware auskommen.

Ist das mit der Standard Software überhaupt möglich? Ich bin für jede Hilfe dankbar.

Gruß Markus

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 11:56
von JRiemann
Klar geht das ohne Zusatzsoftware nur mit CCU-Mitteln.
Da ich auf Deine jetzige Umsetzung mangels Screenshots nicht eingehen kann gibt es nur eine grobe Beschreibung.
Stichwort für die Forensuche: "Sperrvariable"

Du erstellst Dir eine neue Systemvariable vom Typ "Logik" und vergibst einen Namen und benennst die Zustände nach persönlichem Geschmack.
Wenn jetzt das Programm per Zeitsteuerung die Pumpe einschaltet setzt Du die neue Variable auf z.B. "Sperre" und nach gewünschter Zeit wieder zurück auf "Keine Sperre".
In den anderen Steuerprogrammen fügst Du diese Variable als zu prüfende Bedingung im WENN/SONST-WENN ein.
Solange die Variable auf "Sperre" steht sind die Blöcke der anderen Programme nicht erfüllt und die Einschaltdauer kann nicht überschrieben werden.

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 12:26
von pool2020
Hier mal meine Programme. Das Stichwort Sperrung alleine hilft mir noch nicht, leider. Kann das bitte jemand noch etwas genauer ausführen.

Solar
aasolar.PNG
Pumpe taeglich
pumpe täglich.PNG
Gruß Markus

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 13:00
von pool2020
Ich kann zwar eine Variable anlegen und auch in einem Programm an aus setzten, aber wie mache ich es das die Variable für die Zeit X (x= ebenfalls eine Variable mit Zahlenwert) auf ein bzw. aus gesetzt wird?

Gruß Markus

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 13:01
von dondaik
.....durch das setzen einer variabel werden aktionen erlaubt und verboten .... beispiele sind wie schon gesagt zu finden.
insgesamt werden da immer zwei programme benötigt.

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 13:08
von Familienvater
Hi,

nur der Hinweis, das Du aus dem "sonst" IMMER ausschaltest (also Funkpakete zu den Aktoren jagst), auch wenn die Pumpen schon aus sind. Und da der Differenz-Temp-Sensor ca. alle 3 min triggert, dürfte das sicherlich im Bereich von 10% DC liegen, die sich da einsparen lassen würden, ob das auch beim Einschalten passieren kann, dafür verstehe ich die WebUI-Logik nicht gut genug bzw. weiß auch nicht, was in dem Zeitmodul steht.

Der Familienvater

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 14:00
von pool2020
Hier mal das Solar Programm, ist das schon mal richtig?
aasolar1.PNG
Gruß Markus

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 15:41
von pool2020
So ich habe das Programm Solar jetzt auch mal getestet. Es reagiert jetzt auf die Variable.
aasolar2.PNG
Aber wie setzte ich jetzt die Variable für die Dauer X ( X=Zahlenwert in einer Variable) in dem anderen Programm?

Danke für eure Hilfe.

Gruß Markus

Re: Einschaltzeit nicht überschreiben

Verfasst: 12.08.2018, 18:42
von JRiemann
wie setzte ich jetzt die Variable für die Dauer X

Erst muss Du uns erzählen wie die Variable "Sys var Pumpe täglich" gesetzt wird. Per Programm? Händisch per App?
Über diese Variable setzt Du ja anscheinend dynamisch die Einschaltdauer. (diese Info wäre schon wichtig gewesen)

Das letzte gezeigte Programm löscht Du am besten wieder.
1. "bei Aktualisierung" sorgt dafür das mind. alle 3 Minuten das Programm ausgelöst wird. In Kombination mit dem SONST und der fehlenden Abfrage des Status des Aktors wird also alle 3 Minuten ein Funkbefehl zu ein/ausschalten gesendet egal ob der Aktor bereits ein/ausgeschaltet ist. Für den DC ist das eine Katastrophe. Auf diese Weise reichen einige wenige Programme im die CCU lahm zu legen.
Entweder wechselt man hier zu "bei Änderung auslösen" oder man fügt den Schaltzustand des Aktors als Bedingung mit ein wenn es unbedingt bei Aktualisierung sein. Damit wird nur ein Einschaltbefehl gesendet wenn der Aktor aus ist oder eben umgekehrt.
2. "Sys var Pumpe Sperre" sollte nicht als Trigger dienen und "nur prüfen" ist absolut ausreichend.
3. Ein SONST sollte man auf meiner Sicht nur verwenden wenn man 100% weiß wie die Abläufe sind und man sich diese zu Nutze machen möchte. Probleme entstehen z.B. bei einem Reboot der CCU wenn alle Programme angestoßen werden. In diesem Programm wird dabei immer entweder das DANN oder das SONST ausgeführt je nach Wahrheitsgehalt der Bedingungen im WENN/SONST-WENN.
Ich würde dazu raten das SONST zu streichen und daraus ein SONST-WENN mit definierten Bedingungen zu machen.