Ankündigung

Einklappen
Keine Ankündigung bisher.

if syntaxproblem für Phythonkrüppel

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

    if syntaxproblem für Phythonkrüppel

    Hallo,

    da es wahrscheinlich so basic ist, finde ich keine Antwort dazu. Ich möchte das ein Item einem anderem Item, je nachdem, ob es Tag oder Nacht ist, einen Wert zuweist. Ich weiß aber nicht, wie ich das Syntaxmäßig richti g umsetze.
    Versucht habe ich:

    PHP-Code:
    [test]
            
    type num
            knx_dpt 
    1
            knx_send 
    0/0/47
            knx_listen 
    0/0/47
            
    eval = if sh.env.location.day() == 1sh.szene.TV() = 
    bzw.


    PHP-Code:
    [test]
            
    type num
            knx_dpt 
    1
            knx_send 
    0/0/47
            knx_listen 
    0/0/47
            
    eval = if sh.env.location.day() == 1sh.szene.TV(3
    bekomme ich aber bei beidem ein "invalid syntax" für die Wertzuweisung...

    #2
    habe es über Ausprobieren selbst herausgefunden, es geht anscheinend abweichend der Pythonsyntax so:
    "Answeisung" if "Bedingung" else (muss vorhanden sein) "Anweisung"

    in meinem Fall:
    [php]
    habe es über ausporbieren selber hinbekommen:
    PHP-Code:
    eval = sh.szene.TV(1) if sh.env.location.day() and value == else sh.szene.TV(3) if sh.env.location.day() and value == else sh.szene.TV(2) if sh.env.location.night() and value == else sh.szene.TV(4
    blöde Frage: Wo ist sowas dokumentiert?

    Kommentar


      #3
      Zitat von Marcov Beitrag anzeigen
      ...es geht anscheinend abweichend der Pythonsyntax so:
      "Answeisung" if "Bedingung" else "Anweisung"
      ...
      blöde Frage: Wo ist sowas dokumentiert?
      Hi,

      das nennt sich conditional expression und IST Python Syntax! Somit würde ich danach in der Python Doku suchen.

      Gruß, Waldemar

      P.S.: Deine "Anweisung" muss eingentlich "Ausdruck" heissen...
      OpenKNX www.openknx.de

      Kommentar


        #4
        Konkret also unter PEP308 und natürlich auch in der Dokumentation selbst.

        Spätestens wenn man etwas mehr mit Smarthome.py vorhat ist es ratsam zumindest den Beginners Guide / Tutorial gelesen zu haben

        mfg Stefan Betz

        Kommentar


          #5
          vielen Dank für die Infos - ist am 1. Versuch irgendetwas falsch, oder wird das so einfach in den Items nicht unterstützt?

          Kommentar


            #6
            Hi,

            klar ist am ersten Versuch was falsch: Du hast hinter eval eine Anweisung geschrieben. Du musst aber einen Ausdruck verwenden. Also irgendetwas, was ein Ergebnis liefert - schließlich muss das Item ja einen Wert zugewiesen bekommen.

            Gruß, Waldemar
            OpenKNX www.openknx.de

            Kommentar

            Lädt...
            X