NEU! UPGRADE IP 10 verfügbar!
Optimierte Darstellung von VISU Editor und VISU Client - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/8HzePCm3

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 IP 10
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Beantwortet] [3.5.1] Wie funktioniert das Logikmodul "die Rampe"?

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

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

#11

Beitrag von Robosoc »

Habe mal angefangen mir ein Konstrukt zu überlegen...aber auch im Costum ist es nicht trivial...bekommen wir aber hin.

Die Herausforderung ist ganz einfach, dass die Rampenfunktion ja nur bei Änderung des Eingangs funktioniert. Wir müssen also den Eingang der Rampenfunktion zurücksetzen ohne dass der Ausgang geschrieben wird. Tricky aber sowas ist doch eine schöne Herausforderung :-)
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Ersteller
0lek
Reactions:
Beiträge: 175
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 20 Mal
Danksagung erhalten: 80 Mal

#12

Beitrag von 0lek »

Robosoc hat geschrieben: Mo Nov 14, 2022 11:42 am Wenn ich Deinen Pseudo-Code richtig interpretieren, dann gehst Du davon aus, dass die Rampe nur aktiv ist, wenn der Zielwert > als der aktuelle Wert ist. Das ist nicht so. Die Rampe ist universal und damit bidirektional, wird also ohne Weiter Programmteile auch aktiv wenn der Zielwert kleiner als der Istwert ist. Aus der Wiki:
Solange der Ist-Wert unterschiedlich zum Ziel-Wert ist, wird ein Timer (mit der Dauer Intervall) gestartet.
Ja, ich weiss dass es sowohl > wie auch < sein kann. Wollte es einfach halten fuer den Code.

Es geht mir ja nur darum, dass ich in meinem Pseudocode nicht wuesste, wovon ich den $Step abziehen muss. Die Logik weiss ja nicht, was der Startpunkt ist.
Und Dein Quote aus der Wiki: 100%. Nur WOHER weiss die Rampe, dass IST vom SOLL unterschiedlich ist, wenn die Rampe nicht weiss, wass der IST ist? Dass ist ja die ganze Zeit mein Punkt. Erstmal egal ob ich in meiner "while" oben < oder > einsetze. Die jetzige Zelle wuesste nicht, wass der IST ist.
AAAAAAAAAAAAA :)

Das mit den Sonderfaellen ist klar. Ich will es erstmal ans Laufen bringen. Meine Idee ist einfach, das wird ueber Home Assistant gestartet, der uebergibt den Cron-string. TWS macht nur das heavy Lifting. Ich bin noch sehr, sehr basic wenns um jegliche Automations geht, deswegen denke ich ueber Feiertage usw. noch nicht nach. Aber danke fuer den Tipp, ist wichtig. Ich werde dann wahrscheinlich bis zur Kalendar-Integration im TWS warten und es dann so abfruehstuecken.

Danke nochmals, @Robosoc !!!

Aleksander
TWS 3500XL ID:1412, VPN offen, Reboot erlaubt

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

#13

Beitrag von Robosoc »

Ah, jetzt habe ich glaube ich verstanden, wo unser Missverständnis ist/war:

Mein Verständnis zur Rampe:

Das Modul Rampe hat einen Eingang und einen Ausgang. Beide sind nach meinem Wissenstand beim Initialisieren (also z.B. nach einem erstmaligen Anlegen der Logik oder beim Neustart des TWS, wenn Persistenz für diese Logik nicht aktiviert ist) = 0.

Wird die Logik-Zelle getriggert, wird intern geprüft, ob der Wert am Eingang dem Wert am Ausgang entspricht. Wenn nicht, dann wird die Rampe gestartet und der Ausgang wird in Schritten dem Eingang angenähert. Am Ende einer Rampe ist der Wert am Eingang also immer gleich dem Ausgang. Ändert sich aber in der Zwischenzeit (also im Laufe der Rampenausführung) der Eingangswert ist der Zielwert neu und die Rampe wird ausgehend vom aktuellen Ausgangswert neu ausgeführt.

Das heißt aber auch, dass eine Rampe, die einmal den Wert 100 erreicht hat, auf 0 (oder irgend einen anderen niedrigeren Wert) gesetzt werden muss um wie in dem Deinem Fall gefordert am nächsten Morgen wieder von Neuem auf 100 zu Rampen. Der Baustein hat von Hause aus keine solche Funktion. Er ist in sich ein reiner Verzögerer mit Schrittvorgabe - Nicht mehr, aber auch nicht weniger. In Deinem Anwendungsfall ist die Rampe alleine nicht ausreichend.

Ergo: Du kannst den Ein- und Ausgang nicht direkt mit der KNX-GA der Jalousie-Position verbinden, weil ja sonst jede Änderung der Jalousie direkt zu einer Rampe führen würde, was Du sicher nicht willst (Beispiel:
Abends soll Deine Jalousi bestimmt nicht langsam in Steps runterfahren).

Mal ein anderes Beispiel. Stelle Dir eine gedimmte Lampe vor. Der Aktor übernimmt jeden Dimmerwert zwischen 0 und 100%, kennt aber leider keine Verfahrzeit (dummer Dimmer - blödes Teil - zu wenig Geld ausgegeben). Du möchtest nun aber gerne angenehme Lichtwechsel haben, die z.B. über 30 Sekunden dimmen (z.B. Farblicht bei LEDS). Nun könnte ein Taster den Wunschwert an eine GA (nennen wir sie DIMMZIELVORGABE) senden, die nicht mit dem Aktor verbunden ist, und diesen Wert würde man als Eingang auf die Rampe legen. Der Ausgang der Rampe geht auf eine andere GA, die dann auch mit dem Dimm-Aktor verbunden ist (nennen wir sie DIMMWERT_Lampe_X). Nun dimmt die Lampe IMMER vom letzten bekannten Wert langsam in Steps auf den neuen Wert. Bei Dimmbefehlen würdest Du aber vermutlich jetzt auch gerne immer gleiche Dimmgeschwindigkeiten haben (Dif%/sek) haben, auch das ist mit der Rampe nicht ohne weitere Programmierungen möglich. Man würde sich lediglich auch der Rampe als Logikelement bedienen.

Und genauso ist die Rampe auch in Deiner Aufgabe nur ein Teil des gesamten Werkes.
Zuletzt geändert von Robosoc am Di Nov 15, 2022 6:21 am, insgesamt 1-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

Ersteller
0lek
Reactions:
Beiträge: 175
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 20 Mal
Danksagung erhalten: 80 Mal

#14

Beitrag von 0lek »

@Robosoc Puuhhh... danke. Ich glaube das Dimm-Beispiel ist nicht schlecht (wuerde das echt in die Wiki aufnehmen!).

Was Du beschreibst wird ja auch mein Problem sein. Ich stelle den IST der Rampe auf 100 (Lamelle zu), sie macht die Lamellen auf (also 0). Werde die aber irgendwann wieder zu machen, was die Rampe nicht mitkriegt.

Also ich denke ich kann es nur loesen, wenn ich das Ramp-Modul in die Custom Logik mit einbinde. Weil nur so kann ich ja den IST jedes mal auf 100 initialisieren.

OK Sven, vielen lieben Dank. Ich denke wir koennen es erstmal schliessen (ausser Du willst noch eine Loesung 'irgendwann" beitragen, immer gerne). Ich werde mal versuchen dass custom zu entwickeln ("irgendwann" ;)) und werde dass dann auch hier wieder pasten, wenn es fertig ist. Ist schon sehr, sehr komplex, Logikentwicklung am TWS ;)
TWS 3500XL ID:1412, VPN offen, Reboot erlaubt

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

#15

Beitrag von Robert_Mini »

Ich hab mir das Modul schnell am Handy geladen.
Es gibt ja Ziel/Schritt/Intervall als Eingänge.

Ich würde folgendes Testen:
Mit Schritt = 100% wird ja jeder Wert zu 100% durchgereicht.

Man könnte den Sollwert für die Jalousie immer über die Rampe schicken und in der Nacht den Wert für Schritt auf zb 10% setzen. Nach dem Auffahren der Jalousie sollte dann Schritt wieder auf 100 gesetzt werden, damit die Sollwerte voll durchgereicht werden.

Meine Erfahrung ist, dass sich parallele Logiken die verschiedene Funktionen auf der gleichen GA übernehmen, schwierig umsetzbar sind. Wann dann durch gegenseitiges Sperren, dass nur eine davon aktiv ist.

Daher ist dazu die Jalousiesteuerung entstanden, die nur in Module trennt, wo sich Ausgänge nicht überlappen.

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

gbglace
Reactions:
Beiträge: 3604
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1266 Mal
Danksagung erhalten: 1672 Mal

#16

Beitrag von gbglace »

0lek hat geschrieben: Mo Nov 14, 2022 2:14 pm Ist schon sehr, sehr komplex, Logikentwicklung am TWS ;)
Gemessen nach meinen kurzen Probeausflügen in den anderen System, finde ich es dort nicht weniger komplex, weil auch dort hat es als Module die man da dann grafisch aneinander stöpselt auch sehr viele dieser absoluten Basis-Module. Deswegen hat man auch im X1 oder Nodered dann recht große Flußdiagramme um relativ simpel klingende Anforderungen zu erledigen. Aber hier wie dort kann man in der Sprache des jeweiligen Systems dann statt der Basismodulverkettung auch eine Custom-Logik (LBS / Function-node) bauen und diese dann mit verschiedenen Parametern am Eingang bestücken und hat dann genau das was man sich vorgestellt hat in einem Baustein.

Im TWS sind es derzeit sehr viele Basis-Bausteine und einige schon vorbereitete Spezial-Bausteine, im Forum hier findet man noch ein paar mehr Custombausteine als Vorlage für eigene Individualisierungen oder zur direkten Übernahme.

Oder man beschreibt sein Problem und man wird geholfen auf dem Weg zu einem eigenen CustomBaustein ist. Und wenn die Problemlösung sehr gut und vielfach benutzt wird, kann solch ein Custom-Baustein auch in die Standardbausteine im TWs übernommen werden.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
0lek
Reactions:
Beiträge: 175
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 20 Mal
Danksagung erhalten: 80 Mal

#17

Beitrag von 0lek »

Robert_Mini hat geschrieben: Mo Nov 14, 2022 4:18 pm Man könnte den Sollwert für die Jalousie immer über die Rampe schicken und in der Nacht den Wert für Schritt auf zb 10% setzen. Nach dem Auffahren der Jalousie sollte dann Schritt wieder auf 100 gesetzt werden, damit die Sollwerte voll durchgereicht werden.

Daher ist dazu die Jalousiesteuerung entstanden, die nur in Module trennt, wo sich Ausgänge nicht überlappen.
Agree. Mache bisher aber sonst nicht viel mit Steuerung, sollte also ok sein.

Deine Jalousiesteuerung will ich auch endlich mal ausprobieren, muss nur mal die bloeden Fesnsterkontakte mal anstoepseln. :)
Zuletzt geändert von Robert_Mini am Mo Nov 14, 2022 6:44 pm, insgesamt 1-mal geändert.
TWS 3500XL ID:1412, VPN offen, Reboot erlaubt

Ersteller
0lek
Reactions:
Beiträge: 175
Registriert: Di Jan 14, 2020 5:30 pm
Hat sich bedankt: 20 Mal
Danksagung erhalten: 80 Mal

#18

Beitrag von 0lek »

gbglace hat geschrieben: Mo Nov 14, 2022 4:49 pm
0lek hat geschrieben: Mo Nov 14, 2022 2:14 pm Ist schon sehr, sehr komplex, Logikentwicklung am TWS ;)
Gemessen nach meinen kurzen Probeausflügen in den anderen System, finde ich es dort nicht weniger komplex, weil auch dort hat es als Module die man da dann grafisch aneinander stöpselt auch sehr viele dieser absoluten Basis-Module.
Ja, kann schon sein :) Deswegen versuche ich es immer wieder, aber es ist schwieriger als bei allen anderen Sachen, die ich bisher gemacht hatte. Kann natuerlich schon sein dass ich bloeder bin als der Durchschnitt hier.

Ich werde das wahrscheinlich auch als Custom umsetzen und mir dann ueberlegen, wie man das mit der Jalousiesteuerung mergen kann.
Zuletzt geändert von Robert_Mini am Mo Nov 14, 2022 6:45 pm, insgesamt 1-mal geändert.
TWS 3500XL ID:1412, VPN offen, Reboot erlaubt

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

#19

Beitrag von StefanW »

Aleksander,

ich möchte an die Forenregeln erinnern die Volltextzitate (oder Zitate solch einer Länge) verbieten. Habe ich Dir in der Vergangenheit auch schonmal erklärt.

Ich möchte wirklich nicht deutlicher werden müssen. Bitte erspare uns beiden diese Auseinandersetzung.

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.
Antworten

Zurück zu „Logikengine & Logik-Editor“