Ankündigung

Einklappen
Keine Ankündigung bisher.

Dict als Attribut in Item möglich?

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

    Dict als Attribut in Item möglich?

    Hallo,

    ich möchte ein Item Attribut anlegen was wie folgt aufgebaut ist:

    Code:
    [item]
    solarstart_str = {datetime.time(10, 0): 1000, datetime.time(14, 0): 600, datetime.time(15, 0): 200}
    Ist das möglich? Aktuell bekomme ich kein Dict sondern einen String mit den Python befehlen. Gibt es eine elegantere Möglichkeit als diese mit einem exec im Plugin zu interpretieren?
    Code:
    exec('sh.item.solarstart = ' + sh.item.conf['solarstart_str'])
    LG
    Mode

    #2
    Hallo Daniel,

    dict funktioniert nicht.

    Ich würde es als Array spezifizieren und dann im Plugin parsen:

    Code:
    [item]
    solarstart = 10 = 100 | 14 = 600 | 15 = 200
    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,

      das gefällt mir ehrlichgesagt nicht ganz so gut.

      Ich habe mir nun einen generischen Attributparser geschrieben mit dem ich arbeite.

      Funktioniert wie folgt:
      item.conf
      Code:
      [item]
              parseme = solarstart | {datetime.time(10, 0): 1000, datetime.time(14, 0): 600, datetime.time(15, 0): 200}
      Element 0 in Array ist das zu erzeugende Attribut und Element 1 der Code der dem Attribut zugewiesen wird.

      logi_parser.conf
      Code:
      for item in sh.find_items('parseme'):
          parseme = item.conf['parseme']
          if len(parseme) == 2:
              command = 'sh.' + item.id() + '.conf[\'' + parseme[0] + '\'] = ' + parseme[1]
              logger.info("Parsing {}".format(command))
              exec(command)
      logic.conf
      Code:
      [Logi_Parser]
          filename = logi_parser.py
          crontab = init
      Ergebnis:
      Code:
      sh.item.conf['solarstart']
      {datetime.time(10, 0): 1000, datetime.time(15, 0): 200, datetime.time(14, 0): 600}
      Vielleicht hilft es ja noch dem ein oder anderen.

      LG

      Mode

      Kommentar

      Lädt...
      X