Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

Frage zu crontab in Verbindung mit eval

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

    Frage zu crontab in Verbindung mit eval

    Hallo zusammen.

    Ich hab im Kinderbad einen Bewegungsmelder. Morgen soll ab 6:30 Uhr der Rolladen hochgehen, wenn jemand das Bad betritt, spätestens aber um 9 Uhr. Die KO 9/0/4 steuert die Beschattung der Wetterstation. Ab 16 Uhr soll die Beschattung deaktiviert werden (mit Sonneruntergang geht dann der Rolladen runter).

    Das morgens funktioniert. Kann mir jemand sagen, warum 9/0/4 um 16 Uhr über die crontab-Zeile nicht auf 0 gesetzt wird? Liegt das an der Kombination in Verbindung mit eval?

    Code:
    [zeit]
        [[morgen_kinderbad]]
            type = bool
            knx_dpt = 1
            knx_send = 9/0/4
            crontab = 0 16 * * = 0 | 0 9 * *  = 1
            eval = True if sh.zeit.morgen_kinderbad.standby() == True and sh.og.kinderbad.bwm() == True else None
            eval_trigger = zeit.morgen_kinderbad.standby | og.kinderbad.bwm
            [[[standby]]]
                type = bool
                crontab = 30 6 * * = 1 | 0 16 * * = 0
    Danke und Gruß
    Markus

    #2
    Dein eval gibt ja immer True oder None zurück, auf False wird es nie gesetzt.
    Auch der crontab auf morgen_kinderbad löst nur das eval aus. Das Item kann mit diesem eval auf keinem mir bekannten Weg auf False gesetzt werden

    Kommentar


      #3
      Ah, okay, ich ging davon aus, dass das "none" wirklich nichts macht, und der crontab "gewinnt".

      Ich versuch es jetzt mal so:

      Code:
      [zeit]
          [[morgen_kinderbad]]
              type = bool
              visu_acl = ro
              knx_dpt = 1
              knx_listen = 9/0/4
              knx_send = 9/0/4
              eval = True if sh.zeit.morgen_kinderbad.standby() == True and sh.og.kinderbad.bwm() == True else None
              eval_trigger = zeit.morgen_kinderbad.standby | og.kinderbad.bwm
              [[[standby]]]
                  type = bool
                  crontab = 30 6 * * = 1 | 0 16 * * = 0
              [[[focre]]]
                  type = bool
                  knx_dpt = 1
                  knx_send = 9/0/4
                  crontab = 0 16 * * = 0 | 0 9 * *  = 1
      Gruß
      Markus

      Kommentar

      Lädt...
      X