Structure: Wishlist: Zusätzliche Attribute in ignore hash mit aufnehmen

Begonnen von KernSani, 18 April 2017, 22:59:23

Vorheriges Thema - Nächstes Thema

justme1968

'elegant' ist meiner meinung nach wenn der anwender es sehen kann. das ginge wenn fhem das attribut ein mal vor ausfüllt. das in jedem device zu machen ist aber blöd. ein globales attribut als default das dann pro device überschrieben werden kann wäre gut.

die frage ist ob der aufwand lohnt.

ja ich weiss attribute gehören dem anwender. das genau ein mal vor ausfüllen hilft dem anwender aber. er sieht was passiert.

ein globales attribut ist aber eigentlich unschön. es gibt schon zu viele. ideal wären modul spezifische attribute. d.h. für alle tnstanzen eines TYPE. die diskussion hatten wir aber schon mal :)

und wir haben ganz prinzipiell das problem das es keine leeren attribute gibt. die diskussion zwischen leer und nicht gesetzt hatten wir auch schon mal :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Schlimbo

Zitat von: rudolfkoenig am 09 Juli 2019, 23:04:25
Fuer "attr -propagate" (oder attr name -propagate) muesste ich fhem.pl anpassen, und z.Bsp. alles was mit - anfaengt per $hash weitergeben, wovon ich noch zurueckschrecke.
Auch ein "attr structName attrName attrVal -propagate" funktioniert nicht ohne eine Aenderung von fhem.pl (abgesehen von der komischen Syntax).

Ich habe deswegen propagateAttr eingebaut:
- Wert ist ein Regexp
- die Voreinstellung fuer featurelevel <= 5.9 ist .* (d.h. so wie bisher), danach ^$

Ganz gluecklich bin ich damit noch nicht, weil es weiterhin eine lange Liste von hartkodierten Ausnahmen gibt:
alias async_delay clientstate_behavior clientstate_priority devStateIcon disable disabledForIntervals group icon room setStateIndirectly stateFormat webCmd userattr

Hallo Rudolf,

Könntest du evtl. noch mal über die "hartkodierten Ausnahmen" nachdenken?
Hatte gerade die Situation, dass ich genau diese Attribute vererben wollt:
attr Alle_Rollos propagateAttr ^(genericDeviceType|homebridgeMapping|devStateIcon|stateFormat|webCmd)$
Hatte mich anfangs gewundert warum es nicht funktioniert, bis ich diesen alten Beitrag wieder gefunden habe.

Falls eine Änderung mit einem zu großen Aufwand verbunden ist, wäre zumindest ein Hinweiß über die Ausnahmen in der Commandref hilfreich.

Beste Grüße
Schlimbo


rudolfkoenig

Ich habe die hartkodierte Ignore-Liste fuer featurelevel > 5.9 entfernt.