Hi,
bin auf einen kleinen Bug gestoßen... Ich bekomme folgende Fehlermeldung:
Python scheint als Argument eine Liste zu erwarten, wenn ich max(5) mache, kommt genau die gleiche Fehlermeldung. Andererseits ist max(5) nun mal 5...
Das Problem entsteht bei mir, weil ich folgendes Konstrukt verwende:
Jetzt haben einige Räume mehrere Fenster, dann wird der eval folgendermaßen aufgebaut:
Hier läuft der max() durch. In Fällen, wo es nur ein Fenster gibt, gibt es den o.a. Fehler.
Ich wollte hiermit bitten, dass bei Gelegenheit in die Routine _init_prerun in lib.item folgendes ergänzt wird:
Dann klappt es auch mit einzelnen Werten. Wobei ich natürlich kein Python-Spezi bin und womöglich Fälle übersehe...
Gruß, Waldemar
bin auf einen kleinen Bug gestoßen... Ich bekomme folgende Fehlermeldung:
Item KG.Fenster: problem evaluating max(sh.KG.WK.Fenster.Nord()): 'int' object is not iterable
Das Problem entsteht bei mir, weil ich folgendes Konstrukt verwende:
Code:
eval: max eval_trigger: *.*.Fenster.*:einzelfenster
Code:
max(sh.EG.WZ.Fenster.Ost(), sh.EG.WZ.Fenster.Sued())
Ich wollte hiermit bitten, dass bei Gelegenheit in die Routine _init_prerun in lib.item folgendes ergänzt wird:
Code:
if self._eval: # Build eval statement from trigger items (joined by given function) items = ['sh.' + x.id() + '()' for x in _items] if self._eval == 'and': self._eval = ' and '.join(items) elif self._eval == 'or': self._eval = ' or '.join(items) elif self._eval == 'sum': self._eval = ' + '.join(items) elif self._eval == 'avg': self._eval = '({0})/{1}'.format(' + '.join(items), len(items)) elif self._eval == 'max': self._eval = 'max([COLOR=#FF0000][[/COLOR]{0}[COLOR=#FF0000]][/COLOR])'.format(','.join(items)) elif self._eval == 'min': self._eval = 'min([COLOR=#FF0000][[/COLOR]{0}[COLOR=#FF0000]][/COLOR])'.format(','.join(items))
Gruß, Waldemar
Kommentar