Programm löst aus, obwohl Bedingungen nicht erfüllt
Moderator: Co-Administratoren
Programm löst aus, obwohl Bedingungen nicht erfüllt
Moin,
warum wird die Aktivität Dann ausgeführt, obwohl nicht alle "und" Bedingung erfüllt sind?
Laut LOG ist der Verursacher im 2ten ODER zu finden -> SvRolloBeschattung_Vorderseite mit dem Wert: deaktiviert am: 09.08. 12:01 Uhr
Laut Programm dürfe hier aber nur ausgelöst werden, wenn auch Geräteauswahl Rollo Gästezimmer:1 bei Behanghöhe im Wertebereich / mit Wert ungleich 100.00 % nur prüfen zutrifft. Die Behanghöhe war aber zu diesem Zeitpunkt bei 100%!
Nachtrag:
Auch um 12:30 Uhr wurde ausgelöst und der Autor hat zwei mal geklackt.
Was mache ich falsch?
Über Hilfreiche Hinweise würde ich mich echt freuen.
Danke, Gruß Dirk
warum wird die Aktivität Dann ausgeführt, obwohl nicht alle "und" Bedingung erfüllt sind?
Laut LOG ist der Verursacher im 2ten ODER zu finden -> SvRolloBeschattung_Vorderseite mit dem Wert: deaktiviert am: 09.08. 12:01 Uhr
Laut Programm dürfe hier aber nur ausgelöst werden, wenn auch Geräteauswahl Rollo Gästezimmer:1 bei Behanghöhe im Wertebereich / mit Wert ungleich 100.00 % nur prüfen zutrifft. Die Behanghöhe war aber zu diesem Zeitpunkt bei 100%!
Nachtrag:
Auch um 12:30 Uhr wurde ausgelöst und der Autor hat zwei mal geklackt.
Was mache ich falsch?
Über Hilfreiche Hinweise würde ich mich echt freuen.
Danke, Gruß Dirk
RPi3: RaspberryMatic 3.47.22.20191026 (HmIP & HM)
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
War zum Zeitpunkt der Programmauslösung einer der anderen Bedingungsblöcke erfüllt?
Das Programm wird immer nur dann gestartet, wenn eine der Zeilen mit "bei Änderung aulösen" oder "zu Zeitpunkten auslösen" wahr oder unwahr wird. Ja, der Statuswechsel einer einzigen Zeile löst das Programm aus.
Dann läuft es von oben nach unten durch und greift beim ersten gefundenen erfüllten Bedingungsblock. Auch wenn der Auslöser aus einem ganz anderen Block kam.
Also Beispiel:
Das Programm löst um 12:30 Uhr aus. Trotzdem kann es sein, dass der erste Block dann für sich gesehen wahr ist und zur Auslösung des DANN führt.
Das Programm wird immer nur dann gestartet, wenn eine der Zeilen mit "bei Änderung aulösen" oder "zu Zeitpunkten auslösen" wahr oder unwahr wird. Ja, der Statuswechsel einer einzigen Zeile löst das Programm aus.
Dann läuft es von oben nach unten durch und greift beim ersten gefundenen erfüllten Bedingungsblock. Auch wenn der Auslöser aus einem ganz anderen Block kam.
Also Beispiel:
Das Programm löst um 12:30 Uhr aus. Trotzdem kann es sein, dass der erste Block dann für sich gesehen wahr ist und zur Auslösung des DANN führt.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Moin manfredh,
Ich verstehe es nicht
Gruß Dirk
Nach meinem Verständnis nicht, da im 1ten Block als "Auslöser"
steht und ich diesen nicht geändert habe und in den anderen Blöcken die BedingungSystemzustand SvRolloStatus bei Tag_morgens öffnen bei Änderung auslösen
nicht erfüllt wurde, die Behanghöre stand auf 100%Geräteauswahl Rollo Gästezimmer:1 bei Behanghöhe im Wertebereich / mit Wert ungleich 100.00 % nur prüfen
Ich verstehe es nicht
Gruß Dirk
RPi3: RaspberryMatic 3.47.22.20191026 (HmIP & HM)
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Wo der Auslöser im Programm steht, spielt keine Rolle und ist auch für den Programmablauf und die Bedingungen völlig uninteressant. Sobald das Programm durch einen dieser Auslöser gestartet wird, wird von oben nach unten der erste erfüllte Block gesucht.
Siehe auch Tipps für Anfänger und WebUI-Handbuch.
Wenn wirklich ein Bezug von Auslöser zu Bedingungsblock erreicht werden soll, muss dies in einem extra Programm geschehen.
Gruß
Bruno
Siehe auch Tipps für Anfänger und WebUI-Handbuch.
Wenn wirklich ein Bezug von Auslöser zu Bedingungsblock erreicht werden soll, muss dies in einem extra Programm geschehen.
Gruß
Bruno
-
- Beiträge: 3733
- Registriert: 23.09.2017, 12:04
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 120 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Hallo
ich versuche es mal einfach zu formulieren
Das Programm wird gestartet (durch welche Zeile auch immer)
Wenn die Bedingungen im ersten Block alle erfüllt sind
oder
die Bedingungen im zweiten Block alle erfüllt sind
oder
die Bedingungen im dritten Bock alle erfüllt sind
dann
passiert etwas.
EGAL welche Zeile das Programm gestartet hat.
Genau das meinte sie oben schon gestellte Frage.
Vielleicht hilft das beim Verständnis.
ich versuche es mal einfach zu formulieren
Das Programm wird gestartet (durch welche Zeile auch immer)
Wenn die Bedingungen im ersten Block alle erfüllt sind
oder
die Bedingungen im zweiten Block alle erfüllt sind
oder
die Bedingungen im dritten Bock alle erfüllt sind
dann
passiert etwas.
EGAL welche Zeile das Programm gestartet hat.
Genau das meinte sie oben schon gestellte Frage.
Vielleicht hilft das beim Verständnis.
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Hallo Dirk,
lies doch bitte meine erste Antwort komplett und versuche sie auch komplett zu verstehen.
Wenn du etwas davon nicht verstehst, frage.
Gruß
Manfred
lies doch bitte meine erste Antwort komplett und versuche sie auch komplett zu verstehen.
Wenn du etwas davon nicht verstehst, frage.
Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
OK, ich Versuch es mal.
1.) Auslöser war: SvRolloBeschattung_Vorderseite mit dem Wert: deaktiviert am: 09.08. 12:01 Uhr ist aber auch egal.
2.) In Summe müssen alle Bedingungen innerhalb eines Blocks erfüllt sein, damit das DANN ausgelöst wird.
Nur welcher Block erfüllt alle Bedingungen?
Block 2 und 3 würde ich ausschließen, da die Behanghöhe auf 100% steht und somit die Bedingung Geräteauswahl Rollo Gästezimmer:1 bei Behanghöhe im Wertebereich / mit Wert ungleich 100.00 % nur prüfen ein "falsch" ergeben müsste und somit der gesamte Block nicht "wahr" wird.
Dann kann es ja eigentlich nur noch der erste Block sein, weil hier die SvRolloStatus mittlerweile auf Tag_morgens öffnen steht und somit alle Bedingungen erfüllt sind?
Hab ich es jetzt verstanden?
Gruß Dirk
RPi3: RaspberryMatic 3.47.22.20191026 (HmIP & HM)
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
-
- Beiträge: 12434
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Yepp, richtig verstanden. Jetzt musst Du halt rausfinden, welcher Block es war, bzw., ob die Bedingungen mit dem "neuen" Wissen immer noch so gewollt sind.
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Moin Gluehwurm,
Danke für eure Zeit und Unterstützung!
Gruß Dirk
Wird sich noch herausstellen
Ich hatte mich da für den ersten Block entschieden
Gute Frage, da stehe ich gleich vor dem nächsten Problem
Danke für eure Zeit und Unterstützung!
Gruß Dirk
RPi3: RaspberryMatic 3.47.22.20191026 (HmIP & HM)
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
CUxD 2.3.4
RedMatic 5.2.0
Programmedrucken 1.2a
Pocket Control HM V10.5.1 Abo
-
- Beiträge: 4155
- Registriert: 09.09.2012, 10:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 78 Mal
- Danksagung erhalten: 301 Mal
Re: Programm löst aus, obwohl Bedingungen nicht erfüllt
Nun müsstest du verstanden haben, dass innerhalb eines Programms der Auslöser wo ganz anders liegen, kann, als die Bedingung, die beim Durchlauf dann als erfüllt erkannt wird. Manchmal kann man sich das zu Nutze machen, oft verwirrt es aber und führt zu ungewollten Funktionen.
Die einfachste Lösung eins solchen Problems ist oben fett und unterstrichen:
Mache drei Programme draus, jeder ODER-Block eins. Dann kann ein Auslösen des zweiten Programms nicht dazu führen, dass das erste abläuft.
Die einfachste Lösung eins solchen Problems ist oben fett und unterstrichen:
Mache drei Programme draus, jeder ODER-Block eins. Dann kann ein Auslösen des zweiten Programms nicht dazu führen, dass das erste abläuft.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.