Set Dummy via $EVENT aus Reading des Dummys? Ich raff's gerade nicht ...

Begonnen von M_I_B, 26 Dezember 2017, 12:19:25

Vorheriges Thema - Nächstes Thema

M_I_B

Moin Kinnaz...

define test dummy
attr test group test
attr test readingList a b c d
attr test room Test
attr test setList a:selectnumbers,17.0,0.5,25.0,1,lin b:selectnumbers,17.0,0.5,25.0,1,lin c:selectnumbers,17.0,0.5,25.0,1,lin d:selectnumbers,17.0,0.5,25.0,1,lin
attr test webCmd a:b:c:d
attr test widgetOverride webCmd

define set_test DOIF ([test:a] or [test:b] or [test:c] or [test:d]) (set test $EVENT)
attr set_test do always


Tja... Tut nicht wie erwartet. In state steht dann das entsprechende Reading ebenso, also z.B. "a:17.5". Das ging doch irgendwie? Nur wie? Ich komme irgendwie nicht drauf  :o




Dann noch eine Nebenfrage:
der Schlunz mit der Bedingung lässt sich doch sicherlich auch anders notieren, oder? Bekomme ich gerade auch nicht hin... Ich dachte da so in Richtung "([test:[a-d]])", was nicht funktioniert...

... ([test:?]) funktioniert. Bin mir aber nicht sicher, ob das nicht eine Loop generiert, weil vielleicht test:state ebenfalls triggert?!?
Meine AHnung scheint sich zu bestätigen. Im EventMonitor tauchen die Events doppelt auf:
2017-12-26 12:26:26 DOIF set_test cmd_nr: 1
2017-12-26 12:26:26 DOIF set_test cmd: 1
2017-12-26 12:26:26 DOIF set_test cmd_event: test
2017-12-26 12:26:26 DOIF set_test cmd_1
2017-12-26 12:26:26 dummy test a: 24.0
2017-12-26 12:26:26 dummy test a: 24.0



Ellert


M_I_B

... öhhh, keine Ahnung ... Ist so aus einem Beispiel per Copy & Past geblieben; kann wohl wech ...

Ellert

Ich habe keine Probleme mit der Definition
defmod testxx dummy
attr testxx group test
attr testxx readingList a b c d
attr testxx room Test
attr testxx setList a:selectnumbers,17.0,0.5,25.0,1,lin b:selectnumbers,17.0,0.5,25.0,1,lin c:selectnumbers,17.0,0.5,25.0,1,lin d:selectnumbers,17.0,0.5,25.0,1,lin
attr testxx webCmd a:b:c:d

setstate testxx 2017-12-26 16:04:33 a 17.5
setstate testxx 2017-12-26 16:04:35 b 17.5
setstate testxx 2017-12-26 16:04:38 c 17.5
setstate testxx 2017-12-26 16:04:40 d 18.0


M_I_B

... die Definition des Dummy ist ja auch ok. Problem ist "mein" DOIF ...

Ich möchte bei einer Änderung eines Reading des Dummys (a-d) diesen Wert in den state des Dummi trackern. Das DOIF resp. $EVENT aber überträgt Reading und Value nach State, was natürlich nicht gewollt ist...

Ellert

Nimm statt or DOELSEIF und dann je Zweig set Dummy [Dummy:<x>]