KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor
KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum
Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki
[Frage] Zu einer bestimmtem Uhrzeit langsam hoch dimmen
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
-
- Reactions:
- Beiträge: 3903
- Registriert: So Aug 12, 2018 8:44 am
- Hat sich bedankt: 1264 Mal
- Danksagung erhalten: 2213 Mal
Wie gesagt:
An den Trigger kommt man nicht ran. Es stößt nur die Ausführung der Zelle zum def. Zeitpunkt an.
Was aber geplant ist: ein ähnliches Menü zur Eingabe eines Zeitpunktes, das als normaler Eingang definiert wird und einen Cron-String übergibt, den man dann im Cron-Timer verwenden kann.
Lg
Robert
An den Trigger kommt man nicht ran. Es stößt nur die Ausführung der Zelle zum def. Zeitpunkt an.
Was aber geplant ist: ein ähnliches Menü zur Eingabe eines Zeitpunktes, das als normaler Eingang definiert wird und einen Cron-String übergibt, den man dann im Cron-Timer verwenden kann.
Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
-
- Elaborated Networks
- Reactions:
- Beiträge: 588
- Registriert: Mi Aug 15, 2018 11:34 am
- Hat sich bedankt: 82 Mal
- Danksagung erhalten: 560 Mal
Hallo Bodo,
ich habe mal so eine Custom-Logik zusammen gebaut:
Nachdem man die konstanten Eingänge zu Parametern gemacht und den Cron-Trigger hinzugefügt hat, sollte das ganze etwa so aussehen.

Die Parameter sind: Start- und Endwert des Dimmvorgangs, die Schrittweite und die Schrittdauer (in Sekunden).
Der Eingang "Aktiv" muss true sein, wenn der Cron-Timer feuert, damit der Dimmvorgang gestartet wird.
Wird der "Aktiv"-Eingang während des Dimmvorgangs false, wird der Dimmvorgang abgebrochen und der Ausgang bleibt auf dem letzten Wert stehen.
ich habe mal so eine Custom-Logik zusammen gebaut:
Code: Alles auswählen
{
"Level": [
["$ValStart","float",0.0],
["$ValEnd","float",100.0],
["$ValStep","float",5.0],
["$ValCurrent","float",0.0],
["$ValNext","float",0.0],
["$Active","bool",false],
["$Run","bool",false],
["$TimeStep","float",1.5],
["$Period","float",0.0],
["$KonstEins","float",1.0]
],
"Module": [
["Multiplexer",["$Active"],"$Run",0],
["Multiplexer",["$ValNext"],"$ValCurrent",0],
["Polynomial","$KonstEins","$ValNext",["$ValStep","$ValCurrent"]],
["Comparator","$ValNext","-$Run","$ValEnd"], // Run sollange nächster Wert nicht größer als Endwert
["Latch","$ValStart","$ValNext","-$Active",0], // Falls deaktiviert => Rücksetzen auf Startwert
["Latch","$ValStart","$ValNext","$Run",2], // Rücksetzen auf Startwert, bei fallender Flanke von $Run
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt
],
"Input": [
["Aktiv","Aktiviere/Deaktivier Dimmer","$Active","u"],
["Start","Start-Wert","$ValStart","u"],
["Ende","End-Wert","$ValEnd","u"],
["Step","Schrittweite","$ValStep","u"],
["Intervall","Zeit [s] zwischen zwei Werten","$TimeStep","u"]
],
"Output": [
["Dimmwert","Aktueller Dimmwert","$ValCurrent","c"]
]
}

Die Parameter sind: Start- und Endwert des Dimmvorgangs, die Schrittweite und die Schrittdauer (in Sekunden).
Der Eingang "Aktiv" muss true sein, wenn der Cron-Timer feuert, damit der Dimmvorgang gestartet wird.
Wird der "Aktiv"-Eingang während des Dimmvorgangs false, wird der Dimmvorgang abgebrochen und der Ausgang bleibt auf dem letzten Wert stehen.
Gruß,
Stefan K.
Stefan K.
-
- Elaborated Networks
- Reactions:
- Beiträge: 10714
- Registriert: So Aug 12, 2018 9:27 am
- Wohnort: Frauenneuharting
- Hat sich bedankt: 5305 Mal
- Danksagung erhalten: 8685 Mal
- Kontaktdaten:
Hallo Bodo,
Der LE-Code ist kein prozeduraler Code mit Definitionen, Variablen, Zuweisungen, Funktionen, sondern es ist eine Schaltplanbeschreibung.
Stelle Dir - wie beim Elektronikbaukasten unserer Jugend - das als einzelne Module vor, die man auf dem Feld anordnet und dann mit Drähten ("Signale") verbindet.
Was Stefan Dir sagen will, Du nimmst also einen Cron-Baustein und verbindest diesen mit einem Berechnungsbaustein (und noch Speichern usw). Der Cron-Baustein berechnet den nächsten Trigger-Zeitpunkt und der Berechnungsbaustein addiert dann was dazu und das verbindet man dann mit einem Trigger-Eingang eines anderen Bausteins.
Ich hoffe das Dir das Bild der Bausteine die man verbindet besser hilft beim Verständnis. Wenn man das mal verstanden hat, wird man sehr schnell mit der Logik und sehr sauber.
lg
Stefan
bitte nicht in Form von "Variablen" denken sondern wir bei einem Schaltplan von Leitungen - wir nennen das Signale.
Der LE-Code ist kein prozeduraler Code mit Definitionen, Variablen, Zuweisungen, Funktionen, sondern es ist eine Schaltplanbeschreibung.
Stelle Dir - wie beim Elektronikbaukasten unserer Jugend - das als einzelne Module vor, die man auf dem Feld anordnet und dann mit Drähten ("Signale") verbindet.
Was Stefan Dir sagen will, Du nimmst also einen Cron-Baustein und verbindest diesen mit einem Berechnungsbaustein (und noch Speichern usw). Der Cron-Baustein berechnet den nächsten Trigger-Zeitpunkt und der Berechnungsbaustein addiert dann was dazu und das verbindet man dann mit einem Trigger-Eingang eines anderen Bausteins.
Ich hoffe das Dir das Bild der Bausteine die man verbindet besser hilft beim Verständnis. Wenn man das mal verstanden hat, wird man sehr schnell mit der Logik und sehr sauber.
lg
Stefan
Zuletzt geändert von StefanW am Mi Dez 11, 2019 9:27 pm, insgesamt 1-mal geändert.
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.
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.
-
- Reactions:
- Beiträge: 283
- Registriert: So Aug 12, 2018 7:01 am
- Hat sich bedankt: 271 Mal
- Danksagung erhalten: 106 Mal
Hoi StefanS. Kolbinger hat geschrieben: ↑Mi Dez 11, 2019 8:55 pm ich habe mal so eine Custom-Logik zusammen gebaut:
Vielen Dank, es funktioniert.

Da muss ich in der Denke wohl etwas umstellen.

Zuletzt geändert von bodo am Mi Dez 11, 2019 11:19 pm, insgesamt 1-mal geändert.
Grüsse Bodo
TWS 2400 ID:64, VPN offen, Reboot möglich * Wiregate * zahlreiche 1-Wire Sensoren * einige BlitzART
TWS 2400 ID:64, VPN offen, Reboot möglich * Wiregate * zahlreiche 1-Wire Sensoren * einige BlitzART
-
- Reactions:
- Beiträge: 283
- Registriert: So Aug 12, 2018 7:01 am
- Hat sich bedankt: 271 Mal
- Danksagung erhalten: 106 Mal
Hoi Stefan
Die Module:
Code: Alles auswählen
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt

Grüsse Bodo
TWS 2400 ID:64, VPN offen, Reboot möglich * Wiregate * zahlreiche 1-Wire Sensoren * einige BlitzART
TWS 2400 ID:64, VPN offen, Reboot möglich * Wiregate * zahlreiche 1-Wire Sensoren * einige BlitzART
-
- Reactions:
- Beiträge: 315
- Registriert: Mo Sep 24, 2018 9:59 am
- Hat sich bedankt: 287 Mal
- Danksagung erhalten: 195 Mal
Hallo @bodo,
Das Clocksignal ist ein zyklischer Trigger, der die Logik - nachdem sie initial getriggert wurde - intern immer wieder neu triggert. Vorausgesetzt sie ist aktiv ($Active = true). Die Variable $Period bestimmt dabei die Zeit, nach der immer wieder neu getriggert und hier damit der Dimmwert stufenweise hochgesetzt wird.
Hier wird der Wert der Variable $Period für das Clocksignal bestimmt.
Wenn die Dimmsequenz läuft ($Run = true = 1) wird $Period mit dem Input-Parameter "Intervall" (Variable $TimeStep) versorgt.
Ist die Sequenz abgelaufen ($Run = false = 0) wird $Period = 0. Damit wird das Clocksignal gestoppt.
Code: Alles auswählen
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt
Code: Alles auswählen
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
Wenn die Dimmsequenz läuft ($Run = true = 1) wird $Period mit dem Input-Parameter "Intervall" (Variable $TimeStep) versorgt.
Ist die Sequenz abgelaufen ($Run = false = 0) wird $Period = 0. Damit wird das Clocksignal gestoppt.
Gruß
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
-
- Reactions:
- Beiträge: 315
- Registriert: Mo Sep 24, 2018 9:59 am
- Hat sich bedankt: 287 Mal
- Danksagung erhalten: 195 Mal
... mit ein paar kleinen Anpassungen kann man auch langsam herunter dimmen (z. B. für eine Sonnenuntergangssimulation im Aquarium).
Die "Konstante Eins" wird zu -1, und die Variablen im Polynomial- sowie Comparator-Modul umgedreht.
Die "Konstante Eins" wird zu -1, und die Variablen im Polynomial- sowie Comparator-Modul umgedreht.
Code: Alles auswählen
{
"Level": [
["$ValStart","float",100.0],
["$ValEnd","float",0.0],
["$ValStep","float",5.0],
["$ValCurrent","float",100.0],
["$ValNext","float",100.0],
["$Active","bool",false],
["$Run","bool",false],
["$TimeStep","float",1.5],
["$Period","float",0.0],
["$KonstEins","float",-1.0]
],
"Module": [
["Multiplexer",["$Active"],"$Run",0],
["Multiplexer",["$ValNext"],"$ValCurrent",0],
["Polynomial","$KonstEins","$ValNext",["$ValCurrent","$ValStep"]], // $ValNext = $ValCurrent + ($ValStep * -1)
["Comparator","$ValEnd","-$Run","$ValNext"], // Run solange nächster Wert nicht kleiner als Endwert
["Latch","$ValStart","$ValNext","-$Active",0], // Falls deaktiviert => Rücksetzen auf Startwert (100).
["Latch","$ValStart","$ValNext","$Run",2], // Rücksetzen auf Startwert, bei fallender Flanke von $Run (100)
["Multiplexer",[0,"$TimeStep"],"$Period","$Run"], // $Period == 0, stoppt den Timer
["Clocksignal","$Active",0,"$Period"] // Timer für nächsten Schritt
],
"Input": [
["Aktiv","Aktiviere/Deaktivier Dimmer","$Active","u"],
["Start","Start-Wert","$ValStart","u"],
["Ende","End-Wert","$ValEnd","u"],
["Step","Schrittweite","$ValStep","u"],
["Intervall","Zeit [s] zwischen zwei Werten","$TimeStep","u"]
],
"Output": [
["Dimmwert","Aktueller Dimmwert","$ValCurrent","c"]
]
}
Gruß
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
-
- Elaborated Networks
- Reactions:
- Beiträge: 10714
- Registriert: So Aug 12, 2018 9:27 am
- Wohnort: Frauenneuharting
- Hat sich bedankt: 5305 Mal
- Danksagung erhalten: 8685 Mal
- Kontaktdaten:
Bitte
die fertigen Custom-Logiken mit entsprechenden Beschreibungen als eigene Threads unter "zusätzliche" Logikbausteine posten.
Weil sonst geht das unter und das wäre total schade. Insbesondere würden wir, wenn ausreichend "abgehangen" und bewertet und von uns geprüft diese nützlichen Bausteine auch in das Standard-Sortiment mit aufnehmen.
lg
Stefan
die fertigen Custom-Logiken mit entsprechenden Beschreibungen als eigene Threads unter "zusätzliche" Logikbausteine posten.
Weil sonst geht das unter und das wäre total schade. Insbesondere würden wir, wenn ausreichend "abgehangen" und bewertet und von uns geprüft diese nützlichen Bausteine auch in das Standard-Sortiment mit aufnehmen.
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.
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.
-
- Reactions:
- Beiträge: 315
- Registriert: Mo Sep 24, 2018 9:59 am
- Hat sich bedankt: 287 Mal
- Danksagung erhalten: 195 Mal
Gerne, ich poste dann das Original weiter oben zum Hochdimmen (von Stefan Kolbinger) und meine Modifikation dort nochmal mit Verweis auf diesen Beitrag. Habe sowieso noch eine weitere Ergänzung in Arbeit.
Gruß
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache
Matthias
TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache