Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Frage zur Verarbeitung von trigger und str(item) in Logik

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

    - √ - Frage zur Verarbeitung von trigger und str(item) in Logik

    Hallo zusammen,
    nachdem meine ersten Logiken im Einzelnen ganz gut funktionieren wollte ich nun zur Vermeidung von Overhead Logiken intelligent zusammenfassen, scheitere aber irgendwie leider an meinem PY-KnowHow.

    Aufgabe:
    Verarbeitung von trigger['source'] in einer Logik und Auslesen des "name" aus der jeweiligen items.conf.

    Leider klappt das "Zusammensetzen" des Codes nicht. Sobald ich anstatt des trigger['source'] das Item direkt angebe klappt die Logik wie sie soll, allerdings würde das bei mir 200-300 hart codierte Logiken bedeuten.
    Geht das auch wieder mit einem 3-Zeiler?

    Hier der Code welcher nicht funktioniert:
    Code:
    triggeritem = trigger['source']
    textitem = 'sh.' + triggeritem
    if triggeritem:
        Text = str(triggeritem) + ' an'
    else:
        Text = str(triggeritem) + ' aus'
    sh.mail('xxxxxxx', 'Meldung ' , Text.encode('utf-8'))
    Wenn ich im Code triggeritem durch das Item hart codiere (bspw. sh.EG.XXX) klappt wie gesagt die Logik. Fehler kommen keine, es steht dann halt als "name" immer triggeritem und die Logik wird auch immer wahr.

    Könnte mir da jemand bitte auf die Sprünge helfen?
    Vielen Dank, sehe den Wald vor lauter Bäumen aktuell nicht!
    Cheers,
    Oliver

    #2
    Hi,

    ich bin zwar nicht der Python-Freak, aber ich glaube, das kann ich beantworten.

    Du verwechselst den Namen vom Item mit dem Item selbst. Ich habe mal versucht, Dein Coding anzupassen:
    Code:
    triggeritem = trigger['source']
    textitem = sh.return_item(triggeritem)
    if textitem():
        Text = triggeritem + ' an'
    else:
        Text = triggeritem + ' aus'
    sh.mail('xxxxxxx', 'Meldung ' , Text.encode('utf-8'))
    Im triggeritem steht der Name vom Item, textitem ist dann das item, dessen Name im triggeritem steht.

    Ich hoffe, das hilft Dir.

    Gruß, Waldemar
    OpenKNX www.openknx.de

    Kommentar


      #3
      Das war's

      Hi Waldemar,

      das wars! 1000 Dank für die schnelle Hilfe.


      Ich weiß nicht wie oft ich mir da schon die SH Doku angeschaut habe mit dem Befehl, aber da hat nix bei mir geklingelt...


      Cheers,
      Oliver

      Kommentar

      Lädt...
      X