Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • traxanos
    antwortet
    Nein. entweder oder

    Einen Kommentar schreiben:


  • DeejayT
    antwortet
    Moinsen, eine Frage da ich ein Logikmodul benötige. Kann ich das Logikmodul eigentlich auch auf dem OpenKNX REG1-Eth installieren und diesen dann zusätzlich als IP Router nutzen?



    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von Alloc Beitrag anzeigen
    Ich weiß, aber das hilft halt wirklich nur, wenn man außer dem Min/Max nichts machen will
    Wieso? Du kannst ja den Ausgang von dem Logikkanal weiter verwenden, auch in einer Benutzerformel. Bevor Benutzerformeln da waren, gingen Berechnungen ausschließlich durch Verkettung von Kanälen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Ich weiß, aber das hilft halt wirklich nur, wenn man außer dem Min/Max nichts machen will

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Ich formuliere das mal so: Wenn ich wieder was an den Benutzerformeln mache, kann ich gerne mal min und max einbauen. Ich würde den Topf jetzt aber nicht "extra" dafür aufmachen, vor allem, weil Du ja schon selber einen Workaround gefunden hast. Ist also nicht abgelehnt, wird aber nicht forciert. Kann somit schon ein Langläufer werden, mit Realisierungszeiten von > 1 Jahr oder so...

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von Alloc Beitrag anzeigen
    Benutzerfunktionen "min" und "max"
    Wenn Du zwei feste Argumente hast, gibt es die bereits eingebaut.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Zitat von willisurf Beitrag anzeigen
    Nur über ein zusätzliches Parsen, weil es in der genutzten Library nicht enthalten ist. Da es einfach über Vergleiche nachzubilden ist, lohnt es nicht den Zusatzaufwand.
    Ah, dachte das wäre was eigenes. Dann wäre der Zusatzaufwand natürlich kaum vertretbar


    Zitat von willisurf Beitrag anzeigen
    Dafür kann man ja die Kommentare bei der Benutzerformel nutzen
    Wenn ich Software entwickle dann hab ich gerne Code, der von sich aus schon direkt erkennen lässt, was er macht. Doku dann eher für den größeren Kontext
    Aber das geht ja schon so - solange man nicht noch mehr verschachteln muss. Aber dann könnte man das natürlich auch über zwei Funktionen abbilden, oder sich sogar allgemein Benutzerfunktionen "min" und "max" bauen, die man immer wieder verwendet.

    Einen Kommentar schreiben:


  • coko
    antwortet
    mxcxpx sofern nicht schon anderweitig verwendet, könntest Du das ggf. direkt über die Urlaubsbehandlung abbilden:

    https://github.com/OpenKNX/OFM-Logic...aubsbehandlung

    Einen Kommentar schreiben:


  • mxcxpx
    antwortet
    vielleicht kann mir jemand behilflich sein.

    aktuell nutze ich die Logic mit der Zeitschalfuhr und Feiertagsoption zum Öffnen meiner Jalousie.

    ich würde gern noch die Schulferien integrieren. diese habe ich aktuell auf einer KNX Gruppenadresse als binär-sensor.

    Schulferien ja -> binär 01
    und das würde ich gern verwenden wie ein Feiertag in der Logic.

    wie stelle ich das am besten an. danke euch

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von Alloc Beitrag anzeigen
    Wäre es eventuell Möglich, min und max einzubauen?
    Nur über ein zusätzliches Parsen, weil es in der genutzten Library nicht enthalten ist. Da es einfach über Vergleiche nachzubilden ist, lohnt es nicht den Zusatzaufwand.

    Zitat von Alloc Beitrag anzeigen
    vor allem da nicht direkt ersichtlich ist, was das Ziel ist
    Dafür kann man ja die Kommentare bei der Benutzerformel nutzen
    Zuletzt geändert von willisurf; 21.12.2025, 19:13.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Och Mensch, das hab ich doch schonmal übersehen...
    Danke dir, Cornelius.

    Einen Kommentar schreiben:


  • coko
    antwortet
    Alloc https://github.com/OpenKNX/OFM-Logic...#logik-trigger - kannst dort auch individuelle Eingänge festlegen: https://github.com/OpenKNX/OFM-Logic...ngstelegrammen
    Zuletzt geändert von coko; 21.12.2025, 18:32.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Achja, und direkt noch eine weitere Frage:
    Kann man verhindern, dass ein Eingang bei einem Logikkanal die Auswertung triggert? Ich habe hier zwei Eingänge, einer soll die Auswertung triggern, der andere dient nur dazu, den letzten Dimmwert vom Bus zu speichern (der dann in der Formel verändert wird und eben auf einer anderen GA gesendet). Aber aktuell löst auch jeder Empfang eines neuen Dimmwertes vom Bus ein Senden aus, weil eben dieser zweite Eingang auch immer mit als Auslöser dient.

    Ich hätte jetzt intuitiv vermutet, dass man bei der Hauptseite der Logik unter "Logik-Trigger" auswählen kann, welche Eingänge triggern. Da sehe ich aber nur allgemeine Einstellungen. Ansonsten wäre das natürlich denkbar bei den einzelnen Eingangsselektoren (z.B. inaktiv, normal/invertiert aktiv, normal/invertiert aktiv aber nicht als Trigger), würde aber logischerweise die Auswahloptionen verdoppeln. Oder dann auf den jeweiligen Einstellungsseiten der Eingänge, dort kann ich aber wohl nur kontrollieren, ob der Dimmwert als logisch falsch oder logisch wahr gewertet wird, ändert aber dann auch nichts an der Auswertung der Logik.

    Übersehe ich da noch etwas oder ist dies aktuell wirklich nicht möglich?



    Etwas konkreter als Beispiel:
    CODE]OpenKNX,cv1,0xA012:0x51/LOG:0x37/10§f~Name=Dimm%2B%20Test§f~Logic=1§f~NameInput1=Ex t.%20Trigger§f~E1=1§f~NameInput2=Dimmstatus§f~E2=1 §f~E2Dpt=3§f~E2LowDpt5001:1=0§f~I1Name=Schaltstatu s§f~I1=1§f~I1Kind=2§f~I1FunctionRel=1§f~NameOutput =Dimmwert§f~ODpt=3§f~OOn=8§f~OOnAll=8§f~OOnFunctio n=202§f~OOff=0§f~OOffAll=0§;OpenKNX[/CODE]
    Die referenzierte Logik +1 spielt inhaltlich keine Rolle. Sie liefert einfach nur eine weitere Komponente (0/1) für die logische UND-Verknüpfung.

    Letztlich will ich:
    - Eingang 2 speichert den letzten empfangenen Wert vom Bus
    - Ausgang wird nur geschrieben, wenn Logik True ergibt - also Eingang 1 und interner Eingang 1 jeweils True sind (Eingang 2 ist so definiert, dass er immer True ist) (der Teil funktioniert natürlich schon).
    - Die Logik soll aber nur ausgewertet werden, wenn auf Eingang 1 ein Wert empfangen wird - Ereignisse auf Eingang 2 oder dem internen Eingang 1 sollen *nicht* zu einer Auswertung führen.

    Aktuell ist es halt so, dass wenn Eingang 1 zuerst True wird, und danach interner Eingang 1 True, dann wird dabei schon ein Wert gesendet. Ebenso wird dann auch jedesmal ein Wert gesendet, wenn Eingang 2 den Wert ändert. Ich will aber halt nur, dass wenn Eingang 1 einen Wert empfängt (und interner Eingang 1 bereits True ist), dass dann auch ein Wert gesendet wird.
    Zuletzt geändert von Alloc; 21.12.2025, 17:43.

    Einen Kommentar schreiben:


  • Alloc
    antwortet
    Huhu, wollte gerade mal wieder eine Logik mit Benutzerformel aufbauen. Ich bräuchte dabei aber die Möglichkeit, den Wert zu limitieren. Wollte also sowas wie "min(E1+0.25, 1)" schreiben. Nun sehe ich aber in der Liste der unterstützten Funktionen kein "min". Wäre es eventuell Möglich, min und max einzubauen?
    Man kann das natürlich mit nem if nachbauen ("if(E1+0.25 > 1, 1, E1+0.25)"), aber das ist natürlich nicht elegant, vor allem da nicht direkt ersichtlich ist, was das Ziel ist

    Einen Kommentar schreiben:


  • mgeramb
    antwortet
    Zitat von BooStar Beitrag anzeigen
    ch würde gerne den Mittelwert von mind. 3, oder 4 Eingängen auf den Ausgang senden, geht das irgendwie?
    Am einfachsten wenn du die Funktionsblöcke benutzt, da hast du bis zu 9 Eingänge. Die Funktionsblöcke gibt es aber nicht als eigene FW, sondern die sind bei sehr vielen anderen dabei. Z.B. bei unseren neuen RaumController.

    Einen Kommentar schreiben:

Lädt...
X