Hi!
In einem Plugin greife ich auf die "watch_item" Ausdrücke zu um über alle Items zu iterieren und bestimmte Items in eine eigene "List zu packen":
Nun habe ich unerwarteter Weise bei "+=" ein anderes Verhalten als bei "append": Bei "+=" werden der Liste alle "Children" des Items hinzugefügt! Bei "append" wird nur das durch "return_parent" (und auch ausgegebene Item!) hinzugefügt ( = erwartetes Verhalten).
Steh ich auf dem Schlauch oder wurde das "+=" irgendwie unschön überladen?
Grüße
Robert
In einem Plugin greife ich auf die "watch_item" Ausdrücke zu um über alle Items zu iterieren und bestimmte Items in eine eigene "List zu packen":
Code:
logic.dim_items = []
for item_expression in logic.watch_item:
for item in sh.match_items(item_expression):
# EAFP - just try to access 'nacht_helligkeitswert'
try:
dim_item = item.return_parent()
logger.info('{}: dim_item = {} with dim-value = {}'.format(logic.name, dim_item, item.conf['nacht_helligkeitswert']))
#logic.dim_items += dim_item #fügt auch alle Children hinzu!?
logic.dim_items.append(dim_item)
except:
pass
Steh ich auf dem Schlauch oder wurde das "+=" irgendwie unschön überladen?
Grüße
Robert


Kommentar