[Gelöst] DOIF in Verbindung mit PushOver und Komma im Text

Begonnen von rretsiem, 10 März 2015, 16:46:28

Vorheriges Thema - Nächstes Thema

rretsiem

Hallo,

kann mir jemand einen Tip geben wie ich in einem DOIF Befehl, der eine PushOver Anweisung enthält ein "," (Komma) setzen kann?
Es sieht so aus als interpretiert DOIF jedes "," als neues Kommando.

Folgendes möchte ich realisieren:


([geofancy:currLoc_iPhone5Geo] eq "home" and [08:30-16:30|8]) ( set HM.Thermostat01.Buero_Clima desired-temp 21, set pushover msg "Heizung Büro" "Heizung wurde auf 21°C gestellt" ) DOELSEIF (<gekürzt>) DOELSE (set HM.Thermostat01.Buero_Clima desired-temp 17,set pushover msg "Heizung Büro" "ECO-Modus aktiv, Heizung auf 17°C")
[code]

Erhalte als Fehler:
[code]
2015.03.10 16:30:00 2: doif_buero_Heizung_an_aus: set pushover msg "Heizung Büro" "ECO-Mode: Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]
2015.03.10 16:30:00 2: doif_buero_Heizung_an_aus:  Heizung auf 17°C": Unknown command Heizung, try help.


Wenn ich die Kommas aus dem Pushover Text rauslasse funktioniert ist. Ich weiß die einfachste Lösung wäre einfach die Kommas rauszulassen, aber vielleicht könnte man das ja irgendwie anders realisieren?


Damian

#1
Zitat von: rretsiem am 10 März 2015, 16:46:28
Hallo,

kann mir jemand einen Tip geben wie ich in einem DOIF Befehl, der eine PushOver Anweisung enthält ein "," (Komma) setzen kann?
Es sieht so aus als interpretiert DOIF jedes "," als neues Kommando.

Folgendes möchte ich realisieren:


([geofancy:currLoc_iPhone5Geo] eq "home" and [08:30-16:30|8]) ( set HM.Thermostat01.Buero_Clima desired-temp 21, set pushover msg "Heizung Büro" "Heizung wurde auf 21°C gestellt" ) DOELSEIF (<gekürzt>) DOELSE (set HM.Thermostat01.Buero_Clima desired-temp 17,set pushover msg "Heizung Büro" "ECO-Modus aktiv, Heizung auf 17°C")
[code]

Erhalte als Fehler:
[code]
2015.03.10 16:30:00 2: doif_buero_Heizung_an_aus: set pushover msg "Heizung Büro" "ECO-Mode: Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]
2015.03.10 16:30:00 2: doif_buero_Heizung_an_aus:  Heizung auf 17°C": Unknown command Heizung, try help.


Wenn ich die Kommas aus dem Pushover Text rauslasse funktioniert ist. Ich weiß die einfachste Lösung wäre einfach die Kommas rauszulassen, aber vielleicht könnte man das ja irgendwie anders realisieren?

Zitat aus der Commandref zu DOIF:

ZitatFalls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden:

define di_light DOIF ([08:00]) ((set lamp1,lamp2 on),set switch on)

Bei dir dann:

...DOELSE (set HM.Thermostat01.Buero_Clima desired-temp 17,(set pushover msg "Heizung Büro" "ECO-Modus aktiv, Heizung auf 17°C"))

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rretsiem

Vielen Dank!
Da habe ich die DOIF CommandRef wirklich oft gelesen, aber den Wald vor lauter Bäumen nicht gesehen. :-[