Beitrag
von Familienvater » 16.01.2017, 21:03
Hi Hubi,
ich kenne Deinen Werdegang nicht, weshalb ich Dir nicht sagen kann, warum Du oder HPCL da anderer Ansicht ist, was das Triggern eines Makros angeht, grundsätzlich finde ich HPCL wesentlich logischer aufgebaut als die WebUI.
Wenn Du schon mal WebUI versucht hast, dann vergiss ganz Schnell, was Du da "gelernt" hast.
Das Nutzen eines Objekts in einer Wenn-Abfrage in HPCL hat keinerlei Auswirkungen auf die Triggerung des Makros.
Ein Objekt-Makro (was zu einem "echten" Hardware-Sender/Empfänger) gehört, wird normalerweise auch nur durch diesen ausgelöst (getriggert), außer man macht "wilde" Dinge, und läßt z.B. ein Steckdosenaktor-Objekt noch ZUSÄTZLICH in einem Intervall ausführen (was vollkommener Nonsens ist).
Das Steckdosenaktor-Objekt kann nur auf "Änderung" getriggert werden, weil es normalerweise eben kein Sender ist, sondern ein Empfänger. Um aber z.B. eine Mail zu verschicken, wenn der Aktor ein- oder ausgeschaltet wurde, reicht das normalerweise.
Ein Sender (Fernbedienung, TFK, Thermometer) kann auf "Änderung" oder/und "Empfang" getriggert werden, da kommt es dann genauer drauf an, was man erreichen möchte. In 80% der Fälle sollte auch hier auf Änderung zum Ziel führen, es gibt aber durchaus Fälle, wo jeder Empfang etwas auslösen soll, auch wenn sich nichts geändert hat.
Wenn man jetzt z.B. eine LED für ein ganzes Stockwerk nutzen will, und die LED soll ROT anzeigen, wenn nicht alles geschlossen ist, und man hat 20 TFKs in der Ebene, dann kann man natürlich in jeden einzelnen TFK den gleichen Code reinkopieren, der z.B. jeden TFK einzeln prüft und bei nicht geschlossen eine Variable (oder auch ein Objekt) hochzählt, und wenn das am Ende größer als 0 ist, dann wird rot geschaltet, sonst grün. Weil wir aber alle Bastler sind, und übermorgen noch ein TFK an die Katzenklappe muss, müsste man ja dann 20 Objekt-Makros anpassen, und dort noch die Katzenklappe zufügen. Weil das doof ist, macht man dann ein neues Makro (ohne direkten "Hardwarebezug"), schreibt dort alle Bedingungen/Prüfungen/Aktionen rein, und startet einfach das Makro aus jedem der 20 TFKs, kommt der 21. dazu, muss nur 1x das Makro angepasst werden, und der Aufruf auch in den 21. TFK. Es bleibt "übersichtlich", und mit relativ wenig Aufwand pflegbar, die CCU "platzt" auch nicht, weil es nicht im Intervall ausgeführt werden muss.
Schwieriger (unübersichtlicher) wird es, wenn z.B. eine Außenleuchte in Abhängigkeit von 3 Bewegungsmeldern, 2 Fernbedienungen, der Uhrzeit und der Helligkeit gesteuert werden soll, und z.B. eine FB das Licht für 30 min schalten soll, der Bewegungsmelder aber nur für 5 min, aber wenn es hell wird, soll es ausgehen, egal wie lange es noch an wäre, und außerdem soll ein Textfeld inder Visu alle 5 Sekunden aktualisiert werden, wie lange das Licht schon an ist, und wie lange es noch brennen wird, dann habe ich auch keine klare Empfehlung mehr. Es geht aber, auch wenn es aufwändiger wird, weil man selbst eine "doppelte" Buchführung mit den Zeiten machen muss. Und für die laufende Aktualisierung z.B. der Einschaltdauer da braucht es dann auch mal ein 5 Sekunden-Intervall als Trigger, sonst normalerweise nicht.
Der Familienvater