[PATCH] Fehlende Register bei alias devices

Begonnen von MarcelK, 30 Dezember 2015, 17:47:49

Vorheriges Thema - Nächstes Thema

MarcelK

Beim Refactoring für Alias-Devices in HMConfig.pm hatte sich ein kleiner Tippfehler eingeschlichen, so dass hier bei einigen Modellen ein paar Register gefehlt haben (z.B. powerUpAction beim HM-LC-Sw1-DR in meinem Fall). Fix ist entsprechend einfach:

diff HMConfig.pm~ HMConfig.pm
2000c2000
<         $culHmRegModel{$ds}       = $culHmRegModel{$ds} if ($culHmRegModel{$ds});
---
>         $culHmRegModel{$ds}       = $culHmRegModel{$md} if ($culHmRegModel{$md});

Besten Gruß, Marcel

MarcelK

Und wo wir bei Kleinigkeiten sind, das expert Attribut "2_full" wurde wohl irgendwann in "2_raw" umbenannt? Sollte man in 10_CUL_HM.pm noch nachziehen:


> diff 10_CUL_HM.pm~ 10_CUL_HM.pm
372c372
<         $attr{$name}{expert}     = AttrVal($name,"expert"     ,"2_full");
---
>         $attr{$name}{expert}     = AttrVal($name,"expert"     ,"2_raw");
9387c9387
<           2_full: display all parameter plus raw register information as well. <br>
---
>           2_raw: display all parameter plus raw register information as well. <br>
10662c10662
<           2_full: Alles. Zeigt alle Parameter sowie Registerinformationen im Rohformat. <br>
---
>           2_raw: Alles. Zeigt alle Parameter sowie Registerinformationen im Rohformat. <br>

martinp876


MarcelK

Danke Dir. Hab aber jetzt erst geblickt dass der Ersatz von "2_full" nicht "2_raw" sondern "3_all" ist, richtig? Sollte dann vielleicht auch der neue Default sein.

Gruß Marcel

martinp876

Ich habe es zu einer bitmaske umgebaut. 3 ist nicht all. Ausser bit 2 (also die 4) sind alle bits high active.
Default sollte templates only sein. Nur müssen mehr templates verbreitet werden. Warum:
Rohregister in hex sind expert level. Sehe ich mir sehr selten an.
Decoded Register sind advanced. Interessieren viele Bastler hier. Hat man aber ein setting für ein verhalten gefunden sollte man ein template erstellen.
User level sollten eigentlich nur templates sein. Auch der bastlerlevel post-implementation.

Warum templates?
Der einfache user muss die filter und statemachin nicht mehr verstehen
Jeder kann verhalten re-usen. Wenn du das verhalten deines Rollo, deines Schalter oder des Näherungsschalter definiert hast mache ein template und baue das in alle schalter ein, eines hin soll.
Templates kann man aendern und  über all auf einmal einbauen.
Templates kann man verwalten, prüfen, einspielen......
Man kann seine Installation gegen templates prüfen.
Man kann seine Programmierung durch Austausch des templates anderen zugänglich machen.

Default kann nur template sein. Ich denke user müssen die Idee und die Möglichkeiten erst erfassen.

MarcelK

Zitat von: martinp876 am 02 Januar 2016, 08:02:21
Ich habe es zu einer bitmaske umgebaut. 3 ist nicht all.

Alles klar, allerdings kommt der Name "3_all" von Dir ;)

ZitatAusser bit 2 (also die 4) sind alle bits high active.
Default sollte templates only sein. Nur müssen mehr templates verbreitet werden. Warum:
Rohregister in hex sind expert level. Sehe ich mir sehr selten an.
Decoded Register sind advanced. Interessieren viele Bastler hier. Hat man aber ein setting für ein verhalten gefunden sollte man ein template erstellen.
User level sollten eigentlich nur templates sein. Auch der bastlerlevel post-implementation.

Warum templates?
Der einfache user muss die filter und statemachin nicht mehr verstehen
Jeder kann verhalten re-usen. Wenn du das verhalten deines Rollo, deines Schalter oder des Näherungsschalter definiert hast mache ein template und baue das in alle schalter ein, eines hin soll.
Templates kann man aendern und  über all auf einmal einbauen.
Templates kann man verwalten, prüfen, einspielen......
Man kann seine Installation gegen templates prüfen.
Man kann seine Programmierung durch Austausch des templates anderen zugänglich machen.

Default kann nur template sein. Ich denke user müssen die Idee und die Möglichkeiten erst erfassen.

Templates sind bisher an mir vorbeigegangen da ich die Verwaltung größtenteils selbst in Perl implementiert habe. Aber soweit ich das sehe ist das eine sinnvolle Sache, werd ich eventuell auch bei mir versuchen.

LG, Marcel

martinp876

ZitatAlles klar, allerdings kommt der Name "3_all" von Dir
ok, ok. Ist ein alter Wert, als es nur default/all plus raw gegeben hat.

Werde es ändern auf
0_defReg,1_allReg,2_defReg+raw,3_allReg+raw,4_off,8_templ+default,12_templOnly,251_anything

Ich werde wohl als Anschub einmal ein paar Templates nach wiki einstellen. Ein Paar sind ja schon im Code vorgesehen.
Natürlich kann man es selbst bearbeiten - FHEM MUSS das aber auch leisten.
Anregungen zum templatehandling gerne....