AttrList abhängig vom Internalwert

Begonnen von CoolTux, 02 Oktober 2015, 08:29:38

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,

Ich möchte gerne einen AttrList Befehl anbieten, welcher aber nur Sichtbar ist wenn die Instanz ein entsprechendes Internal besitzt


$hash->{AttrList} .= "expertMode:1 " if( $modules{AMAD}{defptrs}{BRIDGE} );


Sowas in der Art.
Nun musste ich feststellen das das in der Initialize untergebracht zwei Fehler hat. Der Kleinere ist das man bei der erst Definition das Modul noch mal laden muß da ja erst die Initialize Sub aufgerufen wird und dann erst die define Sub. Also ist die Instanz mit dem internal eh noch nicht vorhanden.
Das größere ist das es eh nicht geht  ;D  Das Attribut wird mir auch in Instanzen angezeigt welche nicht das Internal besitzen.

Jemand ne Idee?



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Instanzabhaengige Attributnamen sind nur ueber den Umweg von Instanz-userattr moeglich.
Alternative: set Befehl zum Aendern (ist Instanz-Spezifisch), und Reading zum Speichern.

CoolTux

Hallo Rudi,

Sowas hatte ich mir schon gedacgt. Hattest es vor ner Weile schon mal in einem anderen Thread erwähnt. Das mit dem Set und dem Reading ist mir dann auch auf Klo eingefallen (lach)

Ich weiß das hörst Du bestimmt nicht gerne, aber wäre nur ne theoretische Frage. Kann ich der Instanz nicht ein Attribut unterjubeln. Set befehl anbieten und dann hart als Attribut eintragen lassen


$attr{$name}{expertMode} = "1";


Oder geht das nur wenn die Modul AttrList das Attribut auch anbietet?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

rudolfkoenig

Unterjubeln kann man immer.
Welche Auswirkungen das im Frontend hat, weiss ich nicht genau, vmtl. wird es zu kleineren Problemen fuehren, da auf der Detail-Seite im <select> expertMode nicht vorhanden ist.

CoolTux

Ok. Vielen Dank für Deine Antworten. Ich werde mein Anliegen nun über ein set mit Reading lösen.


Grüße und ein schönes Wochenende gewünscht
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

justme1968

das gibt beim neu start eine warn meldung falls das 'untergejubelte' attribut mit gespeichert wurde.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig

Ist mir auch gerade eingefallen: beim Save wird das Attribut zwar gespeichert, aber beim Start gibt es eine Fehlermeldung, und das Attribut wird nicht wieder gesetzt.

Markus Bloch

Hallo zusammen,

Vorschlag:

Man gibt in der Modul-Initialize-Funktion ein weiteres Array an "optionalen Attributen" an. Diese kann man dann bei jeder Definition durch setzen eines bestimmten Wertes in $hash für den User in FHEMWEB freischalten.

Beim einlesen der Konfig werden diese Attribute generell von fhem.pl angenommen, da sie als "optionale Attribute" im Modul erlaubt sind.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

CoolTux

Ich finde ehrlich gesagt das lösen über set und Reading besser. Betateilchen hatte das mal ganz gut ausgedrückt das Attribute in User Hände gehören und nicht vom Entwickler beeinflusst werden sollten. Das gilt natürlich Modulweit nicht Instanzweit.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net