Verständnisfrage: laufender Start von Programmen

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

ds1982
Beiträge: 15
Registriert: 30.09.2015, 11:38

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von ds1982 » 09.04.2017, 22:37

Oh :-) Ich wollte keine hitzige Diskussion lostreten ;-) Bei mir ist es definitiv auch so, dass das Programm zum Zeitpunkt des Zeitstempels nicht ausgeführt wird. Hab es wiederholt getestet. Der Zeitstempel aktualisiert sich, wenn Daten von der Heizungsgruppe empfangen werden. Das Programm also ausgelöst wird. Es wird aber nicht ausgeführt (Variablen bleiben unverändert).

manfredh
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: Verständnisfrage: laufender Start von Programmen

Beitrag von manfredh » 10.04.2017, 11:18

ds1982 hat geschrieben:...Das Programm also ausgelöst wird. Es wird aber nicht ausgeführt...
Halten wir also fest:

- Programme werden ausgelöst (aber evtl. nicht ausgeführt)
- Programme werden nach dem Auslösen unter Umständen ausgeführt
- Programmteile (Danns / Wenn_danns / Sonsts) werden nach dem Ausführen des Programmes unter Umständen ausgeführt.
:? :? :?

Das schreit nach einer Anpassung der Einsteigertipps. :wink:

Im Ernst: ich bleibe bei meinem bisherigen Verständnis der Logik - ohne die Unterscheidung zwischen Auslösung und Ausführung. Auch wenn manchmal der Zeitstempel angefasst wird, ohne das Programm auszuführen.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Xel66
Beiträge: 14169
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 586 Mal
Danksagung erhalten: 1501 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von Xel66 » 10.04.2017, 20:16

manfredh hat geschrieben:Im Ernst: ich bleibe bei meinem bisherigen Verständnis der Logik - ohne die Unterscheidung zwischen Auslösung und Ausführung.
Sieh es doch einfach anders. Ein Programm wird durch einen Trigger ausgelöst (getriggert). Nach der Auslösung werden die definierten Bedingungen geprüft und in Abhängigkeit von dem Ergebnis der Prüfung, das dazugehörige DANN ausgeführt. Trifft keines zu, wird die Aktion "Sonst" durchgeführt. Ist dort nichts definiert, ist die Prüfung beendet und der Zeitstempel wird aktualisiert. Also Auslösung --> Prüfung --> Ausführung (oder auch nicht, wenn es kein SONST gibt). Das Triggern ist die Ursache für die Änderung des Zeitstempels.

Bei dieser Betrachtung muss man nur noch die (sagen wir) unerwartete Art der Prüfung beachten. Unabhängig vom auslösenden Trigger werden alle Bedingungen des Programms geprüft und die erste zutreffende Bedingung gewinnt. So kommt es dazu, dass auch Aktionen durchgeführt werden, obwohl es für die eigentliche Bedingung zu dem ausgeführten DANN gar keinen Trigger gab, sondern z.B. nur entsprechende Zeitbereicht zutrafen o.ä.. Diese ungewöhliche Art und Weise ist die Ursache, woran dann das Verständnis der Einsteiger scheitert und was es schwer macht, ein umfangreiches Programm mit vielen "Sonst Wenn"s nachzuvollziehen. Unter bestimmten Bedingungen ist das Ergebnis schlecht vorauszusagen. Darum eben lieber kleinere Programme backen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von Bullson » 08.04.2018, 10:13

Ich hab da auch noch ein Verständnisproblem (und das nach jetzt bald 10 Jahren Homa):
Ich möchte alle 15min wissen ob z.B.
A) Anwesenheit=ja
B) Ein Tor offen ist
Ich mach also Zeitsteurung>periodisch, ganztägig alle 15min>
und dann, das wär meine Frage:
Was ist der unterschied zwischen zu 'Zeitpunkten auslösen' oder 'nur prüfen'?

Benutzeravatar
AndiN
Beiträge: 2621
Registriert: 10.06.2015, 08:54
Wohnort: Hennef
Hat sich bedankt: 10 Mal
Danksagung erhalten: 28 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von AndiN » 08.04.2018, 10:17

Hallo,

bei nur PRÜFEN prüft das Programm, ob die Bedingung (Zeitpunkt, Zeitraum) erfüllt ist. D.h. wenn du kein Auslöser (Bei Änderung, Aktualiserung) in dem Programm hast wird Nichts passieren, da das Programm erst gar nicht auslöst.

Ich hoffe ich konnte ein wenig weiterhelfen.

Andi
Andi (Greenhorn)

Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control
- Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links

manfredh
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: Verständnisfrage: laufender Start von Programmen

Beitrag von manfredh » 08.04.2018, 11:00

Bullson hat geschrieben: Was ist der unterschied zwischen zu 'Zeitpunkten auslösen' oder 'nur prüfen'?
Vereinfacht gesagt, legt diese Auswahl fest, ob und wann ein Programm alleine durch diese Zeile gestartet wird.

Eine Zeile mit

- nur prüfen startet das Programm nie
- auf Aktualisierung startet das Programm bei jeder Aktualisierung (z.B. alle ca. n[3?] Min. bei einem Temperatursensor auch wenn keine Änderung des Wertes stattgefunden hat)
- auf Änderung startet das Programm, wenn der angegebene Wert erreicht oder verlassen wird
- zu Zeitpunkten auslösen startet das Programm zum Zeitpunkt bzw. wenn ein angegebenes Zeitfenster betreten oder verlassen wird.

Beim anschließenden Programmlauf sind diese Angaben irrelevant. Es werden dann die Bedingungsblöcke von oben nach unten geprüft und bei ersten wahren Block (auch wenn die Zeile, die den Programmstart ausgelöst hat nicht enthalten ist) die Aktion ausgeführt und das Programm beendet.

Gruß
Manfred
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von Gluehwurm » 08.04.2018, 13:16

Eine ausführliche Beschreibung findet sich auch im WebUI-Handbuch "Grundsätzliches zur Programmerstellung".
Bullson hat geschrieben:... Ich möchte alle 15min wissen ob z.B.
A) Anwesenheit=ja ...
Ein Spiegel hilft auch ... :wink: :mrgreen:


Gruß
Bruno

Bullson
Beiträge: 140
Registriert: 10.11.2011, 10:53
Hat sich bedankt: 18 Mal
Danksagung erhalten: 2 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von Bullson » 21.04.2018, 10:06

Bullson hat geschrieben:... Ich möchte alle 15min wissen ob z.B.
A) Anwesenheit=ja ...
Ein Spiegel hilft auch ... :wink: :mrgreen:
Gruß Bruno[/quote]

Zur Entzauberung des Witzes: Es handelt sich um ein Firmengelände mit verschiedenen Zutrittsberechtigungen...

66er
Beiträge: 3083
Registriert: 23.08.2015, 11:06
System: CCU
Hat sich bedankt: 116 Mal
Danksagung erhalten: 111 Mal

Re: Verständnisfrage: laufender Start von Programmen

Beitrag von 66er » 21.04.2018, 12:32

Bullson hat geschrieben:... Es handelt sich um ein Firmengelände mit verschiedenen Zutrittsberechtigungen...
Ich staune. dass man dann mit Homematic arbeitet :!: :shock:

Eigentlich gibt es für so etwas im professionellen Umfeld Zutrittskontrollanlagen. :idea:

Homematic-Anwendungen überraschen immer wieder mal.

Schönes WE und LG
66er

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“