mehrere Bedingungen & Befehle, die Anführungszeichen enthalten

Begonnen von tterrafan, 10 November 2017, 01:48:56

Vorheriges Thema - Nächstes Thema

tterrafan

Hallo zusammen,

Problem 1
Wenn das Reading "currentActivity" vom Gerät Harmony = "Musik" ist
und
Wenn das Reading "isRunning" vom Gerät "Server = "true" ist,
dann soll etwas ausgeführt werden.

Mein Ansatz dazu (der nicht klappt):
[...] DOIF ([Harmony:currentActivity] eq "Heimkino" && [Server:isRunning] eq "true") (set [...])

Wie sollte die richtige Lösung aussehen?

Problem 2
Ich habe das WinConnect-Modul laufen, bei der man Befehle an Windows schicken kann.
Den Befehl, den ich senden möchte, enthält jedoch Anführungszeichen (die normalerweise bei set Gerät Befehl "String" verwendet werden).

Konkret möchte ich als String das hier übertragen:
"C:\Program Files (x86)\Kodi\kodi.exe" -fs

aber set Windows command ""C:\Program Files (x86)\Kodi\kodi.exe" -fs" funktioniert logischerweise nicht.
Wie kann ich in Fhem einen Befehl senden, der selbst die Anführungszeichen enthält?

Danke und liebe Grüße

nils_

Zitat von: tterrafan am 10 November 2017, 01:48:56
Problem 1
Wenn das Reading "currentActivity" vom Gerät Harmony = "Musik" ist
und
Wenn das Reading "isRunning" vom Gerät "Server = "true" ist,
dann soll etwas ausgeführt werden.

Mein Ansatz dazu (der nicht klappt):
[...] DOIF ([Harmony:currentActivity] eq "Heimkino" && [Server:isRunning] eq "true") (set [...])

Wie sollte die richtige Lösung aussehen?
was funktioniert denn nicht? wie sieht die fehlermeldung aus? steht etwas im logfile??

poste doch mal bitte ein list von dem DOIF in code-tags.

unterschied wäre:
von dir eingangs beschrieben "Wenn das Reading "currentActivity" vom Gerät Harmony = "Musik" ist"
und im DOIF steht DOIF ([Harmony:currentActivity] eq "Heimkino"
also nicht "Musik" wie du es wolltest....


Zitat von: tterrafan am 10 November 2017, 01:48:56
Problem 2
Ich habe das WinConnect-Modul laufen, bei der man Befehle an Windows schicken kann.
Den Befehl, den ich senden möchte, enthält jedoch Anführungszeichen (die normalerweise bei set Gerät Befehl "String" verwendet werden).

Konkret möchte ich als String das hier übertragen:
"C:\Program Files (x86)\Kodi\kodi.exe" -fs

aber set Windows command ""C:\Program Files (x86)\Kodi\kodi.exe" -fs" funktioniert logischerweise nicht.
Wie kann ich in Fhem einen Befehl senden, der selbst die Anführungszeichen enthält?
evtl.  mal die Anführungszeichen escapen.
set Windows command "\"C:\Program Files (x86)\Kodi\kodi.exe\" -fs"
aber genau weiß ich es nicht!!
viele Wege in FHEM es gibt!

tterrafan

Zitat von: nils_ am 10 November 2017, 07:58:09
was funktioniert denn nicht? wie sieht die fehlermeldung aus? steht etwas im logfile??

poste doch mal bitte ein list von dem DOIF in code-tags.

Ich meinte als currentActivity Heimkino, habe ich falsch ins Forum geschrieben.
Habe jedoch bei mir noch einen Tippfehler entdeckt, nun klappt es.

Zitat von: nils_ am 10 November 2017, 07:58:09
evtl.  mal die Anführungszeichen escapen.
set Windows command "\"C:\Program Files (x86)\Kodi\kodi.exe\" -fs"
aber genau weiß ich es nicht!!

habe ich bereits versucht. Es kommt zwar seitens fhem keine Fehlermeldung, dennoch wird der Befehl nicht ausgeführt.

viegener

Was passiert denn wenn Du einfach mit den Anführungszeichen sendest also:

set .... command "C:\Program Files (x86)\Kodi\kodi.exe" -fs
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können