FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: odie13690 am 09 September 2015, 15:14:30

Titel: [gelöst] Betriebsblind -> no right bracket
Beitrag 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
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: Ralli am 09 September 2015, 16:02:03
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')
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: odie13690 am 09 September 2015, 19:03:50
Hilft nicht. Leider :-\ Fehler lautet aber auch 'No Right Bracket'

Ich wüsste nicht, wo eine fehlt ???

odie13690
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: Damian am 09 September 2015, 21:13:05
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

Titel: Antw:Betriebsblind -> no right bracket
Beitrag 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
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: Damian am 10 September 2015, 07:39:37
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
Titel: Antw:Betriebsblind -> no right bracket
Beitrag 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. ??
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: Damian am 10 September 2015, 09:02:45
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
Titel: Antw:Betriebsblind -> no right bracket
Beitrag von: odie13690 am 10 September 2015, 13:49:02
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