Ankündigung

Einklappen
Keine Ankündigung bisher.

OpenKNX-Logikmodul release

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

  • EdStark
    antwortet
    Hey, ich habe den OpenKNX HF PM, welcher ja auch die Logikengine in der Applikation hat, kann ich damit quasi das gleiche machen wie mit dem OpenKNX Logikmodul (REG?).
    Frage: Ich will meine HomeAssistant InputBoolean (Schalter) ins KNX nativ auslagern (Urlaubsmodus, Anwesend, Abwesend, Jalousieautomatik, Gästemodus). Kann ich solche virutelle Schalter ins Logikmodul packen? Auf den ersten Blick habe ich nichts gefunden, um solche Schalter anzulegen, die via KNX auf der entsprechenden GA den Status ausgeben. Danke euch.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von willisurf Beitrag anzeigen
    Es sollte genügen den Ausgang zu invertieren (geht beim Ausgangskonverter).
    Nicht ganz. Die Regal ist: Negative Zahlen -> Eingang invertieren und Interfallgrenzen vertauschen.
    Und ich weiß, dass Du das weißt, Bernhard - ist eher für andere, die hier mitlesen.

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    Zitat von mumpf Beitrag anzeigen
    Sorry, ist ein Logikmodul - macht das logisch richtige, nicht das, was man denkt was es machen sollte . Aber negative Logik ist verwirrend, ich muss immer selber doppelt nachdenken.
    Jepp, nu verstehe ich es auch!

    Danke für alles, vor allem für das geniale Gerät!!!

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    .. Waldemar hat es genau beschrieben

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    Du hast schon den korrekten Bildschirmausschnitt gebracht, es kommt auf die Info hier an:
    image.png
    Deswegen gebe ich immer aus, was da formal passiert, damit man das Ergebnis selber ableiten kann:
    Bei 10° ist E1 > -5, also >= Einschalt-Wert -> es wird Eingeschaltet. Und Eingang 1 ist nicht kleiner als der Ausschalt-Wert (-2), es wird also nicht ausgeschaltet.
    Es stimmt schon, das Hysterese-Intervall ist eher für positive Werte gemacht, weil es da einfacher vorzustellen ist. Für das, was Du willst, musst Du mit negativer Logik arbeiten:
    Aus bei -5, Ein bei -2, und den Eingang invertiert einschalten.
    Wenn man sich von oben nähert:
    10°: Eingang ist EIN, invertiert ist AUS.
    Es kühlt weiter ab: bis incl. -4.9° bleibt der Eingang EIN, invertiert AUS.
    Bei -5° geht der Ausgang AUS, invertiert EIN
    Dann wird es wärmer, bis -2.1° bleibt er AUS, invertiert EIN.
    Bei -2° geht er EIN, invertiert AUS
    und das Spiel kann von vorne beginnen.

    Sorry, ist ein Logikmodul - macht das logisch richtige, nicht das, was man denkt was es machen sollte . Aber negative Logik ist verwirrend, ich muss immer selber doppelt nachdenken.

    Gruß, Waldemar
    Zuletzt geändert von mumpf; 07.02.2026, 15:43.

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    Zitat von coko Beitrag anzeigen
    Du hast die untere Schwelle größer als die obere Schwelle eingestellt. -5 < -2.
    Ich wollte ja auch das er auch bei -5 Grad den Heizkörper "EIN"-schaltet, und dann bei -2 Grad wieder "AUS"-schaltet.
    Wirksinnmäßig ist das richtig. Ich möchte, dass er bei unter -5 Grad anfängt zu heizen (daher "EIN") und wenn es wärmer als -2 Grad wird, darf er wieder aufhören (deshalb "AUS").

    willisurf : Ich hab den Wirksinn des Ausgangs umgedreht. Nun funktioniert es, aber die Hysterese wird ignoriert. Sende ich -6 Grad, schaltet er ein, bei -4 aber schon wieder aus.

    Einen Kommentar schreiben:


  • coko
    antwortet
    Zitat von tsb2001 Beitrag anzeigen
    Nun möchte ich aber die Heizung bei -5 Grad einschlten und bei -2 Grad wieder ausschalten. [...]
    Offensichtlich kann der bei negativen Vorzeichen keine richtigen Vergleiche durchführen. Oder bin ich da falsch abgebogen?
    Du hast die untere Schwelle größer als die obere Schwelle eingestellt. -5 < -2.

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    Zitat von coko Beitrag anzeigen
    Solle das Ausschalten nach Zeitablauf wirklich nur vom Beginn der Temperaturüberschreitung abhängig sein? Wenn nun der gesammte Duschvorgang länger dauert als der festgelegte Timeout (z.B. wenn mehrere Personen zeitnah hintereinander duschen), dann könnte das zu einem unerwarteten Verhalten führen.
    Nö. Nu maggelt mir doch nicht in Dingen rum, die überhaupt nicht interessieren
    1. nutze ich die Dusche ausschließlich alleine
    2. schalte ich aus der Historie heraus zwar den Präsenzmelder für 20 Minuten auf Dauerlicht, da der aber mittlerweile in die Duschkabine hineinsehen kann, verlängert fällte der in den Vollautomatikbetrieb zurück und verlängert über Präsenz die Beleuchtungsdauer, bis ich aus dem Bad verschwunden bin
    3. schalte ich damit die Sonos-Box. Die hat einen Nachlauf von 25 Minuten. Wenn die irgendwann mal am Ende ist und orgelt nicht mehr vor sich hin, weil ich in der Dusche eingeschlafen bin, ist mir das egal
    4. schalte ich damit für 20 Minuten die Spiegelheizung ein. In den 20 Minuten ist der Spiegel so warm, dass auch eine Fußballmannschaft danach duschen könnte, ohne das der beschlägt.
    Also: Ich brauche nichts, was das noch verbessert. Auch kommt ein Lüften nicht infrage, da ich teilweise in Frühschicht um halb fünf unter der Dusche stehe und kurze Zeit später das Haus verlasse. Da wird nicht viel gelüftet. Ja - gibt Schimmel. Unser Haus ist so undicht, dass es sich selbst lüftet. Außerdem habe ich im ganzen Bad nichts eingebaut, was irgendwie schimmeln kann. Außer die Silikonfugen .- aber das machen die auch trotz lüften.

    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Zitat von tsb2001 Beitrag anzeigen
    Lässt sich das anders lösen?
    Es sollte genügen den Ausgang zu invertieren (geht beim Ausgangskonverter).
    Der Kanal arbeitet auch bei negativen Werten genau wie in der Erklärung darunter beschrieben, hier ist lediglich der Wirksinn invertiert.

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    traxanosoder mumpf :
    Ich abe da aber noch eine kleine Aufgabe zu lösen, die nicht so funktioniert, wie sie soll:
    Ich habe im Gartenhaus den PV-Speicher stehen, der nicht ganz so kalt werden soll. Aber auch nicht zu warm.
    Dafür habe ich im Sommer einen Ventilator in der Wand, der für Belüftung sorgt. Im Winter schalte ich hingegen eine Heizung ein.

    Nun habe ich den Temperaturmesswert aus dem Gartenhaus auf dem Bus.
    Ich habe zwei Logiken mit Hysterese angelegt.

    Logik 1 schaltet den Ventilator bei 25 Grad ein und bei 22 Grad aus:
    Ventilator.png
    Klappt!

    Nun möchte ich aber die Heizung bei -5 Grad einschlten und bei -2 Grad wieder ausschalten. Das mache ich genau so:
    Heizung.png

    Das mag er aber nicht...

    Ich sende den Temperaturmesswert mit 10 Grad, und die Heizung schaltet "EIN"
    Heizung1.png

    Dann sende ich -10 Grad und die Heizung schaltet "AUS"
    Heizung2.png

    Bei -3 Grad schaltet die "EIN":
    Heizung3.png

    Offensichtlich kann der bei negativen Vorzeichen keine richtigen Vergleiche durchführen. Oder bin ich da falsch abgebogen?
    Lässt sich das anders lösen?

    Viele Grüße


    Einen Kommentar schreiben:


  • willisurf
    antwortet
    Bei uns endet die Duschszene mit dem Öffnen des Badfensters. Passt zu 99%.
    Und wenn nicht gibt es ein Timeout.

    Einen Kommentar schreiben:


  • coko
    antwortet
    Zitat von tsb2001 Beitrag anzeigen
    Funktionen übernehmen, die bisher über Homeassistant ausgeführt wurden, damit ich soviel wie möglich auf der KNX-Seite halte. [...]

    Ziel: die Temperatur am Warmwassereingang der Dusche schaltet mit die Duschszene ein.
    1. [...]
    2. [...]
    3. [...] Duschszene starten [...] sobald die Warmwassertemperatur größer 20 Grad beträgt. In einer weiteren Benutzerformel vergleiche ich daher E1>20. Diesen benutze ich in der zweiten Logik, und möchte da aber nur ein "EIN" senden, da der Handbetrieb entweder manuell über den Taster oder per Zeitablauf zurückgesetzt wird. Die Sendung eines "AUS" über die Logik möchte ich nicht mache. [...]
    4. Schreibe ich nun über die Diagnose in das Kommunikationsobjekt in den Fühlerwert 2 Grad (entspricht 63 Grad nach der Umrechnung mit o.g. Formel), wird eine Telegramm mit "EIN" an die Spiegelheizung gesendet (läuft für 15 Minuten als Treppenlichtfunktion und geht dann von selbst aus). Soweit - so richtig.
    5. Nun wird das Wasser wieder kalt und ich schreibe über die die Diagnose den Fühlerwert 8 Grad (entspricht rund 9 Grad nach der Umrechnung mit o.g. Formel), wird der Vergleich natürlich zu einer "0", aber über den Sendefilter habe ich ja "AUS" auf nicht senden parametriert.
    Warum sendet der trotzdem ein "AUS"? Das möchte ich gar nicht:
    [...]
    Ziel: ich möchte immer nur bei einer Überschreitung des Temperaturwerts einmalig ein EIN-Telegramm senden, niemals ein "AUS"
    Solle das Ausschalten nach Zeitablauf wirklich nur vom Beginn der Temperaturüberschreitung abhängig sein? Wenn nun der gesammte Duschvorgang länger dauert als der festgelegte Timeout (z.B. wenn mehrere Personen zeitnah hintereinander duschen), dann könnte das zu einem unerwarteten Verhalten führen.

    Ich würde hier über einen kurzen Timeout nach Temperaturunterschreitung (mehr oder weniger kurz nach "Duschende") nachdenken und einen deutlich längeren Timeout nach Duschbeginn lediglich als Fallback vorsehen. Wahrscheinlich steckt da auch noch etwas mehr hinter Deiner "Duschszene" und deren automatischer und manueller Steuerung. Falls mehrere unterschiedliche Zustände existieren, dann lässt sich das mit den OpenKNX Zustandsautomaten in KNX / StateEngine​ (5 hast Du auch im RaumController) u.U. deutlich einfacher und übersichtlicher modellieren. Die oben beschriebenen verschiedenen Timeouts, oder die getrennte Auswertung von Ein-/Aus-Ereignissen wären damit direkt möglich. Bin da womöglich nicht ganz neutral, will aber auf keinen Fall so tun als wäre das pauschal der besser Weg; das muss man immer individuell auf Basis der Anforderungen prüfen (für Anwendungsfälle siehe Beispiele). Auf Basis Deiner bisherigen Beschreibung lässt sich da noch keine eindeutige Aussage treffen.

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    Zitat von Molybdean Beitrag anzeigen

    Moin,
    Kleiner möglicher Denkfehler hier.
    Je nach Montageort vom Fühler usw. Kann die "Leerlauf" Temperatur im Sommer auch bei mehr als 20° sein. Würde hier eher die WW Temperatur mit der Raumtemperatur vergleichen und bei Überschreitung auslösen.
    Nein, kein kleiner Denkfehler: das System läuft seit anderthalb Jahren exakt und genau, da die Zapfstelle für die Dusche die letzte im Kreis ist, welche auch keine Zirkulation hat. Und da wird es im Sommer auch nicht über 20 Grad.
    Vorher hatte ich es über die Raumtemperatur, da kein Sensor vorhanden war. Das war so träge, dass ich mit Duschen fast fertig war, bis die Raumtemperatur signifikant angestiegen war, um es sicher auszuwerten. War voll für den A..... Jetzt habe ich seit September 2024 einen Fühler am Warmwasser, 5cm von der Mischbatterie entfernt.

    Jetzt hat lediglich das Logikmodul die Aufgabe vom Homeassistant übernommen. Und mehr soll da auch nicht passieren.

    Einen Kommentar schreiben:


  • Molybdean
    antwortet
    Zitat von tsb2001 Beitrag anzeigen
    [*]Nun muss ich diesen vergleichen, damit ich die Duschszene starten kann. Dies soll passieren, sobald die Warmwassertemperatur größer 20 Grad beträgt.
    Moin,

    Kleiner möglicher Denkfehler hier.

    Je nach Montageort vom Fühler usw. Kann die "Leerlauf" Temperatur im Sommer auch bei mehr als 20° sein. Würde hier eher die WW Temperatur mit der Raumtemperatur vergleichen und bei Überschreitung auslösen.

    Einen Kommentar schreiben:


  • tsb2001
    antwortet
    Zitat von willisurf Beitrag anzeigen
    Welche Hardware hast Du denn?
    Das von ing-dom REG1 Basismodul.
    Ich schiebe das jetzt schnell drauf…

    EDIT: 14:07 Uhr: Erledigt und läuft...
    Zuletzt geändert von tsb2001; 07.02.2026, 14:08.

    Einen Kommentar schreiben:

Lädt...
X