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

- √ - Change Cycle Time Fehler

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

    - √ - Change Cycle Time Fehler

    Hallo,

    ich möchte gerne zur Laufzeit die Cycle Time einer Logik neu setzen wie folgt:

    Code:
    new_random_cycle = randrange(0,300)
    sh.scheduler.change('presence_simulation', cycle = new_random_cycle)
    Knallt leider mit folgender Meldung:

    Code:
    2014-12-27 17:18:33 ERROR    presence_simulation Logic: presence_simulation, File: /opt/smarthome/lib/scheduler.py, Line: 271, Method: _next_time, Exception: 'int' object has no attribute 'keys'
    Traceback (most recent call last):
      File "/opt/smarthome/lib/scheduler.py", line 327, in _task
        exec(obj.bytecode)
      File "/opt/smarthome/logics/presence_simulation.py", line 21, in <module>
        sh.scheduler.change('presence_simulation', cycle = 77)
      File "/opt/smarthome/lib/scheduler.py", line 255, in change
        self._next_time(name)
      File "/opt/smarthome/lib/scheduler.py", line 271, in _next_time
        cycle = list(job['cycle'].keys())[0]
    AttributeError: 'int' object has no attribute 'keys'
    Was mache ich falsch ?

    Danke für jeden Hinweis.
    sigpic
    Christian Huck
    Tel.: 089 / 122 80 995
    Email: mail@homeintelligence.de
    Web: www.homeintelligence.de

    #2
    schau mal hier, da gibt es ein Beispiel von Marcus:

    https://knx-user-forum.de/smarthome-...-auslesen.html

    Kommentar


      #3
      danke das hat geholfen.

      Jetzt sieht es so aus. Nicht besonders intuitiv - aber funktioniert:

      Code:
      new_random_cycle = randrange(0,300)
      sh.scheduler.change(name='presence_simulation', [B]cycle={new_random_cycle: None}[/B])
      logger.info('new cycle time was set to ' + str(new_random_cycle) + ' seconds')
      sigpic
      Christian Huck
      Tel.: 089 / 122 80 995
      Email: mail@homeintelligence.de
      Web: www.homeintelligence.de

      Kommentar


        #4
        denkst du nicht dass es so aussehen sollte?

        Code:
        sh.scheduler.change(name='presence_simulation', cycle={cycle: new_random_cycle})

        Kommentar


          #5
          so wie ich es geschrieben habe funktioniert es wie gewünscht.
          sigpic
          Christian Huck
          Tel.: 089 / 122 80 995
          Email: mail@homeintelligence.de
          Web: www.homeintelligence.de

          Kommentar

          Lädt...
          X