Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Existenz von conf key prüfen

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

    - √ - Existenz von conf key prüfen

    Moin,
    ich bekomme es nicht hin auf die Existenz von einem conf key eines items zu prüfen :-(
    Zitat von mknx Beitrag anzeigen
    Code:
    [meinitem]
       meinattribut = bla
    Das kann in einer Logik so ausgelesen werden:

    Code:
    sh.meinitem.conf['meinattribut']
    Mit sh.find_items(configattribute) kann man auch alle Items suchen, die ein spezielles Attribut gesetzt haben.
    Eine Logik fällt jedoch auf die Nase, wenn es den Key nicht gibt. Deshalb würde ich gerne vor den Zugriff prüfen, ob ein conf Key mit dem Namen existiert.
    item.conf.has_key('name') tut leider nicht.

    Gruß
    René

    #2
    Hier ist noch einmal das genaue Beispiel
    Code:
    source = sh.return_item(trigger['source'])
    if source.conf is None:
        funktion = 'none'
    else:
        funktionValue = source.conf['funktion']
    Und die Fehlermeldung
    Exception: 'funktion'
    Traceback (most recent call last):
    File "/usr/local/smarthome/lib/scheduler.py", line 327, in _task
    exec(obj.bytecode)
    File "/usr/local/smarthome/logics/rollo.conf", line 219, in <module>
    funktionValue = source.conf['funktion']

    Kommentar


      #3
      So geht es. Nicht schön, funktioniert aber erst einmal:
      Code:
      source = sh.return_item(trigger['source'])
      try:
          funktionValue = source.conf['funktion']
          funktion = str(funktionValue)
      except:
          funktion = 'none'

      Kommentar


        #4
        Hallo,

        dahinter steht ein normales Python Dictionary.
        Code:
        if 'key' in item.conf:
           bla
        Bis bald

        Marcus

        Kommentar


          #5
          Klappt
          Dank dir

          Kommentar

          Lädt...
          X