Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik nur zwischen zwei Uhrzeiten zyklisch ausführen

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

    [Codebeispiel] Logik nur zwischen zwei Uhrzeiten zyklisch ausführen

    Hallo Zusammen,
    vielleicht weiß jemand wie ich das sinnvoll realisieren kann:

    Meine Logik wird zZt. alle 30 Sekunden ausgeführt um dort meine Gardena Smartsystem abzufragen.
    Eigentlich braucht diese Logik nicht während der Nacht ausgeführt werden (21:00-5:00).
    Ich könnte über das Python Script eigentlich via einer IF Abfrage die Uhrzeit bedingt abfragen, aber so würde die Logik trotzdem weiterhin ausgeführt werden.
    Gibt es evtl. eine andere Möglichkeit? Cron+Cycle?

    Besten Dank.

    Gruß
    Christian
    ------------------------------
    Mein Haus:
    136qm KfW70 Haus mit Hager-tebis-KNX und Hager domovea

    #2
    Ein simple Zeitsteuerung per crontab Attribut:
    Code:
    * 5-21 * * * ​​​​​​
    30 sekündliche Ausführung müsste ggf über ein sleep in der Logik gemacht werden, aber das hast du ja scheinbar schon.

    Kommentar


      #3
      Die 30 Sekunden Ausführung habe ich im Logikaufruf per "cycle" am laufen.
      Beides gleichzeitig (crontab und cycle) geht nicht, oder?
      Gruß
      Christian
      ------------------------------
      Mein Haus:
      136qm KfW70 Haus mit Hager-tebis-KNX und Hager domovea

      Kommentar


        #4
        Die crontab Idee ist sinnvoll. Alternativ kannst Du aber auch autotimer() nutzen. Den kannst Du jederzeit aktivieren oder deaktivieren. Also zu einem Zeitpunkt X setzen und zu einem Zeitpunkt y wieder löschen.

        Siehe Item Standard Attribut Autotimer und Funktionen eines Items.

        Kommentar


          #5
          Zitat von bmx Beitrag anzeigen
          Die crontab Idee ist sinnvoll. Alternativ kannst Du aber auch autotimer() nutzen. Den kannst Du jederzeit aktivieren oder deaktivieren. Also zu einem Zeitpunkt X setzen und zu einem Zeitpunkt y wieder löschen.

          Siehe Item Standard Attribut Autotimer und Funktionen eines Items.
          nun bin ich irgendwie verwirrt?!

          Meinte den Aufruf der Logik in logic.yaml:

          Code:
          gardena_status:
              visu_acl: 'yes'
              filename: gardena_status.py
              cycle: 30
          nun kommt der Tip via item?!


          gemeint war, ob das so ginge, crontab und cycle mischen:
          Code:
          gardena_status:
              visu_acl: 'yes'
              filename: gardena_status.py
             crontab: * 5-21 * * *
             cycle: 30
          Gruß
          Christian
          ------------------------------
          Mein Haus:
          136qm KfW70 Haus mit Hager-tebis-KNX und Hager domovea

          Kommentar


            #6
            Ich meinte ein Hilfskonstrukt bei der ein Item die Logik triggert.

            Das crontab und cycle müßtest Du mischen können aber dann hast Du trotzdem zusätzlich alle 30 Sekunden einen Trigger und noch die vom crontab dazu.

            Bau einfach wie oben schon geschrieben eine Zeitabfrage am Anfang der Logik ein und gut ist. Du kannst bei der Definition der Logik auch einen Parameter mitgeben den Du in der Logik dann abfragen kannst, dann mußt Du das nicht hardcoden sondern bist flexibel. Oder alternativ auch ein Item das Start und Ende beinhaltet.

            Kommentar


              #7
              ich habs erstmal über eine Zeitabfrage in der Logik gelöst. Werde mich mal später mit dem Hilfsitem beschäftigen.

              Danke nochmals...
              Gruß
              Christian
              ------------------------------
              Mein Haus:
              136qm KfW70 Haus mit Hager-tebis-KNX und Hager domovea

              Kommentar

              Lädt...
              X