Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

OpenKNX-Logikmodul release

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

  • mumpf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Aktuell habe ich einfach einen Werte-Filter und eine Und Bedingung.
    Sieht für mich korrekt aus. Wertfilter auf Helligkeit (sagt: zu dunkel) UND Tor hoch -> Licht an.

    Zitat von henfri Beitrag anzeigen
    ABER: der Binäreingang für das Tor sendet zyklisch (könnte ich ändern) und Homeassistant fragt unter bestimmten Umständen ab (könnte ich auch vielleicht ändern).
    Bei so was musst Du immer schreiben, was Dich stört. Man muss das sonst interpretieren und dann erkläre ich was, was Du vielleicht nicht meinst.
    • Das zyklische Senden triggert nochmal und das Licht bekommt nochmal EIN? Sollte ja nicht wehtun. Aber auch so: Kein Problem, Logik nur bei Wertänderung senden lassen.
    • Und Helligkeit (von HA abgefragt) kann eigentlich auch keinen Einfluss haben, weil es ja dunkler wird. Also: Zeitpunkt A ist hell (Licht wird eingeschaltet), Zeipunkt B ist später, dann ist es doch dunkler. Würde also wieder zum EIN führe, siehe oben.
    Ich komme nicht auf Dein Problem, sorry.
    Konzeptionell:
    Zitat von henfri Beitrag anzeigen
    Helligkeit Außen zu diesem Zeitpunkt
    Lass die Logik von diesem Eingang nicht triggern, dann sind Wertänderungen an dem Filter nicht für eine Neuauswertung relevant.
    Zitat von henfri Beitrag anzeigen
    Homeassistant fragt unter bestimmten Umständen ab
    Musst Du nicht am HA ändern, einfach am Eingang der Logik das A-Flag entfernen.
    Zitat von henfri Beitrag anzeigen
    Ich bräuchte das beim Eingang. Ein Trigger, wenn der Input (binär) sich ändert.
    Das ist ein einfacher Logikkanal (Identität), der sendet, wenn sich der Wert ändert. Den musst Du nur davorschalten.

    Mich würde aber interessieren, warum Du das brauchst, da ich immer noch glaube, dass Licht EIN, gefolgt von Licht EIN nicht schadet.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Danke, ich glaube, ich versuche es hiermit:
    Beispiel 10: Eine "IF-Bedingung" mit Zeit (zeitabhängige Logik)

    Noch eine weitere Frage:
    Wenn das Garagentor geöffnet wird (Zustandsänderung) und die Helligkeit Außen zu diesem Zeitpunkt unter xyz ist, dann soll die Beleuchtung angeschaltet werden.

    Aktuell habe ich einfach einen Werte-Filter und eine Und Bedingung.
    ABER: der Binäreingang für das Tor sendet zyklisch (könnte ich ändern) und Homeassistant fragt unter bestimmten Umständen ab (könnte ich auch vielleicht ändern).

    Man kann ja filtern, dass nur gesendet wird, wenn der Logik-Wert sich ändert. Das ist aber ja nicht ganz was ich will.
    Ich bräuchte das beim Eingang. Ein Trigger, wenn der Input (binär) sich ändert.

    Geht das?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    henfri

    such Mal unter den Stichwort "Alltagsprobleme".
    Ziemlich hingen hätte Ich die Lösung für meine Rollläden beschrieben. Das waren ähnliche Bedingungen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    ich wollte mal die Außenbeleuchtung auf nativ-KNX umstellen.

    Ich meine, ich hätte dazu auch schonmal etwas geschrieben/gefragt... aber ich finde es nicht mehr. Ich finde auch den Thread mit Rezepten von Waldemar nicht mehr - vielleicht wäre es Wert, den anzupinnen.

    Das Problem ist folgendes:
    Wir sind in der Woche zu einer bestimmten Zeit wach und am WE zu einer anderen Zeit. So weit so gut (wobei mir gut gefallen würde, wenn es den Tag "Werktag" und "Wochenende" gäb, damit man nur zwei statt 7 Kanäle bräuchte.

    Ich würde also jetzt
    - An um 6:45
    - Aus Sonnenaufgang aber nicht vor 6:46 wählen (hier fehlt mir leider die +/- x min

    - An Sonnenuntergang, aber nicht vor 18:00
    - Aus 22:30

    wählen.
    Das müsste so passen, oder?

    Manchmal ist das Problem, dass das Ausschalten nach dem Einschalten kommt und man so das Licht den ganzen Tag an ist. Durch das "nicht vor" sollte das verhindert werden, oder?

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Danke für eure Antworten.
    Ich hab mal lieber einen eigenen Thread geöffnet:
    https://knx-user-forum.de/forum/%C3%...einem-neustart

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von henfri Beitrag anzeigen
    Ich muss leider einen Taster regelmäßig zurücksetzen
    Warum musst Du den zurücksetzen?

    Alternativ zum Readrequest, die ja auch temporär eine Menge Traffic generieren, wenn Du die Signale von Logiken mit dem OpenKNX Logikmodul nachverarbeitest, kannst Du die Eingangssignale speichern, dann stehen diese sogar nach einem Systemneustart zur Verfügung.

    Einen Kommentar schreiben:


  • gbglace
    antwortet
    Zitat von henfri Beitrag anzeigen
    gibt es eine Möglichkeit auf alle verknüpften GAs (und nicht nur die Erste) ein Lesetelegramm zu senden?
    Grundlagen des KNX:
    Ein KO sendet zu jedem Event genau ein Telegramm und in einem Telegramm steckt genau eine GA.
    Und als sendende GA wird immer die eine als sendend markierte GA je KO verwendet.

    Insofern wie soll da der Taster nun x verschiedene Telegramme senden bei Reboot von einem KO aus?

    Auch wenn Du PM's usw. hast die in den Parametern es anbieten zweierlei Informationen zu senden, ergibt das stets ein zweites Ausgangs-KO um diese zweite Information auch via einer zweiten GA auf den Bus zu bringen.

    Zitat von henfri Beitrag anzeigen
    Ich muss leider einen Taster regelmäßig zurücksetzen und er fragt nach dem Start die GAs nicht selbst ab.
    Das I Flag und A Flag sind am Taster gesetzt?
    Ohne diese Flagkombination wird kein ordentlich gebautes KNX-Gerät mit Neustart ein Lesetelegramm senden und etwaige Antworten in sich aufnehmen.

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    eine Frage zu "ReadRequest senden": gibt es eine Möglichkeit auf alle verknüpften GAs (und nicht nur die Erste) ein Lesetelegramm zu senden?
    Ich muss leider einen Taster regelmäßig zurücksetzen und er fragt nach dem Start die GAs nicht selbst ab.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Der Grund ist, dass ich es nicht getestet habe und dass ich nichts versprechen wollte, was ich nicht halten kann.

    Zitat von abeggled Beitrag anzeigen
    Wir haben doch innerhalb der CET die gleichen Sommerzeitregeln?
    Wenn ich mich recht erinnere, hab ich gelesen, dass ein EU-Land gerade aus der Sommerzeit ausgestiegen ist, aber ich weiß nicht mehr welches...

    Das Thema ist aber obsolet, da mgeramb im OpenKNX-Team netterweise ein generisches Zeithandling implementiert hat und ich das gerade mit dem Logikmodul teste. Das nächste oder übernächste Release wird also diese Einschränkungen nicht mehr haben.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • abeggled
    antwortet
    In der Dokumentation finde ich folgenden Abschnitt zur Sommerzeitberechnung:
    Interne Berechnung (nur für Deutschland)
    Erscheint nur, wenn die Zeitzone 'Berlin' gewählt worden ist.
    Diese Option kann nur für Deutschland genutzt werden. Sie ist nicht zu verwenden, falls man in der selben Zeitzone wie Deutschland ist, aber in einem anderen Land.
    Was ist da der Hintergrund? Wir haben doch innerhalb der CET die gleichen Sommerzeitregeln?

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von larsrosen Beitrag anzeigen
    Der Einstieg in OpenKNX und auch das Logikmodil ist echt schwierig.
    Ja, da hast Du Recht. Aber man kann es ja schrittweise aufbauen und ich kenne nichts flexibleres.
    Aber Vorsicht, es macht süchtig....

    Einen Kommentar schreiben:


  • larsrosen
    antwortet
    Ja, danke. Durch Waldemars Post hatte ich es gefunden.
    Der Einstieg in OpenKNX und auch das Logikmodil ist echt schwierig.
    Das Wiki ist schon wirklich super, aber manches ist dort für Noobs echt schwer zusammen zu bekommen.

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von larsrosen Beitrag anzeigen
    Wenn ich jetzt eine Formel anlege mit E1 und E2 muss diese ja irgendwie einer Logik zugewiesen werden.
    Das machst Du dann am Ausgang des Kanals, auf diese Art. Dazu in der langen Liste der eingebauten Funktionen recht weit nach unten scrollen.
    image.png

    Einen Kommentar schreiben:


  • larsrosen
    antwortet
    Soweit klar,

    unklar ist das Kürzel was in der Benutzerformel als Eingang angeben wird.

    In der Beschreibung steht E1 und E2.

    Wenn ich jetzt eine Formel anlege mit E1 und E2 muss diese ja irgendwie einer Logik zugewiesen werden. Es gibt ja mehrer Logiken und somit mehrere E1 und E2.
    Zuletzt geändert von larsrosen; 13.04.2025, 16:15.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Bevor Du mit Benutzerformeln was machst, solltest Du das "normale" Rechnen mit Logikkanälen machen, dann versteht man auch eher, wie Benutzerformeln da reinpassen.

    Definier mal einen Logikkanal mit 2 Eingängen DPT5 und einem UND als Logik. Beim E1 sagst Du im Eingangskonverter "Wertintervall" 0-100, beim E2 0-50.
    E1 ist dann TRUE für jeden Wert bis 100, E2 ist TRUE für 0-50, sonst sind die FALSE. Beim Ausgangskonverter sagst Du auch DPT5, für EIN "Ergebnis einer Formel" und als Formel wählst Du E1 + E2. Beim AUS sagst Du auch Ergebnis einer Formel, hier sagst Du aber E1 - E2. Ordne dann GAs zu E1, E2 und A zu und schick im Gruppenmonitor auf E1 = 80 und E2 = 5.
    Was passiert: E1 = 80 bedeutet TRUE am Eingang vom UND. E2 = 5 bedeutet auch TRUE am Eingang vom UND. Damit wird das UND TRUE und sendet seinen EIN-Wert. Dieser berechnet sich aus E1 + E2, am Ausgang kommt 85 raus.
    Jetzt sendest Du mal auf E2 eine 70. Bedeutet E2 = 70 ist FALSE am UND, das sendet seinen AUS-Wert. Der ist E1-E2, ab Ausgang kommt eine 10.
    Die Logikverarbeitung ist immer binär, nur auf True und False basierend. Jedes Eingangssignal, dass nicht binär ist, wird im Eingangskonverter in einen binären Wert verwandelt. Am Ausgang kann man dann den EIN (True) oder AUS (False) Wert wieder in einen anderen DPT konvertieren, das kann folgendes sein:
    • konstanter Wert
    • Wert von E1
    • Wert vom E2
    • Wert von irgendeinem anderen KO dieses Gerätes
    • Wert einer Formel (haben wir benutzt)
    • und noch ein paar Spezialfälle
    Wenn man das verstanden hat, kann man auch Benutzerformeln verwenden, denn neben den vielen vordefinierten Formeln (wie z.B. "A=E1-E2") kann man da auch die Benutzerformeln "A=B1(E1, E2, A)" auswählen. Diese bekommt dann als E1, E2, A (also Eingang 1, Eingang 2 und aktuellen Wert vom Ausgang) von dem Logikkanal, von dem sie aufgerufen wurde und schreibt das Ergebnis der Formel auf den Ausgang.

    Ist kompliziert, aber sehr mächtig...

    Zu meiner Entschuldigung: Das Logikmodul war ursprünglich nicht für Berechnungen gedacht, das ist mit der Zeit nach und nach reingekommen...

    Gruß, Waldemar

    Einen Kommentar schreiben:

Lädt...
X