Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Logik: Übergabe von Werten zwischen Items

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

    - √ - Logik: Übergabe von Werten zwischen Items

    Hallo,

    ich brauche kurz Eure Hilfe bei einer Logik!
    Ich möchte einem Item in Abhänigkeit von einem Schalter einen festen Wert oder den Wert eines anderen Items zuweisen.

    Im Detail: Wenn das Item rtr.wohnen.automatik auf 1 steht, soll für das item rtr.wohnen.stellgr_logic der Wert des items rtr.wohnen_stellgr verwendet werden; steht der Wert auf 0 soll dem item der Wert 30 zugewiesen werden.

    Mein Code der Logik:

    Code:
    # FBH Umschaltung zwischen Regelung und Festwert
    
    if sh.rtr.wohnen.automatik() == 1:
        sh.rtr.wohnen.stellgr_logic = rtr.wohnen.stellgr
        logger.info("RTR auf Automatik")
    else:
        sh.rtr.wohnen.stellgr_logic(30)
        logger.info("RTR auf Festwert")
    Die Übergage von einem Item zum Anderen funktioniert nicht. Was mache ich falsch?

    Danke für Eure Hilfe.

    -Michael

    #2
    Bin zwar auch noch Python-Anfänger, aber ich tippe mal auf
    Code:
     
     [FONT=Courier New]if ...[/FONT]
     [URL="http://redaktion.knx-user-forum.de/lexikon/sh/"][FONT=Courier New]sh[/FONT][/URL][FONT=Courier New].[/FONT][URL="http://redaktion.knx-user-forum.de/lexikon/rtr/"][FONT=Courier New]rtr[/FONT][/URL][FONT=Courier New].wohnen.stellgr_logic[COLOR=red]()[/COLOR] = [COLOR=red]sh.[/COLOR][/FONT][URL="http://redaktion.knx-user-forum.de/lexikon/rtr/"][FONT=Courier New]rtr[/FONT][/URL][FONT=Courier New].wohnen.stellgr[COLOR=red]()[/COLOR]
    [/FONT]
    Sollte wohl auch als sh.rtr.wohnen.stellgr_logic(sh.rtr.wohnen.stellgr()) gehen.
    Das ==1 müsstest Du auch weglassen können ...

    /tom

    Kommentar


      #3
      Danke.

      So funkionierts:
      Code:
      if sh.rtr.wohnen.automatik() == 1:
          sh.rtr.wohnen.stellgr_logic(sh.rtr.wohnen.stellgr())

      Kommentar


        #4
        Eigentlich wird doch der wert ohne klammern gelesen, oder? Bist du sicher das es so funktioniert?

        Gruß René

        Kommentar


          #5
          Lesen eines Wertes:
          X=sh.rtr.wohnen.stellgr_logic()

          Zuweisen eines Wertes:

          sh.rtr.wohnen.stellgr(150) # zuweisen der Zahl 150

          X = 99
          sh.rtr.wohnen.stellgr(X) # zuweisen Inhalt der Variable X

          sh.rtr.wohnen.stellgr(sh.rtr.wohnen.stellgr_logic( )) # zuweisen Inhalt eines Items


          ohne Klammern braucht man den Namen des Items z.B. zum Triggern
          eval_trigger = rtr.wohnen.stellgr

          Gruß Ivan

          Kommentar

          Lädt...
          X