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