Seite 1 von 1

[V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 3:37 pm
von Matze76
Hallo,

ich bin auf der Suche nach einer Möglichkeit, das Senden an das Ziel-Objekt einer Logik bei bestimmten Ergebnissen zu unterbinden.
Also quasi ein Pendant zum "return undef" aus dem WG-Logikprozessor.

Beispiel:
Wenn der Ausgang der Logik "true" ist -> sende "true" (1) an das Ziel-Objekt
Wenn der Ausgang der Logik "false" ist -> sende gar nichts.

Vielleicht stehe ich ja hitzebedingt auf dem Schlauch, aber bis jetzt habe ich noch nichts dazu gefunden.

Gruß
Matthias

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 3:59 pm
von Robert_Mini
In der KB gibt es ein ähnliches Bsp.:
=> app.php/kb/viewarticle?a=97

Robert

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 5:47 pm
von Matze76
Danke Robert - das muss ich erstmal verdauen :)

Nach meinem Geschmack ist mit dem vorgeschlagenen Lösungsweg für den normalen Anwender etwas zu viel Hirnschmalz hineinzustecken. Und ich bin mir nicht sicher, ob damit in allen Fällen das gewünschte Ergebnis erreichbar ist. Die Kommentare in dem verlinkten Beitrag gehen ja auch in diese Richtung.

In jedem Fall wäre dieser Weg deutlich komplizierter als der WG-Logikprozessor, wo ich mit "return undef" einfach das Senden bei bestimmten Ergebnissen unterbinden konnte, ohne die Ausführung der Logik an sich zu verhindern.

Falls es ihn noch nicht gibt stelle ich hiermit einen Feature-Request für einen "Ziel-Filter". Also das Unterbinden von Logik-Ergebnissen, d.h. Senden an das Ziel-Objekt bei bestimmten Ergebnissen der Logik unterbinden.

Ich versuche es trotzdem mal so umzusetzen. Dazu beschreibe ich auch mal den Anwendungsfall (ich habe darüber hinaus weitere Fälle, wo nur bestimmte Ergebnisse gesendet werden dürfen).

Logik (AND): Das Garagentor soll sich schließen, wenn es sich in Lüftungsposition befindet und (im Sommer) die Außentemperatur über die Garagentemperatur steigt.

Eingänge (Bedingungen):
[*] I1: Garagentor gerade in der Lüftungsposition ?
[*] I2: Liegt die Außentemperatur über der Temperatur in der Garage ? (Input ist ein Ergebnis einer Schwellwert-Logik in separatem Baustein)

Wenn beides "true" ist, soll auch ein "true" gesendet werden - an die KNX-GA, die das Garagentor schließt.
Ist das Ergebnis insgesamt "false", soll gar nichts gesendet werden. Denn die "0" auf die Ziel-GA würde das Garagentor komplett öffnen. Das würde unmittelbar nach dem Schließen passieren, da sich das Garagentor ja dann nicht mehr in der Lüftungsposition befindet (I1 = false).

Ohne es schon wirklich zu verstehen, habe ich den Beispielfall auf meinen Anwendungsfall angepasst:

Bild

Erstes Problem: Im Beispielfall aus der KB soll nur "false" gesendet werden. Da bei mir genau umgekehrt nur "true" gesendet werden soll, habe ich den Input-Parameter auf "true" gesetzt. Trotzdem bekomme ich ein "false" als Ergebnis, was ich ja unterbinden möchte.

(Der zweite Inhibit-Eingang ist hier bewusst nicht invertiert, weil er eigentlich - ohne diese Sperr-Geschichte - invertiert werden muss.)

Gruß
Matthias

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 6:06 pm
von Matze76
Ergänzung:

Bild

Wenn der einzige Eingang (hier als Input-Parameter) "true" ist, müsste dann nicht auch das Ergebnis "true" sein?

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 6:07 pm
von StefanW
Hallot Matthias,
Matze76 hat geschrieben: So Aug 25, 2019 5:47 pmFalls es ihn noch nicht gibt stelle ich hiermit einen Feature-Request für einen "Ziel-Filter". Also das Unterbinden von Logik-Ergebnissen, d.h. Senden an das Ziel-Objekt bei bestimmten Ergebnissen der Logik unterbinden.
Bitte einen ordentlichen separaten FR im dafür vorgesehenen Unterforum schreiben, damit die User auch voten können.

Weil ich fürchte, so mitten im Text geht das unter.

lg

Stefan

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: So Aug 25, 2019 6:09 pm
von Matze76
Hallo Stefan,

ok, mache ich, hast Recht. Wollte damit so erstmal klären, ob vielleicht etwas in der Art schon auf der Liste steht.

Gruß
Matthias

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: Di Aug 27, 2019 11:27 am
von Matze76
Wenn der einzige Eingang (hier als Input-Parameter) "true" ist, müsste dann nicht auch das Ergebnis "true" sein?
Da ich wieder etwas schlauer geworden bin, gebe ich mir die Antwort selbst: Das Ergebnis wird "true", sobald die Logik getriggert wurde. Nur mit einem festen Parameter wird die Logik nie getriggert. Es konnte also erst funktionieren, nachdem ich einen Trigger in diese Testlogik eingebaut hatte.

An dieser Stelle ein kleiner Verbesserungsvorschlag (ich glaube aber, dass ich das in einem anderen Beitrag schon gesehen habe):
Am Ausgang sollte im Doktormodus erst dann ein Ergebnis angezeigt werden, nachdem die Logik getriggert wurde.

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: Di Aug 27, 2019 11:46 am
von Matze76
... und auch mein eigentlicher Anwendungsfall funktioniert!

Bild

Ich habe mich nur durch die Anzeige verwirren lassen:

1) wie im vorigen Beitrag beschrieben wird - bevor die Logik (nach Anlage oder einer Änderung) erstmalig getriggert wurde - am Ausgang "false" angezeigt, obwohl die Logik durch den true-Parameter nie "false" ergeben kann. Und es wird tatsächlich auch nie "false" gesendet.

2) Nachdem die Logik erstmalig "true" ergibt und auch "true" gesendet wird, ändert sich die Ausgangs-Anzeige nicht mehr. D.h. auch wenn eine der Sperren am Eingang wirkt, bleibt das "true" stehen. Gesendet wird aber richtigerweise nichts.

Da die Logik in diesem Fall zwar getriggert, aber durch die Sperre nicht ausgelöst wird, ist es schon nachvollziehbar, dass sich der Ausgang nicht ändert. Für die "optische" Nachvollziehbarkeit wäre es aber schöner, wenn das "true" am Ausgang in diesem Fall in der Anzeige durch ein "-" ersetzt würde.

Gruß
Matthias

Re: [V1.5 RC3] Logik Editor - Senden an Zielobjekt einschränken

Verfasst: Do Aug 29, 2019 7:51 pm
von Izeman
Hallo an Alle,

der Featurerequest ist hier zu finden:

viewtopic.php?f=9&t=1343&p=13971#p13971

Gruß Bernd