Privatsphäre-Einstellungen
Diese Webseite verwendet Cookies. Mit einem Klick auf "Alle akzeptieren" akzeptieren Sie die Verwendung der Cookies. Die Daten, die durch die Cookies entstehen, werden für nicht personalisierte Analysen genutzt. Weitere Informationen finden Sie in den Einstellungen sowie in unseren Datenschutzhinweisen. Sie können die Verwendung von Cookies jederzeit über Ihre anpassen. Ihre Zustimmung können Sie jederzeit mit Wirkung für die Zukunft widerrufen.
Privatsphäre-Einstellungen
Um Ihnen eine optimale Funktion der Webseite zu bieten, setzen wir Cookies ein. Das sind kleine Textdateien, die auf Ihrem Computer gespeichert werden. Dazu zählen Cookies für den Betrieb und die Optimierung der Seite. Hier können Sie auswählen, welche Cookies Sie zulassen:
Privacy Icon
Erforderliche Cookies
Diese Cookies sind notwendig, damit Sie durch die Seiten navigieren und wesentliche Funktionen nutzen können. Dies umschließt die Reichweitenmessung durch INFOnline (IVW-Prüfung), die für den Betrieb des HaustechnikDialogs unerlässlich ist. Wir benutzen Analysecookies, um die Zahl der individuellen Besucher auf Basis anonymer und pseudonymer Informationen zu ermitteln. Ein unmittelbarer Rückschluss auf eine Person ist dabei nicht möglich.
Privacy Icon
Optionale analytische Cookies
Diese Cookies helfen uns, das Nutzungsverhalten besser zu verstehen.Sie ermöglichen die Erhebung von Nutzungs- und Erkennungsmöglichkeiten durch Erst- oder Drittanbieter, in so genannten pseudonymen Nutzungsprofilen. Wir benutzen beispielsweise Analysecookies, um die Zahl der individuellen Besucher einer Webseite oder eines Dienstes zu ermitteln oder um andere Statistiken im Hinblick auf den Betrieb unserer Webseite zu erheben, als auch das Nutzerverhalten auf Basis anonymer und pseudonymer Informationen zu analysieren, wie Besucher mit der Webseite interagieren. Ein unmittelbarer Rückschluss auf eine Person ist dabei nicht möglich.
Privacy Icon
Dienste von anderen Unternehmen (Google AdSense)
Beim akzeptieren dieser Option erlauben Sie unserer Webseite Google AdSense zu verwenden. Google AdSense verwendet Cookies, um Ihnen personalisierte Werbung anzuzeigen, die auf Ihren Interessen basieren können.Bitte beachten Sie, dass durch das Akzeptieren der entsprechenden Cookies Daten an Google LLC in den USA übermittelt und dort verarbeitet werden. Weitere Informationen entnehmen Sie bitte unserer Datenschutzerklärung.
Datenschutzhinweise

Alle
Foren
Steuerung der Jeisha mit Heishamon und Rules
Verfasser:
Der_Muck
Zeit: 21.11.2023 18:29:44
0
3620377
Hier gabs doch mal eine Rule für die WW-Bereitung, das diese erst startet wenn die WW Temp unter das Delta gefalen ist?
Und ich bräuchte noch mal eine kurze Hilfestellung wie eine Rule beginnen sollte? Ich komme etwas ins schleudern mit der "On" Funktion und dem was danach kommt. Die IF,THEN,ELSE Geschichte ist mir klar.

Verfasser:
McMagellan58
Zeit: 21.11.2023 20:54:38
1
3620468
Zitat von Der_Muck Beitrag anzeigen
Und ich bräuchte noch mal eine kurze Hilfestellung wie eine Rule beginnen sollte? Ich komme etwas ins schleudern mit der "On" Funktion und dem was danach kommt. Die IF,THEN,ELSE Geschichte ist mir klar.

Ich habe mal eine Skizze gemacht die zeigen soll wie Rules tickt.

Es fängt damit an, das mehrere Codeschnipsel in der Programmdatei untereinander aufgelistet werden. Jede Rule beginnt mit "on" und endet mit "end". Lt Entwickler sind beliebig viele Rules möglich. Neben der obligatorischen Startrule (System#Boot) in der alle globalen #Variablen aufgezählt und mit Anfangswert versorgt werden soll sind 3 weitere Typen möglich.

1) TOP XX Trigger: Sofort auszuführender Codeschnipsel wenn der Parameter XX der Jeisha sich geändert hat oder alle 5 Minuten aktualisiert wird.

2) Timer: Nach einer vorgegebenen Wartezeit auszuführender Codeschnipsel. Wird in die Zeit- Warteschlange eingestellt.

3) Funktion: Abgesetzter Programmteil als sofort auszuführender Codeschnipsel mit Rückkehr zum Aufrufpunkt ähnlich Gusub.

Der Manager arbeitet nun die Codeschnipsel einzeln und nacheinander ab die ihm alle in der Bibliotheke zur Verfügung gestellten sind wenn er aus den Warteschlangen heraus damit beauftragt wird.

Um Daten in verschiedenen Rules bearbeiten zu können müssen globale Variablen verwendet werden die mit # beginnen.

Das erstmal um grob zu verstehen wie Rules tickt.


Verfasser:
McMagellan58
Zeit: 22.11.2023 18:56:43
0
3621035
Zitat von Der_Muck Beitrag anzeigen
Hier gabs doch mal eine Rule für die WW-Bereitung, das diese erst startet wenn die WW Temp unter das Delta gefalen ist?

Nachdem jetzt die Heishamon- Version 3.2.3 da ist gibt es ganz neue Möglichkeiten Timer abzubilden weil Zeit- Systemvariablen eingeführt wurden.

Das habe ich jetzt mal zum Anlass genommen eine solche Aufgabe wie du sie hast umzusetzen weil ich auch auf einen brauchbaren Rules- Timer umstellen muß. Ausserdem eignet sich das auch zu einem kleinen Tutorial um zu verstehen wie Rules tickt.

Hier mal meine Lösung dazu. Hat Heute wie vorgesehen bei mit funktioniert.




Und hier noch die Beschreibung was ich mir dabei gedacht habe.





@Jockel_Bln
Schau doch mal drüber ob ich irgendwas vergessen habe.

Datei würde ich dann in mein Gist einstellen.

Verfasser:
Jockel_Bln
Zeit: 22.11.2023 20:58:26
0
3621124
Also mit meinem gefährlichen Halbwissen sehe ich da keine Fehler.
Eventuell könnte man noch zwei globale Variablen für das Zeitfenster hinzunehmen (#WWstartON = 14; #WWstartOFF = 18; o.ä.) und diese dann im Timer einsetzen, dann braucht man bei Veränderung der Zeiten nicht in den Rules "suchen".

Braucht es die #WWMinuten wirklich? Bei mir läuft die Rückschaltung schon seit über einem Jahr mit:
if @DHW_Temp >= @DHW_Target_Temp && @DHW_Power_Consumption == 0 && @Operating_Mode_State == 3 then
Eine Fehlfunktion gab es bisher noch nie.

Eine Frage habe ich mal zu if 1 == 1 then: Was bewirkt das, oder was kann man damit machen? Da ist mir wohl irgend etwas entgangen. Ich habe da noch nie etwas von gehört.

Naja und dann kommt, wie immer, mein Gedanke an KISS ;-)
1. Die lokalen Zeitvariablen würde ich natürlich weg lassen und die Prüfung direkt mit %hour und %minute machen. (Wochentag kommt gar nicht vor?)
2. Wozu das Monitoring in Rules? Die Daten sind doch eh per mqtt verfügbar und über Grafiken darstellbar.

Verfasser:
Jockel_Bln
Zeit: 22.11.2023 23:26:23
0
3621208
Ich habe das mal Quick & Dirty zusammengeschrieben, wie ich es umsetzen würde. Allerdings ohne den "Schalter" if 1 == 1 then, da ich dessen Funktion noch nicht verstehe.
Hoffe, es hat sich kein Schreibfehler eingeschlichen. Wenn doch, sagt mir bitte Bescheid.

Verfasser:
McMagellan58
Zeit: 23.11.2023 00:24:43
0
3621218
Zitat von Jockel_Bln Beitrag anzeigen
Ich habe das mal Quick & Dirty zusammengeschrieben, wie ich es umsetzen würde. Allerdings ohne den "Schalter" if 1 == 1 then, da ich dessen Funktion noch nicht verstehe.
Hoffe, es hat sich kein Schreibfehler eingeschlichen. Wenn doch, sagt mir bitte Bescheid.

Das schöne an Rules ist ja das es so viele Lösungsmöglichkeiten gibt mit den grade mal 2 Befehlen (if then else end und dem timer).

In Zeile 13 steht bei dir ein = anstelle ==

Der Schalter if 1 == 1 then schafft auf einfache weise die Möglichkeit einen Programmteil (hier ist es ein Timereintrag) Ein oder Auszuschalten (if 1 == 0 then) ohne das man diesen Programmteil aus der Rule entfernen muß. Wenn man diesen dann zu einem späteren Zeitpunkt wieder braucht musst du nicht nach der alten Datei suchen und diese neu Laden sondern änderst einfach die 0 in eine 1 und drückst Save. Für mich eine komforttable Lösung.

Es ist mir schon klar das meine Rule die gleiche Funktionalität mit der Hälfte der Codezeilen schaffen würde. Mir geht es aber um die übersichtlichere Struktur, möglichst wenige Verschachtelungen und eine weitestgehende Nachverfolgung dessen was die Rule grade tut und in welchem Zustand sich die WP befindet durch Echtzeitbeobachtung im laufenden Consolenfenster. Daher der Monitoring Teil. Nicht jeder hat eine starke Visualisierung in einer Grafik. Auch soll eine mögliche Erweiterung um weitere Timereinträge so übersichtlich und nachvollziebar wie möglich sein eingestellt in eine sichere Programmrahmenumgebung.

Das Fixieren des Zeitstempels auf Rule- temporäre Variablen am Anfang des Codes hat auch noch den Grund, das sich während die Rule in Bearbeitung die Zeit
ändern kann. So ist es gegeben, das für die Timer- Abarbeitung vom ersten bis zum letzten Eintrag die selbe Zeit zu Grunde liegt. Ausserdem sind mir deutsch Bezeichnungen lieber wenn es möglich ist.

Verfasser:
Jockel_Bln
Zeit: 23.11.2023 11:48:31
0
3621442
Zitat von McMagellan58 Beitrag anzeigen
Das schöne an Rules ist ja das es so viele Lösungsmöglichkeiten gibt mit den grade mal 2 Befehlen (if then else end und dem timer).

Das ist wohl wahr 👍
Zitat von McMagellan58 Beitrag anzeigen
In Zeile 13 steht bei dir ein = anstelle ==

Danke für den Hinweis!
Um die Uhrzeit sollte man so etwas wohl nicht mehr auf die Schnelle zusammen tippen.
Bild ist korrigiert und ausgetauscht.
Zitat von McMagellan58 Beitrag anzeigen
Der Schalter if 1 == 1 then schafft auf einfache weise die Möglichkeit einen Programmteil (hier ist es ein Timereintrag) Ein oder Auszuschalten (if 1 == 0 then) ohne das man diesen Programmteil aus der Rule entfernen muß. Wenn man diesen dann zu einem späteren Zeitpunkt wieder braucht musst du nicht nach der alten Datei suchen und diese neu Laden sondern änderst einfach die 0 in eine 1 und drückst Save. Für mich eine komforttable Lösung.

Ich habe mir das schon fast gedacht, aber nicht dran geglaubt, dass es so einfach wäre.
Ist das irgendwo dokumentiert und mir nur entgangen, oder hast du das alleine ausgetüftelt?
Auf jeden Fall eine coole Sache, danke für die Erklärung.
Zitat von McMagellan58 Beitrag anzeigen
Das Fixieren des Zeitstempels auf Rule- temporäre Variablen am Anfang des Codes hat auch noch den Grund, das sich während die Rule in Bearbeitung die Zeit
ändern kann.

OK, das ist ein Argument. Bei der WW Bereitung wäre das wohl nicht "kriegsentscheidend", aber bei anderen Vorgängen macht es dann doch eventuell Sinn.
Ich werde das im Hinterkopf behalten, falls ich doch mal was mit Rules nach Zeit schalten will.

Verfasser:
stumi75
Zeit: 23.11.2023 14:03:48
0
3621541
Zitat von Der_Muck Beitrag anzeigen
Hier gabs doch mal eine Rule für die WW-Bereitung, das diese erst startet wenn die WW Temp unter das Delta gefalen ist?
[...]


Ich heize und mach' Warmwasser seit 1.10.23 mit einer 5kW Jeisha - und dokumentiere meine Heishamon Rules im Aquarea Club. Da hab' ich so eine Regel drin...

Verfasser:
Naseweiss
Zeit: 26.11.2023 10:06:42
0
3623064
Zitat von McMagellan58 Beitrag anzeigen
Zitat von Jockel_Bln Beitrag anzeigen
[...]

Das schöne an Rules ist ja das es so viele Lösungsmöglichkeiten gibt mit den grade mal 2 Befehlen (if then else end und dem timer).

In Zeile 13 steht bei dir ein = anstelle ==

Der Schalter if 1 == 1 then schafft auf einfache weise die Möglichkeit einen Programmteil[...]



Hallo,
gibt es eigentlich noch andere Methoden Rules ein- bzw. auszuschalten?

Ich habe dazu 2 Fälle

1) aus bzw einschalten wenn man die Nachführung der Vorlauftemperatur nicht möchte, sondern die WP mal richtig power machen soll.
2) Nach einem Absturz , bei mir ist meistens so nach ca 200 Std uptime ein Absturz passiert. Dann laufen die Rules nicht mehr, wie kann ich die z.B. aus der Heimautomation wieder starten?

Verfasser:
McMagellan58
Zeit: 26.11.2023 11:18:52
0
3623116
Zitat von Naseweiss Beitrag anzeigen
Hallo,
gibt es eigentlich noch andere Methoden Rules ein- bzw. auszuschalten?

Wenn du den Urlaubstimer nicht nutzt kannst du folgendes machen:

1) Der Urlaubstimer wird manuell an der FB einmalig konfiguriert. Dort werden u.A. 2 Zeitmarken eingebeben zwischen denen der Urlaubstimer aktiv sein soll. Die stellst du einfach auf ein Datum in der Vergangenheit sodass sie niemals
zum Tragen kommen.

2) Dann machst du eine lfd Abfrage in der Rule bei der Programmteile nur ausgeführt werden wenn der Urlaubstimer nicht gesetzt ist.

z.B. if @Holiday_Mode_State == 0 then

3) Dieser "Schalter" kann mit @SetHolidayMode = 1 oder 0 (TOP19) aus Rules selber geschaltet werden oder von extern mit:
http://192.168.178.36/command?SetHolidayMode=0

oder aus iobroker mit einem Script

oder an der Fernbedienung manuell eingeschaltet werden.

4) Das schöne daran ist die Anzeige in der Fernbedienung. Wenn der Urlaubstimer eingeschaltet wurde erscheint links oben das Koffer- Symbol mit Kalender.

Achtung Eselsbrücke: Wenn der Koffer zu sehen ist ist die Rule im Urlaub. :-)

Zitat von Naseweiss Beitrag anzeigen

Ich habe dazu 2 Fälle

1) aus bzw einschalten wenn man die Nachführung der Vorlauftemperatur nicht möchte, sondern die WP mal richtig power machen soll.

Bitte erklären was du vor hast.

Zitat von Naseweiss Beitrag anzeigen

2) Nach einem Absturz , bei mir ist meistens so nach ca 200 Std uptime ein Absturz passiert. Dann laufen die Rules nicht mehr, wie kann ich die z.B. aus der Heimautomation wieder starten?

Einfach http://192.168.178.XXX/reboot an Heishamon schicken.

Verfasser:
Naseweiss
Zeit: 26.11.2023 12:21:03
0
3623163
Zitat von McMagellan58 Beitrag anzeigen
Zitat von Naseweiss Beitrag anzeigen
[...]

Wenn du den Urlaubstimer nicht nutzt kannst du folgendes machen:

1) Der Urlaubstimer wird manuell an der FB einmalig konfiguriert. Dort werden u.A. 2 Zeitmarken eingebeben zwischen denen der Urlaubstimer aktiv sein soll. Die stellst du einfach auf ein Datum in der Vergangenheit[...]
Zitat von Naseweiss Beitrag anzeigen
[...]

Bitte erklären was du vor hast.

Zitat von Naseweiss Beitrag anzeigen
[...]

Einfach http://192.168.178.XXX/reboot an Heishamon schicken.


Vielen Dank für die prompte Antwort, das ist Service !!

zum Thema Power machen, wenn die WP mit Rules die Targettemperatur immer an die Vorlauftemperatur angeglichen wird, geht sie in die kleinste Leistungsstufe. Möchte man vielleicht nicht immer sondern auch mal schnell die Bude erwärmen.

Danke und einen schönen Sonntag

Verfasser:
Der_Muck
Zeit: 10.12.2023 16:34:05
0
3633355
Zitat von McMagellan58 Beitrag anzeigen
Zitat von Der_Muck Beitrag anzeigen
[...]

Nachdem jetzt die Heishamon- Version 3.2.3 da ist gibt es ganz neue Möglichkeiten Timer abzubilden weil Zeit- Systemvariablen eingeführt wurden.

Das habe ich jetzt mal zum Anlass genommen eine solche Aufgabe wie du sie hast umzusetzen weil ich auch auf einen brauchbaren Rules-[...]


@McMagellan58 Deine Rule beschreibt ja nur eine Nachladung. Wie müsste die Rule abgeändert werden das innerhalb des Zeitfensters weitere Nachladungen möglich sind wenn die WW-Temp wieder unter Soll.Temp - Hyterese gefallen ist?

Verfasser:
McMagellan58
Zeit: 10.12.2023 17:06:18
0
3633375
Dafür macht die Rule keinen Sinn.

Gedacht ist die Rule ja das das nach einem Anstossen durch den Wochentimer ausgelöste WW- Bereitungs- Fenster durch die Rule geschlossen wird. Dabei ist es das Kriterium das die WW- Bereitung erfolgreich beendet wurde. Ein Kriterium was der Wochentimer nicht leisten kann.

Stell doch einfach den Wochentimer so ein, das er z.B. ab 14 Uhr vom reinen Heizenmodus (Mode 0) in den Kombi- Modus wechselt (Mode 4) damit er wenn die Anforderung da ist WW machen kann.

Mit einem zweiten Wochentimereintrag z.B. ab 20 Uhr schliesst du dann das Kombifenster und gibst dann wieder reinen Heizbetrieb vor (Mode 0). Dadurch sind mehrere Nachladungen möglich vorausgesetzt die WW Soll Temp wird erreicht.

Verfasser:
Der_Muck
Zeit: 10.12.2023 18:53:29
0
3633429
Dann habe ich deine Rule falsch interpretiert.....
Bei uns ist das WW-Fenster 10-18 Uhr.
Also Wochen Timer ist schon folgend eingestellt, 10Uhr Heizen+DHW EIN (Mode 4) und 18Uhr Heizen EIN (Mode 0)
WW Soll 48°C und Hysterese -8°C
Was mich daran stört ist das wenn der Wochentimer um 10 Uhr einschaltet und das WW-Ist hat z.b. 46°C wird trotzdem die WW-Bereitung gestartet. Ebenso wenn in diesem Zeitfenster zwischendurch mal in Standby geschaltet werden muss um z.b. ins Istallateur-Setup zu kommen wird danach gleich wieder auf WW-Bereitung gestellt sobald die WW-Ist unter das WW-Soll fällt, es wird also in dieser Situation die Hysterese komplett ignoriert.
Hier bräuchte ich eine Rule die die WW-Bereitung erst startet wenn die WW-Ist unter die WW-Soll -- Hysterese gefallen ist. Ein mehrmaliges nachladen innerhalb des Zeitfensters von 10-18 Uhr sollte möglich sein.
Keine Ahnung ob das so überhaupt möglich ist?
Der 1.Teil deiner Rule würde ja passen um ein Zeitfenster zu öffnen, da meine Rules Kenntnisse noch sehr spärlich sind fehlt mir der Plan wie man das weiter umsetzen könnte.

Verfasser:
McMagellan58
Zeit: 10.12.2023 20:03:44
0
3633460
Zitat von Der_Muck Beitrag anzeigen
Dann habe ich deine Rule falsch interpretiert.....
Bei uns ist das WW-Fenster 10-18 Uhr.
Also Wochen Timer ist schon folgend eingestellt, 10Uhr Heizen+DHW EIN (Mode 4) und 18Uhr Heizen EIN (Mode 0)
WW Soll 48°C und Hysterese -8°C
Was mich daran stört ist das wenn der[...]

Das kann man schon in Rules umsetzen.
Dazu muss der erste Timer auch in Rules realisiert werden. Der Wochentimer kann dann nicht mehr verwendet werden weil er das Einschaltkriterium nicht leisten kann.

1. In einer minütliche Endlosschleife wird das Zeitfenster abgefragt:
if %hour >= 10 && %hour <= 18 then
dann


2. Prüfe ob die WP überhaupt eingeschaltet ist
dann


3. Wenn die Betriebsart "nur Heizen" aktiv sein sollte (Mode = 0)
dann


3. Wenn die WW Soll (48°) um 8° unterschritten sein sollte:
dann


4. Schalte um auf Betriebsart Heizen und WW (Mode = 4)


Dann sollte mit dem Warmwasserbereiten begonnen werden bis wegen Erreichen der Abschalttemperatur der Kompressor abschaltet.




Der zweite Teil bleibt wie er ist.

1. Erkenne wenn ein vorhergehender WW- Takt beendet wurde.
dann


2. Sollte die Betriebsart "Heizen und WW" (Mode = 4) aktiv sein
dann

Schalte die Betriebsart um auf "nur Heizen" (Mode = 0)


Damit ist die Ausgangssituation wieder hergestellt und kann erneut ablaufen wenn die Bedingungen im 1. Teil erfüllt sind.


Ist das so wie du dir das vorstellst?
Zwischenzeitliches Standby oder Aufruf des Installateursmenü sollten keinerlei Auswirkungen haben.

Verfasser:
Der_Muck
Zeit: 10.12.2023 20:29:11
0
3633486
Ja genau das würde so passen.... Die Abfolge liest sich gut und plausibel....
Irgendwie denke ich bei meinen Ansätzen immer zu kompliziert.... Ich sehe schon das deine Strukturierte Darstellungsweise das ganze vereinfacht und verständlicher macht....

Verfasser:
McMagellan58
Zeit: 11.12.2023 00:43:27
0
3633574
Und so könnte es umgesetzt aussehen. (Entwurf, Anregungen erwünscht)

Die WWSoll Temp muss über die FB eingegeben werden um flexibel zu bleiben.
Die Rule lässt sich mit "if 1 == 0 then" deaktivieren (Ein/Aus Schalter)
Die Rule läuft nur wenn auch der Wochentimer aktiviert wurde.
Im Wochentimer sollte dann aber der herkömmliche WW- Timer gelöscht werden.
Rule lässt sich hochladen, getestet habe ich sie allerdings nicht. Theoretisch liesse sich das so auch über Blockly abbilden.


Verfasser:
Der_Muck
Zeit: 11.12.2023 18:15:19
0
3633991
@McMagellan58 du bist echt grandios... grosses Dankeschön...
Nur noch kurz zum Verständniss, wenn der WW-Timer rausgelöscht wird dann kann ja auch der Heizen Timer gelöscht werden, und nur der leere Timer aktiv, da ja dann sowieso dauerhaft auf Heizen gestellt ist und nur im Zeitfenster der Rule 10-18Uhr auf Heizen+ DHW Modus 4 gestellt wird?
Was mir noch nicht ganz klar ist was die Variable #WWTakt bewirkt.
Als Merker das der WW-Takt läuft?
Würde in Zeile 39/40 nicht noch die Abfrage "if DHW_Power_Consumption == 0"
fehlen bevor der OperationMode 4 zurück auf OperationMode 0 gesetzt wird?

Verfasser:
McMagellan58
Zeit: 11.12.2023 21:33:01
1
3634086
Ich habe noch 3 Funktionen nachgerüstet:

1) Eine Abtauung während WW führt nicht zur Abschaltung des Ladevorgangs.
2) Eine WW- Ladung wird erst zurückgeschaltet wenn die Zieltemperatur erreicht wurde. Eine Ladung auf Etappen ist daher möglich.
3) Wenn die WP im Sommer auf nur WW- Betrieb steht (Modus 3) und Ausgeschaltet ist wird die WP im Zeitfenster nach Bedarf eingeschaltet und nach beendeter WW- Ladung wieder ausgeschaltet. Der Modus 3 bleibt bestehen für den nächsten Tag. Umschaltung auf reinen WW- Betrieb (Modus 3) ist manuell an der FB möglich.

Der Wochentimer kann z.B. zur Nachtabsenkung weiter verwendet werden im "Nur Heizen- Modus". Timer mit Einträgen für WW sollte es keine mehr geben weil diese jetzt diese Rule steuert.

Der Übersicht halber habe ich die 2 Timer-Funktionen separiert.
Timer1 = Schaltet WW Ein nach erfüllten Kriterien (minütlich)
Timer2 = Beendet den WW- Betrieb (minütlich aber um 30 Sek zeitversetzt zu Timer 1)

Nur noch kurz zum Verständniss, wenn der WW-Timer rausgelöscht wird dann kann ja auch der Heizen Timer gelöscht werden, und nur der leere Timer aktiv, da ja dann sowieso dauerhaft auf Heizen gestellt ist und nur im Zeitfenster der Rule 10-18Uhr auf Heizen+ DHW Modus 4 gestellt wird?

Wenn über den Tag hinweg es keine Timerkorrekturen im Heizbetrieb gibt reicht es die WP an der FB einmalig auf "nur Heizen" zu stellen.
Im Sommer ohne Heizung muss an der FB dann einmalig auf Betriebsart "WW" gestellt werden.
Eine weitere Bedienung im lfd Betrieb ist nicht erforderlich.

Der Wochentimer kann zwar leer sein, er muss aber aktiviert sein weil sonst die Rule nicht läuft. Grund dafür ist die Möglichkeit an der FB spontan die Rule ausschalten zu können.


Was mir noch nicht ganz klar ist was die Variable #WWTakt bewirkt.
Als Merker das der WW-Takt läuft?


Diese Variable sorgt dafür die Zwischenzustände zu erkennen und darauf im Programm reagieren zu können.
Wenn WW beginnt ergibt #WWTakt = 0 den Zustand das vorher kein WW war was dem Startsignal entspricht.
Daraufhin wird #WWTakt auf = 1 gesetzt.
Gleiches gilt für das Ende des WW- Taktes. Wenn dann #WWTakt auf 1 steht bedeutet das, das es unmittelbar vorher ein WW- Takt gab der jetzt zu Ende gegangen ist. Daraufhin läuft der entsprechende Programmteil ab.


Würde in Zeile 39/40 nicht noch die Abfrage "if DHW_Power_Consumption == 0"
fehlen bevor der OperationMode 4 zurück auf OperationMode 0 gesetzt wird?


Nein. Der logische Zustand "Kein WW- Takt" ergibt sich aus der "else- Alternative" der WW- Takt abfrage.

Hier der Github Link zum Download des Programms. Status: Experimentell, ohne Gewähr. Feedback erbeten.


Hier der Code der überarbeiteten Version


Verfasser:
Der_Muck
Zeit: 11.12.2023 21:50:23
0
3634099
Das werde ich morgen ganz klar mal testen.... top....

Verfasser:
Der_Muck
Zeit: 13.12.2023 11:44:37
0
3634953
@McMagellan58 ich habe jetzt mal die WW-Rule getestet, läuft leider nicht wie erhofft... bzw. es tut sich nix. Die WW Bereitung startet nicht, und wenn ich dann manuell einschalte, wird sie nicht mehr abgeschaltet. WW-Temp war bei 23°C WW-Soll 48°C und Hysterese -8°C, Wochentimer war leer aber aktiv
Rule kann aber in Heishamon gespeichert werden und ist noch sichtbar. auf der Platine läuft Heishamon V3.2.3.
Nach dem speichern habe ich einen reboot gemacht.

Verfasser:
Jockel_Bln
Zeit: 13.12.2023 11:53:14
0
3634961
Wie sind denn deine bisherigen Beobachtungen überhaupt, wie oft müsste den normalerweise WW bereitet werden? Bei sehr vielen Usern reicht doch, je nach Speichergröße und Benutzerverhalten, 1x täglich WW aus.
Wenn das bei dir auch so ist und nur in Ausnahmefällen ein zweites Aufheizen nötig ist, würde ich es gar nicht so kompliziert machen.

Verfasser:
McMagellan58
Zeit: 13.12.2023 14:27:34
0
3635047
Zitat von Der_Muck Beitrag anzeigen
@McMagellan58 ich habe jetzt mal die WW-Rule getestet, läuft leider nicht wie erhofft... bzw. es tut sich nix. Die WW Bereitung startet nicht, und wenn ich dann manuell einschalte, wird sie nicht mehr abgeschaltet. WW-Temp war bei 23°C WW-Soll 48°C und Hysterese -8°C, Wochentimer war leer aber[...]

Ich habe die Rule heute mal ausprobiert und den Fehler gefunden.
Die Zeile #43 muss auf Zeile #50 verschoben werden.

Die Zeile die ein Zurückschalten vor Sollerreichen verhinden soll hat versehentlich das Einschalten auch verhindert. Bei mir ist die Rule jetzt korrekt aufgestartet. Ich habe das allerdings abgebrochen weil mein Speicher schon auf 51°C war.
Probiere es jetzt mal aus. Obiger Link führt zu der geänderten Version 11.106.

Verfasser:
Der_Muck
Zeit: 13.12.2023 16:58:59
0
3635133
So ich habbe die geänderte Rule mal eingespielt.... mal sehen ob es klappt....

Eine allgemeine Verständnisfrage zu den Timern hätte ich da noch,...
Wenn ich mehrere einzelne Rules hintereinander verwende müssen dann die Timer Nummern fortlaufend sein oder kann jede Rule für sich einen Timer 1, Timer 2 , Timer 3 haben? Oder gibt es hier Konflikte wenn z.b. alle 3 Einzel Rules die gleichen Timer Nr. verwenden?

Verfasser:
McMagellan58
Zeit: 13.12.2023 18:00:32
0
3635163
Zitat von Der_Muck Beitrag anzeigen
Eine allgemeine Verständnisfrage zu den Timern hätte ich da noch,...
Wenn ich mehrere einzelne Rules hintereinander verwende müssen dann die Timer Nummern fortlaufend sein oder kann jede Rule für sich einen Timer 1, Timer 2 , Timer 3 haben? Oder gibt es hier Konflikte wenn z.b. alle 3 Einzel Rules die gleichen Timer Nr. verwenden?

Ein Timer beginnt wie jede Rule mit einem "on" und endet mit einem "end".
Die Quelldatei besteht aus beliebig vielen hintereinander angeordneten Codeschnipsel die alle mit on anfangen und mit end enden. Sollte das nicht so sein bekommst du die Datei nicht geladen. Rules legt sich beim Einlesen eine art Bibliotheke der Codeschnipsel an. Es ist zwar egal in welcher Reihenfolge die eingelesen werden sie müssen aber von der Bezeichnung her eindeutig unterscheidbar sein.

Man kann sich die Ausführung dann so vorstellen:
Begonnen wird mit der Boot- Rule. In der muss stehen welcher Codeschnipsel als nächstes abgearbeitet werden soll. Bei einem Timeraufruf wird der Codeschnipsel in eine Warteschlange entsprechend des Sekundenwerts eingestellt die dann Sekündlich abgearbeitet wird. Dadurch entsteht ein Programmablauf. Es wird immer nur ein Codeschnipsel gleichzeitig abgearbeitet. Die TOP- Trigger werden über eine Sofort- Warteschlange der Ausführung zugeführt.

Werden keine TOP- Trigger verwendet und kommt nichts mehr über die Timer- Warteschlange ist das Programm zu Ende.

Ich hoffe damit wieder etwas mehr zum Verständniss wie Rules Tickt beigetragen zu haben.

Aktuelle Forenbeiträge
Christians51 schrieb: Hallo, ich/wir haben gerade ein Brett vor dem Kopf und bräuchten...
SEWA_DE schrieb: Hallo, ich plane den Austausch meiner alten Gasheizung gegen...
ANZEIGE
Hersteller-Anzeigen
ENERGIE- UND SANITÄRSYSTEME
Tanks, Behälter, Wärmespeicher,
Wassermanager, Grauwasseranlagen
Website-Statistik
ANZEIGE

Steuerung der Jeisha mit Heishamon und Rules
Verfasser:
McMagellan58
Zeit: 13.12.2023 18:00:32
0
3635163
Zitat:
...
Eine allgemeine Verständnisfrage zu den Timern hätte ich da noch,...
Wenn ich mehrere einzelne Rules hintereinander verwende müssen dann die Timer Nummern fortlaufend sein oder kann jede Rule für sich einen Timer 1, Timer 2 , Timer 3 haben? Oder gibt es hier Konflikte wenn z.b. alle 3 Einzel Rules die gleichen Timer Nr. verwenden?
Ein Timer beginnt wie jede Rule mit einem "on" und endet mit einem "end".
Die Quelldatei besteht aus beliebig vielen hintereinander angeordneten Codeschnipsel die alle mit on anfangen und mit end enden. Sollte das nicht so sein bekommst du die Datei nicht geladen. Rules legt sich beim Einlesen eine art Bibliotheke der Codeschnipsel an. Es ist zwar egal in welcher Reihenfolge die eingelesen werden sie müssen aber von der Bezeichnung her eindeutig unterscheidbar sein.

Man kann sich die Ausführung dann so vorstellen:
Begonnen wird mit der Boot- Rule. In der muss stehen welcher Codeschnipsel als nächstes abgearbeitet werden soll. Bei einem Timeraufruf wird der Codeschnipsel in eine Warteschlange entsprechend des Sekundenwerts eingestellt die dann Sekündlich abgearbeitet wird. Dadurch entsteht ein Programmablauf. Es wird immer nur ein Codeschnipsel gleichzeitig abgearbeitet. Die TOP- Trigger werden über eine Sofort- Warteschlange der Ausführung zugeführt.

Werden keine TOP- Trigger verwendet und kommt nichts mehr über die Timer- Warteschlange ist das Programm zu Ende.

Ich hoffe damit wieder etwas mehr zum Verständniss wie Rules Tickt beigetragen zu haben.
Weiter zur
Seite 37