Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - PM schaltet nicht immer ein

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

    - √ - PM schaltet nicht immer ein

    EDIT: Eigentlich sollte das ins allgemeine Forum... Könnte das bitte jemand verschieben? Der EibPC taucht eigentlich nur am Rande auf.



    Hallo,

    ich habe in der Küche einen BEG PD2 im Einsatz und durch gelegentliche Aussetzer droht die Akzeptanz abzustürzen ("ich steh schon wieder im Dunkeln!"). Mir ist nicht klar, ob das an meiner Konstruktion oder an einem der beteiligten Geräte liegt. Es passiert nicht oft, aber wenn, dann hilft es durchaus auch mal nicht, nach 10 Minuten noch mal zu probieren. Teilweise steht man wirklich im stockdunklen, an den Helligkeitswerten kann es eigentlich nicht liegen.

    Ich habe ihn nicht im normalen Dimm-Betrieb, weil die Applikation zwar ziemlich viel kann aber nicht 100%ig das hergibt, was ich gerne hätte:
    1) Szenentyp 1: Licht in der Küche ist aus, bei Bewegung leicht angedimmt
    2) Szenentyp 2: Licht in der Küche ist dauerhaft an bzgl Helligkeit ist konstant
    3) Szenentyp 3: Licht ist angedimmt und dimmt bei Bewegung hoch
    4) Wenn ich manuell über die Visu einen anderen Dimm-Wert einstelle, soll bei Bewegung hochgedimmt werden, nach Ablauf der Nachlaufzeit soll der manuelle Wert wieder hergestellt werden. Rücksetzen dieses Verhaltens, sobald eine andere Szene gewählt wird.

    Ich denke das kriegt man in der Form nur mit Logik hin, dazu habe ich den EibPC herangezogen. Präsenz mache ich über einen HKL-Ausgang des PD2, je nach Szene (ent)sperrt der EibPC dann den Lichtausgang des PD2. Der Lichtausgang steht auf "Permanentdimmer" und hat zwei verschiedene Soll-Werte, die in Abhängigkeit von Szene und Präsenz gewechselt werden.

    Der Vollständigkeit halber hier noch der EibPC-Code, wobei ich davon ausgehe, dass er korrekt ist. Vielleicht kann ja jemand noch etwas für sich davon mitnehmen.

    Code:
    EINGANG_SCENE_LOW = 1u08;
    EINGANG_SCENE_EAT = 2u08;
    EINGANG_SCENE_COOK = 3u08;
    EINGANG_SCENE_OFF = 4u08;
    
    KITCHEN_STATE = "EG - Eingang - EibPC Notification-5/1/83";
    KITCHEN_PRESENCE = "Präsenz Küche EG-5/3/3";
    
    KITCHEN_DIMM_VALUE_BASE_ZEILE = 0%;
    KITCHEN_DIMM_VALUE_BASE_INSEL = 0%;
    if (event("EG - Eingang - EibPC Notification-5/1/83")) then {
        KITCHEN_DIMM_VALUE_BASE_ZEILE = 0%;
        KITCHEN_DIMM_VALUE_BASE_INSEL = 0%
    } endif
    
    // First: Scene Changes
    
    if (KITCHEN_STATE == EINGANG_SCENE_LOW OR KITCHEN_STATE == EINGANG_SCENE_OFF OR KITCHEN_STATE == EINGANG_SCENE_COOK) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", AUS)
    } endif
    if (KITCHEN_STATE == EINGANG_SCENE_EAT && KITCHEN_PRESENCE && !change(KITCHEN_PRESENCE)) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", AUS)
    } endif
    if (KITCHEN_STATE == EINGANG_SCENE_EAT && !KITCHEN_PRESENCE && !change(KITCHEN_PRESENCE)) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", EIN)
    } endif
    
    // Second: Presence Changes
    
    if (KITCHEN_PRESENCE && change(KITCHEN_PRESENCE) && (KITCHEN_STATE == EINGANG_SCENE_OFF OR KITCHEN_STATE == EINGANG_SCENE_LOW)) then {
        write ("Küche - Zeile - PM Sperren-1/0/57", AUS);
    } endif
    if (!KITCHEN_PRESENCE && change(KITCHEN_PRESENCE) && (KITCHEN_STATE == EINGANG_SCENE_OFF OR KITCHEN_STATE == EINGANG_SCENE_LOW)) then {
        write ("Küche - Zeile - PM Sperren-1/0/57", EIN);
        write ("Küche - Insel - Spots Dimmwert-1/0/41", KITCHEN_DIMM_VALUE_BASE_INSEL);
        write ("Küche - Zeile - Spots Dimmwert-1/0/43", KITCHEN_DIMM_VALUE_BASE_ZEILE)
    } endif
    
    if (KITCHEN_PRESENCE && change(KITCHEN_PRESENCE) && KITCHEN_STATE == EINGANG_SCENE_EAT) then {
        write ("Küche - Zeile - PM Sperren-1/0/57", AUS);
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", AUS)
    } endif
    if (!KITCHEN_PRESENCE && change(KITCHEN_PRESENCE) && KITCHEN_STATE == EINGANG_SCENE_EAT && KITCHEN_DIMM_VALUE_BASE_INSEL > 0%) then {
        write ("Küche - Zeile - PM Sperren-1/0/57", EIN);
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", EIN);
        write ("Küche - Insel - Spots Dimmwert-1/0/41", KITCHEN_DIMM_VALUE_BASE_INSEL);
        write ("Küche - Zeile - Spots Dimmwert-1/0/43", KITCHEN_DIMM_VALUE_BASE_ZEILE)
    } endif
    if (!KITCHEN_PRESENCE && change(KITCHEN_PRESENCE) && KITCHEN_STATE == EINGANG_SCENE_EAT && KITCHEN_DIMM_VALUE_BASE_INSEL == 0%) then {
        write ("Küche - Zeile - PM Sperren-1/0/57", AUS);
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", EIN)
    } endif

    #2
    Zitat von greenh0rn Beitrag anzeigen
    EDIT: Eigentlich sollte das ins allgemeine Forum... Könnte das bitte jemand verschieben? Der EibPC taucht eigentlich nur am Rande auf.
    Ich hab's probiert, dabei habe ich aber nur versehentlich den gelöst-Haken gesetzt. Da muss jemand anderes ran, sorry.
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Ich habe festgestellt, dass es besser funktioniert, wenn ich nicht sperre, sondern stattdessen die Option "Zusätzlicher Festwert" mit einem Festwert von "0%" verwende. Ansonsten bleibt die Logik unverändert.

      Kommentar


        #4
        Moin,

        nur mal ein paar Kleinigkeiten. Ich habe Deinen Code nicht bis ins einzelne aufgedröselt:

        [highlight=epc]
        if (event("EG - Eingang - EibPC Notification-5/1/83")) then {
        KITCHEN_DIMM_VALUE_BASE_ZEILE = 0%;
        KITCHEN_DIMM_VALUE_BASE_INSEL = 0%
        } endif
        [/highlight]
        Das wir hier bei jedem Event ausgelöst. Sowohl wenn Deine Notifikation auf EIN geht, als auch auf AUS.

        Da Du die Dimmwerte ebenfalls auf 0 setzt könnte hier ein Ansatzpunkt sein.

        [highlight=epc]
        // First: Scene Changes

        if (KITCHEN_STATE == EINGANG_SCENE_LOW OR KITCHEN_STATE == EINGANG_SCENE_OFF OR KITCHEN_STATE == EINGANG_SCENE_COOK) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", AUS)
        } endif
        if (KITCHEN_STATE == EINGANG_SCENE_EAT && KITCHEN_PRESENCE && !change(KITCHEN_PRESENCE)) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", AUS)
        } endif
        if (KITCHEN_STATE == EINGANG_SCENE_EAT && !KITCHEN_PRESENCE && !change(KITCHEN_PRESENCE)) then {
        write ("Küche - Zeile - Spots Wechsel Dimmwert Low-1/0/56", EIN)
        } endif
        [/highlight]

        Das jemand !change() benutzt, habe ich bisher noch nicht gesehen...

        [highlight=epc]
        // Second: Presence Changes

        if change(KITCHEN_PRESENCE) then { ...
        }
        [/highlight]
        IMHO macht es Sinn die change() Geschichte herauszulösen und in eine äußere If .. then zu bringen.

        Gruß,
        Bernd

        Kommentar


          #5
          Zitat von bmx Beitrag anzeigen
          Moin,
          ...
          Das wir hier bei jedem Event ausgelöst. Sowohl wenn Deine Notifikation auf EIN geht, als auch auf AUS.
          ...
          Diese GA ist nur die Benachrichtung von einem Gira-Taster an den EibPC, der die Szene mitteilt. Die Idee hinter der zitierten Zeile ist, dass beim Einstellen einer Szene eventuell per Visu gesetzte Dimm-Werte wieder auf die Standard-Werte gesetzt werden.

          Zitat von bmx Beitrag anzeigen
          Da Du die Dimmwerte ebenfalls auf 0 setzt könnte hier ein Ansatzpunkt sein.
          Das sind ja nur meine internen Werte, die mir den Status-Quo für den gewünschten "Aus"-Dimmwert abspeichern.

          Zitat von bmx Beitrag anzeigen
          IMHO macht es Sinn die change() Geschichte herauszulösen und in eine äußere If .. then zu bringen.
          Das habe ich nicht hingekriegt. Verschachtelte If-Anweisungen sind mit dem eibPC für meine Begriffe eher unhandlich, davon wird im Handbuch wenigstens für Anfänger auch abgeraten. Das ist doch aber auch nur Code-Kosmetik, oder? Nicht dass ich da nicht offen für wäre, ich habe es nur nicht geschafft!

          Davon abgesehen funktioniert es mittlerweile genau dann, wenn ich den PM-Kanal nicht sperre sondern die Applikationsfunktion "Wechsel auf Konstantwert" mit Wert "0%" verwende.

          Kommentar


            #6
            Hallo Greenhorn,

            wenn alles funktioniert, dann setze doch einfach den Haken als gelöst...

            Gruß,
            Bernd

            Kommentar


              #7
              Hallo Bernd,

              da hast Du Recht. Der EibPC-Teil ist jedenfalls klar. Danke noch für Deine Anmerkungen.

              Gruß
              ein greenhorn

              Kommentar

              Lädt...
              X