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