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

[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

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

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

#1

Beitrag von 0lek »

Hey all,

Ich will einen "Jalousiewecker" mit der Rampe entwickeln. Also wenn ich um 7:00 aufstehe, sollen sich langsam die Jalousien oeffnen. Funktioniert im Doktor-Modus auch bestens. Was ich dort aber mache, ist dass ich haendisch den Ist-Wert auf 100 (also Lamellen zu) setze, die Logik ueber Trigger (Zeitpunkt) starte.

Aber wenn ich nun daraus eine "richtige" Automation machen will, dann verstehe ich nicht, woher das Modul "wisse" soll was der Startpunkt ist. Den setze ich ja nirgendwo. Ich sage dem Modul ja nur: Um xx:xx, fange damit an, alle 3 Minuten den Ist-Wert um 5 zu verringern, bis du 0 erreichst. Aber woher weiss das Modul, dass es mit 100 startet? Ich kann ja den Ist-Wert nicht ueber ein Objekt setzen, da er ja nur ein Ausgang ist.

Ich koennte das sicherlich ueber eine Custom-Logik loesen, die halt den Ist ueberschreibt. Aber ist das echt der einzige Weg?

Stehe ich auf dem Schlauch?

Danke!
Aleksander
Zuletzt geändert von 0lek am Mo Nov 14, 2022 8:39 am, insgesamt 2-mal geändert.
TWS 950Q ID:676, VPN offen, Reboot erlaubt

alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#2

Beitrag von alexbeer »

Hallo Aleksander,
bitte berücksichtige die Forumsregeln - vorallem:
Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an
s. dazu die baue Box oberhalb deines Beitrags.
Wenn du diese Info ergänzt hast, hilft hoffentlich der entsprechende Artikel im Wiki: https://elabnet.atlassian.net/wiki/spac ... ogik-Modul
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

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

#3

Beitrag von 0lek »

@alexbeer Danke fuer Deinen Beitrag. Firmware ergänzt, obwohl ich es begruessen würde, wenn man nur darauf achten würde die Firmware zu ergänzen, wo es auch Sinn macht. Ich frage danach, wie die Rampe funktioniert. Es ist relativ egal, ob ich es fuer die v2 oder v3.5.1 frage.

Und m.E. nach trifft der Titel zu 100% den Post - ich verstehe nicht, wie die Rampe funktioniert und würde es gerne verstehen.

Den Artikel (und auch den Artikel zum Ramp-Modulbaustein - BTW ist der Link zwischen den beiden Artikel nicht aktiv) habe ich heute ein paar Mal gelesen. Leider wird dort die obere Frage nicht beantwortet.

Ich habe nochmal zum Test die Logik gestartet OHNE den Ausgang manuell zu setzen. Und siehe da, es funktioniert nicht, genau wie oben schon beschrieben. Sorry, vielleicht stehe ich wirklich auf dem Schlauch, aber ich verstehe nicht wozu die Rampe da ist, wenn ich den Startpunkt nicht setzen kann...?

Aleksander
TWS 950Q ID:676, VPN offen, Reboot erlaubt

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

#4

Beitrag von Robosoc »

Hallo Aleksander,

Wir müssen akzeptieren, dass es Teil der Forumsregeln ist, dass wir die Version angeben. Es hat sich einfach gezeigt, dass es auch in Fällen , in denen der TE mutmaßen könnte, es wäre unrelevant dann doch relevant war am Ende.

Im Betreff würde ich dir empfehlen, dich bitten daraus " wie funktioniert das Logikmodul Rampe" zu machen. In der Kurzübersicht des Forum sieht man leider nicht , in welcher Unterkategorie der Beitrag gesendet wurde und es gibt viele Nutzer, die sich noch nicht so mit dem Logikeditor auseinandersetzen, so dass sie die Funktion Rampe kennen könnten und nur durch den Namen wüssten worum es geht.

Ich glaube Deine Frage wird zunächst bereits inder Wki erklärt. Kennst Du das schon?
https://elabnet.atlassian.net/wiki/spac ... ogik-Modul

Meines Erachtens ist der zweite Satz dort für Dich von entscheidender Bedeutung:

Solange der Ist-Wert unterschiedlich zum Ziel-Wert ist, wird ein Timer (mit der Dauer Intervall) gestartet.

Die Rampe rampt also jeden Wertminderung (hoch und runter) aber es muss eben eine Wertminderung stattfinden.

Du musst den Eingang also irgendwann auch mal auf 0 setzen, damit du morgens wieder aug 100 Rampen kannst.

Deshalb wird Deine Aufgabe schon auch ein wenig komplexer. Ich versuche mir mal eine Lösung nur mit fertigen Module einfallen zu lassen...aber das wird nicht nur mit einer Logikzelle gehen, würde ich auf den ersten Blick sage . Aber so komplex, dass es eine Customlogik braucht erscheint es mir auf den ersten Blick auch nicht.
Zuletzt geändert von Robosoc am Mo Nov 14, 2022 6:08 pm, insgesamt 2-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

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

#5

Beitrag von 0lek »

Hallo @Robosoc,

Und ja, ich verstehe die Regeln. Aber wenn ich als Antwort nur das bekomme und dann einen Link so ganz nach "RTFM", wo das Problem nicht mal behandelt wird, dann werde ich boese :)

Aber danke fuer Deine Antwort. Ist ja schon mal konstruktiver. Betreff absolutely agree. Done.

Zu der Wiki: ja, kenne ich. Das aendert aber wieder nichts daran, dass ich immer noch nicht verstehe, wie ich den IST setzen soll, wenn der ein AUSGANG ist. Aber wie gesagt, ich verstehe die ganze TWS-Logik immer noch zu max 30%, kann sein, dass ich es einfach nicht raffe.

So ganz dumm gedacht, wuerde ich annehmen die Logik hat einen eingang, wo ich den IST setze, und dann wird immer nach <Intervall> s der AUSGANG auf IST +/- <schritt> gesetzt. Und dann wird IST mit dem neuen Wert ueberschrieben. So haette ich das programmiert.

Danke fuers durchdenken!
TWS 950Q ID:676, VPN offen, Reboot erlaubt

Cepheus73
Reactions:
Beiträge: 167
Registriert: Sa Aug 11, 2018 11:36 pm
Wohnort: München
Hat sich bedankt: 394 Mal
Danksagung erhalten: 108 Mal

#6

Beitrag von Cepheus73 »

0lek hat geschrieben: Mo Nov 14, 2022 12:06 am Ich frage danach, wie die Rampe funktioniert. Es ist relativ egal, ob ich es fuer die v2 oder v3.5.1 frage.
Nein, ist nicht egal, weil es sein kann, dass die Funktion der Rampe sich in v4.0 geändert hat und dann will ich erstmal keine Threads anschauen mit v2 (also relativ veraltet), wenn ich schon v4.0 hab.
Jetzt klar, warum das wichtig ist?
Leider ist es auch so, dass die Bereitschaft seitens des Fragestellers, das nachträglich anzupassen, deutlich abnimmt, wenn schon passende Antworten gekommen sind. Insofern ist es dann nur folgerichtig, dass erstmal nur der Hinweis auf die Einhaltung der Regeln kommt - und kein Grund, deswegen "böse" zu werden (statt dass man einfach sagt, ja, ok mein Fehler ...). Alternative wäre, dass halt dann überhaupt keine Antwort kommt - also nicht mal mehr der Hinweis - der kostet ja auch Arbeit ...
TW 2600 #178 - VPN offen, Zugriff jederzeit
EFH, KNX, 1-Wire, DALI, Wiregate,
CometVisu (TW Docker-Container), Mobotix T25, Logiken für Licht- und Rolladensteuerung
1-Wire-Ventilaktoren + Logiken für Gartenbewässerung

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

#7

Beitrag von Robosoc »

0lek hat geschrieben: Mo Nov 14, 2022 8:43 am So ganz dumm gedacht, wuerde ich annehmen die Logik hat einen eingang, wo ich den IST setze, und dann wird immer nach <Intervall> s der AUSGANG auf IST +/- <schritt> gesetzt.
Ja, würde sagen dass ist korrekt beschrieben.
0lek hat geschrieben: Mo Nov 14, 2022 8:43 am Und dann wird IST mit dem neuen Wert ueberschrieben. So haette ich das programmiert.
Bitte sende mal einen Screenshot von Deiner Logikzelle. Dann wird es vielleicht noch klarer und ich kann besser erkennen, wo eventuell ein Missverständnis bei mir oder bei Dir ist.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK

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

#8

Beitrag von 0lek »

@Robosoc Ja, mache ich dann wenn ich wieder zu Hause bin. Was es eventuell noch einfach macht (oder vielleicht schwieriger, let's see) ist pseudocode. Ich habe mich da an die Beschreibung des Modulbausteins angelehnt (hier: https://elabnet.atlassian.net/wiki/spac ... ulbaustein)

Code: Alles auswählen


$current_value = read_from_knx(jalousie_lamelle) // DAS IST DAS, WAS MIR FEHLT!

while $current_value < $InF
{
  $current_value -= $Step
  output($current_value)
  pause($Period)
}

@Robosoc Du meinst ja, ich habe es richtig oben beschrieben. Hier der Code ist das ja quasi umgesetzt. Und mein Problem ist nun, dass ich keinen Eingang habe, um den Eingangswert zu setzen. Deswegen verstehe ich nicht, wie die Rampe funktioniert, weil ohne diesen Wert setzen zu koennen kann ich ja die Bedingung in der while-loop nicht pruefen.

Wie gesagt, screenshot kommt am Abend, aber ich glaube nicht dass er wesentlich helfen wird...

Aleksander
TWS 950Q ID:676, VPN offen, Reboot erlaubt

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

#9

Beitrag von StefanW »

Hi Aleksander,
0lek hat geschrieben: Mo Nov 14, 2022 8:43 amUnd ja, ich verstehe die Regeln. Aber wenn ich als Antwort nur das bekomme und dann einen Link so ganz nach "RTFM", wo das Problem nicht mal behandelt wird, dann werde ich boese :)
Wenn Du deshalb boese wirst, dann musst Du das Forum verlassen ;)

0lek hat geschrieben: Mo Nov 14, 2022 12:06 amFirmware ergänzt, obwohl ich es begruessen würde, wenn man nur darauf achten würde die Firmware zu ergänzen, wo es auch Sinn macht.
Dann muss ich das wohl nochmal erklären?

Wir planen ganz konkret für die Version 4.0 eine Überarbeitung der Logikmodule. Und vielleicht in der 5.0 nochmal. Es kann damit also eine Rampe 2.0 oder 3.0 geben.

=> Alles klar? Ich erwarte, dass die Forenregeln ohne wenn und aber eingehalten werden und dass es dazu keine Diskussionen mehr gibt. Wir wissen schon was wir tun und warum wir diese Regeln so haben wie sie sind. Wem das nicht passt, kann sich gerne ein anderes Forum suchen.

Fragen sind auch als solche zu kennzeichnen und sollten auch - wenn es um Logik geht - das im Betreff auch enthalten. Weil wenn man die Suche benutzt und 100 Ergebnisse sieht, man sehr viel leicht das findet was man sucht.

Und das ist es, worum es in diesen Forenregeln geht: Eine höhere Chance, dass die von den Experten gegebenen Antworten auch noch weiteren Nutzern helfen. Weil das Verhältnis von Antwortenden zu Fragenden liegt bei 1:50 bis 1:400 - je nach Thema. Die Experten haben weder Lust noch Zeit, jede Sache jedem einzelnen Foristen einzeln zu erklären. Die Experten sind NUR dann motiviert zu antworten, wenn der Thread so bezeichnet ist, dass die Chance besteht, dass er von anderen später wiedergefunden und gedanklich der richtigen Version zugeordnet werden kann.

Im Kern geht es bei diesen Forenregeln darum, dass die Experten motiviert sind, eine Antwort zu geben. Wem das zuviel ist, wie gesagt, bitte anderes Forum. Habe ich wirklich keinen Schmerz.

Würden wir zulassen, dass jeder seinen Thread gestaltet wie er möchte, mal mehr oder weniger guter Betreff, keine Version, dann bleiben auch die Antworten aus und dann verliert das Forum seine Bedeutung und dann würde ich es auch schließen.

Letzteres wird auch passieren, wenn ich die Forenregeln jetzt noch öfters erläutern muss, weil es nervt langsam

Danke für die Aufmerksamkeit.

Stefan
Zuletzt geändert von StefanW am Mo Nov 14, 2022 10:44 am, 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.

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

#10

Beitrag von Robosoc »

0lek hat geschrieben: Mo Nov 14, 2022 10:28 am

Code: Alles auswählen


$current_value = read_from_knx(jalousie_lamelle) // DAS IST DAS, WAS MIR FEHLT!

while $current_value < $InF
{
  $current_value -= $Step
  output($current_value)
  pause($Period)
}

@Robosoc Du meinst ja, ich habe es richtig oben beschrieben. Hier der Code ist das ja quasi umgesetzt.
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.
Du musst also (und das macht es für Deinen Anwendungsfall jetzt ein wenig komplexer, als dass es alleine mit der Rampe funktioniert), den einen Vorgang morgens um 7 Uhr, bei dem es Dir ums Öffnen der Jalousie zu einem bestimmten Zeitpunkt geht, von allen anderen Verfahrvorgängen entkoppeln - deshalb würde ich einen etwas anderen Ansatz wählen und den IST-Wert der Jalousie nicht als Eingang wählen. Es sei denn zusätzlich, z.B. wenn verhindern willst, dass die Rampe ausgeführt wird, wenn jemand z.B. schon vor 7 Uhr die Jalousie leicht oder ganz geöffnet hat. Auch musst Du dir überlegen was Du machst, wenn Feiertag oder Urlaub ist (aus diesem Grund habe ich einen ähnlichen Automatismus in den Kinderzimmern wierder abgeschafft :-) )...das hat aber alles erstmal nichts mit der Logik-Engine im TWS zu tun, sondern ist eine grundsätzliche Frage wie Du Sonderfälle für das Verhalten definieren willst.

Wenn man Deinen Anwendungsfall ersteinmal weiterhin einfach betrachtet - jeden Wochentag morgens um 7 Uhr erwartest Du, dass die Jalousie von 0% auf 100% in definierten Schritten gefahren wird - wäre die Lösung tatsächlich doch deutlich einfacher innerhalb einer Custom-Logik zu realisieren, weil Du da einen Status nutzen kannst, welcher true wird, wenn ein Timer die Logik auslöst. Ich schreibe Dir das mal als Custom-Code - aber noch kein Versprechen wann :D .
Zuletzt geändert von Robosoc am Mo Nov 14, 2022 11:54 am, insgesamt 6-mal geändert.
VG, Sven - TWS 950Q ID:335 & 291, VPN offen, Reboot OK
Antworten

Zurück zu „Logikengine & Logik-Editor“