| | Zeit:
21.11.2023 18:29:44 |
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.
|
| Zeit:
21.11.2023 20:54:38 |
Zitat von Der_Muck  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. |
| Zeit:
22.11.2023 18:56:43 |
Zitat von Der_Muck  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.
|
| Zeit:
22.11.2023 20:58:26 |
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.
|
| Zeit:
22.11.2023 23:26:23 |
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. |
| Zeit:
23.11.2023 00:24:43 |
Zitat von Jockel_Bln  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.
|
| Zeit:
23.11.2023 11:48:31 |
Zitat von McMagellan58  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  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  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  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.
|
| Zeit:
23.11.2023 14:03:48 |
Zitat von Der_Muck  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...
|
| Zeit:
26.11.2023 10:06:42 |
Zitat von McMagellan58  Zitat von Jockel_Bln  [...] 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?
|
| Zeit:
26.11.2023 11:18:52 |
Zitat von Naseweiss  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  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  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.
|
| Zeit:
26.11.2023 12:21:03 |
Zitat von McMagellan58  Zitat von Naseweiss  [...] 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  [...] Bitte erklären was du vor hast. Zitat von Naseweiss  [...] 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
|
| Zeit:
10.12.2023 16:34:05 |
Zitat von McMagellan58  Zitat von Der_Muck  [...] 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?
|
| Zeit:
10.12.2023 17:06:18 |
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.
|
| Zeit:
10.12.2023 18:53:29 |
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.
|
| Zeit:
10.12.2023 20:03:44 |
Zitat von Der_Muck  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.
|
| Zeit:
10.12.2023 20:29:11 |
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....
|
| Zeit:
11.12.2023 00:43:27 |
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. |
| Zeit:
11.12.2023 18:15:19 |
@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?
|
| Zeit:
11.12.2023 21:33:01 |
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 |
| Zeit:
11.12.2023 21:50:23 |
Das werde ich morgen ganz klar mal testen.... top....
|
| Zeit:
13.12.2023 11:44:37 |
@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.
|
| Zeit:
13.12.2023 11:53:14 |
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.
|
| Zeit:
13.12.2023 14:27:34 |
Zitat von Der_Muck  @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.
|
| Zeit:
13.12.2023 16:58:59 |
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?
|
| Zeit:
13.12.2023 18:00:32 |
Zitat von Der_Muck  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.
|