Hallo,
ich habe Folgendes vor:
Über structure möchte ich n Rolladen-Dummies zusammenfassen und wie in der Commandref beschrieben "im laufenden Betrieb" (ohne Save) per addstruct / delstruct ein zusätzliches Device hinzufügen bzw. wieder entfernen.
Meine Definition:
define JalEgAll structure structJal JalEgGr2 JalEgGrHaus
Wobei JalEgGr.* Dummies sind.
Nach folgendem Befehl wird das Device JalEgGr3 zwar in der DEF hinzugefügt (siehe List unten), aber nicht mit gesteuert.
addstruct JalEgAll JalEgGr3
Genauso kann ich über delstruct das Device wieder aus DEF entfernen.
Wenn ich direkt die Definition editiere, wird anschließend auch das Device JalEgGr3 gesteuert.
Ebenfalls irritierend ist, dass ich ohne propagateAttr=^$ bei
addstruct JalEgAll JalEgGr3
folgende "Last unsaved structural changes" bekomme:
  attr JalEgGr2 structJal JalEgAll
  attr JalEgGrHaus structJal JalEgAll
Und bei
delstruct JalEgAll JalEgGr3
bekomme ich
  deleteAttr JalEgGr2 structJal
  deleteAttr JalEgGrHaus structJal
obwohl ich nur das Device JalEgGr3 hinzufüge oder entferne. Das hinzugefügte Device bekommt keine neuen, zusätzlichen Attribute.
List von JalEgAll
Internals:
   ATTR       structJal
   CFGFN      
   CHANGEDCNT 2
   DEF        structJal JalEgGr2 JalEgGrHaus 
   FUUID      5da165bc-f33f-1686-75f2-60accac3c3d5dec3
   NAME       JalEgAll
   NR         7000
   NTFY_ORDER 50-JalEgAll
   STATE      undefined
   TYPE       structure
   READINGS:
     2019-10-25 21:38:15   LastDevice      JalEgGrHaus
     2019-10-25 21:38:15   LastDevice_Abs  JalEgGrHaus
     2019-10-25 21:38:15   state           undefined
Attributes:
   async_delay 1
   clientstate_behavior absolute
   comment    EgAll
   group      ROLLO
   propagateAttr ^$
   room       03_Jalousien
   verbose    5
   webCmd     auf:ab
List von JalEgAll nach addstruct
Internals:
   ATTR       structJal
   CFGFN      
   CHANGEDCNT 2
   DEF        structJal JalEgGr2 JalEgGrHaus JalEgGr3
   FUUID      5da165bc-f33f-1686-75f2-60accac3c3d5dec3
   NAME       JalEgAll
   NR         7000
   NTFY_ORDER 50-JalEgAll
   STATE      undefined
   TYPE       structure
   READINGS:
     2019-10-25 21:38:15   LastDevice      JalEgGrHaus
     2019-10-25 21:38:15   LastDevice_Abs  JalEgGrHaus
     2019-10-25 21:38:15   state           undefined
Attributes:
   async_delay 1
   clientstate_behavior absolute
   comment    EgAll
   group      ROLLO
   propagateAttr ^$
   room       03_Jalousien
   verbose    5
   webCmd     auf:ab
Version von structure
98_structure.pm             20272 2019-09-29 08:33:23Z rudolfkoenig
Danke & Gruß
Stütti
			
			
			
				Danke fuer die Hinweise, ich meine die Probleme behoben zu haben, bitte testen.
			
			
			
				Danke, das hinzugefügte Device erhält nun ebenfalls die Set-Befehle.
Allerdings habe ich noch keine Möglichkeit gefunden, add/delstruct ohne Save zu verwenden. Oder ist das gar nicht so gedacht?
Ich habe weiter propagateAttr=^$ gesetzt, bekomme aber nach einem addstruct und anschließendem delstruct folgenden Hinweis:
Last unsaved structural changes:
  attr JalEgGr3 structJal JalEgAll
  addstruct JalEgAll JalEgGr3
  deleteAttr JalEgGr3 structJal
  delstruct JalEgAll JalEgGr3
			
			
			
				addstruct/delstruct ist korrekt, weil die Definition der Struktur sich geaendert hat.
attr/deleteattr auch, weil structure aus historischen Gruenden bei jedem Mitglied dieses Attribut setzt, unabhaengig von der eigentlichen attr Funktion, die wiederum propageteAttr beruecksichtigt.
			
			
			
				Okay, danke. Schade.
Gruß
Stütti