Hallo,
ich will mir eine Push-Nachricht mit berechnetem und formatiertem Reading basteln.define push_Test DOIF ([du_Test] eq "off") (set PushMsg msg 'Info' 'Gerät aus. Laufzeit: {(printf("%d",[LaufzeitTest:pulseTimeEdge]/60))} min')
Solange ich ohne Formatierung arbeite, funktioniert alles. Mit 'printf' bekomme ich bei ausgelöstem Event als error 'no right bracket' angegeben. Wo fehlt eines bzw. ist es an der falschen Stelle?
odie13690
Versuche mal, die Anführungszeichen zu escapen. Also:
define push_Test DOIF ([du_Test] eq "off") (set PushMsg msg 'Info' 'Gerät aus. Laufzeit: {(printf(\"%d\",[LaufzeitTest:pulseTimeEdge]/60))} min')
Hilft nicht. Leider :-\ Fehler lautet aber auch 'No Right Bracket'
Ich wüsste nicht, wo eine fehlt ???
odie13690
Zitat von: odie13690 am 09 September 2015, 15:14:30
Hallo,
ich will mir eine Push-Nachricht mit berechnetem und formatiertem Reading basteln.define push_Test DOIF ([du_Test] eq "off") (set PushMsg msg 'Info' 'Gerät aus. Laufzeit: {(printf("%d",[LaufzeitTest:pulseTimeEdge]/60))} min')
Solange ich ohne Formatierung arbeite, funktioniert alles. Mit 'printf' bekomme ich bei ausgelöstem Event als error 'no right bracket' angegeben. Wo fehlt eines bzw. ist es an der falschen Stelle?
odie13690
Du hast ein Komma im FHEM-Befehl, daher:
define push_Test DOIF ([du_Test] eq "off") ((set PushMsg msg 'Info' 'Gerät aus. Laufzeit: {(printf("%d",[LaufzeitTest:pulseTimeEdge]/60))} min'))
Gruß
Damian
Wenn ich das richtig sehe, hast du ganz am Ende eine zusätzliche schließende Klammer angefügt? Wenn ich das so über die DEF des DOIF mache, kommt als Fehler: push_Test DOIF: expected DOELSEIF or DOELSE: )
odie13690
Zitat von: odie13690 am 09 September 2015, 21:35:49
Wenn ich das richtig sehe, hast du ganz am Ende eine zusätzliche schließende Klammer angefügt? Wenn ich das so über die DEF des DOIF mache, kommt als Fehler: push_Test DOIF: expected DOELSEIF or DOELSE: )
odie13690
Dann hast du die doppelte Klammer vor set übersehen.
Gruß
Damian
Geht das mit dem "%" so überhaupt?
fhem interprretiert(e) das % und @ als event und device - Platzhalter und wenn man die in einem fhem-_ausdruck verwendn wollte, musste man die doch doppeln, um sie zu escapen. ??
Zitat von: Elektrolurch am 10 September 2015, 08:29:08
Geht das mit dem "%" so überhaupt?
fhem interprretiert(e) das % und @ als event und device - Platzhalter und wenn man die in einem fhem-_ausdruck verwendn wollte, musste man die doch doppeln, um sie zu escapen. ??
Bei DOIF muss man nichts doppeln - außer Semikolons, wenn man sie verwendet (das ist aber eine andere Baustelle).
Gruß
Damian
Zitat von: Damian am 10 September 2015, 07:39:37
Dann hast du die doppelte Klammer vor set übersehen.
Gruß
Damian
Die habe ich tatsächlich übersehen 8)
Danke!
odie13690