UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[NEUHEIT] Modul: SendExplizit

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

Ersteller
S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

Modul: SendExplizit

#1

Beitrag von S. Kolbinger »

Es gibt ein neues Modul für die Logic-Engine: "SendExplicit" oder "gesteuertes Senden"

Mit diesem Modul lässt sich ein (Ausgangs-)Level explizit festlegen, ob es gesendet werden soll.

Die Syntax für das Modul sieht folgendermassen aus:
["SendExplicit","$SendCond","$Out_val",Option]

"SendExplicit" : Modulkennung
"$SendCond": Referenz auf einen boolschen Level der das Sendeverhalten (je nach Option) steuert
"$Out_val": Referenz auf einen Ausgangs-Level dessen Sendeverhalten gesteuert werden soll.
Option:
  • 0:Sende bei True ,
  • 1: Sende bei positiver Flanke,
  • 2: Sende bei negativer Flanke,
  • 3: sende bei positiver und negativer Flanke

Ist die Sendebedingung erfüllt wird beim (Ausgangs-)Level ein Flag gesetzt, das auf die Sendeoption: X reagiert.
Die Sendeoption X lässt sich nur in Custom-Logiken setzen und nicht wie bei den bisherigen Sende-Optionen (A,C oder T) über die GUI.

Hier ein Beispiel (sende nur Werte zwischen 4 und 17):

Code: Alles auswählen

{
  "Level": [
    ["$In_val", "float", 0],
    ["$Out_val","float",0],
    ["$Send","bool" ,false],
    ["$Min", "float", 4],
    ["$Max","float",17]
  ],
  "Module": [
    ["Limiter","$In_val","$Out_val","$Send",["$Min","$Max"]],
    ["SendExplicit","$Send","$Out_val",0]
  ],
  "Input": [
    ["Eingang","Eingangswert","$In_val","a"]
  ],
  "Output": [
    ["Ausgang","Ausgangswert","$Out_val","x"]
  ]
}
Screenshot from 2020-06-29 13-01-07.png
PS: Sorry für die späte Benachrichtigung über das neue Modul in V1.6.0. Bin in den letzten 4 Wochen privat umgezogen :-o
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Robert_Mini am Do Jul 02, 2020 11:11 pm, insgesamt 2-mal geändert.
Gruß,
Stefan K.

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#2

Beitrag von Robert_Mini »

Hallo Stefan!

So geht das nicht :oops: , du verschweigst uns die coolsten Dinge 4 Wochen lang? :crying-yellow:

Scherz beiseite, damit kann man alles machen, was mir noch gefehlt hat! :clap: :clap: :clap:
- Explicit Senden obwohl kein Änderung
- Sendefilter zb nur true Senden

Ich vermute mal, dass Kombinationen mit “on change” =“CX” oder Timer =“TX” nicht vorgesehen sind, oder?
Kann man aber mit einem 2. Ausgang auf das gleiche Objekt simulieren.

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

danik
Reactions:
Beiträge: 391
Registriert: Mo Sep 10, 2018 8:40 pm
Hat sich bedankt: 256 Mal
Danksagung erhalten: 266 Mal

#3

Beitrag von danik »

Vielen dank, eine wichtige Funktion die noch gefehlt hat.

Gruss
Dani
TW 3500L (#882) + TW 950Q (#321, im Moment inaktiv), VPN offen, Reboot nach Rücksprache

paralan
Reactions:
Beiträge: 264
Registriert: Mi Sep 05, 2018 11:49 pm
Hat sich bedankt: 287 Mal
Danksagung erhalten: 102 Mal

#4

Beitrag von paralan »

Super Stefan K.,

das ist eine wichtige Erweiterung der Module.
Danke! :clap: :dance:
Gruß Alan

TWS 2600 ID:190; VPN offen; Reboot nach Absprache, da Beschattung über Logikeditor aktiv!

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#5

Beitrag von Robert_Mini »

Kleiner Nachtrag: Warum eigentlich das "x" an der Oberfläche?

Ich hätte es fast noch smarter empfunden, wenn das Modul "Sendexplicit" einfach ein Senden erzwingt, unabhängig von der Einstellung an der Oberfläche.
D.h. wie heute kann man mit c,t,ct,a 95% abdecken, für den Rest ein Sendexplicit zusätzlich dazu.

Hintergrund:
Ich denke da auch an einen "Send-Trigger" Eingang, der alle Ausgänge sendet. d.h. Logik wie heute im Einsatz mit "C" "CT" und "A", einfach im Code eine Erweiterung um SendExplicit je Ausgang mit Trigger, fertig.

C, CT im Code nachzubilden ist auch nicht ganz trivial, bleibt so dann nur der Weg über doppelte Ausgänge...

lg
Robert
Zuletzt geändert von Robert_Mini am Mo Jun 29, 2020 10:44 pm, insgesamt 2-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

#6

Beitrag von S. Kolbinger »

Hallo Robert,
Robert_Mini hat geschrieben: Mo Jun 29, 2020 10:38 pm Ich hätte es fast noch smarter empfunden, wenn das Modul "Sendexplicit" einfach ein Senden erzwingt, unabhängig von der Einstellung an der Oberfläche.
D.h. wie heute kann man mit c,t,ct,a 95% abdecken, für den Rest ein Sendexplicit zusätzlich dazu.
Dein Vorschlag ist durchaus interessant und eine Überlegung wert.
Offen gesagt, hatte ich die Kombination von "Sendexplicit" mit anderen Sendetriggern (A,C,T) gar nicht auf dem Schirm.
Technisch liese es sich sogar einfach umsetzen, allerdings sollte diese Einstellung am Logik-Editor irgendwie sichtbar sein, um Überraschungen und Frust beim Anwender (und damit auch bei unserem Support) vorzubeugen.
Eine Änderung am Logik-Editor wäre in jedem Fall notwendig, schon dann, wenn man nur "Sendexplicit" verwenden möchte, ohne die anderen Trigger.

Aktuell finde ich es übersichtlicher keine Kombinationen mit "Sendexplicit" zuzulassen (Keep it simple).
Das können wir aber bei Bedarf in den nächsten Version einbauen.
Gruß,
Stefan K.
Benutzeravatar

Eraser
Reactions:
Beiträge: 646
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 205 Mal
Danksagung erhalten: 275 Mal

#7

Beitrag von Eraser »

Bin auch dafür, dass man die normalen Trigger A,C,T bestehen lässt und das SendExplicit zusätzlich dazu auf den Ausgang geschalten werden kann.

Man könnte dies durch AX, CX und TX am Ausgang anzeigen.

Dann wäre in der Logik-Übersicht sofort ersichtlich, welcher Ausgang zusätzlich ein SendExplicit noch dabei hat.

Das reine X für nur SendExplicit kann ja bestehen bleiben, sodass man dann folgende Varianten hätte:
A, AX, C, CX, T, TX, X
Zuletzt geändert von Eraser am Do Jul 02, 2020 7:37 am, insgesamt 2-mal geändert.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

Robosoc
Reactions:
Beiträge: 1876
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 635 Mal
Danksagung erhalten: 775 Mal

#8

Beitrag von Robosoc »

Auch ich schließe mich dem allen an.

1. Vielen Dank für das Modul Stefan!
2. Vielen Dank für Beitrag #5 Robert, sehe ich genauso!
3. Vielen Dank für den Beitrag #7 Wolfgang, ist meiner Meinung nach der perfekte Vorschlag.

Kurz:
SendExpolizit wirkt sich nur aus, wenn ein X in der Sendeoption verwendet wird und es gibt bei Custom-Logiken dann folgende Möglichkeiten
A, AX, C, CX, T, TX, X
Zuletzt geändert von Robosoc am Do Jul 02, 2020 8:49 am, insgesamt 2-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#9

Beitrag von Robert_Mini »

Hallo zusammen!

Danke für die Diskussion. Meine Gedanken dazu:
- Ich finde den Ansatz super, dass man die Sendeoptionen vollständig an der Oberfläche sieht.
- Die Wahrheit ist, dass man meist entweder A, C, CT oder X braucht
- Wenn doch, dann ist das interne ermitteln von C und vor allem T sehr schwierig und aufwändig!

Für die wenigen Fälle, wo ich X brauche, ist die Lösung wirklich Klasse! Denn damit geht nun wirklich alles, was mir in den Sinn kommt.

Einziger Fall, den ich im Kopf habe, der damit nicht abdeckbar ist:
"Send Trigger" - Trigger Eingang, der zusätzlich zu den existierenden Settings alle Eingänge sendet. Ich bin jemand, der das Senden auf das notwendige reduziert. In manchen Custom Logiken ist es dann echt schwierig, ein Send zu provozieren. Das liegt vor allem daran, dass on change gegenüber dem Init-Wert der Variable ausgewertet wird (?oder?).
Auch nach einem Reboot, wäre ein "Send all Outputs" als Triggereingang hilfreich.

Daher habe ich diese Diskussion um Send Explicit angestoßen.

Der beste Weg wäre aus meiner Sicht, die Implementierung von "Send Explicit" so beizubehalten und zusätzlich mittelfristig einen Triggereingang zu generieren, der ein "Send all Outputs" auslöst. Vorteil dabei ist, dass solche Lösung auch für die Standardlogiken nutzbar wäre!


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

Eraser
Reactions:
Beiträge: 646
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 205 Mal
Danksagung erhalten: 275 Mal

#10

Beitrag von Eraser »

Robert_Mini hat geschrieben: Do Jul 02, 2020 10:29 am Der beste Weg wäre aus meiner Sicht, die Implementierung von "Send Explicit" so beizubehalten und zusätzlich mittelfristig einen Triggereingang zu generieren, der ein "Send all Outputs" auslöst.[/b]
Das wäre für mich genauso OK.

Ich z.B. habe zum Großteil nur den Anwendungsfall, dass alle Ausgänge auf C stehen.
Ab und zu wäre es dann hilfreich, dass ich ein Senden aller Ausgänge auch ohne Änderung des Ausgangs anstoßen könnte.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938
Antworten

Zurück zu „Logikengine & Logik-Editor“