Ankündigung

Einklappen
Keine Ankündigung bisher.

Flag für Anwesenheit

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

    Flag für Anwesenheit

    Hallo EibPCler

    ich würde gerne folgendes machen:

    Anwesenheit= 0b01

    If event("BWM_Master-6/1/0") and ("BWM_Master-6/1/0"==EIN) then Anwesenheit=EIN endif
    if (delay(Anwesenheit,50000u64)) then Anwesenheit=AUS endif

    Das heißt:

    Mein Bewegungsmelder sammelt alle BWM ein und meldet unter 6/1/0 den Gesamtstatus alle 30 Sekunden. Dadurch wird bei "EIN" eine Variable (Anwesenheit) auf true gesetzt und sollte nach 50 Sekunden Delay wieder auf false gesetzt werden.
    Allerdings nur, wenn die GA 6/1/0 seither kein "EIN" mehr geschickt hat.

    Allerdings geht die Variable Anwesenheit immer nach 50 Sekunden auf "AUS".
    Kann es sein, dass die Validierung für GA`s und Variablen unterschiedlich gehandhabt wird. Und wenn ja, wie kann ich mein Problem lösen.

    Gruß Andreas

    #2
    Zitat von Little Bastard Beitrag anzeigen

    Anwesenheit= 0b01
    If event("BWM_Master-6/1/0") and ("BWM_Master-6/1/0"==EIN) then Anwesenheit=EIN endif
    if (delay(Anwesenheit,50000u64)) then Anwesenheit=AUS endif
    delay wird bei Deinem Beispiel getriggert, wenn Anwesenheit auf EIN wechselt. Das tut es nur einmal, bis es ausgeschalten wird.
    Um das Gewünschte zu erreichen müsstest Du coden:
    [highlight=epc]
    Anwesenheit= 0b01
    If event("BWM_Master-6/1/0") and ("BWM_Master-6/1/0"==EIN) then Anwesenheit=EIN endif
    if (delay(event("BWM_Master-6/1/0") and ("BWM_Master-6/1/0"==EIN),50000u64)) then Anwesenheit=AUS endif
    [/highlight]

    Ggf. kannst Du auch mit eventwrite arbeiten, wenn Du ausschließen willst, dass ein Lesetelegramm auf die GA "stört". In Deinem Beispiel wohl aber nicht
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar


      #3
      Hi Andreas,

      dein delay() wird nicht retriggert, wenn "Anwesenheit" nicht AUS war. Siehe Handbuch bei delay(). Du solltest also mit delay() nicht "Anwesenheit" sondern auf ein event() von "BWM_Master-6/1/0" prüfen.

      So etwa (Nicht getestet):

      [highlight=epc]
      If event("BWM_Master-6/1/0") and ("BWM_Master-6/1/0"==EIN) then Anwesenheit=EIN endif
      if (delay(event("BWM_Master-6/1/0"),50000u64)) then Anwesenheit=AUS endif
      [/highlight]
      Gruß
      Christian

      Kommentar


        #4
        War mal wieder zu lahm für das Forum...
        Gruß
        Christian

        Kommentar


          #5
          Danke

          Sooo

          Ich hatte heute endlich Zeit das ganze auszuprobieren.
          Und was soll ich sagen: es funktioniert.

          Danke für die Hilfe, ich hoffe ich werde der Logik der Kiste schon noch bei kommen.

          Gruß Andreas

          Kommentar


            #6
            @energetus

            das wäre doch eine nette Ergänzung für die EnertexLicht.lib (*freu)
            Gruß Jukom

            Kommentar


              #7
              Zitat von Jukom Beitrag anzeigen
              @energetus
              das wäre doch eine nette Ergänzung für die EnertexLicht.lib (*freu)
              Am besten an die Steffi adressieren .
              offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
              Enertex Produkte kaufen

              Kommentar

              Lädt...
              X