Ankündigung

Einklappen
Keine Ankündigung bisher.

Attribute Checker

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

    Attribute Checker

    Hallo Msinn ,

    der Core aus dem aktuellen Develop wirft bei mir bei folgendem Item ein Warning:

    Code:
    werte:
    type: list
    init: []
    cache: True
    eval: (sh..() + [float(value) * sh.darksky.currently.temperature()])[-4:]
    crontab:
    - 0 7 * * = 1
    - 0 14 * * = 1
    - 0 22 * * = 2
    Code:
    WARNING  lib.item.item      Undefined attribute 'init' with value '[]' used by item xx.yy.werte (defined in test.yaml)
    Können wir das Initialisieren eines Dicts mittels [ ] zur Liste der gültigen Werte für das Attribut "init" hinzufügen?

    Beste Grüße

    #2
    Init ist kein Standart Attribut von SmarthomeNG. Die Warnung ist daher berechtigt. Es sei denn, init ist ein Attribut eines Plugins, aber dann muss das Plugin konfiguriert sein um das Attribut zu verarbeiten (und dann erscheint auch keine Warnung).

    was willst Du mit dem Attribut denn erreichen?

    Übrigens ein dict kann man nicht zur Liste initialiseren.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Ok, verstehe. Du hast recht, ist mir hier nie aufgfallen, dass init: hier fehl am Platz ist. Hier soll einfach eine leere Liste initialisiert werden.

      Wäre dann
      Code:
      value: []
      für eine leere Liste korrekt?

      Das schmeißt auch, wie es auch Sinn ergibt, kein Warning.

      Danke Dir, da hat sich Dein Attribute Checker für mich schon gelohnt und eine alte Leiche ans Tageslicht gebracht.
      VG
      Zuletzt geändert von aschwith; 24.07.2020, 19:06.

      Kommentar


        #4
        Um ein Item zu Initialisieren kannst Du value oder initial_value verwenden. initial_value ist identisch zu value, ist nur später als Synonym hinzugekommen um Verwechselungen mit value in eval Statements zu vermeiden. User hatten zum Teil ein Verständnisproblem, weil zwei unterschiedliche Sachen gleich benannt waren.

        List Items kannst Du mit
        Code:
        initial_value: []
        initialisieren.

        Dict Items kannst Du mit
        Code:
        initial_value: {}
        initialisieren.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Super, danke Dir. Ist für mich gelöst.

          Kommentar

          Lädt...
          X