Ankündigung

Einklappen
Keine Ankündigung bisher.

Verständnisfrage items.conf

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

    Verständnisfrage items.conf

    Hallo,

    mal wieder eine (wahrscheinlich dumme) Anfängerfrage, bei der ich trotz Doku und Plugins-wälzen nicht weiterkomme.

    Ich habe u.a. folgende Items für eine Visualisierung von Anlagenfehlern:

    Code:
    [...]
         [[device_error]]
            name = Aus der KWL ausgelesener Fehlercode
            type = num
            helios_var = device_error
            visu_acl = ro
        
            [[[error_0]]]
                name = Kein Fehler
                type = str
                value = "Kein Fehler:Kein Fehlertext:Keine Fehlerbehebung"
            
            [[[error_1]]]
                name = Nicht Dokumentiert 1
                type = str
                value = "Undocumented error:Kein Fehlertext:Keine Fehlerbehebung"
                
            [[[error_2]]]
                name = Nicht Dokumentiert 2
                type = str
                value = "Undocumented error:Kein Fehlertext.:Keine Fehlerbehebung."
            
            [[[error_3]]]
                name = Nicht Dokumentiert 3
                type = str
                value = "Undocumented error:Kein Fehlertext.:Keine Fehlerbehebung."    
            
            [[[error_4]]]
                name = Nicht Dokumentiert 4
                type = str
                value = "Undocumented error:Kein Fehlertext.:Keine Fehlerbehebung."
    
             [[[error_5]]]
                name = Fehler Zuluftsensor
                type = str
                value = "Fehler Zuluftsensor:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerät ausschalten (Stecker ziehen), kurz warten und wieder einstecken"
                
            [[[error_6]]]
                name = CO2-Alarm
                type = str
                value = "Feueralarm!!!:CO2-Wert >5000 ppm seit mhr als 3 Minuten:CO2-Ursache ermitteln oder ggf. Sensor überprüfen lassen."        
    
             [[[error_7]]]
                name = Fehler Außenluftsensor
                type = str
                value = "Fehler Außenluftsensor:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerät ausschalten (Stecker ziehen), kurz warten und wieder einstecken"
    
             [[[error_8]]]
                name = Fehler Abluftsensor
                type = str
                value = "Fehler Abluftsensor:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerät ausschalten (Stecker ziehen), kurz warten und wieder einstecken"        
    
             [[[error_9]]]
                name = Frostwarnung Wärmetauscher
                type = str
                value = "Frostwarnung Wärmetauscher:Außenluft <0°C und Zuluft <8°C - Frostgefahr Wasserheizregister:Der Alarm verschwindet automatisch bei normalisierten Temperaturen"
    
             [[[error_10]]]
                name = Fehler Fortluftsensor
                type = str
                value = "Fehler Fortluftsensor:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerät ausschalten (Stecker ziehen), kurz warten und wieder einstecken"
    [...]
    Das ganze funktioniert wie beabsichtigt. Aus Gründen der Übersichtlichkeit (und um die Anzahl der Items nicht unnötig aufzublähen, und um die Konfigurationsmöglichkeiten des Plugins nicht über viele Dateien zu verteilen) würde ich jetzt gern die Sache wie folgt umstellen:

    Code:
         [[device_error]]
            name = Aus der KWL ausgelesener Fehlercode
            type = num
            helios_var = device_error
            visu_acl = ro
            e0 = "Kein Fehler:Kein Fehlertext:Keine Fehlerbehebung"
            e1 = "Undocumented error:Kein Fehlertext:Keine Fehlerbehebung"
            [...]
            e10 = "Fehler Fortluftsensor:Fühler lose, Kurzschluss oder Temperatur >90°C gemessen:Gerät ausschalten (Stecker ziehen), kurz warten und wieder einstecken"
    Das funktioniert ebenfalls, solange ich e0...e10 über eine Logik auslese.

    Das Problem:

    Ich würde gern innerhalb der items.conf über eval auf die Fehlertexte zugreifen, also z.B.

    Code:
            [[[current_error_description]]]
                name = Text für aktuellen Fehler
                type = str    
                [COLOR="Red"]eval = sh.ventilation.device_error()['e0'][/COLOR] # hier noch Fehlernummer statt des statische 'e0' einsetzen
                eval_trigger = ventilation.device_error
    Wie schon geschrieben - aus einer Logik kein Problem, aber ich bekomme es einfach nicht hin, innerhalb der items.conf auf sh.ventilation.device_error()['e0'] zuzugreifen. Geht das überhaupt?

    Danke für hilfreichen Input,

    /tom

    #2
    Hallo,

    probiere mal

    Code:
    eval = sh.ventilation.device_error.config['e0']
    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,

      danke - funktioniert leider auch nicht. Es erscheint ein alter Bekannter, den ich beim Basteln am WE nur allzu oft gesehen habe:

      Code:
       Item ventilation.device_error.current_error: problem evaluating sh.ventilation.device_error.config['e0']: 'Item' object has no attribute 'config'
      /tom

      Kommentar


        #4
        sorry.

        lautet:

        Code:
        eval = sh.ventilation.device_error.conf['e0']
        Bis bald

        Marcus

        Kommentar


          #5
          Dankeschööön, damit tut's - locker mal 50 Zeilen Code gespart.

          Baue noch eine Behandlung für unbekannte Fehler in das eval ein, dann poste ich mal den kompletten Code - ein verallgemeinertes Fehlerbehandlungsitem dürfte wohl für viele Plugins von Interesse sein ...

          /tom

          Kommentar

          Lädt...
          X