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

kurze Frage zum eval mit Bedingungen

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

    kurze Frage zum eval mit Bedingungen

    Hallo,
    bei diesem eval Aufruf kommt folgende Fehlerbeldung. Was mache ich falsch? Ich möchte den Zähler inkrementieren wenn a oder b wahr ist.

    Code:
    [bewaesserung]
        [[counter]]
            type = num
            sqlite = yes
            cache = yes
            enforce_updates = yes
            eval = sh.bewaesserung.counter() + 1 if (sh.bewaesserung.a() == True | sh.bewaesserung.b() == True)
            cycle = 60 = 1
    Code:
    2016-06-28 21:26:20 WARNING  bewaesserung.counter-eval Item bewaesserung.counter: problem evaluating ['sh.bewaesserung.counter() + 1 if (sh.bewaesserung.a() == True', 'sh.bewaesserung.b() == True)']: eval() arg 1 must be a string, bytes or code object
    Gruß

    Sprocky

    #2
    es fehlt das else, probiere mal:
    PHP-Code:
      sh.bewaesserung.counter() + if (sh.bewaesserung.a() == True sh.bewaesserung.b() == True) else None 

    Kommentar


      #3
      Hi,

      Du hast gleich 2 Fehler in einem : Es ist das Zeichen |.
      1. In python heißt oder ganz einfach or
      2. In sh.py bedeutet das Zeichen | einen Listen-Trenner, wodurch Du aus dem eval-Eintrag eine Liste gemacht hast, die der eval so nicht erwartet und deswegen nicht auswerten kann.
      Ersetze das | durch ein or und gut ist...

      Gruß, Waldemar
      OpenKNX www.openknx.de

      Kommentar


        #4
        Super Danke!

        Kommentar

        Lädt...
        X