readingsgroup, dummy und umschlüsseln von Werten

Begonnen von willyk, 14 Januar 2016, 00:04:33

Vorheriges Thema - Nächstes Thema

willyk

Hallo,

seit Wochen versuche ich nun ein paar dummy-Variablen und eine readingsgroup zur Zusammenarbeit zu bewegen. Irgendwie gelingt mir das aber nicht so richtig, ich hab mich glaub ich völlig verrannt.

Hoffentlich erbarmt sich jemand und greift mir unter die Arme.  :-\

Die hier aufgeführten Beispiele habe ich stark reduziert, damit man sich auf die wesentlichen Punkte konzentrieren kann.

Ausgangssituation: in mehreren Dummys werden mit setreading Werte eingestellt, diese werden per notify aus Modbus-Registern übertragen - aber das ist eine andere Geschichte.

Die Dummys sollen dazu dienen, die Werte zwischenzuspeichern und - teilweise umgeschlüsselt - anzuzeigen.

Definiert habe ich folgendes:

define dummy_test1 dummy
attr dummy_test1 readingList monday tuesday
attr dummy_test1 room Test1
attr dummy_test1 setList monday:0,1,2,3 tuesday:0,1,2,3
define dummy_test2 dummy
attr dummy_test2 readingList HHS MMS HHE MME activ
attr dummy_test2 room Test1
attr dummy_test2 setList HHS:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23 MMS:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
define dummy_rg readingsGroup <>,<Start>,<>,<Mo>,<Di>\
dummy_.*:HHS,MMS,monday,tuesday
attr dummy_rg commands {'HHS'=>'HHS:','MMS'=>'MMS:','monday'=>'monday:',\
'tuesday'=>'tuesday:'}
attr dummy_rg room Test1
attr dummy_rg sortby 1
attr dummy_rg valueColumn {monday=>3}
attr dummy_rg valueFormat {if($READING eq "monday"||$READING eq "tuesday")\
{if ($VALUE eq "0") {return 'Ja'}\
elsif ($VALUE eq "1"){return 'Nein'}\
elsif ($VALUE eq "2"){return 'Z1'}\
elsif ($VALUE eq "3"){return 'Z2'}\
else {return '????'}\
}\
elsif($READING =~ 'HH') {return '%.02d'}\
elsif($READING =~ 'MM') {return '%.02d'}\
## else {return '%.2d'}\
}


Angehängt habe ich einen Screenshot der RG. Meine Fragen sind wie folgt:

Warum werden die Wochentage (monday / tuesday) nicht wie in valueformat angegeben umgeschlüsselt, also als "Ja" / "Nein" / "Z1" / "Z2" angezeigt? Ist das der richtige Weg, oder muss man das anders lösen?

Anmerkung: In einem zweiten Schritt sollen die Werte geändert werden können, deswegen braucht es das commands-Attribut.

Bin für Hilfe echt dankbar, quäle mich nun schon lange mit diesem Thema - aber irgendwie steh ich auf dem Schlauch.


Hier noch ein list der Dummys:

Internals:
   CFGFN
   NAME       dummy_test1
   NR         1272
   STATE      ???
   TYPE       dummy
   Readings:
     2016-01-13 23:48:58   monday          2
     2016-01-13 23:21:06   tuesday         2
Attributes:
   readingList monday tuesday
   room       Test1
   setList    monday:0,1,2,3 tuesday:0,1,2,3

Internals:
   CFGFN
   NAME       dummy_test2
   NR         1279
   STATE      ???
   TYPE       dummy
   Readings:
     2016-01-13 23:48:48   HHS             02
     2016-01-13 23:21:45   MMS             10
Attributes:
   readingList HHS MMS HHE MME activ
   room       Test1
   setList    HHS:00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23 MMS:00,01,02,03,04,05




Danke für eure Unterstützung und Gruss
willyk
NUC mit Ubuntu, MAX!Cube, CUNO, 6 MAX WT, 16 MAX HT, 2 MAX Fensterkontakt, MaxScanner