NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

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

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

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

#1

Beitrag 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
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Robert_Mini
Reactions:
Beiträge: 3744
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1171 Mal
Danksagung erhalten: 2076 Mal

#2

Beitrag von Robert_Mini »

In der KB gibt es ein ähnliches Bsp.:
=> app.php/kb/viewarticle?a=97

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#3

Beitrag 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
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#4

Beitrag von Matze76 »

Ergänzung:

Bild

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

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

StefanW
Elaborated Networks
Reactions:
Beiträge: 9773
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7817 Mal
Kontaktdaten:

#5

Beitrag 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
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#6

Beitrag 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
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#7

Beitrag 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.
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Matze76
Reactions:
Beiträge: 314
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 283 Mal
Danksagung erhalten: 195 Mal

#8

Beitrag 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
Zuletzt geändert von Matze76 am Di Aug 27, 2019 11:48 am, insgesamt 1-mal geändert.
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Izeman
Reactions:
Beiträge: 106
Registriert: So Aug 12, 2018 9:03 pm
Hat sich bedankt: 17 Mal
Danksagung erhalten: 27 Mal

#9

Beitrag von Izeman »

Hallo an Alle,

der Featurerequest ist hier zu finden:

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

Gruß Bernd
wiregate 386, timberwolf 222 (2600er), Professional Busmaster 221, VPN offen, Reboot gerne
Antworten

Zurück zu „Logikengine & Logik-Editor“