Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem (Bug?) mit value in eval

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

    Problem (Bug?) mit value in eval

    Hallo,

    ich hatte im Chat schon dieses Problem angesprochen.
    Im eval bekommt "value" manchmal den Wert des Trigger-Items.
    Hier erstmal die Items:

    Code:
            WMZ_SOLAR_Kilowattstunden:
                type: num
                database: 'init'
                influx: true
                eval: sh..logic_value()+sh..ueberlauf_counter()*1000
                eval_trigger: .logic_value
    
                logic_value:
                    type: num
                    UVRstring: 'WMZ SOLAR Kilowattstunden (Zähler)'
                    database: 'init'
                    enforce_updates: True
                    influx: True
    
                ueberlauf_counter:
                    type: num
                    database: 'init'
                    eval: value if (sh...logic_value.prev_value() < sh...logic_value()) else value+1
                    eval_trigger: ..logic_value
    Das Problem kann so gut gezeigt werden:
    Code:
    from time import sleep
    sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value(1)
    sleep(2)
    sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.ueberlauf_counter(1)
    sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value(1)
    print("Ueberlauf Counter und logic value:")
    print(sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.ueberlauf_counter())
    print(sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value())
    sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value(2)
    sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value(1000)
    print("logic_value und previous:")
    print(sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value())
    print(sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.logic_value.prev_value())
    print("Ueberlauf Counter:")
    print(sh.Haustechnik.UVR.WMZ_SOLAR_Kilowattstunden.ueberlauf_counter())
    Das führt zu:
    Code:
    Ueberlauf Counter und logic value:
    2
    1
    logic_value und previous:
    1000
    2
    Ueberlauf Counter:
    1000
    Woran kann das liegen? Mache ich einen Fehler, oder ist es ein Bug?

    Gruß,
    Hendrik
Lädt...
X