Frage zu Programmierung (Triggerung)

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Antworten
Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Frage zu Programmierung (Triggerung)

Beitrag von kaju74 » 30.12.2007, 22:22

Hallo!

Ich habe da ein kleines Verständnisproblem bzgl. zweier Abschnitte im WebUI Handbuch. Es geht um das Triggern von Programmen bzw. wann die einzelnen Bedinungen eines Programmes überprüft werden. Dazu steht im Handbuch ab Seite 167 folgendes:
167.jpg
Das bedeutet für mich, dass die Bedinungen NUR geprüft werden, wenn sich der entsprechende Kanalzustand ändert. Anderseits steht auf Seite 154 als Einleitung zur Programmierung folgendes:
154.jpg
...was ja auf eine ständige Überprüfung hindeutet. Was ist da jetzt also der Unterschied bzw. für was benötige ich eine Triggerung?

Gruß,
kaju

chrispi
Beiträge: 131
Registriert: 25.12.2007, 21:34

Re: Frage zu Programmierung (Triggerung)

Beitrag von chrispi » 31.12.2007, 12:46

Das mit dem "ständig auswerten" ist wohl eine eher technische Beschreibung der inneren Abläuft der HomeMatic. Die Auswertung der Bedingungen könnte z.B. durch eine Endlos-Programmierschleife realisiert sein. Der Ablauf könnte wie folgt sein:

1) Bei "Nur Prüfen": Ist die Bedingung erfüllt, dann True, sonst False

2) Bei "Bei Änderung": Hat sich der Wert seit dem letzten Schleifendurchlauf geändert? Wenn ja, dann prüfen wie bei 1), sonst nichts machen.

3) Bei "Bei Aktualisierung": Hat sich das Aktualiseurungsdatun (inkl. Zeit) seit dem letzen Schleifendurchlauf geändert? Wenn ja dann prüfen wie bei 1), sonst nicht machen.

- Christoph

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Frage zu Programmierung (Triggerung)

Beitrag von kaju74 » 01.01.2008, 13:29

Hallo und Danke für die Antwort.

Ich habe mich heute nochmal ausführtlicher damit beschäftigt und dabei nun folgendes festgestellt:

- Die Bedingungen eines Programmen werden mindestens EINMAL ausgeführt, wenn es aktiv geschaltet wird. Ist die einzige Bedinung eine "nur prüfen" Anweisung, wird dieses Programm dann während des Betriebs NIEMALS mehr ausgeführt es sei denn, es wird manuell aktiviert.

- "Nur prüfen" wird also nur beim erstmaligen Start geprüft oder ALS TEIL weiterer Bedingungen, um bestimmte Kanalzustände zu prüfen und NICHT auf deren Änderung zu reagieren.

- "Auslösen auf Änderung" wird NUR ausgeführt, wenn sich der Kanalzustand verändert hat, also z. Bsp. von "Aus" auf "An" oder umgekehrt.

- "Auslösen auf Aktualisierung" wird AUCH ausgeführt, wenn der Kanalzustand sich NICHT verändert hat, z. Bsp. bei "Aus" auf "An" aber EBEN AUCH bei "An" auf "An". Dies kann man z. Bsp. dafürt benutzen, die Einschaltdauer eines Treppenhauslichts bei jedem Tastendruck um eine entsprechende Zeit ZU VERLÄNGERN.

FAZIT:

Es werden wohl alle aktivierten Programme in einer Schleife (Loop) permanent überprüft. Jedes Programm wird dabei MINDESTENS EINMAL bei der Aktivierung ausgeführt. Stößt die Überprüfung eines Programmes auf einen ausgelösten Trigger (Änderung oder Aktualisierung), werden die Bedienungen überprüft und das Programm ausgeführt. Bestehen Programme also aus Bedingungen mit Triggern auf "Änderung" und/oder "Aktualisierung" werden diese NICHT bei jeder Schleife ausgeführt SONDERN NUR, wenn sich der Kanalzustand geändert und/oder erneut gesetzt wurde.

Folgend zwei Screenshots, die das vedeutlichen sollen:
Einfaches Toggle.jpg
Bei diesem Beispiel wird auf einen kurzen Tastendruck der Fernbedienung geprüft und ob das Treppenhauslicht ausgeschaltet ist. Das Programm wird also NUR AUSGEFÜHRT, wenn es ermalig aktiviert wird ODER die FB gedrückt wird, SONST NIE, da die zweite Bedienung auf "Nur prüfen" gesetzt wurde, das keinen Trigger auslöst! Das Programm schaltet dann das Treppenhauslicht entsprechend ein oder aus -> also ein einfaches "Toggle"!
Treppenhaus retrigger.jpg
Bei diesem Beispiel handelt es sich bei der oben beschriebenen Treppenhauslicht-Verlängerung. Geprüft wird also, ob sich der Zustand des Treppenhauslichts verändert hat, es also ersmalig EIN oder ERNEUT EIN-geschaltet wurde. Dann wird das Licht nach Ablauf von testweise 5 Sekunden UND OHNE ERNEUTES DRÜCKEN automatisch ausgeschaltet.

So...hoffe das war soweit verständlich!

Gruß,
kaju

chrispi
Beiträge: 131
Registriert: 25.12.2007, 21:34

Re: Frage zu Programmierung (Triggerung)

Beitrag von chrispi » 01.01.2008, 17:33

@kaju74: Danke für die gute Erklärung!

- Christoph

Benutzeravatar
kaju74
Beiträge: 2050
Registriert: 06.03.2007, 13:14
Danksagung erhalten: 19 Mal
Kontaktdaten:

Re: Frage zu Programmierung (Triggerung)

Beitrag von kaju74 » 01.01.2008, 17:51

...biddeschööööhhnnn.... :wink: ja, so langsam blicke ich durch...auch wenn's am Anfang so einfach aussah, die Tücken stecken im Detail 8-) Ich hoffe, dass das Systemhandbuch bald rauskommt - da sind noch ein paar Parameter, die sich nicht so von selbst erklären. Interessant wird's ja dann auch mit dem "skripten"....

Gruß,
kaju

Benutzeravatar
UwePa
Beiträge: 329
Registriert: 26.08.2015, 06:27
System: CCU
Wohnort: Berlin (Speckgürtel)
Hat sich bedankt: 25 Mal
Danksagung erhalten: 3 Mal

Re: Frage zu Programmierung (Triggerung)

Beitrag von UwePa » 06.06.2017, 21:00

Jetzt habe ich es auch kapiert.
:lol:
Danke
Mit freundlichen Grüßen

Uwe

--------------////////-------------
CCU3 und fast nur noch HMIP

Mutter gibt es wirklich sowas, wie den perfekten Mann?
Sicher Kind, sie werden Biker genannt ;-)

Elec
Beiträge: 356
Registriert: 18.03.2015, 14:01
Wohnort: Bochum
Danksagung erhalten: 1 Mal

Re: Frage zu Programmierung (Triggerung)

Beitrag von Elec » 07.06.2017, 22:23

Wow, Uwe, nach nur fast 10 Jahren? :lol:

(Sorry, konnte jetzt mit Blick auf das Erstelldatums des Beitrags, auf den Du Dich beziehst, nicht anders :D )

Gruß
Elec

Antworten

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