Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

  • shortyle
    antwortet
    Hi zusammen,
    kurze Frage zum Logikmodul.
    Kann ich die internen KOs vom Präsenzmodul ("Ausgang Präsenz" und "Bewegung") als interne Eingänge 3 und 4 eines Kanals verwenden?
    Ich hätte vermutet, dass es geht, allerdings klappt es irgendwie nicht und auch im Diagnoseobjekt erscheint nur
    Code:
    A1 Bx Cx Dx Q1
    .

    Die Eingänge C und D sind im den internen absoluten Kanalnummern 21 und 22 ("Ausgang Präsenz" und "Bewegung") belegt.

    ---------------------------------
    Just in dem Moment wo ich es schreiben, stelle ich fest, dass es wohl doch nicht so klappt, da damit nicht die KO Nummern gemeint sind sondern tatsächlich die (Ausgangs)Kanäle der Logiken.

    Also muss ich es doch per separater GAs machen

    Einen Kommentar schreiben:


  • mxcxpx
    antwortet
    ich benutze die Zeitschaltuhr für die "morgens Jalousie-Auf" über 1bit telegram.

    Mo-Fr 7.40 Uhr
    Sa 8.30 Uhr
    So+Feiertag 8.40Uhr

    Leider geht Sonntags auch 8.30Uhr auf und ich verstehe nicht warum

    woran könnte es liegen

    (ich hatte anfangs auch die Urlaubsfunktion aktiviert aber ohne GA , da ist es dann immer um 7.40 Uhr aufgegangen.)

    ich benutze die Logic im 8-Fach Schaltaktor FW0.2

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Ich denke, es war eher so was gemeint.
    Ja Danke Waldemar, so ergibt es Sinn.

    Das ist auch ein schönes Beispiel, warum es -neben dem Zugriff auf KOs- wichtig ist, die internen Verknüpfungen zu haben.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von traxanos Beitrag anzeigen
    da man dem telegramm nicht ansieht ob es von intern kommt oder extern, vermute ich keine extra behandlung.
    Naja, wir wissen ja nicht, wie der knx-Stack vom DALI-Gateway funktioniert. Aber henfri, Du kannst es ja ausprobieren:
    Setze bei dem KO, dass das Telegramm empfangen soll, nicht nur das S- sondern auch das A-Flag und mach einen ReadRequest auf die GA. Wenn das reicht, musst Du nichts mehr machen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Aber ich kann einen Eingang, den ich einmal definiert habe nicht in einem zweiten Kanal verwenden (oder?).
    Das hängt davon ab, wie Du Deine Logiken gestalten/strukturieren möchtest.

    Zitat von henfri Beitrag anzeigen
    Aber hinter der GA/dem KO kommt ja noch so einiges, bevor es zur Logikverarbeitung kommt. Und das muss man halt zwischen den Kanälen synchron halten
    Um Dein Beispiel leicht komplizierter zu machen (und so den Sinn des Vorgehens zu unterstreichen): Nehmen wir mal an, ich will für die Endlage meines Rollladens ein Bool-Trigger "Endlage" geschickt bekommen und über ein 2. KO eine Szene 5 auslösen.

    2 Kanäle sind klar, die kann ich unabhängig definieren:

    1. Kanal
    • L: OR, 2 Eingänge, bei jedem Eingangssignal
    • E1: DPT5.001, Wertintervall 0-5 (ich möchte die letzten 5% als Endlage haben)
    • E2: DPT5.001, Wertintervall 95-100
    • A: DPT1, EIN bei EIN, nichts bei AUS
    2. Kanal
    • L: OR, 2 Eingänge, bei jedem Eingangssignal
    • E1: DPT5.001, Wertintervall 0-5 (ich möchte die letzten 5% als Endlage haben)
    • E2: DPT5.001, Wertintervall 95-100
    • A: DPT17, 5 bei EIN, nichts bei AUS
    ​Hier hab ich das Problem, dass ich alle Eingänge aller Kanäle ändern muss, wenn ich beschließe, dass die Endlage bei 2% reicht.

    Wenn ich aber folgendes mache:
    1. Kanal
    • L: OR, 2 Eingänge, bei jedem Eingangssignal
    • E1: DPT5.001, Wertintervall 0-5 (ich möchte die letzten 5% als Endlage haben)
    • E2: DPT5.001, Wertintervall 95-100
    • A: DPT1, EIN bei EIN, nichts bei AUS
    2. Kanal
    • L: OR, ein interner Eingang, bei jedem Eingangssignal
    • I1: Ausgang von Kanal 1
    • A: DPT17, 5 bei EIN, nichts bei AUS
    ​Hier nutze ich die 1. Logik und ergänze nur einen weiteren Ausgang. Das kann man auch weiter strukturieren und verteilen. Will ich z.B. den Bool zyklisch und die Szene nach 5 Sekunden haben, kann man das im ersten Beispiel über 2 Kanäle lösen, will man wiederverwendbare Teile nutzen, macht man das mit 3 Kanälen:

    1. Kanal
    • L: OR, 2 Eingänge, bei jedem Eingangssignal
    • E1: DPT5.001, Wertintervall 0-5 (ich möchte die letzten 5% als Endlage haben)
    • E2: DPT5.001, Wertintervall 95-100
    • A: sendet nichts
    2. Kanal
    • L: OR, ein interner Eingang, bei jedem Eingangssignal
    • I1: Ausgang von Kanal 1
    • A: Einschaltverzögerung 5 Sekunden, DPT17, 5 bei EIN, nichts bei AUS
    3. Kanal
    • L: OR, ein interner Eingang, bei jedem Eingangssignal
    • I1: Ausgang von Kanal 1
    • A: Zyklisch senden alle 330 Sekunden, DPT1, EIN bei EIN, nichts bei AUS
    und so weiter... deswegen habe ich auch relative Adressierung im Logikmodul eingeführt, so kann man Logikblöcke bauen und kopieren/verschieben, um bei Bedarf mehr Platz zu schaffen.

    willisurf Ich denke, es war eher so was gemeint.

    Gruß, Waldemar


    Einen Kommentar schreiben:


  • traxanos
    antwortet
    Zitat von henfri Beitrag anzeigen
    Hier ist ja die Frage, wie das Dali GW damit umgeht.
    da man dem telegramm nicht ansieht ob es von intern kommt oder extern, vermute ich keine extra behandlung.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Ja, das ist schon klar. Aber hinter der GA/dem KO kommt ja noch so einiges, bevor es zur Logikverarbeitung kommt. Und das muss man halt zwischen den Kanälen synchron halten. Darum ging es mir.

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Aber ich kann einen Eingang, den ich einmal definiert habe nicht in einem zweiten Kanal verwenden (oder?).
    Du kannst ja mit direkter KO Verknüpfung darauf zugreifen und musst die GA nur einmal verknüpfen. Wenn ich Dich richtig verstanden habe

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hier ist ja die Frage, wie das Dali GW damit umgeht.

    Einen Kommentar schreiben:


  • traxanos
    antwortet
    aber ja nicht auf seine eigene Antwort hören​
    eigentlich schon. der verwendete NCN gibt die Telegramme immer direkt wieder ans Gerät zurück. Wenn also auf Applikationsebene nichts "gefiltert" wird, bekommen die Gerät ihre eigenen Telegramme wieder rein.

    Wie das Logikmodul das handhabt kann ich gerade nicht sagen.

    Einen Kommentar schreiben:


  • henfri
    antwortet

    Hallo,

    vielen Dank, das läuft jetzt so.
    Zitat von mumpf Beitrag anzeigen
    Das hängt davon ab, wie man die Kanalabhängigkeiten gestaltet. Durch interne Verbindungen kann man ja Ein- und Ausgangsbedingungen passend abstrahieren und trennen.
    Aber ich kann einen Eingang, den ich einmal definiert habe nicht in einem zweiten Kanal verwenden (oder?).

    Zitat von mumpf Beitrag anzeigen
    Man kann mit dem Logikmodul auch einen Read-Request senden.
    Ja, aber das Dali-Gateway würde antworten, aber ja nicht auf seine eigene Antwort hören. Das wäre aber nötig.
    Zitat von mumpf Beitrag anzeigen
    Nein - es macht die Logik aber nicht gut verständlich. Was spricht dagegen, die GA 2 mal zu verknüpfen? Aber ja, Du kannst das machen. Denke daran, das S-Flag zu setzen.
    Du hast mich überzeugt.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Ja, aber es ist nicht so schön, dass man bei Änderungen eines Kanals auch den Anderen aktualisieren muss, und das möglicherweise vergisst.
    Das hängt davon ab, wie man die Kanalabhängigkeiten gestaltet. Durch interne Verbindungen kann man ja Ein- und Ausgangsbedingungen passend abstrahieren und trennen.

    Zitat von henfri Beitrag anzeigen
    Das mit dem Read-Request wird nicht gehen
    Wieso? Man kann mit dem Logikmodul auch einen Read-Request senden.

    Zitat von henfri Beitrag anzeigen
    Das kann das Problem verhindern, oder?
    Ja, an der Stelle kannst Du einstellen, welche Eingänge die Logik triggern.

    Zitat von henfri Beitrag anzeigen
    Spricht etwas dagegen, dass der Ausgang in dieser Konstellation (Eingang 2 triggert Logik nicht) auf E2 sendet?
    Nein - es macht die Logik aber nicht gut verständlich. Was spricht dagegen, die GA 2 mal zu verknüpfen? Aber ja, Du kannst das machen. Denke daran, das S-Flag zu setzen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Danke Euch!
    Zitat von willisurf Beitrag anzeigen
    Ich denke, das geht nur mit einem zweiten Kanal.
    Aber es gibt ja 99.
    Ja, aber es ist nicht so schön, dass man bei Änderungen eines Kanals auch den Anderen aktualisieren muss, und das möglicherweise vergisst. Das ist meine Sorge und der einzige Grund, weshalb ich es immer als Erstes ohne weiteren Kanal versuche.

    E1=True --> Sende EIN auf A1 und sende den zuletzt empfangenen Wert auf 1/2/3 an 1/2/3 oder sende einen Read-Request auf 1/2/3​
    Das mit dem Read-Request wird nicht gehen. Ich muss also
    E1=True --> Sende EIN auf A1 und sende den zuletzt empfangenen Wert auf 1/2/3 an 1/2/3​
    ​machen.

    Dazu könnte ich ja 1/2/3 an E2 und A1 verknüpfen und "Ja - Wert von Eingang E2" wählen.
    Aber welche Logik-Verknüpfung kann ich da wählen, um eine Schleife zu verhindern? Der Logikkanal soll sich ja nicht selbst triggern. Mit anderen Worten: Wenn an E2 etwas ankommt, soll der Wert nur gespeichert werden, aber die Logik nicht auslösen und auch nicht den Ausgang beeinflussen. Geht das?

    Ich hatte an XOR gedacht und bei E2 den Wertfilter so gesetzt, dass er immer False ist. Aber wenn ich es richtig in Erinnerung habe, triggert ein Telegram auf E2 dennoch die Verarbeitung der Logik, so dass auf A1 der Wert von E2 gesendet würde und ich eine Schleife hätte, oder?

    Edit:
    image.png
    Das kann das Problem verhindern, oder?
    (Und Logikfunktion ist ODER)

    Spricht etwas dagegen, dass der Ausgang in dieser Konstellation (Eingang 2 triggert Logik nicht) auf E2 sendet?
    image.png


    Hintergrund des Ganzen (nur falls sich jemand wundert, sonst einfach ignorieren):
    Ich nutze eine HCL Steuerung in meinem Dali-Gateway.
    Wenn ich aber bei einer Gruppe die Farbbeleuchtung aktiviere, muss ich die HCL Steuerung pausieren. Das macht ein anderer Kanal.
    Wenn ich die Gruppe abschalte, soll aber dafür gesorgt werden, dass das nächste Einschalten mit der richtigen Farbe (Weiß) und Farbtemperatur erfolgt. Dazu muss ich die zuletzt empfangene Farbtemperatur an das Gateway senden. Dadurch kennt es die nächste Farbtemperatur beim Einschalten, und dass es weiß einschalten soll (sonst schaltet es wieder den Farbkanal an, bei einem "EIN" Telegramm) und das ist meist nicht gewünscht.



    Gruß,
    Hendrik
    Zuletzt geändert von henfri; 15.02.2025, 23:52.

    Einen Kommentar schreiben:


  • mxcxpx
    antwortet
    Erstmal großes Lob und Dank an dieses Logik Modul.

    Ich könnte eine 1bit Statusmeldung auf eine 1byte (%) per Logik umwandeln für ein dali Status. Funktioniert super.

    Jalousie steuere ich nun per Zeitschaltuhr in Verbindung mit der Feiertagslogik . Auch toll

    Mal sehen für was ich es noch verwenden kann

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Es gilt immer: Pro Kanal 4 Eingänge (2 externe mit KO, 2 interne) und ein Ausgang mit KO -> 3 KO pro Kanal.
    Ergo: 2 Ausgänge -> 2 Kanäle.

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X