scheint mir wegen des ":" im state schwierig, oder gibts da eine Lösung?
Switch Detect: on:on geht jedenfalls nicht ....
attr <device> eventMap /Switch Detect. on:on/
gruss
andre
Danke Andre,
was wär ich ohne Dich / ohne Euch / ohne das Forum ...
Ich verzweifle noch an FHEM/Pearl ... und wenn ich bedenke, dass ich mal Fortran, C und C++ unterrichtet habe, wirds mir ganz anders .... ;)
Grüße, Dieter
na dann muss es dir doch wie ein segen vorkommen nicht an feste spalten gebunden zu sein sondern alles auf 1000 arten hinschreiben zu können :)
die Spalten waren nicht das Problem, C++ hab ich beherrscht, FHEM/Pearl anscheinend nicht ... ;)
Zitat von: justme1968 am 09 Dezember 2013, 21:42:46
attr <device> eventMap /Switch Detect. on:on/
Andre, das setzt STATE um, (wie) kann man denn state umsetzen ?
Zitat von: grappa24 am 09 Dezember 2013, 22:20:02
die Spalten waren nicht das Problem, C++ hab ich beherrscht, FHEM/Pearl anscheinend nicht ... ;)
Das hat nicht zwingend mit Fhem/Pearl zu tun. Ein kurzer Blick in die commandref zum Thema "eventMap" hätte Dir gezeigt:
If the first character is slash(/) or komma(,) then split not by space but by this character, enabling to embed spaces.... und ein schönes Beispiel folgt auch noch.
Danke, jetzt hab ich die Syntax des eventMap verstanden ;)
Bräuchte nochmal Eure Hilfe, ich müsste den folgenden Ausdruck im Attribut clientstate_priority einer structure unterbringen:
on|on|Switch Detect: on off|off|Switch Detect: off
aber hier scheint das Escape Zeichen "/" für Blanks nicht zu funktionieren, es wird "Detect:" als Zustand für die struct genommen, also die ersten Zeichen nach dem Blank ...
Wenn die Syntaxbeschreibung für clientstate_priority in der commandref korrekt ist (und davon gehe ich einfach mal aus), dann gibt es hier nicht die Möglichkeit, den Schrägstrich (/) als Ersatz-Delimiter zu benutzen. Die Gruppen werden durch Leerzeichen voneinander getrennt und die Elemente innerhalb der Gruppe durch den senkrechten Strich ("Pipe", "|").
Habe gerade kurz 98_structure angeschaut. Ich denke, das
split(" ", $attr{$me}{clientstate_priority})
ist relativ eindeutig: es wird nach Leerstellen gesplittet. Ob das (leicht?) geändert werden kann, kann sicherlich Rudi am besten beantworten.
Gruß, Peter
Danke Peter, ich war halt so naiv und wollte meine neu gewonnenen Kenntnisse über Delimiter bei eventMap auf clientstate_priority übertragen ... ;)
Ich kann jetzt wenigstens mein Problem strukturiert beschreiben, ist ja auch was ;)
Ich möchte in einer structure mehrere Devices vom Typ HMS100-TFK zusammenfassen, die alle "Switch Detect: on" bzw. "Switch Detect: off" annehmen können. Die übergeordnete Struktur soll aber die Zustände "on" (wenn nur einer der Devices "Switch Detect: on" ist) oder "off" (wenn alle Devices "Switch Detect: off" sind) annehmen. Mit clientstate_priority bin ich hier sicher auf dem richtigen Weg.
Ich hatte zunächst versucht mit eventMap die einzelnen Devices auf on|off umzuschreiben, was sich aber nur auf STATE und nicht auf das Reading state auswirkt - und die übergeordnete structure wertet wohl die Readings aus ????? Irdgendwo ist noch ein Knoten drin ....
VG, Dieter