Hi,
hier mal eine PM/Logik-Kniffelei, insbesondere an die drei, mit denen ich am Mittwoch auf dem Stammtisch schonmal drüber gesprochen hatte ( mumpf , Amenophis , bambam ), aber freue mich natürlich auch über jeden andren Input
OpenKNX-Konfig-Strings am Ende, falls jemand das selbst probieren möchte
Ausgangssituation / Zieldefinition:
Ich habe einen VPM-Kanal und möchte hier eine zweistufige Abschaltung umsetzen, sprich der Dimmer ist z.B. 50% im aktiven Zustand, geht nach Nachlaufzeit erst auf 5% und dann nach 10 Sekunden erst auf 0%. Außerdem soll externes Steuern des Aktors, zum Beispiel über Szenen oder direktes Dimmen aus der Visu, weiterhin möglich sein.
Bisherige Umsetzung:
VPM-Kanal sendet als "Aus"-Wert auf dem Dimmausgang den Zwischenwert (5% im Beispiel), auf dem zweiten Ausgang (Schalten) ein "Aus".
Dazu dann ein Logikkanal, nur ein Eingang, verknüpft mit dem Schaltausgangs-KO des PM. Der Ausgang geht wiederum auf das Dimmausgangs-KO des PM. Dies Logik ist im Ausgang dann so konfiguriert, dass sie nur Werte für "Aus" durchlässt, dabei eine Ausschaltverzögerung von 10 Sekunden hat und eben dann die 0% als Wert setzt.
Ergebnis bis dahin:
Erstmal klappt das wie erwartet. Licht über PM an geht normal, Licht vom PM aus und es wird korrekt erst der geringere Dimmwert gesendet und danach dann von der Logik die 0%.
Problem:Wechselt die Tagesphase des PM oder wird das KO "Automatik Übersteuern" mit "Aus" beschrieben, sendet der PM auch seinen "Aus"-Dimmwert, selbst wenn der PM-Kanal zu der Zeit bereits aus war. Sprich, wechselt man z.B. von der Tages- auf die Nachtphase schaltet der PM nun das Licht auf dem Ausschaltwert für die Nachtphase ein (dann immerhin "nur" 1%) und dann eben über die Logik nach 10 Sekunden erst wieder aus.
Naheliegender Vorschlag vom Mittwoch:
Den Dimmausgang des PM über eine Tor-Logik führen, die über den Schaltausgang des PM gesteuert wird. Dann würde der Aus-Wert des PM nur noch gesendet, wenn er vorher auch eingeschaltet hatte. Außerdem muss das Tor bei Freigabe den letzten Wert des Eingangs senden, damit beim Einschalten nicht zuerst der Dimmwert kommt, dann die Torfreigabe und somit der Aktor den Dimmwert nicht erhält.
Problem:
Wenn man den Aktor am PM vorbei steuert (Szenen, Dimmen über Visu), würde der PM-Kanal zwar in seine Nachlaufzeit gehen um später theoretisch abzuschalten. Er würde aber nie das Tor freigeben, da der Schaltausgang des PM logischerweise dann auch kein "Ein" sendet.
Logische Konsequenz:
Grundsätzlich dieses Vorgehen mit dem Tor beibehalten, aber als Steuereingang nicht nur den Schaltausgang des PM nehmen, sondern vorher zusätzlich mit dem Aktorstatus ODER-verknüpfen.
Erstmal funktioniert das auch immer noch, automatisches Licht geht einwandfrei.
Problem:
Wenn man nun den Aktor am PM vorbei einschaltet, sendet dieser Aktorstatus=Ein, gibt damit das Tor frei und das Tor sendet folglich den letzten Wert seines Eingangs. Das ist dann aber immer 5%, weil der PM ja immer mit 5% abschaltet und das somit immer der letzte Wert des Tor-Eingangs ist.
Somit kann ich nun nicht mehr direkt den Aktor von 0% auf einen beliebigen Wert dimmen, da dies immer erstmal von der Tor-Logik überschrieben wird.
Und an dem Punkt hänge ich dann etwas.
Das einzige was ich gerade noch als Gedanken hatte:
Den Dimmausgang des PM minimal verzögern, bevor er an den Tor-Eingang geht. Somit kann ich garantieren, dass beim aktivieren des Ausgangs des PM immer erst der Schaltausgang an dem Steuereingang des Tores ankommt und somit der Dimmwert dann auch immer korrekt durchkommt. Dann bräuchte ich das Tor nicht so zu konfigurieren, dass es den letzten Eingangswert sendet, wenn das Tor freigegeben wird. Nachteil (neben der vierten Logik für einen einzelnen Dimmkanal
): Das Einschalten des Lichts wird damit pauschal um 0,1 Sekunde (minimale Einstellung in der Logik) verzögert. Das wäre daher für mich eher eine Notlösung als die elegante Variante.
Habt ihr da noch Ideen?
LG,
Chris
Konfig-Strings:
PM-Kanal:
Logik-Kanal Ausschaltverzögerung:
OR-Logik PM-Status/Aktorstatus:
Tor-Logik Dimmausgang:
hier mal eine PM/Logik-Kniffelei, insbesondere an die drei, mit denen ich am Mittwoch auf dem Stammtisch schonmal drüber gesprochen hatte ( mumpf , Amenophis , bambam ), aber freue mich natürlich auch über jeden andren Input

OpenKNX-Konfig-Strings am Ende, falls jemand das selbst probieren möchte

Ausgangssituation / Zieldefinition:
Ich habe einen VPM-Kanal und möchte hier eine zweistufige Abschaltung umsetzen, sprich der Dimmer ist z.B. 50% im aktiven Zustand, geht nach Nachlaufzeit erst auf 5% und dann nach 10 Sekunden erst auf 0%. Außerdem soll externes Steuern des Aktors, zum Beispiel über Szenen oder direktes Dimmen aus der Visu, weiterhin möglich sein.
Bisherige Umsetzung:
VPM-Kanal sendet als "Aus"-Wert auf dem Dimmausgang den Zwischenwert (5% im Beispiel), auf dem zweiten Ausgang (Schalten) ein "Aus".
Dazu dann ein Logikkanal, nur ein Eingang, verknüpft mit dem Schaltausgangs-KO des PM. Der Ausgang geht wiederum auf das Dimmausgangs-KO des PM. Dies Logik ist im Ausgang dann so konfiguriert, dass sie nur Werte für "Aus" durchlässt, dabei eine Ausschaltverzögerung von 10 Sekunden hat und eben dann die 0% als Wert setzt.
Ergebnis bis dahin:
Erstmal klappt das wie erwartet. Licht über PM an geht normal, Licht vom PM aus und es wird korrekt erst der geringere Dimmwert gesendet und danach dann von der Logik die 0%.
Problem:Wechselt die Tagesphase des PM oder wird das KO "Automatik Übersteuern" mit "Aus" beschrieben, sendet der PM auch seinen "Aus"-Dimmwert, selbst wenn der PM-Kanal zu der Zeit bereits aus war. Sprich, wechselt man z.B. von der Tages- auf die Nachtphase schaltet der PM nun das Licht auf dem Ausschaltwert für die Nachtphase ein (dann immerhin "nur" 1%) und dann eben über die Logik nach 10 Sekunden erst wieder aus.
Naheliegender Vorschlag vom Mittwoch:
Den Dimmausgang des PM über eine Tor-Logik führen, die über den Schaltausgang des PM gesteuert wird. Dann würde der Aus-Wert des PM nur noch gesendet, wenn er vorher auch eingeschaltet hatte. Außerdem muss das Tor bei Freigabe den letzten Wert des Eingangs senden, damit beim Einschalten nicht zuerst der Dimmwert kommt, dann die Torfreigabe und somit der Aktor den Dimmwert nicht erhält.
Problem:
Wenn man den Aktor am PM vorbei steuert (Szenen, Dimmen über Visu), würde der PM-Kanal zwar in seine Nachlaufzeit gehen um später theoretisch abzuschalten. Er würde aber nie das Tor freigeben, da der Schaltausgang des PM logischerweise dann auch kein "Ein" sendet.
Logische Konsequenz:
Grundsätzlich dieses Vorgehen mit dem Tor beibehalten, aber als Steuereingang nicht nur den Schaltausgang des PM nehmen, sondern vorher zusätzlich mit dem Aktorstatus ODER-verknüpfen.
Erstmal funktioniert das auch immer noch, automatisches Licht geht einwandfrei.
Problem:
Wenn man nun den Aktor am PM vorbei einschaltet, sendet dieser Aktorstatus=Ein, gibt damit das Tor frei und das Tor sendet folglich den letzten Wert seines Eingangs. Das ist dann aber immer 5%, weil der PM ja immer mit 5% abschaltet und das somit immer der letzte Wert des Tor-Eingangs ist.
Somit kann ich nun nicht mehr direkt den Aktor von 0% auf einen beliebigen Wert dimmen, da dies immer erstmal von der Tor-Logik überschrieben wird.
Und an dem Punkt hänge ich dann etwas.
Das einzige was ich gerade noch als Gedanken hatte:
Den Dimmausgang des PM minimal verzögern, bevor er an den Tor-Eingang geht. Somit kann ich garantieren, dass beim aktivieren des Ausgangs des PM immer erst der Schaltausgang an dem Steuereingang des Tores ankommt und somit der Dimmwert dann auch immer korrekt durchkommt. Dann bräuchte ich das Tor nicht so zu konfigurieren, dass es den letzten Eingangswert sendet, wenn das Tor freigegeben wird. Nachteil (neben der vierten Logik für einen einzelnen Dimmkanal

Habt ihr da noch Ideen?
LG,
Chris
Konfig-Strings:
PM-Kanal:
Code:
OpenKNX,cv1,0xA012:0x42/PM:0x36/3§p~Name=Hauptlicht§p~PresenceInputs=4§p~PhaseCount=2§p~Output1Type=4§p~Output2Type=1§p~ChannelActive=1§p~BrightnessIntern=1§p~MoveKeepAlive=1§p~Phase3Name=Putzen§p~Phase1Scene=20§p~Phase2Scene=21§p~Phase3Scene=1§p~Scene0=2§p~SceneAction0=16§p~IntPresence2=1§p~NumPresence2:2=133§p~EnableDayPhase=1§p~SignalPresence=1§p~ExternalSignalPresence=1§pA~PresenceDelayBase=0§pA~PresenceDelayTime=90§pA~BrightnessOn=35§pA~Output1OnDim=50§pA~Output1OffDim=5§pB~PresenceDelayBase=0§pB~PresenceDelayTime=60§pB~BrightnessOn=10§pB~Output1OnDim=6§pB~Output1OffDim=1§pC~PresenceDelayTime=3§pC~BrightnessOn=5000§;OpenKNX
Code:
OpenKNX,cv1,0xA012:0x42/LOG:0x35/3§f~Name=Ausschaltverz%C3%B6gerung%20Hauptlicht§f~Logic=2§f~E1=1§f~E1OtherKO:2=174§f~E1DefaultExt=2§f~E1UseOtherKO=1§f~NameOutput=(Intern%3A%20Ausschaltverz%C3%B6gerung)§f~ODelayOffBase=0§f~ODelayOffTime=10§f~ODelay=1§f~ODpt=3§f~OOn=0§f~OOnAll=0§f~OOffKOSend=1§f~OOffKOSendNumber=949§;OpenKNX
Code:
OpenKNX,cv1,0xA012:0x42/LOG:0x35/9§f~Name=HL%20Schalt%2FAktorstatus§f~Logic=2§f~NameInput1=Aktorstatus§f~E1=1§f~E1OtherKO:2=165§f~E1UseOtherKO=1§f~NameInput2=PM-Status§f~E2=1§f~E2OtherKO:2=174§f~E2UseOtherKO=1§f~NameOutput=(Intern%3A%20HL%20Schalt%2FAktorstatus)§f~ODelayOffTime=1§f~ODelay=1§f~OSendOnChange=1§;OpenKNX
Code:
OpenKNX,cv1,0xA012:0x42/LOG:0x35/10§f~Name=HL%20Ausgangstor§f~Logic=4§f~TriggerGateOpen=3§f~NameInput1=PM-Dimmwert§f~E1=1§f~E1Dpt=3§f~E1OtherKO:2=173§f~E1UseOtherKO=1§f~NameInput2=Tor-Eingang§f~E2=1§f~E2OtherKORel=-2§f~E2UseOtherKO=2§f~NameOutput=HL%20Dimmwert§f~ODpt=3§f~OOn=2§f~OOnAll=2§f~OOff=2§f~OOffAll=2§;OpenKNX
Kommentar