| LuHo85 |
|
|
Benutzer
Mitglied seit: 16.08.2020
Nachrichten: 5
|
Hallo, ich habe folgendes Problem (und einige Verständnisfragen): Alle Präsenzkanäle des Hauses sollen über ein logisches Oder verknüpft werden. Ist der Output des Oder länger als 24h 'false', so soll die GA "Anwesenheit" von 'true' auf 'false' gesetzt werden. Wird Präsenz erkannt soll der 24h Zähler jedes mal wieder resettet werden und die GA verbleibt auf 'true'. Hiermit soll automatisch erkant werden, falls sich niemand mehr im Haus befindet. Über Abend/Nacht ist es aber durchaus möglich, dass 8h keine Präsenz erkannt wird (keine Präsenzmelder in den Schalfräumen). Ich habe bereits versucht die Logik über den "Multikonverter" in C# abzubilden (Value des Keys "PraesenzImHaus" ist der Ausgang der Oder-Verknüpfung). Allerdings führt folgender Code zum "Absturz", d.h. keine Reaktion der Komponenten des Eisbär mehr. public override void Parse( string sInputName, Hashtable htInputValues, Hashtable htOutputValues, System.Collections.Generic.List<string> OutputNames = null ) while (!Convert.ToBoolean(htInputValues["PraesenzImHaus"])) if (StundenZaehler > 24) Anschließend habe ich es mit dem Timer versucht. Dieser scheint bei der Impulsdauer aber auf 18h beschränkt zu sein, da es mir nicht möglich war hier größere Werte einzutragen. Beim Timer hätte sich die "Abwesenheit" über Nacht zum retriggern des Timers angeboten, da ein "Dauer-True" ebenfalls zum Ablauf der Impulsdauer führt. Was ist der "goldene" Weg zur Lösung der Aufgabenstellung? Können neben der Parse-Methode im Multikonverter weitere Methoden hinzugefügt werden (die sich ggf. gegenseitig aufrufen?) Gibt es zur Erlaubten Syntax des Multikonverters eine Doku?
Vielen Dank und viele Grüße, Lukas |
|---|---|
| 17.11.2020 18:59 |
| DanielBack |
|
|
Benutzer
Mitglied seit: 16.11.2017
Nachrichten: 164
|
Hallo Lukas, Den Multikonverter können Sie in diesem Fall nicht einsetzen. Wird der Multikonverter-Code vom EisBär aufgerufen, wird dieser erst vollständig abgearbeitet und springt dann erst wieder zurück zur eigentlichen EisBär-Funktion. Ich würde die Komponente "Automatisch rücksetzen" verwenden. In den Eigenschaften können Sie dann die Laufzeit auf 86400 Sekunden einstellen und das Retriggern aktivieren. Auch haben Sie dann den Vorteil, dass die Restlaufzeit angezeigt werden kann. Alternative dazu wäre es auch mit der Sequenz realisierbar. Mit freundlichen Grüßen, Daniel Back Mit freundlichen Grüßen, Daniel Back |
|---|---|
| 18.11.2020 14:00 |
| LuHo85 |
|
|
Benutzer
Mitglied seit: 16.08.2020
Nachrichten: 5
|
Hallo Herr Back,
vielen Dank für die schnelle Beantwortung. Wann wird beim Multikonverter die Ausführung des Codes gestartet? Ich nehme an, sobald sich einer der Eingangs-Values ändert? Dann wird der Code einmal durchlaufen und zurück "in den Eisbär gesprungen". Bis ber nächsten Änderung eines Eingangs-Values die Funktion wieder aufgerufen wird... Heißt das im Umkehrschluss, dass der Code des Multikonverters nicht allzu komplex werden sollte, da es sonst Performance-Probleme geben könnte?
Viele Grüße, Lukas Holl |
|---|---|
| 18.11.2020 20:04 |
| DanielBack |
|
|
Benutzer
Mitglied seit: 16.11.2017
Nachrichten: 164
|
Hallo Herr Holl, Ja, es ist genau so, wie Sie es beschreiben. Durch Änderungen an einem beliebigen Eingang der Komponente, wird der Code ausgeführt. Der EisBär bietet so viele Möglichkeiten, dass ein Multikonverter nur in seltenen Fällen zum Einsatz kommen muss.
Mit freundlichen Grüßen, Daniel Back |
|---|---|
| 19.11.2020 08:56 |
Visualisierung, Werkzeuge und Hardware für KNX, Modbus & Gebäudeautomation.
Alexander Maier GmbH · Beckstraße 3 · D-69412 Eberbach
+49 (0) 6271.919470 · info@busbaer.de