Neue Insider Version 1 zur V 4.5 verfügbar

NEU! Dynamische Akzentfarben in der VISU per Objekt steuerbar
NEU! Seite wechseln sperren per Objekt
NEU! Neue Symbole in VISU und Logik Manager
NEU! Putzmodus im VISU Client
NEU! Umfangreich verbesserter Logik Manager


Alle Informationen hier: https://elabnet.atlassian.net/wiki/x/AYD5ng

[Frage] [V4.5 IP1] Fehlende Aussendung Cron/SendExplizit bei zweiter (manueller) Logikaktivierung

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
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 443
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 72 Mal
Danksagung erhalten: 201 Mal

#11

Beitrag von jensgulow »

Hallo Robert,
Deswegen: viewtopic.php?t=4529#p50306

wakeup triggert sich auch bei vergangenen Zeitpunkten erneut. Das will ich ja explizit nicht.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
Was wird genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

Robert_Mini
Reactions:
Beiträge: 3842
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1231 Mal
Danksagung erhalten: 2130 Mal

#12

Beitrag von Robert_Mini »

Ok.
Aber das trifft ja in dieser Logik nicht zu, da du ja mit dem Trigger immer eine Zeit in der Zukunft setzt.

Aber vielleicht ich hab dein Ziel noch nicht verstanden…
Für die Beschreibung im Eingangspost passt es jedenfalls auch mit dem WakeUp, weil ja nur die steigende Flanke berücksichtigt ist = Weckzeit.

Lg
Robert
Zuletzt geändert von Robert_Mini am So Nov 24, 2024 12:00 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 443
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 72 Mal
Danksagung erhalten: 201 Mal

#13

Beitrag von jensgulow »

Funktionell sollte das so schon gehen.... Nun nehmen wir mal an ich definiere 4 Schaltpunkte und somit nehme ich 4 wakeup Module. Zum ersten Zeitpunkt wird nur wakeup1 ausgeführt. Bei Erreichen von Zeitpunkt 2 wird wakeup2 ausgeführt.... UND wakeup1 (dieser Zeitpunkt liegt jetzt in der Vergangenheit bezüglich Schaltpunkt2) usw...
Das führt halt zum mehrfachen Senden auf dem entsprechenden Ausgang......

PS: Aber Du hast Recht, durch ein sendexplizit auf positive Flanke sollte dies ja abgefangen werden.
Ich werde das morgen mal umbauen.
Zuletzt geändert von jensgulow am So Nov 24, 2024 12:13 am, insgesamt 1-mal geändert.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
Was wird genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

Robert_Mini
Reactions:
Beiträge: 3842
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1231 Mal
Danksagung erhalten: 2130 Mal

#14

Beitrag von Robert_Mini »

Hy!
Ist hier schon umgebaut: viewtopic.php?t=5555#p59180

Was ich nicht sicher weiß: ob man beim SendExplicit den Ausgang invertieren kann, nach meinem Verständnis referenziert man da nur welcher Ausgang gemeint ist. Daher hab ich ein latch zum invertieren vorgeschaltet.

TIPP zum wakeup: auch ohne SendExplicit kann man mit einem Latch die steigende Flanke des Wakeup abgreifen und in der Logik weiterverarbeiten..

Lg
Robert
Zuletzt geändert von Robert_Mini am So Nov 24, 2024 8:35 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 443
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 72 Mal
Danksagung erhalten: 201 Mal

#15

Beitrag von jensgulow »

Hallo Robert,

danke nochmal für die gedankliche Unterstützung und den "Stupser" in die richtige Richtung.
Habe den oben verlinkten Code nochmal etwas angepasst - aktuell läuft es damit für mich wie erwartet - Super !
(Den Latch in der Auswertung [und damit $ResultOut4] habe ich somit eingespaart.

Code: Alles auswählen

/**======================================================================================= 
Gute-Nacht-Szene

-> unmittelbar 0 (false) an Zentral aus (0/1/1) senden, dann

-> geschalten werden einige boolean-Verbraucher sowie die Jalousien im Wohnzimmer

-> Korrekturzeiten sind ausgehnde vom Zeitpunkt des Schaltbefehles in Sekunden angegeben 
=========================================================================================*/ 
{ 
    "Level": [ 
	// Input-Level
	["$input","bool",true],
	["$norm","integer",60],
	["$Korrektur1","int",0],
	["$Korrektur4","int",0],
	["$VAR<Inhibit?>","bool",false],

	// Interne Variablen
	["$true","bool",true],
	["$true_ext","bool",true],
	["$false","bool",false],
	["$input_trig","bool",false],
	["$time","int",0],
	["$utime","int",0],
	["$Cron1","string","0"],
	["$Cron4","string","0"],

	["$Out1","int",0],
	["$Out4","int",0],
	["$Formula","string","X1+X2"],

    ["$test","bool",true],
    ["$next1","int",0],
    ["$next4","int",0],

	// Output-Level
	["$zentral_out","bool",true],
	["$Result1","bool",false],
	["$Result4","bool",true],
	],

	"Module": [ 

	// Überprüfen, ob $input getriggert wurde
	["Triggered", "$input", "$input_trig" ],
	// Wenn getriggert und $input=0 -> dann $zentral_out auf 0 setzen
	["And" , ["$input_trig","-$input"], "-$zentral_out"],
	// 0 auf $zentral_out senden
	["SendExplicit","$zentral_out","$zentral_out",2],
    
	// Aktueller Zeitstempel
	["Localtime",0,"$time",0,0,0,0,0,0,0,0,0],

	// nur wenn getriggert wurde $time an $utime durchreichen
	["Latch","$time","$utime","$input_trig",0],

	["CalcFormula",["$utime","$Korrektur1"], "$Out1", "$Formula"],

	// wakeup zum Zeitpunkt $Out1
	["Wakeup","$Out1","$Result1"],
	// senden aber nur , wenn $Result1 gerade auf true gewechselt hat
	["SendExplicit","$Result1","$Result1",1], // -> sendet 1 (true)
    
        // hier das ganze Kontrukt wenn man ausschalten möchte
	["CalcFormula",["$utime","$Korrektur4"], "$Out4", "$Formula"],
	["Wakeup","$Out4","-$Result4"],
	["SendExplicit","-$Result4","$Result4",1] // -> sendet 0 (false)

	], 

	"Input": [ 
	["INPUT","Verbunden mit 0/1/2","$input","a"],    
	["Korrektur1 EIN","Zeit in sec (positiv oder negativ)","$Korrektur1","u"],
	["Korrektur1 AUS","Zeit in sec (positiv oder negativ)","$Korrektur4","u"],
	["Test","xxx","$test","a"],   
	["True","xxx","$true_ext","a"],   
	["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
	], 

	"Output": [ 
	["ZENTRAL AUS","Verbunden mit 0/1/1","$zentral_out","x"],
	["EINSCHALTEN 1","Schaltereignis 1","$Result1","x"],
	["AUSSCHALTEN 1","Schaltereignis 4","$Result4","x"],
	["utime","Zeit","$utime","a"],
	["out1","Schaltereignis 4","$Out1","a"],
	["out4","Schaltereignis 4","$Out4","a"]
	] 
} 
/**Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht. */ 
Bleibt aber immer noch das etwas merkwürdige Verhalten des cron-Bausteines .....

Zum jetzigen Zeitpunkt habe ich aber hiermit eine funktionierende Lösung gefunden. Sehr schön!
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
Was wird genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa

Robert_Mini
Reactions:
Beiträge: 3842
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1231 Mal
Danksagung erhalten: 2130 Mal

#16

Beitrag von Robert_Mini »

Hallo Jens!

Danke für die Rückmeldung, freut mich wenn's damit klappt.

Zum Cron muss ich mich mal in einer kleinen Testlogik hinsetzen. Ich versteh es nämlich auch überhaupt nicht, warum dein Ansatz nicht funktioniert.

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

Zurück zu „Logikengine & Logik-Editor“